From 9450fa7dc3207bf45b2828394634ef90e13114f1 Mon Sep 17 00:00:00 2001
From: Dylan Laduranty <dylan.laduranty@mesotic.com>
Date: Mon, 21 Jan 2019 17:06:58 +0100
Subject: [PATCH] cpu/sam0_common: add support for saml10/saml11

Add SAML10/SAML11 support through SAM0 because hardware IP are the same so reuse to avoid duplication
---
 cpu/sam0_common/Makefile.include              |    6 +
 cpu/sam0_common/include/cpu_conf.h            |    4 +
 cpu/sam0_common/include/periph_cpu_common.h   |   33 +-
 cpu/sam0_common/include/vendor/sam23.h        |   78 +
 .../vendor/saml10/include/component-version.h |   64 +
 .../vendor/saml10/include/component/ac.h      |  661 +++++
 .../vendor/saml10/include/component/adc.h     |  851 ++++++
 .../vendor/saml10/include/component/ccl.h     |  258 ++
 .../vendor/saml10/include/component/dac.h     |  364 +++
 .../vendor/saml10/include/component/dmac.h    | 1158 +++++++++
 .../vendor/saml10/include/component/dsu.h     |  785 ++++++
 .../vendor/saml10/include/component/eic.h     |  610 +++++
 .../vendor/saml10/include/component/evsys.h   |  927 +++++++
 .../vendor/saml10/include/component/freqm.h   |  269 ++
 .../vendor/saml10/include/component/gclk.h    |  238 ++
 .../vendor/saml10/include/component/idau.h    |   53 +
 .../vendor/saml10/include/component/mclk.h    |  416 +++
 .../vendor/saml10/include/component/nvmctrl.h | 1051 ++++++++
 .../vendor/saml10/include/component/opamp.h   |  227 ++
 .../saml10/include/component/osc32kctrl.h     |  344 +++
 .../vendor/saml10/include/component/oscctrl.h |  878 +++++++
 .../vendor/saml10/include/component/pac.h     |  966 +++++++
 .../vendor/saml10/include/component/pm.h      |  266 ++
 .../vendor/saml10/include/component/port.h    |  566 ++++
 .../vendor/saml10/include/component/ptc.h     |   53 +
 .../vendor/saml10/include/component/rstc.h    |   96 +
 .../vendor/saml10/include/component/rtc.h     | 2294 +++++++++++++++++
 .../vendor/saml10/include/component/sercom.h  | 1759 +++++++++++++
 .../vendor/saml10/include/component/supc.h    |  653 +++++
 .../vendor/saml10/include/component/tc.h      | 1027 ++++++++
 .../vendor/saml10/include/component/tram.h    |  316 +++
 .../vendor/saml10/include/component/trng.h    |  194 ++
 .../vendor/saml10/include/component/wdt.h     |  338 +++
 .../vendor/saml10/include/instance/ac.h       |   83 +
 .../vendor/saml10/include/instance/adc.h      |   95 +
 .../vendor/saml10/include/instance/ccl.h      |   61 +
 .../vendor/saml10/include/instance/dac.h      |   70 +
 .../vendor/saml10/include/instance/dmac.h     |  103 +
 .../vendor/saml10/include/instance/dsu.h      |  116 +
 .../vendor/saml10/include/instance/eic.h      |   84 +
 .../vendor/saml10/include/instance/evsys.h    |  221 ++
 .../vendor/saml10/include/instance/freqm.h    |   66 +
 .../vendor/saml10/include/instance/gclk.h     |  114 +
 .../vendor/saml10/include/instance/idau.h     |   53 +
 .../vendor/saml10/include/instance/mclk.h     |   66 +
 .../vendor/saml10/include/instance/nvmctrl.h  |  100 +
 .../vendor/saml10/include/instance/opamp.h    |   60 +
 .../saml10/include/instance/osc32kctrl.h      |   65 +
 .../vendor/saml10/include/instance/oscctrl.h  |   94 +
 .../vendor/saml10/include/instance/pac.h      |   82 +
 .../vendor/saml10/include/instance/pm.h       |   62 +
 .../vendor/saml10/include/instance/port.h     |   93 +
 .../vendor/saml10/include/instance/ptc.h      |   54 +
 .../vendor/saml10/include/instance/rstc.h     |   50 +
 .../vendor/saml10/include/instance/rtc.h      |  140 +
 .../vendor/saml10/include/instance/sercom0.h  |  150 ++
 .../vendor/saml10/include/instance/sercom1.h  |  150 ++
 .../vendor/saml10/include/instance/sercom2.h  |  150 ++
 .../vendor/saml10/include/instance/supc.h     |   68 +
 .../vendor/saml10/include/instance/tc0.h      |  130 +
 .../vendor/saml10/include/instance/tc1.h      |  130 +
 .../vendor/saml10/include/instance/tc2.h      |  130 +
 .../vendor/saml10/include/instance/tram.h     |  194 ++
 .../vendor/saml10/include/instance/trng.h     |   58 +
 .../vendor/saml10/include/instance/wdt.h      |   62 +
 .../vendor/saml10/include/pio/saml10d14a.h    |  834 ++++++
 .../vendor/saml10/include/pio/saml10d15a.h    |  834 ++++++
 .../vendor/saml10/include/pio/saml10d16a.h    |  834 ++++++
 .../vendor/saml10/include/pio/saml10e14a.h    | 1167 +++++++++
 .../vendor/saml10/include/pio/saml10e15a.h    | 1167 +++++++++
 .../vendor/saml10/include/pio/saml10e16a.h    | 1167 +++++++++
 .../include/vendor/saml10/include/sam.h       |   50 +
 .../vendor/saml10/include/saml10d14a.h        |  789 ++++++
 .../vendor/saml10/include/saml10d15a.h        |  789 ++++++
 .../vendor/saml10/include/saml10d16a.h        |  789 ++++++
 .../vendor/saml10/include/saml10e14a.h        |  801 ++++++
 .../vendor/saml10/include/saml10e15a.h        |  801 ++++++
 .../vendor/saml10/include/saml10e16a.h        |  801 ++++++
 .../vendor/saml10/include/system_saml10.h     |   48 +
 .../vendor/saml11/include/component-version.h |   64 +
 .../vendor/saml11/include/component/ac.h      |  661 +++++
 .../vendor/saml11/include/component/adc.h     |  851 ++++++
 .../vendor/saml11/include/component/ccl.h     |  258 ++
 .../vendor/saml11/include/component/dac.h     |  364 +++
 .../vendor/saml11/include/component/dmac.h    | 1158 +++++++++
 .../vendor/saml11/include/component/dsu.h     |  785 ++++++
 .../vendor/saml11/include/component/eic.h     |  610 +++++
 .../vendor/saml11/include/component/evsys.h   |  927 +++++++
 .../vendor/saml11/include/component/freqm.h   |  269 ++
 .../vendor/saml11/include/component/gclk.h    |  238 ++
 .../vendor/saml11/include/component/idau.h    |  163 ++
 .../vendor/saml11/include/component/mclk.h    |  416 +++
 .../vendor/saml11/include/component/nvmctrl.h | 1051 ++++++++
 .../vendor/saml11/include/component/opamp.h   |  227 ++
 .../saml11/include/component/osc32kctrl.h     |  344 +++
 .../vendor/saml11/include/component/oscctrl.h |  878 +++++++
 .../vendor/saml11/include/component/pac.h     |  966 +++++++
 .../vendor/saml11/include/component/pm.h      |  266 ++
 .../vendor/saml11/include/component/port.h    |  566 ++++
 .../vendor/saml11/include/component/ptc.h     |   53 +
 .../vendor/saml11/include/component/rstc.h    |   96 +
 .../vendor/saml11/include/component/rtc.h     | 2294 +++++++++++++++++
 .../vendor/saml11/include/component/sercom.h  | 1759 +++++++++++++
 .../vendor/saml11/include/component/supc.h    |  653 +++++
 .../vendor/saml11/include/component/tc.h      | 1027 ++++++++
 .../vendor/saml11/include/component/tram.h    |  316 +++
 .../vendor/saml11/include/component/trng.h    |  194 ++
 .../vendor/saml11/include/component/wdt.h     |  338 +++
 .../vendor/saml11/include/instance/ac.h       |   83 +
 .../vendor/saml11/include/instance/adc.h      |   95 +
 .../vendor/saml11/include/instance/ccl.h      |   61 +
 .../vendor/saml11/include/instance/dac.h      |   70 +
 .../vendor/saml11/include/instance/dmac.h     |  103 +
 .../vendor/saml11/include/instance/dsu.h      |  116 +
 .../vendor/saml11/include/instance/eic.h      |   84 +
 .../vendor/saml11/include/instance/evsys.h    |  221 ++
 .../vendor/saml11/include/instance/freqm.h    |   66 +
 .../vendor/saml11/include/instance/gclk.h     |  114 +
 .../vendor/saml11/include/instance/idau.h     |   79 +
 .../vendor/saml11/include/instance/mclk.h     |   66 +
 .../vendor/saml11/include/instance/nvmctrl.h  |   99 +
 .../vendor/saml11/include/instance/opamp.h    |   60 +
 .../saml11/include/instance/osc32kctrl.h      |   65 +
 .../vendor/saml11/include/instance/oscctrl.h  |   94 +
 .../vendor/saml11/include/instance/pac.h      |   82 +
 .../vendor/saml11/include/instance/pm.h       |   62 +
 .../vendor/saml11/include/instance/port.h     |   93 +
 .../vendor/saml11/include/instance/ptc.h      |   54 +
 .../vendor/saml11/include/instance/rstc.h     |   50 +
 .../vendor/saml11/include/instance/rtc.h      |  140 +
 .../vendor/saml11/include/instance/sercom0.h  |  150 ++
 .../vendor/saml11/include/instance/sercom1.h  |  150 ++
 .../vendor/saml11/include/instance/sercom2.h  |  150 ++
 .../vendor/saml11/include/instance/supc.h     |   68 +
 .../vendor/saml11/include/instance/tc0.h      |  130 +
 .../vendor/saml11/include/instance/tc1.h      |  130 +
 .../vendor/saml11/include/instance/tc2.h      |  130 +
 .../vendor/saml11/include/instance/tram.h     |  194 ++
 .../vendor/saml11/include/instance/trng.h     |   58 +
 .../vendor/saml11/include/instance/wdt.h      |   62 +
 .../vendor/saml11/include/pio/saml11d14a.h    |  834 ++++++
 .../vendor/saml11/include/pio/saml11d15a.h    |  834 ++++++
 .../vendor/saml11/include/pio/saml11d16a.h    |  834 ++++++
 .../vendor/saml11/include/pio/saml11e14a.h    | 1167 +++++++++
 .../vendor/saml11/include/pio/saml11e15a.h    | 1167 +++++++++
 .../vendor/saml11/include/pio/saml11e16a.h    | 1167 +++++++++
 .../include/vendor/saml11/include/sam.h       |   50 +
 .../vendor/saml11/include/saml11d14a.h        |  802 ++++++
 .../vendor/saml11/include/saml11d15a.h        |  802 ++++++
 .../vendor/saml11/include/saml11d16a.h        |  802 ++++++
 .../vendor/saml11/include/saml11e14a.h        |  814 ++++++
 .../vendor/saml11/include/saml11e15a.h        |  814 ++++++
 .../vendor/saml11/include/saml11e16a.h        |  814 ++++++
 .../vendor/saml11/include/system_saml11.h     |   48 +
 cpu/sam0_common/periph/adc.c                  |    4 +
 cpu/sam0_common/periph/flashpage.c            |   34 +-
 cpu/sam0_common/periph/gpio.c                 |   77 +-
 cpu/sam0_common/periph/i2c.c                  |    6 +-
 cpu/sam0_common/periph/spi.c                  |    6 +-
 cpu/sam0_common/periph/uart.c                 |    4 +
 160 files changed, 63846 insertions(+), 33 deletions(-)
 create mode 100644 cpu/sam0_common/include/vendor/sam23.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component-version.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/ac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/adc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/ccl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/dac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/dmac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/dsu.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/eic.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/evsys.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/freqm.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/gclk.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/idau.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/mclk.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/nvmctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/opamp.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/osc32kctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/oscctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/pac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/pm.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/port.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/ptc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/rstc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/rtc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/sercom.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/supc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/tc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/tram.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/trng.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/component/wdt.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/ac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/adc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/ccl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/dac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/dmac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/dsu.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/eic.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/evsys.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/freqm.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/gclk.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/idau.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/mclk.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/nvmctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/opamp.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/osc32kctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/oscctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/pac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/pm.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/port.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/ptc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/rstc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/rtc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/sercom0.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/sercom1.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/sercom2.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/supc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/tc0.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/tc1.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/tc2.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/tram.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/trng.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/instance/wdt.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/pio/saml10d14a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/pio/saml10d15a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/pio/saml10d16a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/pio/saml10e14a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/pio/saml10e15a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/pio/saml10e16a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/sam.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/saml10d14a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/saml10d15a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/saml10d16a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/saml10e14a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/saml10e15a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/saml10e16a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml10/include/system_saml10.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component-version.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/ac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/adc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/ccl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/dac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/dmac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/dsu.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/eic.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/evsys.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/freqm.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/gclk.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/idau.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/mclk.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/nvmctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/opamp.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/osc32kctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/oscctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/pac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/pm.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/port.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/ptc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/rstc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/rtc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/sercom.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/supc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/tc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/tram.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/trng.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/component/wdt.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/ac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/adc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/ccl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/dac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/dmac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/dsu.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/eic.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/evsys.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/freqm.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/gclk.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/idau.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/mclk.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/nvmctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/opamp.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/osc32kctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/oscctrl.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/pac.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/pm.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/port.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/ptc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/rstc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/rtc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/sercom0.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/sercom1.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/sercom2.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/supc.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/tc0.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/tc1.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/tc2.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/tram.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/trng.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/instance/wdt.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/pio/saml11d14a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/pio/saml11d15a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/pio/saml11d16a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/pio/saml11e14a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/pio/saml11e15a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/pio/saml11e16a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/sam.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/saml11d14a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/saml11d15a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/saml11d16a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/saml11e14a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/saml11e15a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/saml11e16a.h
 create mode 100644 cpu/sam0_common/include/vendor/saml11/include/system_saml11.h

diff --git a/cpu/sam0_common/Makefile.include b/cpu/sam0_common/Makefile.include
index eebe87b71c..e425bfb95d 100644
--- a/cpu/sam0_common/Makefile.include
+++ b/cpu/sam0_common/Makefile.include
@@ -6,12 +6,18 @@ ifneq (,$(filter samd21g18a samd21j18a saml21j18b saml21j18a samr21g18a samr30g1
   ROM_LEN ?= 0x40000
   RAM_LEN ?= 0x8000
 endif
+ifneq (,$(filter saml10e16a saml11e16a,$(CPU_MODEL)))
+  ROM_LEN ?= 64K
+  RAM_LEN ?= 16K
+endif
 
 ROM_START_ADDR ?= 0x00000000
 RAM_START_ADDR ?= 0x20000000
 
 # this CPU implementation doesn't use CMSIS initialization
 export CFLAGS += -DDONT_USE_CMSIS_INIT
+export CFLAGS += -DDONT_USE_PREDEFINED_CORE_HANDLERS
+export CFLAGS += -DDONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
 
 # For Cortex-M cpu we use the common cortexm.ld linker script
 LINKER_SCRIPT ?= cortexm.ld
diff --git a/cpu/sam0_common/include/cpu_conf.h b/cpu/sam0_common/include/cpu_conf.h
index 449c941c9d..32168a7e19 100644
--- a/cpu/sam0_common/include/cpu_conf.h
+++ b/cpu/sam0_common/include/cpu_conf.h
@@ -22,7 +22,11 @@
 #define CPU_CONF_H
 
 #include "cpu_conf_common.h"
+#if defined(CPU_SAML1X)
+#include "vendor/sam23.h"
+#else
 #include "vendor/sam0.h"
+#endif
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/cpu/sam0_common/include/periph_cpu_common.h b/cpu/sam0_common/include/periph_cpu_common.h
index 19f3c8ac07..fb45466030 100644
--- a/cpu/sam0_common/include/periph_cpu_common.h
+++ b/cpu/sam0_common/include/periph_cpu_common.h
@@ -69,7 +69,11 @@ typedef uint32_t gpio_t;
  * @brief   Macro for accessing GPIO pins
  * @{
  */
+#ifdef CPU_FAM_SAML11
+#define GPIO_PIN(x, y)      (((gpio_t)(&PORT_SEC->Group[x])) | y)
+#else
 #define GPIO_PIN(x, y)      (((gpio_t)(&PORT->Group[x])) | y)
+#endif
 
 /**
  * @brief   Available ports on the SAMD21 & SAML21
@@ -94,7 +98,11 @@ enum {
  * @name    Power mode configuration
  * @{
  */
+#ifdef CPU_FAM_SAML11
+#define PM_NUM_MODES        (2)
+#else
 #define PM_NUM_MODES        (3)
+#endif
 /** @} */
 
 #ifndef DOXYGEN
@@ -127,6 +135,7 @@ typedef enum {
 /**
  * @brief   Available MUX values for configuring a pin's alternate function
  */
+#ifndef SAM_MUX_T
 typedef enum {
     GPIO_MUX_A = 0x0,       /**< select peripheral function A */
     GPIO_MUX_B = 0x1,       /**< select peripheral function B */
@@ -137,6 +146,7 @@ typedef enum {
     GPIO_MUX_G = 0x6,       /**< select peripheral function G */
     GPIO_MUX_H = 0x7,       /**< select peripheral function H */
 } gpio_mux_t;
+#endif
 
 /**
  * @brief   Available values for SERCOM UART RX pad selection
@@ -298,6 +308,8 @@ static inline int sercom_id(void *sercom)
 {
 #if defined(CPU_FAM_SAMD21)
     return ((((uint32_t)sercom) >> 10) & 0x7) - 2;
+#elif defined (CPU_FAM_SAML10) || defined (CPU_FAM_SAML11)
+    return ((((uint32_t)sercom) >> 10) & 0x7) - 1;
 #elif defined(CPU_FAM_SAML21) || defined(CPU_FAM_SAMR30)
     /* Left side handles SERCOM0-4 while right side handles unaligned address of SERCOM5 */
     return ((((uint32_t)sercom) >> 10) & 0x7) + ((((uint32_t)sercom) >> 22) & 0x04);
@@ -313,12 +325,15 @@ static inline void sercom_clk_en(void *sercom)
 {
 #if defined(CPU_FAM_SAMD21)
     PM->APBCMASK.reg |= (PM_APBCMASK_SERCOM0 << sercom_id(sercom));
-#elif defined(CPU_FAM_SAML21) || defined(CPU_FAM_SAMR30)
+#else
     if (sercom_id(sercom) < 5) {
         MCLK->APBCMASK.reg |= (MCLK_APBCMASK_SERCOM0 << sercom_id(sercom));
-    } else {
+    }
+#if defined(CPU_FAM_SAML21)
+    else {
         MCLK->APBDMASK.reg |= (MCLK_APBDMASK_SERCOM5);
     }
+#endif /* CPU_FAM_SAML21 */
 #endif
 }
 
@@ -331,12 +346,15 @@ static inline void sercom_clk_dis(void *sercom)
 {
 #if defined(CPU_FAM_SAMD21)
     PM->APBCMASK.reg &= ~(PM_APBCMASK_SERCOM0 << sercom_id(sercom));
-#elif defined(CPU_FAM_SAML21) || defined(CPU_FAM_SAMR30)
+#else
     if (sercom_id(sercom) < 5) {
         MCLK->APBCMASK.reg &= ~(MCLK_APBCMASK_SERCOM0 << sercom_id(sercom));
-    } else {
+    }
+#if defined (CPU_FAM_SAML21)
+    else {
         MCLK->APBDMASK.reg &= ~(MCLK_APBDMASK_SERCOM5);
     }
+#endif /* CPU_FAM_SAML21 */
 #endif
 }
 
@@ -352,14 +370,17 @@ static inline void sercom_set_gen(void *sercom, uint32_t gclk)
     GCLK->CLKCTRL.reg = (GCLK_CLKCTRL_CLKEN | gclk |
                          (SERCOM0_GCLK_ID_CORE + sercom_id(sercom)));
     while (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY) {}
-#elif defined(CPU_FAM_SAML21) || defined(CPU_FAM_SAMR30)
+#else
     if (sercom_id(sercom) < 5) {
         GCLK->PCHCTRL[SERCOM0_GCLK_ID_CORE + sercom_id(sercom)].reg =
                                                     (GCLK_PCHCTRL_CHEN | gclk);
-    } else {
+    }
+#if defined(CPU_FAM_SAML21)
+    else {
         GCLK->PCHCTRL[SERCOM5_GCLK_ID_CORE].reg =
                                                     (GCLK_PCHCTRL_CHEN | gclk);
     }
+#endif /* CPU_FAM_SAML21 */
 #endif
 }
 
diff --git a/cpu/sam0_common/include/vendor/sam23.h b/cpu/sam0_common/include/vendor/sam23.h
new file mode 100644
index 0000000000..6937b172df
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/sam23.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2018 Mesotic SAS
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser
+ * General Public License v2.1. See the file LICENSE in the top level
+ * directory for more details.
+ */
+
+/**
+ * @ingroup         cpu_saml1x
+ * @{
+ *
+ * @file
+ * @brief           Wrapper include file for including the specific
+ *                  SAML10/SAML11 vendor header
+ *
+ * @author          Dylan Laduranty <dylan.laduranty@mesotic.com>
+ */
+
+#ifndef SAM23_H
+#define SAM23_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Workaround redefinition of LITTLE_ENDIAN macro (part1) */
+#ifdef LITTLE_ENDIAN
+#define __TMP_LITTLE_ENDIAN     LITTLE_ENDIAN
+#undef LITTLE_ENDIAN
+#endif
+
+#if   defined(CPU_MODEL_SAML10D14A)
+  #include "vendor/saml10/include/saml10d14a.h"
+#elif defined(CPU_MODEL_SAML10D15A)
+  #include "vendor/saml10/include/saml10d15a.h"
+#elif defined(CPU_MODEL_SAML10D16A)
+  #include "vendor/saml10/include/saml10d16a.h"
+#elif defined(CPU_MODEL_SAML10E14A)
+  #include "vendor/saml10/include/saml10e14a.h"
+#elif defined(CPU_MODEL_SAML10E15A)
+  #include "vendor/saml10/include/saml10e15a.h"
+#elif defined(CPU_MODEL_SAML10E16A)
+  #include "vendor/saml10/include/saml10e16a.h"
+
+#elif   defined(CPU_MODEL_SAML11D14A)
+  #include "vendor/saml11/include/saml11d14a.h"
+#elif defined(CPU_MODEL_SAML11D15A)
+  #include "vendor/saml11/include/saml11d15a.h"
+#elif defined(CPU_MODEL_SAML11D16A)
+  #include "vendor/saml11/include/saml11d16a.h"
+#elif defined(CPU_MODEL_SAML11E14A)
+  #include "vendor/saml11/include/saml11e14a.h"
+#elif defined(CPU_MODEL_SAML11E15A)
+  #include "vendor/saml11/include/saml11e15a.h"
+#elif defined(CPU_MODEL_SAML11E16A)
+  #include "vendor/saml11/include/saml11e16a.h"
+
+
+#else
+  #error "Unsupported SAM23 variant."
+#endif
+
+/* Workaround redefinition of LITTLE_ENDIAN macro (part2) */
+#ifdef LITTLE_ENDIAN
+#undef LITTLE_ENDIAN
+#endif
+
+#ifdef __TMP_LITTLE_ENDIAN
+#define LITTLE_ENDIAN       __TMP_LITTLE_ENDIAN
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* SAM23_H */
+/** @} */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component-version.h b/cpu/sam0_common/include/vendor/saml10/include/component-version.h
new file mode 100644
index 0000000000..35218a464c
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component-version.h
@@ -0,0 +1,64 @@
+/**
+ * \file
+ *
+ * \brief Component version header file
+ *
+ * Copyright (c) 2018 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.
+//
+#define COMPONENT_VERSION 10000
+
+//
+// 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 142
+
+//
+// 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 "2018-09-06 14:18:38"
+
+#endif/* #ifndef _COMPONENT_VERSION_H_INCLUDED */
+
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/ac.h b/cpu/sam0_common/include/vendor/saml10/include/component/ac.h
new file mode 100644
index 0000000000..516efe89d0
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/ac.h
@@ -0,0 +1,661 @@
+/**
+ * \file
+ *
+ * \brief Component description for AC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_AC_COMPONENT_H_
+#define _SAML10_AC_COMPONENT_H_
+#define _SAML10_AC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Analog Comparators
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR AC */
+/* ========================================================================== */
+
+#define AC_U2245                      /**< (AC) Module ID */
+#define REV_AC 0x102                  /**< (AC) Module revision */
+
+/* -------- AC_CTRLA : (AC Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_CTRLA_OFFSET                     (0x00)                                        /**<  (AC_CTRLA) Control A  Offset */
+#define AC_CTRLA_RESETVALUE                 _U_(0x00)                                     /**<  (AC_CTRLA) Control A  Reset Value */
+
+#define AC_CTRLA_SWRST_Pos                  0                                              /**< (AC_CTRLA) Software Reset Position */
+#define AC_CTRLA_SWRST_Msk                  (_U_(0x1) << AC_CTRLA_SWRST_Pos)               /**< (AC_CTRLA) Software Reset Mask */
+#define AC_CTRLA_SWRST                      AC_CTRLA_SWRST_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_CTRLA_SWRST_Msk instead */
+#define AC_CTRLA_ENABLE_Pos                 1                                              /**< (AC_CTRLA) Enable Position */
+#define AC_CTRLA_ENABLE_Msk                 (_U_(0x1) << AC_CTRLA_ENABLE_Pos)              /**< (AC_CTRLA) Enable Mask */
+#define AC_CTRLA_ENABLE                     AC_CTRLA_ENABLE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_CTRLA_ENABLE_Msk instead */
+#define AC_CTRLA_MASK                       _U_(0x03)                                      /**< \deprecated (AC_CTRLA) Register MASK  (Use AC_CTRLA_Msk instead)  */
+#define AC_CTRLA_Msk                        _U_(0x03)                                      /**< (AC_CTRLA) Register Mask  */
+
+
+/* -------- AC_CTRLB : (AC Offset: 0x01) (/W 8) Control B -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_CTRLB_OFFSET                     (0x01)                                        /**<  (AC_CTRLB) Control B  Offset */
+#define AC_CTRLB_RESETVALUE                 _U_(0x00)                                     /**<  (AC_CTRLB) Control B  Reset Value */
+
+#define AC_CTRLB_START0_Pos                 0                                              /**< (AC_CTRLB) Comparator 0 Start Comparison Position */
+#define AC_CTRLB_START0_Msk                 (_U_(0x1) << AC_CTRLB_START0_Pos)              /**< (AC_CTRLB) Comparator 0 Start Comparison Mask */
+#define AC_CTRLB_START0                     AC_CTRLB_START0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_CTRLB_START0_Msk instead */
+#define AC_CTRLB_START1_Pos                 1                                              /**< (AC_CTRLB) Comparator 1 Start Comparison Position */
+#define AC_CTRLB_START1_Msk                 (_U_(0x1) << AC_CTRLB_START1_Pos)              /**< (AC_CTRLB) Comparator 1 Start Comparison Mask */
+#define AC_CTRLB_START1                     AC_CTRLB_START1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_CTRLB_START1_Msk instead */
+#define AC_CTRLB_MASK                       _U_(0x03)                                      /**< \deprecated (AC_CTRLB) Register MASK  (Use AC_CTRLB_Msk instead)  */
+#define AC_CTRLB_Msk                        _U_(0x03)                                      /**< (AC_CTRLB) Register Mask  */
+
+#define AC_CTRLB_START_Pos                  0                                              /**< (AC_CTRLB Position) Comparator x Start Comparison */
+#define AC_CTRLB_START_Msk                  (_U_(0x3) << AC_CTRLB_START_Pos)               /**< (AC_CTRLB Mask) START */
+#define AC_CTRLB_START(value)               (AC_CTRLB_START_Msk & ((value) << AC_CTRLB_START_Pos))  
+
+/* -------- AC_EVCTRL : (AC Offset: 0x02) (R/W 16) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_EVCTRL_OFFSET                    (0x02)                                        /**<  (AC_EVCTRL) Event Control  Offset */
+#define AC_EVCTRL_RESETVALUE                _U_(0x00)                                     /**<  (AC_EVCTRL) Event Control  Reset Value */
+
+#define AC_EVCTRL_COMPEO0_Pos               0                                              /**< (AC_EVCTRL) Comparator 0 Event Output Enable Position */
+#define AC_EVCTRL_COMPEO0_Msk               (_U_(0x1) << AC_EVCTRL_COMPEO0_Pos)            /**< (AC_EVCTRL) Comparator 0 Event Output Enable Mask */
+#define AC_EVCTRL_COMPEO0                   AC_EVCTRL_COMPEO0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_COMPEO0_Msk instead */
+#define AC_EVCTRL_COMPEO1_Pos               1                                              /**< (AC_EVCTRL) Comparator 1 Event Output Enable Position */
+#define AC_EVCTRL_COMPEO1_Msk               (_U_(0x1) << AC_EVCTRL_COMPEO1_Pos)            /**< (AC_EVCTRL) Comparator 1 Event Output Enable Mask */
+#define AC_EVCTRL_COMPEO1                   AC_EVCTRL_COMPEO1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_COMPEO1_Msk instead */
+#define AC_EVCTRL_WINEO0_Pos                4                                              /**< (AC_EVCTRL) Window 0 Event Output Enable Position */
+#define AC_EVCTRL_WINEO0_Msk                (_U_(0x1) << AC_EVCTRL_WINEO0_Pos)             /**< (AC_EVCTRL) Window 0 Event Output Enable Mask */
+#define AC_EVCTRL_WINEO0                    AC_EVCTRL_WINEO0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_WINEO0_Msk instead */
+#define AC_EVCTRL_COMPEI0_Pos               8                                              /**< (AC_EVCTRL) Comparator 0 Event Input Enable Position */
+#define AC_EVCTRL_COMPEI0_Msk               (_U_(0x1) << AC_EVCTRL_COMPEI0_Pos)            /**< (AC_EVCTRL) Comparator 0 Event Input Enable Mask */
+#define AC_EVCTRL_COMPEI0                   AC_EVCTRL_COMPEI0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_COMPEI0_Msk instead */
+#define AC_EVCTRL_COMPEI1_Pos               9                                              /**< (AC_EVCTRL) Comparator 1 Event Input Enable Position */
+#define AC_EVCTRL_COMPEI1_Msk               (_U_(0x1) << AC_EVCTRL_COMPEI1_Pos)            /**< (AC_EVCTRL) Comparator 1 Event Input Enable Mask */
+#define AC_EVCTRL_COMPEI1                   AC_EVCTRL_COMPEI1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_COMPEI1_Msk instead */
+#define AC_EVCTRL_INVEI0_Pos                12                                             /**< (AC_EVCTRL) Comparator 0 Input Event Invert Enable Position */
+#define AC_EVCTRL_INVEI0_Msk                (_U_(0x1) << AC_EVCTRL_INVEI0_Pos)             /**< (AC_EVCTRL) Comparator 0 Input Event Invert Enable Mask */
+#define AC_EVCTRL_INVEI0                    AC_EVCTRL_INVEI0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_INVEI0_Msk instead */
+#define AC_EVCTRL_INVEI1_Pos                13                                             /**< (AC_EVCTRL) Comparator 1 Input Event Invert Enable Position */
+#define AC_EVCTRL_INVEI1_Msk                (_U_(0x1) << AC_EVCTRL_INVEI1_Pos)             /**< (AC_EVCTRL) Comparator 1 Input Event Invert Enable Mask */
+#define AC_EVCTRL_INVEI1                    AC_EVCTRL_INVEI1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_INVEI1_Msk instead */
+#define AC_EVCTRL_MASK                      _U_(0x3313)                                    /**< \deprecated (AC_EVCTRL) Register MASK  (Use AC_EVCTRL_Msk instead)  */
+#define AC_EVCTRL_Msk                       _U_(0x3313)                                    /**< (AC_EVCTRL) Register Mask  */
+
+#define AC_EVCTRL_COMPEO_Pos                0                                              /**< (AC_EVCTRL Position) Comparator x Event Output Enable */
+#define AC_EVCTRL_COMPEO_Msk                (_U_(0x3) << AC_EVCTRL_COMPEO_Pos)             /**< (AC_EVCTRL Mask) COMPEO */
+#define AC_EVCTRL_COMPEO(value)             (AC_EVCTRL_COMPEO_Msk & ((value) << AC_EVCTRL_COMPEO_Pos))  
+#define AC_EVCTRL_WINEO_Pos                 4                                              /**< (AC_EVCTRL Position) Window x Event Output Enable */
+#define AC_EVCTRL_WINEO_Msk                 (_U_(0x1) << AC_EVCTRL_WINEO_Pos)              /**< (AC_EVCTRL Mask) WINEO */
+#define AC_EVCTRL_WINEO(value)              (AC_EVCTRL_WINEO_Msk & ((value) << AC_EVCTRL_WINEO_Pos))  
+#define AC_EVCTRL_COMPEI_Pos                8                                              /**< (AC_EVCTRL Position) Comparator x Event Input Enable */
+#define AC_EVCTRL_COMPEI_Msk                (_U_(0x3) << AC_EVCTRL_COMPEI_Pos)             /**< (AC_EVCTRL Mask) COMPEI */
+#define AC_EVCTRL_COMPEI(value)             (AC_EVCTRL_COMPEI_Msk & ((value) << AC_EVCTRL_COMPEI_Pos))  
+#define AC_EVCTRL_INVEI_Pos                 12                                             /**< (AC_EVCTRL Position) Comparator x Input Event Invert Enable */
+#define AC_EVCTRL_INVEI_Msk                 (_U_(0x3) << AC_EVCTRL_INVEI_Pos)              /**< (AC_EVCTRL Mask) INVEI */
+#define AC_EVCTRL_INVEI(value)              (AC_EVCTRL_INVEI_Msk & ((value) << AC_EVCTRL_INVEI_Pos))  
+
+/* -------- AC_INTENCLR : (AC Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_INTENCLR_OFFSET                  (0x04)                                        /**<  (AC_INTENCLR) Interrupt Enable Clear  Offset */
+#define AC_INTENCLR_RESETVALUE              _U_(0x00)                                     /**<  (AC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define AC_INTENCLR_COMP0_Pos               0                                              /**< (AC_INTENCLR) Comparator 0 Interrupt Enable Position */
+#define AC_INTENCLR_COMP0_Msk               (_U_(0x1) << AC_INTENCLR_COMP0_Pos)            /**< (AC_INTENCLR) Comparator 0 Interrupt Enable Mask */
+#define AC_INTENCLR_COMP0                   AC_INTENCLR_COMP0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENCLR_COMP0_Msk instead */
+#define AC_INTENCLR_COMP1_Pos               1                                              /**< (AC_INTENCLR) Comparator 1 Interrupt Enable Position */
+#define AC_INTENCLR_COMP1_Msk               (_U_(0x1) << AC_INTENCLR_COMP1_Pos)            /**< (AC_INTENCLR) Comparator 1 Interrupt Enable Mask */
+#define AC_INTENCLR_COMP1                   AC_INTENCLR_COMP1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENCLR_COMP1_Msk instead */
+#define AC_INTENCLR_WIN0_Pos                4                                              /**< (AC_INTENCLR) Window 0 Interrupt Enable Position */
+#define AC_INTENCLR_WIN0_Msk                (_U_(0x1) << AC_INTENCLR_WIN0_Pos)             /**< (AC_INTENCLR) Window 0 Interrupt Enable Mask */
+#define AC_INTENCLR_WIN0                    AC_INTENCLR_WIN0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENCLR_WIN0_Msk instead */
+#define AC_INTENCLR_MASK                    _U_(0x13)                                      /**< \deprecated (AC_INTENCLR) Register MASK  (Use AC_INTENCLR_Msk instead)  */
+#define AC_INTENCLR_Msk                     _U_(0x13)                                      /**< (AC_INTENCLR) Register Mask  */
+
+#define AC_INTENCLR_COMP_Pos                0                                              /**< (AC_INTENCLR Position) Comparator x Interrupt Enable */
+#define AC_INTENCLR_COMP_Msk                (_U_(0x3) << AC_INTENCLR_COMP_Pos)             /**< (AC_INTENCLR Mask) COMP */
+#define AC_INTENCLR_COMP(value)             (AC_INTENCLR_COMP_Msk & ((value) << AC_INTENCLR_COMP_Pos))  
+#define AC_INTENCLR_WIN_Pos                 4                                              /**< (AC_INTENCLR Position) Window x Interrupt Enable */
+#define AC_INTENCLR_WIN_Msk                 (_U_(0x1) << AC_INTENCLR_WIN_Pos)              /**< (AC_INTENCLR Mask) WIN */
+#define AC_INTENCLR_WIN(value)              (AC_INTENCLR_WIN_Msk & ((value) << AC_INTENCLR_WIN_Pos))  
+
+/* -------- AC_INTENSET : (AC Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_INTENSET_OFFSET                  (0x05)                                        /**<  (AC_INTENSET) Interrupt Enable Set  Offset */
+#define AC_INTENSET_RESETVALUE              _U_(0x00)                                     /**<  (AC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define AC_INTENSET_COMP0_Pos               0                                              /**< (AC_INTENSET) Comparator 0 Interrupt Enable Position */
+#define AC_INTENSET_COMP0_Msk               (_U_(0x1) << AC_INTENSET_COMP0_Pos)            /**< (AC_INTENSET) Comparator 0 Interrupt Enable Mask */
+#define AC_INTENSET_COMP0                   AC_INTENSET_COMP0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENSET_COMP0_Msk instead */
+#define AC_INTENSET_COMP1_Pos               1                                              /**< (AC_INTENSET) Comparator 1 Interrupt Enable Position */
+#define AC_INTENSET_COMP1_Msk               (_U_(0x1) << AC_INTENSET_COMP1_Pos)            /**< (AC_INTENSET) Comparator 1 Interrupt Enable Mask */
+#define AC_INTENSET_COMP1                   AC_INTENSET_COMP1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENSET_COMP1_Msk instead */
+#define AC_INTENSET_WIN0_Pos                4                                              /**< (AC_INTENSET) Window 0 Interrupt Enable Position */
+#define AC_INTENSET_WIN0_Msk                (_U_(0x1) << AC_INTENSET_WIN0_Pos)             /**< (AC_INTENSET) Window 0 Interrupt Enable Mask */
+#define AC_INTENSET_WIN0                    AC_INTENSET_WIN0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENSET_WIN0_Msk instead */
+#define AC_INTENSET_MASK                    _U_(0x13)                                      /**< \deprecated (AC_INTENSET) Register MASK  (Use AC_INTENSET_Msk instead)  */
+#define AC_INTENSET_Msk                     _U_(0x13)                                      /**< (AC_INTENSET) Register Mask  */
+
+#define AC_INTENSET_COMP_Pos                0                                              /**< (AC_INTENSET Position) Comparator x Interrupt Enable */
+#define AC_INTENSET_COMP_Msk                (_U_(0x3) << AC_INTENSET_COMP_Pos)             /**< (AC_INTENSET Mask) COMP */
+#define AC_INTENSET_COMP(value)             (AC_INTENSET_COMP_Msk & ((value) << AC_INTENSET_COMP_Pos))  
+#define AC_INTENSET_WIN_Pos                 4                                              /**< (AC_INTENSET Position) Window x Interrupt Enable */
+#define AC_INTENSET_WIN_Msk                 (_U_(0x1) << AC_INTENSET_WIN_Pos)              /**< (AC_INTENSET Mask) WIN */
+#define AC_INTENSET_WIN(value)              (AC_INTENSET_WIN_Msk & ((value) << AC_INTENSET_WIN_Pos))  
+
+/* -------- AC_INTFLAG : (AC Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_INTFLAG_OFFSET                   (0x06)                                        /**<  (AC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define AC_INTFLAG_RESETVALUE               _U_(0x00)                                     /**<  (AC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define AC_INTFLAG_COMP0_Pos                0                                              /**< (AC_INTFLAG) Comparator 0 Position */
+#define AC_INTFLAG_COMP0_Msk                (_U_(0x1) << AC_INTFLAG_COMP0_Pos)             /**< (AC_INTFLAG) Comparator 0 Mask */
+#define AC_INTFLAG_COMP0                    AC_INTFLAG_COMP0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTFLAG_COMP0_Msk instead */
+#define AC_INTFLAG_COMP1_Pos                1                                              /**< (AC_INTFLAG) Comparator 1 Position */
+#define AC_INTFLAG_COMP1_Msk                (_U_(0x1) << AC_INTFLAG_COMP1_Pos)             /**< (AC_INTFLAG) Comparator 1 Mask */
+#define AC_INTFLAG_COMP1                    AC_INTFLAG_COMP1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTFLAG_COMP1_Msk instead */
+#define AC_INTFLAG_WIN0_Pos                 4                                              /**< (AC_INTFLAG) Window 0 Position */
+#define AC_INTFLAG_WIN0_Msk                 (_U_(0x1) << AC_INTFLAG_WIN0_Pos)              /**< (AC_INTFLAG) Window 0 Mask */
+#define AC_INTFLAG_WIN0                     AC_INTFLAG_WIN0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTFLAG_WIN0_Msk instead */
+#define AC_INTFLAG_MASK                     _U_(0x13)                                      /**< \deprecated (AC_INTFLAG) Register MASK  (Use AC_INTFLAG_Msk instead)  */
+#define AC_INTFLAG_Msk                      _U_(0x13)                                      /**< (AC_INTFLAG) Register Mask  */
+
+#define AC_INTFLAG_COMP_Pos                 0                                              /**< (AC_INTFLAG Position) Comparator x */
+#define AC_INTFLAG_COMP_Msk                 (_U_(0x3) << AC_INTFLAG_COMP_Pos)              /**< (AC_INTFLAG Mask) COMP */
+#define AC_INTFLAG_COMP(value)              (AC_INTFLAG_COMP_Msk & ((value) << AC_INTFLAG_COMP_Pos))  
+#define AC_INTFLAG_WIN_Pos                  4                                              /**< (AC_INTFLAG Position) Window x */
+#define AC_INTFLAG_WIN_Msk                  (_U_(0x1) << AC_INTFLAG_WIN_Pos)               /**< (AC_INTFLAG Mask) WIN */
+#define AC_INTFLAG_WIN(value)               (AC_INTFLAG_WIN_Msk & ((value) << AC_INTFLAG_WIN_Pos))  
+
+/* -------- AC_STATUSA : (AC Offset: 0x07) (R/ 8) Status A -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_STATUSA_OFFSET                   (0x07)                                        /**<  (AC_STATUSA) Status A  Offset */
+#define AC_STATUSA_RESETVALUE               _U_(0x00)                                     /**<  (AC_STATUSA) Status A  Reset Value */
+
+#define AC_STATUSA_STATE0_Pos               0                                              /**< (AC_STATUSA) Comparator 0 Current State Position */
+#define AC_STATUSA_STATE0_Msk               (_U_(0x1) << AC_STATUSA_STATE0_Pos)            /**< (AC_STATUSA) Comparator 0 Current State Mask */
+#define AC_STATUSA_STATE0                   AC_STATUSA_STATE0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_STATUSA_STATE0_Msk instead */
+#define AC_STATUSA_STATE1_Pos               1                                              /**< (AC_STATUSA) Comparator 1 Current State Position */
+#define AC_STATUSA_STATE1_Msk               (_U_(0x1) << AC_STATUSA_STATE1_Pos)            /**< (AC_STATUSA) Comparator 1 Current State Mask */
+#define AC_STATUSA_STATE1                   AC_STATUSA_STATE1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_STATUSA_STATE1_Msk instead */
+#define AC_STATUSA_WSTATE0_Pos              4                                              /**< (AC_STATUSA) Window 0 Current State Position */
+#define AC_STATUSA_WSTATE0_Msk              (_U_(0x3) << AC_STATUSA_WSTATE0_Pos)           /**< (AC_STATUSA) Window 0 Current State Mask */
+#define AC_STATUSA_WSTATE0(value)           (AC_STATUSA_WSTATE0_Msk & ((value) << AC_STATUSA_WSTATE0_Pos))
+#define   AC_STATUSA_WSTATE0_ABOVE_Val      _U_(0x0)                                       /**< (AC_STATUSA) Signal is above window  */
+#define   AC_STATUSA_WSTATE0_INSIDE_Val     _U_(0x1)                                       /**< (AC_STATUSA) Signal is inside window  */
+#define   AC_STATUSA_WSTATE0_BELOW_Val      _U_(0x2)                                       /**< (AC_STATUSA) Signal is below window  */
+#define AC_STATUSA_WSTATE0_ABOVE            (AC_STATUSA_WSTATE0_ABOVE_Val << AC_STATUSA_WSTATE0_Pos)  /**< (AC_STATUSA) Signal is above window Position  */
+#define AC_STATUSA_WSTATE0_INSIDE           (AC_STATUSA_WSTATE0_INSIDE_Val << AC_STATUSA_WSTATE0_Pos)  /**< (AC_STATUSA) Signal is inside window Position  */
+#define AC_STATUSA_WSTATE0_BELOW            (AC_STATUSA_WSTATE0_BELOW_Val << AC_STATUSA_WSTATE0_Pos)  /**< (AC_STATUSA) Signal is below window Position  */
+#define AC_STATUSA_MASK                     _U_(0x33)                                      /**< \deprecated (AC_STATUSA) Register MASK  (Use AC_STATUSA_Msk instead)  */
+#define AC_STATUSA_Msk                      _U_(0x33)                                      /**< (AC_STATUSA) Register Mask  */
+
+#define AC_STATUSA_STATE_Pos                0                                              /**< (AC_STATUSA Position) Comparator x Current State */
+#define AC_STATUSA_STATE_Msk                (_U_(0x3) << AC_STATUSA_STATE_Pos)             /**< (AC_STATUSA Mask) STATE */
+#define AC_STATUSA_STATE(value)             (AC_STATUSA_STATE_Msk & ((value) << AC_STATUSA_STATE_Pos))  
+
+/* -------- AC_STATUSB : (AC Offset: 0x08) (R/ 8) Status B -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_STATUSB_OFFSET                   (0x08)                                        /**<  (AC_STATUSB) Status B  Offset */
+#define AC_STATUSB_RESETVALUE               _U_(0x00)                                     /**<  (AC_STATUSB) Status B  Reset Value */
+
+#define AC_STATUSB_READY0_Pos               0                                              /**< (AC_STATUSB) Comparator 0 Ready Position */
+#define AC_STATUSB_READY0_Msk               (_U_(0x1) << AC_STATUSB_READY0_Pos)            /**< (AC_STATUSB) Comparator 0 Ready Mask */
+#define AC_STATUSB_READY0                   AC_STATUSB_READY0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_STATUSB_READY0_Msk instead */
+#define AC_STATUSB_READY1_Pos               1                                              /**< (AC_STATUSB) Comparator 1 Ready Position */
+#define AC_STATUSB_READY1_Msk               (_U_(0x1) << AC_STATUSB_READY1_Pos)            /**< (AC_STATUSB) Comparator 1 Ready Mask */
+#define AC_STATUSB_READY1                   AC_STATUSB_READY1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_STATUSB_READY1_Msk instead */
+#define AC_STATUSB_MASK                     _U_(0x03)                                      /**< \deprecated (AC_STATUSB) Register MASK  (Use AC_STATUSB_Msk instead)  */
+#define AC_STATUSB_Msk                      _U_(0x03)                                      /**< (AC_STATUSB) Register Mask  */
+
+#define AC_STATUSB_READY_Pos                0                                              /**< (AC_STATUSB Position) Comparator x Ready */
+#define AC_STATUSB_READY_Msk                (_U_(0x3) << AC_STATUSB_READY_Pos)             /**< (AC_STATUSB Mask) READY */
+#define AC_STATUSB_READY(value)             (AC_STATUSB_READY_Msk & ((value) << AC_STATUSB_READY_Pos))  
+
+/* -------- AC_DBGCTRL : (AC Offset: 0x09) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_DBGCTRL_OFFSET                   (0x09)                                        /**<  (AC_DBGCTRL) Debug Control  Offset */
+#define AC_DBGCTRL_RESETVALUE               _U_(0x00)                                     /**<  (AC_DBGCTRL) Debug Control  Reset Value */
+
+#define AC_DBGCTRL_DBGRUN_Pos               0                                              /**< (AC_DBGCTRL) Debug Run Position */
+#define AC_DBGCTRL_DBGRUN_Msk               (_U_(0x1) << AC_DBGCTRL_DBGRUN_Pos)            /**< (AC_DBGCTRL) Debug Run Mask */
+#define AC_DBGCTRL_DBGRUN                   AC_DBGCTRL_DBGRUN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_DBGCTRL_DBGRUN_Msk instead */
+#define AC_DBGCTRL_MASK                     _U_(0x01)                                      /**< \deprecated (AC_DBGCTRL) Register MASK  (Use AC_DBGCTRL_Msk instead)  */
+#define AC_DBGCTRL_Msk                      _U_(0x01)                                      /**< (AC_DBGCTRL) Register Mask  */
+
+
+/* -------- AC_WINCTRL : (AC Offset: 0x0a) (R/W 8) Window Control -------- */
+#if !(defined(__ASSEMBLER__) || 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 */
+  struct {
+    uint8_t  WEN:1;                     /**< bit:      0  Window x Mode Enable                     */
+    uint8_t  :7;                        /**< bit:   1..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} AC_WINCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_WINCTRL_OFFSET                   (0x0A)                                        /**<  (AC_WINCTRL) Window Control  Offset */
+#define AC_WINCTRL_RESETVALUE               _U_(0x00)                                     /**<  (AC_WINCTRL) Window Control  Reset Value */
+
+#define AC_WINCTRL_WEN0_Pos                 0                                              /**< (AC_WINCTRL) Window 0 Mode Enable Position */
+#define AC_WINCTRL_WEN0_Msk                 (_U_(0x1) << AC_WINCTRL_WEN0_Pos)              /**< (AC_WINCTRL) Window 0 Mode Enable Mask */
+#define AC_WINCTRL_WEN0                     AC_WINCTRL_WEN0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_WINCTRL_WEN0_Msk instead */
+#define AC_WINCTRL_WINTSEL0_Pos             1                                              /**< (AC_WINCTRL) Window 0 Interrupt Selection Position */
+#define AC_WINCTRL_WINTSEL0_Msk             (_U_(0x3) << AC_WINCTRL_WINTSEL0_Pos)          /**< (AC_WINCTRL) Window 0 Interrupt Selection Mask */
+#define AC_WINCTRL_WINTSEL0(value)          (AC_WINCTRL_WINTSEL0_Msk & ((value) << AC_WINCTRL_WINTSEL0_Pos))
+#define   AC_WINCTRL_WINTSEL0_ABOVE_Val     _U_(0x0)                                       /**< (AC_WINCTRL) Interrupt on signal above window  */
+#define   AC_WINCTRL_WINTSEL0_INSIDE_Val    _U_(0x1)                                       /**< (AC_WINCTRL) Interrupt on signal inside window  */
+#define   AC_WINCTRL_WINTSEL0_BELOW_Val     _U_(0x2)                                       /**< (AC_WINCTRL) Interrupt on signal below window  */
+#define   AC_WINCTRL_WINTSEL0_OUTSIDE_Val   _U_(0x3)                                       /**< (AC_WINCTRL) Interrupt on signal outside window  */
+#define AC_WINCTRL_WINTSEL0_ABOVE           (AC_WINCTRL_WINTSEL0_ABOVE_Val << AC_WINCTRL_WINTSEL0_Pos)  /**< (AC_WINCTRL) Interrupt on signal above window Position  */
+#define AC_WINCTRL_WINTSEL0_INSIDE          (AC_WINCTRL_WINTSEL0_INSIDE_Val << AC_WINCTRL_WINTSEL0_Pos)  /**< (AC_WINCTRL) Interrupt on signal inside window Position  */
+#define AC_WINCTRL_WINTSEL0_BELOW           (AC_WINCTRL_WINTSEL0_BELOW_Val << AC_WINCTRL_WINTSEL0_Pos)  /**< (AC_WINCTRL) Interrupt on signal below window Position  */
+#define AC_WINCTRL_WINTSEL0_OUTSIDE         (AC_WINCTRL_WINTSEL0_OUTSIDE_Val << AC_WINCTRL_WINTSEL0_Pos)  /**< (AC_WINCTRL) Interrupt on signal outside window Position  */
+#define AC_WINCTRL_MASK                     _U_(0x07)                                      /**< \deprecated (AC_WINCTRL) Register MASK  (Use AC_WINCTRL_Msk instead)  */
+#define AC_WINCTRL_Msk                      _U_(0x07)                                      /**< (AC_WINCTRL) Register Mask  */
+
+#define AC_WINCTRL_WEN_Pos                  0                                              /**< (AC_WINCTRL Position) Window x Mode Enable */
+#define AC_WINCTRL_WEN_Msk                  (_U_(0x1) << AC_WINCTRL_WEN_Pos)               /**< (AC_WINCTRL Mask) WEN */
+#define AC_WINCTRL_WEN(value)               (AC_WINCTRL_WEN_Msk & ((value) << AC_WINCTRL_WEN_Pos))  
+
+/* -------- AC_SCALER : (AC Offset: 0x0c) (R/W 8) Scaler n -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_SCALER_OFFSET                    (0x0C)                                        /**<  (AC_SCALER) Scaler n  Offset */
+#define AC_SCALER_RESETVALUE                _U_(0x00)                                     /**<  (AC_SCALER) Scaler n  Reset Value */
+
+#define AC_SCALER_VALUE_Pos                 0                                              /**< (AC_SCALER) Scaler Value Position */
+#define AC_SCALER_VALUE_Msk                 (_U_(0x3F) << AC_SCALER_VALUE_Pos)             /**< (AC_SCALER) Scaler Value Mask */
+#define AC_SCALER_VALUE(value)              (AC_SCALER_VALUE_Msk & ((value) << AC_SCALER_VALUE_Pos))
+#define AC_SCALER_MASK                      _U_(0x3F)                                      /**< \deprecated (AC_SCALER) Register MASK  (Use AC_SCALER_Msk instead)  */
+#define AC_SCALER_Msk                       _U_(0x3F)                                      /**< (AC_SCALER) Register Mask  */
+
+
+/* -------- AC_COMPCTRL : (AC Offset: 0x10) (R/W 32) Comparator Control n -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_COMPCTRL_OFFSET                  (0x10)                                        /**<  (AC_COMPCTRL) Comparator Control n  Offset */
+#define AC_COMPCTRL_RESETVALUE              _U_(0x00)                                     /**<  (AC_COMPCTRL) Comparator Control n  Reset Value */
+
+#define AC_COMPCTRL_ENABLE_Pos              1                                              /**< (AC_COMPCTRL) Enable Position */
+#define AC_COMPCTRL_ENABLE_Msk              (_U_(0x1) << AC_COMPCTRL_ENABLE_Pos)           /**< (AC_COMPCTRL) Enable Mask */
+#define AC_COMPCTRL_ENABLE                  AC_COMPCTRL_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_COMPCTRL_ENABLE_Msk instead */
+#define AC_COMPCTRL_SINGLE_Pos              2                                              /**< (AC_COMPCTRL) Single-Shot Mode Position */
+#define AC_COMPCTRL_SINGLE_Msk              (_U_(0x1) << AC_COMPCTRL_SINGLE_Pos)           /**< (AC_COMPCTRL) Single-Shot Mode Mask */
+#define AC_COMPCTRL_SINGLE                  AC_COMPCTRL_SINGLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_COMPCTRL_SINGLE_Msk instead */
+#define AC_COMPCTRL_INTSEL_Pos              3                                              /**< (AC_COMPCTRL) Interrupt Selection Position */
+#define AC_COMPCTRL_INTSEL_Msk              (_U_(0x3) << AC_COMPCTRL_INTSEL_Pos)           /**< (AC_COMPCTRL) Interrupt Selection Mask */
+#define AC_COMPCTRL_INTSEL(value)           (AC_COMPCTRL_INTSEL_Msk & ((value) << AC_COMPCTRL_INTSEL_Pos))
+#define   AC_COMPCTRL_INTSEL_TOGGLE_Val     _U_(0x0)                                       /**< (AC_COMPCTRL) Interrupt on comparator output toggle  */
+#define   AC_COMPCTRL_INTSEL_RISING_Val     _U_(0x1)                                       /**< (AC_COMPCTRL) Interrupt on comparator output rising  */
+#define   AC_COMPCTRL_INTSEL_FALLING_Val    _U_(0x2)                                       /**< (AC_COMPCTRL) Interrupt on comparator output falling  */
+#define   AC_COMPCTRL_INTSEL_EOC_Val        _U_(0x3)                                       /**< (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)  /**< (AC_COMPCTRL) Interrupt on comparator output toggle Position  */
+#define AC_COMPCTRL_INTSEL_RISING           (AC_COMPCTRL_INTSEL_RISING_Val << AC_COMPCTRL_INTSEL_Pos)  /**< (AC_COMPCTRL) Interrupt on comparator output rising Position  */
+#define AC_COMPCTRL_INTSEL_FALLING          (AC_COMPCTRL_INTSEL_FALLING_Val << AC_COMPCTRL_INTSEL_Pos)  /**< (AC_COMPCTRL) Interrupt on comparator output falling Position  */
+#define AC_COMPCTRL_INTSEL_EOC              (AC_COMPCTRL_INTSEL_EOC_Val << AC_COMPCTRL_INTSEL_Pos)  /**< (AC_COMPCTRL) Interrupt on end of comparison (single-shot mode only) Position  */
+#define AC_COMPCTRL_RUNSTDBY_Pos            6                                              /**< (AC_COMPCTRL) Run in Standby Position */
+#define AC_COMPCTRL_RUNSTDBY_Msk            (_U_(0x1) << AC_COMPCTRL_RUNSTDBY_Pos)         /**< (AC_COMPCTRL) Run in Standby Mask */
+#define AC_COMPCTRL_RUNSTDBY                AC_COMPCTRL_RUNSTDBY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_COMPCTRL_RUNSTDBY_Msk instead */
+#define AC_COMPCTRL_MUXNEG_Pos              8                                              /**< (AC_COMPCTRL) Negative Input Mux Selection Position */
+#define AC_COMPCTRL_MUXNEG_Msk              (_U_(0x7) << AC_COMPCTRL_MUXNEG_Pos)           /**< (AC_COMPCTRL) Negative Input Mux Selection Mask */
+#define AC_COMPCTRL_MUXNEG(value)           (AC_COMPCTRL_MUXNEG_Msk & ((value) << AC_COMPCTRL_MUXNEG_Pos))
+#define   AC_COMPCTRL_MUXNEG_PIN0_Val       _U_(0x0)                                       /**< (AC_COMPCTRL) I/O pin 0  */
+#define   AC_COMPCTRL_MUXNEG_PIN1_Val       _U_(0x1)                                       /**< (AC_COMPCTRL) I/O pin 1  */
+#define   AC_COMPCTRL_MUXNEG_PIN2_Val       _U_(0x2)                                       /**< (AC_COMPCTRL) I/O pin 2  */
+#define   AC_COMPCTRL_MUXNEG_PIN3_Val       _U_(0x3)                                       /**< (AC_COMPCTRL) I/O pin 3  */
+#define   AC_COMPCTRL_MUXNEG_GND_Val        _U_(0x4)                                       /**< (AC_COMPCTRL) Ground  */
+#define   AC_COMPCTRL_MUXNEG_VSCALE_Val     _U_(0x5)                                       /**< (AC_COMPCTRL) VDD scaler  */
+#define   AC_COMPCTRL_MUXNEG_BANDGAP_Val    _U_(0x6)                                       /**< (AC_COMPCTRL) Internal bandgap voltage  */
+#define   AC_COMPCTRL_MUXNEG_OPAMP_Val      _U_(0x7)                                       /**< (AC_COMPCTRL) OPAMP output (on AC1)  */
+#define   AC_COMPCTRL_MUXNEG_DAC_Val        _U_(0x7)                                       /**< (AC_COMPCTRL) DAC output (on AC0)  */
+#define AC_COMPCTRL_MUXNEG_PIN0             (AC_COMPCTRL_MUXNEG_PIN0_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) I/O pin 0 Position  */
+#define AC_COMPCTRL_MUXNEG_PIN1             (AC_COMPCTRL_MUXNEG_PIN1_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) I/O pin 1 Position  */
+#define AC_COMPCTRL_MUXNEG_PIN2             (AC_COMPCTRL_MUXNEG_PIN2_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) I/O pin 2 Position  */
+#define AC_COMPCTRL_MUXNEG_PIN3             (AC_COMPCTRL_MUXNEG_PIN3_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) I/O pin 3 Position  */
+#define AC_COMPCTRL_MUXNEG_GND              (AC_COMPCTRL_MUXNEG_GND_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) Ground Position  */
+#define AC_COMPCTRL_MUXNEG_VSCALE           (AC_COMPCTRL_MUXNEG_VSCALE_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) VDD scaler Position  */
+#define AC_COMPCTRL_MUXNEG_BANDGAP          (AC_COMPCTRL_MUXNEG_BANDGAP_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) Internal bandgap voltage Position  */
+#define AC_COMPCTRL_MUXNEG_OPAMP            (AC_COMPCTRL_MUXNEG_OPAMP_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) OPAMP output (on AC1) Position  */
+#define AC_COMPCTRL_MUXNEG_DAC              (AC_COMPCTRL_MUXNEG_DAC_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) DAC output (on AC0) Position  */
+#define AC_COMPCTRL_MUXPOS_Pos              12                                             /**< (AC_COMPCTRL) Positive Input Mux Selection Position */
+#define AC_COMPCTRL_MUXPOS_Msk              (_U_(0x7) << AC_COMPCTRL_MUXPOS_Pos)           /**< (AC_COMPCTRL) Positive Input Mux Selection Mask */
+#define AC_COMPCTRL_MUXPOS(value)           (AC_COMPCTRL_MUXPOS_Msk & ((value) << AC_COMPCTRL_MUXPOS_Pos))
+#define   AC_COMPCTRL_MUXPOS_PIN0_Val       _U_(0x0)                                       /**< (AC_COMPCTRL) I/O pin 0  */
+#define   AC_COMPCTRL_MUXPOS_PIN1_Val       _U_(0x1)                                       /**< (AC_COMPCTRL) I/O pin 1  */
+#define   AC_COMPCTRL_MUXPOS_PIN2_Val       _U_(0x2)                                       /**< (AC_COMPCTRL) I/O pin 2  */
+#define   AC_COMPCTRL_MUXPOS_PIN3_Val       _U_(0x3)                                       /**< (AC_COMPCTRL) I/O pin 3  */
+#define   AC_COMPCTRL_MUXPOS_VSCALE_Val     _U_(0x4)                                       /**< (AC_COMPCTRL) VDD Scaler  */
+#define AC_COMPCTRL_MUXPOS_PIN0             (AC_COMPCTRL_MUXPOS_PIN0_Val << AC_COMPCTRL_MUXPOS_Pos)  /**< (AC_COMPCTRL) I/O pin 0 Position  */
+#define AC_COMPCTRL_MUXPOS_PIN1             (AC_COMPCTRL_MUXPOS_PIN1_Val << AC_COMPCTRL_MUXPOS_Pos)  /**< (AC_COMPCTRL) I/O pin 1 Position  */
+#define AC_COMPCTRL_MUXPOS_PIN2             (AC_COMPCTRL_MUXPOS_PIN2_Val << AC_COMPCTRL_MUXPOS_Pos)  /**< (AC_COMPCTRL) I/O pin 2 Position  */
+#define AC_COMPCTRL_MUXPOS_PIN3             (AC_COMPCTRL_MUXPOS_PIN3_Val << AC_COMPCTRL_MUXPOS_Pos)  /**< (AC_COMPCTRL) I/O pin 3 Position  */
+#define AC_COMPCTRL_MUXPOS_VSCALE           (AC_COMPCTRL_MUXPOS_VSCALE_Val << AC_COMPCTRL_MUXPOS_Pos)  /**< (AC_COMPCTRL) VDD Scaler Position  */
+#define AC_COMPCTRL_SWAP_Pos                15                                             /**< (AC_COMPCTRL) Swap Inputs and Invert Position */
+#define AC_COMPCTRL_SWAP_Msk                (_U_(0x1) << AC_COMPCTRL_SWAP_Pos)             /**< (AC_COMPCTRL) Swap Inputs and Invert Mask */
+#define AC_COMPCTRL_SWAP                    AC_COMPCTRL_SWAP_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_COMPCTRL_SWAP_Msk instead */
+#define AC_COMPCTRL_SPEED_Pos               16                                             /**< (AC_COMPCTRL) Speed Selection Position */
+#define AC_COMPCTRL_SPEED_Msk               (_U_(0x3) << AC_COMPCTRL_SPEED_Pos)            /**< (AC_COMPCTRL) Speed Selection Mask */
+#define AC_COMPCTRL_SPEED(value)            (AC_COMPCTRL_SPEED_Msk & ((value) << AC_COMPCTRL_SPEED_Pos))
+#define   AC_COMPCTRL_SPEED_LOW_Val         _U_(0x0)                                       /**< (AC_COMPCTRL) Low speed  */
+#define   AC_COMPCTRL_SPEED_MEDLOW_Val      _U_(0x1)                                       /**< (AC_COMPCTRL) Medium low speed  */
+#define   AC_COMPCTRL_SPEED_MEDHIGH_Val     _U_(0x2)                                       /**< (AC_COMPCTRL) Medium high speed  */
+#define   AC_COMPCTRL_SPEED_HIGH_Val        _U_(0x3)                                       /**< (AC_COMPCTRL) High speed  */
+#define AC_COMPCTRL_SPEED_LOW               (AC_COMPCTRL_SPEED_LOW_Val << AC_COMPCTRL_SPEED_Pos)  /**< (AC_COMPCTRL) Low speed Position  */
+#define AC_COMPCTRL_SPEED_MEDLOW            (AC_COMPCTRL_SPEED_MEDLOW_Val << AC_COMPCTRL_SPEED_Pos)  /**< (AC_COMPCTRL) Medium low speed Position  */
+#define AC_COMPCTRL_SPEED_MEDHIGH           (AC_COMPCTRL_SPEED_MEDHIGH_Val << AC_COMPCTRL_SPEED_Pos)  /**< (AC_COMPCTRL) Medium high speed Position  */
+#define AC_COMPCTRL_SPEED_HIGH              (AC_COMPCTRL_SPEED_HIGH_Val << AC_COMPCTRL_SPEED_Pos)  /**< (AC_COMPCTRL) High speed Position  */
+#define AC_COMPCTRL_HYSTEN_Pos              19                                             /**< (AC_COMPCTRL) Hysteresis Enable Position */
+#define AC_COMPCTRL_HYSTEN_Msk              (_U_(0x1) << AC_COMPCTRL_HYSTEN_Pos)           /**< (AC_COMPCTRL) Hysteresis Enable Mask */
+#define AC_COMPCTRL_HYSTEN                  AC_COMPCTRL_HYSTEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_COMPCTRL_HYSTEN_Msk instead */
+#define AC_COMPCTRL_HYST_Pos                20                                             /**< (AC_COMPCTRL) Hysteresis Level Position */
+#define AC_COMPCTRL_HYST_Msk                (_U_(0x3) << AC_COMPCTRL_HYST_Pos)             /**< (AC_COMPCTRL) Hysteresis Level Mask */
+#define AC_COMPCTRL_HYST(value)             (AC_COMPCTRL_HYST_Msk & ((value) << AC_COMPCTRL_HYST_Pos))
+#define   AC_COMPCTRL_HYST_HYST50_Val       _U_(0x0)                                       /**< (AC_COMPCTRL) 50mV  */
+#define   AC_COMPCTRL_HYST_HYST70_Val       _U_(0x1)                                       /**< (AC_COMPCTRL) 70mV  */
+#define   AC_COMPCTRL_HYST_HYST90_Val       _U_(0x2)                                       /**< (AC_COMPCTRL) 90mV  */
+#define   AC_COMPCTRL_HYST_HYST110_Val      _U_(0x3)                                       /**< (AC_COMPCTRL) 110mV  */
+#define AC_COMPCTRL_HYST_HYST50             (AC_COMPCTRL_HYST_HYST50_Val << AC_COMPCTRL_HYST_Pos)  /**< (AC_COMPCTRL) 50mV Position  */
+#define AC_COMPCTRL_HYST_HYST70             (AC_COMPCTRL_HYST_HYST70_Val << AC_COMPCTRL_HYST_Pos)  /**< (AC_COMPCTRL) 70mV Position  */
+#define AC_COMPCTRL_HYST_HYST90             (AC_COMPCTRL_HYST_HYST90_Val << AC_COMPCTRL_HYST_Pos)  /**< (AC_COMPCTRL) 90mV Position  */
+#define AC_COMPCTRL_HYST_HYST110            (AC_COMPCTRL_HYST_HYST110_Val << AC_COMPCTRL_HYST_Pos)  /**< (AC_COMPCTRL) 110mV Position  */
+#define AC_COMPCTRL_FLEN_Pos                24                                             /**< (AC_COMPCTRL) Filter Length Position */
+#define AC_COMPCTRL_FLEN_Msk                (_U_(0x7) << AC_COMPCTRL_FLEN_Pos)             /**< (AC_COMPCTRL) Filter Length Mask */
+#define AC_COMPCTRL_FLEN(value)             (AC_COMPCTRL_FLEN_Msk & ((value) << AC_COMPCTRL_FLEN_Pos))
+#define   AC_COMPCTRL_FLEN_OFF_Val          _U_(0x0)                                       /**< (AC_COMPCTRL) No filtering  */
+#define   AC_COMPCTRL_FLEN_MAJ3_Val         _U_(0x1)                                       /**< (AC_COMPCTRL) 3-bit majority function (2 of 3)  */
+#define   AC_COMPCTRL_FLEN_MAJ5_Val         _U_(0x2)                                       /**< (AC_COMPCTRL) 5-bit majority function (3 of 5)  */
+#define AC_COMPCTRL_FLEN_OFF                (AC_COMPCTRL_FLEN_OFF_Val << AC_COMPCTRL_FLEN_Pos)  /**< (AC_COMPCTRL) No filtering Position  */
+#define AC_COMPCTRL_FLEN_MAJ3               (AC_COMPCTRL_FLEN_MAJ3_Val << AC_COMPCTRL_FLEN_Pos)  /**< (AC_COMPCTRL) 3-bit majority function (2 of 3) Position  */
+#define AC_COMPCTRL_FLEN_MAJ5               (AC_COMPCTRL_FLEN_MAJ5_Val << AC_COMPCTRL_FLEN_Pos)  /**< (AC_COMPCTRL) 5-bit majority function (3 of 5) Position  */
+#define AC_COMPCTRL_OUT_Pos                 28                                             /**< (AC_COMPCTRL) Output Position */
+#define AC_COMPCTRL_OUT_Msk                 (_U_(0x3) << AC_COMPCTRL_OUT_Pos)              /**< (AC_COMPCTRL) Output Mask */
+#define AC_COMPCTRL_OUT(value)              (AC_COMPCTRL_OUT_Msk & ((value) << AC_COMPCTRL_OUT_Pos))
+#define   AC_COMPCTRL_OUT_OFF_Val           _U_(0x0)                                       /**< (AC_COMPCTRL) The output of COMPn is not routed to the COMPn I/O port  */
+#define   AC_COMPCTRL_OUT_ASYNC_Val         _U_(0x1)                                       /**< (AC_COMPCTRL) The asynchronous output of COMPn is routed to the COMPn I/O port  */
+#define   AC_COMPCTRL_OUT_SYNC_Val          _U_(0x2)                                       /**< (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)  /**< (AC_COMPCTRL) The output of COMPn is not routed to the COMPn I/O port Position  */
+#define AC_COMPCTRL_OUT_ASYNC               (AC_COMPCTRL_OUT_ASYNC_Val << AC_COMPCTRL_OUT_Pos)  /**< (AC_COMPCTRL) The asynchronous output of COMPn is routed to the COMPn I/O port Position  */
+#define AC_COMPCTRL_OUT_SYNC                (AC_COMPCTRL_OUT_SYNC_Val << AC_COMPCTRL_OUT_Pos)  /**< (AC_COMPCTRL) The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port Position  */
+#define AC_COMPCTRL_MASK                    _U_(0x373BF75E)                                /**< \deprecated (AC_COMPCTRL) Register MASK  (Use AC_COMPCTRL_Msk instead)  */
+#define AC_COMPCTRL_Msk                     _U_(0x373BF75E)                                /**< (AC_COMPCTRL) Register Mask  */
+
+
+/* -------- AC_SYNCBUSY : (AC Offset: 0x20) (R/ 32) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_SYNCBUSY_OFFSET                  (0x20)                                        /**<  (AC_SYNCBUSY) Synchronization Busy  Offset */
+#define AC_SYNCBUSY_RESETVALUE              _U_(0x00)                                     /**<  (AC_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define AC_SYNCBUSY_SWRST_Pos               0                                              /**< (AC_SYNCBUSY) Software Reset Synchronization Busy Position */
+#define AC_SYNCBUSY_SWRST_Msk               (_U_(0x1) << AC_SYNCBUSY_SWRST_Pos)            /**< (AC_SYNCBUSY) Software Reset Synchronization Busy Mask */
+#define AC_SYNCBUSY_SWRST                   AC_SYNCBUSY_SWRST_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_SYNCBUSY_SWRST_Msk instead */
+#define AC_SYNCBUSY_ENABLE_Pos              1                                              /**< (AC_SYNCBUSY) Enable Synchronization Busy Position */
+#define AC_SYNCBUSY_ENABLE_Msk              (_U_(0x1) << AC_SYNCBUSY_ENABLE_Pos)           /**< (AC_SYNCBUSY) Enable Synchronization Busy Mask */
+#define AC_SYNCBUSY_ENABLE                  AC_SYNCBUSY_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_SYNCBUSY_ENABLE_Msk instead */
+#define AC_SYNCBUSY_WINCTRL_Pos             2                                              /**< (AC_SYNCBUSY) WINCTRL Synchronization Busy Position */
+#define AC_SYNCBUSY_WINCTRL_Msk             (_U_(0x1) << AC_SYNCBUSY_WINCTRL_Pos)          /**< (AC_SYNCBUSY) WINCTRL Synchronization Busy Mask */
+#define AC_SYNCBUSY_WINCTRL                 AC_SYNCBUSY_WINCTRL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_SYNCBUSY_WINCTRL_Msk instead */
+#define AC_SYNCBUSY_COMPCTRL0_Pos           3                                              /**< (AC_SYNCBUSY) COMPCTRL 0 Synchronization Busy Position */
+#define AC_SYNCBUSY_COMPCTRL0_Msk           (_U_(0x1) << AC_SYNCBUSY_COMPCTRL0_Pos)        /**< (AC_SYNCBUSY) COMPCTRL 0 Synchronization Busy Mask */
+#define AC_SYNCBUSY_COMPCTRL0               AC_SYNCBUSY_COMPCTRL0_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_SYNCBUSY_COMPCTRL0_Msk instead */
+#define AC_SYNCBUSY_COMPCTRL1_Pos           4                                              /**< (AC_SYNCBUSY) COMPCTRL 1 Synchronization Busy Position */
+#define AC_SYNCBUSY_COMPCTRL1_Msk           (_U_(0x1) << AC_SYNCBUSY_COMPCTRL1_Pos)        /**< (AC_SYNCBUSY) COMPCTRL 1 Synchronization Busy Mask */
+#define AC_SYNCBUSY_COMPCTRL1               AC_SYNCBUSY_COMPCTRL1_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_SYNCBUSY_COMPCTRL1_Msk instead */
+#define AC_SYNCBUSY_MASK                    _U_(0x1F)                                      /**< \deprecated (AC_SYNCBUSY) Register MASK  (Use AC_SYNCBUSY_Msk instead)  */
+#define AC_SYNCBUSY_Msk                     _U_(0x1F)                                      /**< (AC_SYNCBUSY) Register Mask  */
+
+#define AC_SYNCBUSY_COMPCTRL_Pos            3                                              /**< (AC_SYNCBUSY Position) COMPCTRL x Synchronization Busy */
+#define AC_SYNCBUSY_COMPCTRL_Msk            (_U_(0x3) << AC_SYNCBUSY_COMPCTRL_Pos)         /**< (AC_SYNCBUSY Mask) COMPCTRL */
+#define AC_SYNCBUSY_COMPCTRL(value)         (AC_SYNCBUSY_COMPCTRL_Msk & ((value) << AC_SYNCBUSY_COMPCTRL_Pos))  
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief AC hardware registers */
+typedef struct {  /* Analog Comparators */
+  __IO AC_CTRLA_Type                  CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __O  AC_CTRLB_Type                  CTRLB;          /**< Offset: 0x01 ( /W   8) Control B */
+  __IO AC_EVCTRL_Type                 EVCTRL;         /**< Offset: 0x02 (R/W  16) Event Control */
+  __IO AC_INTENCLR_Type               INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO AC_INTENSET_Type               INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO AC_INTFLAG_Type                INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  AC_STATUSA_Type                STATUSA;        /**< Offset: 0x07 (R/    8) Status A */
+  __I  AC_STATUSB_Type                STATUSB;        /**< Offset: 0x08 (R/    8) Status B */
+  __IO AC_DBGCTRL_Type                DBGCTRL;        /**< Offset: 0x09 (R/W   8) Debug Control */
+  __IO AC_WINCTRL_Type                WINCTRL;        /**< Offset: 0x0A (R/W   8) Window Control */
+  __I  uint8_t                        Reserved1[1];
+  __IO AC_SCALER_Type                 SCALER[2];      /**< Offset: 0x0C (R/W   8) Scaler n */
+  __I  uint8_t                        Reserved2[2];
+  __IO AC_COMPCTRL_Type               COMPCTRL[2];    /**< Offset: 0x10 (R/W  32) Comparator Control n */
+  __I  uint8_t                        Reserved3[8];
+  __I  AC_SYNCBUSY_Type               SYNCBUSY;       /**< Offset: 0x20 (R/   32) Synchronization Busy */
+} Ac;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Analog Comparators */
+
+#endif /* _SAML10_AC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/adc.h b/cpu/sam0_common/include/vendor/saml10/include/component/adc.h
new file mode 100644
index 0000000000..3514e983e3
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/adc.h
@@ -0,0 +1,851 @@
+/**
+ * \file
+ *
+ * \brief Component description for ADC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_ADC_COMPONENT_H_
+#define _SAML10_ADC_COMPONENT_H_
+#define _SAML10_ADC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Analog Digital Converter
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR ADC */
+/* ========================================================================== */
+
+#define ADC_U2247                      /**< (ADC) Module ID */
+#define REV_ADC 0x240                  /**< (ADC) Module revision */
+
+/* -------- ADC_CTRLA : (ADC Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint8_t  :3;                        /**< bit:   2..4  Reserved */
+    uint8_t  SLAVEEN:1;                 /**< bit:      5  Slave Enable                             */
+    uint8_t  RUNSTDBY:1;                /**< bit:      6  Run During Standby                       */
+    uint8_t  ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} ADC_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_CTRLA_OFFSET                    (0x00)                                        /**<  (ADC_CTRLA) Control A  Offset */
+#define ADC_CTRLA_RESETVALUE                _U_(0x00)                                     /**<  (ADC_CTRLA) Control A  Reset Value */
+
+#define ADC_CTRLA_SWRST_Pos                 0                                              /**< (ADC_CTRLA) Software Reset Position */
+#define ADC_CTRLA_SWRST_Msk                 (_U_(0x1) << ADC_CTRLA_SWRST_Pos)              /**< (ADC_CTRLA) Software Reset Mask */
+#define ADC_CTRLA_SWRST                     ADC_CTRLA_SWRST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLA_SWRST_Msk instead */
+#define ADC_CTRLA_ENABLE_Pos                1                                              /**< (ADC_CTRLA) Enable Position */
+#define ADC_CTRLA_ENABLE_Msk                (_U_(0x1) << ADC_CTRLA_ENABLE_Pos)             /**< (ADC_CTRLA) Enable Mask */
+#define ADC_CTRLA_ENABLE                    ADC_CTRLA_ENABLE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLA_ENABLE_Msk instead */
+#define ADC_CTRLA_SLAVEEN_Pos               5                                              /**< (ADC_CTRLA) Slave Enable Position */
+#define ADC_CTRLA_SLAVEEN_Msk               (_U_(0x1) << ADC_CTRLA_SLAVEEN_Pos)            /**< (ADC_CTRLA) Slave Enable Mask */
+#define ADC_CTRLA_SLAVEEN                   ADC_CTRLA_SLAVEEN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLA_SLAVEEN_Msk instead */
+#define ADC_CTRLA_RUNSTDBY_Pos              6                                              /**< (ADC_CTRLA) Run During Standby Position */
+#define ADC_CTRLA_RUNSTDBY_Msk              (_U_(0x1) << ADC_CTRLA_RUNSTDBY_Pos)           /**< (ADC_CTRLA) Run During Standby Mask */
+#define ADC_CTRLA_RUNSTDBY                  ADC_CTRLA_RUNSTDBY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLA_RUNSTDBY_Msk instead */
+#define ADC_CTRLA_ONDEMAND_Pos              7                                              /**< (ADC_CTRLA) On Demand Control Position */
+#define ADC_CTRLA_ONDEMAND_Msk              (_U_(0x1) << ADC_CTRLA_ONDEMAND_Pos)           /**< (ADC_CTRLA) On Demand Control Mask */
+#define ADC_CTRLA_ONDEMAND                  ADC_CTRLA_ONDEMAND_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLA_ONDEMAND_Msk instead */
+#define ADC_CTRLA_MASK                      _U_(0xE3)                                      /**< \deprecated (ADC_CTRLA) Register MASK  (Use ADC_CTRLA_Msk instead)  */
+#define ADC_CTRLA_Msk                       _U_(0xE3)                                      /**< (ADC_CTRLA) Register Mask  */
+
+
+/* -------- ADC_CTRLB : (ADC Offset: 0x01) (R/W 8) Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PRESCALER:3;               /**< bit:   0..2  Prescaler Configuration                  */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} ADC_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_CTRLB_OFFSET                    (0x01)                                        /**<  (ADC_CTRLB) Control B  Offset */
+#define ADC_CTRLB_RESETVALUE                _U_(0x00)                                     /**<  (ADC_CTRLB) Control B  Reset Value */
+
+#define ADC_CTRLB_PRESCALER_Pos             0                                              /**< (ADC_CTRLB) Prescaler Configuration Position */
+#define ADC_CTRLB_PRESCALER_Msk             (_U_(0x7) << ADC_CTRLB_PRESCALER_Pos)          /**< (ADC_CTRLB) Prescaler Configuration Mask */
+#define ADC_CTRLB_PRESCALER(value)          (ADC_CTRLB_PRESCALER_Msk & ((value) << ADC_CTRLB_PRESCALER_Pos))
+#define   ADC_CTRLB_PRESCALER_DIV2_Val      _U_(0x0)                                       /**< (ADC_CTRLB) Peripheral clock divided by 2  */
+#define   ADC_CTRLB_PRESCALER_DIV4_Val      _U_(0x1)                                       /**< (ADC_CTRLB) Peripheral clock divided by 4  */
+#define   ADC_CTRLB_PRESCALER_DIV8_Val      _U_(0x2)                                       /**< (ADC_CTRLB) Peripheral clock divided by 8  */
+#define   ADC_CTRLB_PRESCALER_DIV16_Val     _U_(0x3)                                       /**< (ADC_CTRLB) Peripheral clock divided by 16  */
+#define   ADC_CTRLB_PRESCALER_DIV32_Val     _U_(0x4)                                       /**< (ADC_CTRLB) Peripheral clock divided by 32  */
+#define   ADC_CTRLB_PRESCALER_DIV64_Val     _U_(0x5)                                       /**< (ADC_CTRLB) Peripheral clock divided by 64  */
+#define   ADC_CTRLB_PRESCALER_DIV128_Val    _U_(0x6)                                       /**< (ADC_CTRLB) Peripheral clock divided by 128  */
+#define   ADC_CTRLB_PRESCALER_DIV256_Val    _U_(0x7)                                       /**< (ADC_CTRLB) Peripheral clock divided by 256  */
+#define ADC_CTRLB_PRESCALER_DIV2            (ADC_CTRLB_PRESCALER_DIV2_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 2 Position  */
+#define ADC_CTRLB_PRESCALER_DIV4            (ADC_CTRLB_PRESCALER_DIV4_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 4 Position  */
+#define ADC_CTRLB_PRESCALER_DIV8            (ADC_CTRLB_PRESCALER_DIV8_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 8 Position  */
+#define ADC_CTRLB_PRESCALER_DIV16           (ADC_CTRLB_PRESCALER_DIV16_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 16 Position  */
+#define ADC_CTRLB_PRESCALER_DIV32           (ADC_CTRLB_PRESCALER_DIV32_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 32 Position  */
+#define ADC_CTRLB_PRESCALER_DIV64           (ADC_CTRLB_PRESCALER_DIV64_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 64 Position  */
+#define ADC_CTRLB_PRESCALER_DIV128          (ADC_CTRLB_PRESCALER_DIV128_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 128 Position  */
+#define ADC_CTRLB_PRESCALER_DIV256          (ADC_CTRLB_PRESCALER_DIV256_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 256 Position  */
+#define ADC_CTRLB_MASK                      _U_(0x07)                                      /**< \deprecated (ADC_CTRLB) Register MASK  (Use ADC_CTRLB_Msk instead)  */
+#define ADC_CTRLB_Msk                       _U_(0x07)                                      /**< (ADC_CTRLB) Register Mask  */
+
+
+/* -------- ADC_REFCTRL : (ADC Offset: 0x02) (R/W 8) Reference Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_REFCTRL_OFFSET                  (0x02)                                        /**<  (ADC_REFCTRL) Reference Control  Offset */
+#define ADC_REFCTRL_RESETVALUE              _U_(0x00)                                     /**<  (ADC_REFCTRL) Reference Control  Reset Value */
+
+#define ADC_REFCTRL_REFSEL_Pos              0                                              /**< (ADC_REFCTRL) Reference Selection Position */
+#define ADC_REFCTRL_REFSEL_Msk              (_U_(0xF) << ADC_REFCTRL_REFSEL_Pos)           /**< (ADC_REFCTRL) Reference Selection Mask */
+#define ADC_REFCTRL_REFSEL(value)           (ADC_REFCTRL_REFSEL_Msk & ((value) << ADC_REFCTRL_REFSEL_Pos))
+#define   ADC_REFCTRL_REFSEL_INTREF_Val     _U_(0x0)                                       /**< (ADC_REFCTRL) Internal Bandgap Reference  */
+#define   ADC_REFCTRL_REFSEL_INTVCC0_Val    _U_(0x1)                                       /**< (ADC_REFCTRL) 1/1.6 VDDANA  */
+#define   ADC_REFCTRL_REFSEL_INTVCC1_Val    _U_(0x2)                                       /**< (ADC_REFCTRL) 1/2 VDDANA  */
+#define   ADC_REFCTRL_REFSEL_AREFA_Val      _U_(0x3)                                       /**< (ADC_REFCTRL) External Reference  */
+#define   ADC_REFCTRL_REFSEL_AREFB_Val      _U_(0x4)                                       /**< (ADC_REFCTRL) External Reference  */
+#define   ADC_REFCTRL_REFSEL_INTVCC2_Val    _U_(0x5)                                       /**< (ADC_REFCTRL) VCCANA  */
+#define ADC_REFCTRL_REFSEL_INTREF           (ADC_REFCTRL_REFSEL_INTREF_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) Internal Bandgap Reference Position  */
+#define ADC_REFCTRL_REFSEL_INTVCC0          (ADC_REFCTRL_REFSEL_INTVCC0_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) 1/1.6 VDDANA Position  */
+#define ADC_REFCTRL_REFSEL_INTVCC1          (ADC_REFCTRL_REFSEL_INTVCC1_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) 1/2 VDDANA Position  */
+#define ADC_REFCTRL_REFSEL_AREFA            (ADC_REFCTRL_REFSEL_AREFA_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) External Reference Position  */
+#define ADC_REFCTRL_REFSEL_AREFB            (ADC_REFCTRL_REFSEL_AREFB_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) External Reference Position  */
+#define ADC_REFCTRL_REFSEL_INTVCC2          (ADC_REFCTRL_REFSEL_INTVCC2_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) VCCANA Position  */
+#define ADC_REFCTRL_REFCOMP_Pos             7                                              /**< (ADC_REFCTRL) Reference Buffer Offset Compensation Enable Position */
+#define ADC_REFCTRL_REFCOMP_Msk             (_U_(0x1) << ADC_REFCTRL_REFCOMP_Pos)          /**< (ADC_REFCTRL) Reference Buffer Offset Compensation Enable Mask */
+#define ADC_REFCTRL_REFCOMP                 ADC_REFCTRL_REFCOMP_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_REFCTRL_REFCOMP_Msk instead */
+#define ADC_REFCTRL_MASK                    _U_(0x8F)                                      /**< \deprecated (ADC_REFCTRL) Register MASK  (Use ADC_REFCTRL_Msk instead)  */
+#define ADC_REFCTRL_Msk                     _U_(0x8F)                                      /**< (ADC_REFCTRL) Register Mask  */
+
+
+/* -------- ADC_EVCTRL : (ADC Offset: 0x03) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || 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  Satrt 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_EVCTRL_OFFSET                   (0x03)                                        /**<  (ADC_EVCTRL) Event Control  Offset */
+#define ADC_EVCTRL_RESETVALUE               _U_(0x00)                                     /**<  (ADC_EVCTRL) Event Control  Reset Value */
+
+#define ADC_EVCTRL_FLUSHEI_Pos              0                                              /**< (ADC_EVCTRL) Flush Event Input Enable Position */
+#define ADC_EVCTRL_FLUSHEI_Msk              (_U_(0x1) << ADC_EVCTRL_FLUSHEI_Pos)           /**< (ADC_EVCTRL) Flush Event Input Enable Mask */
+#define ADC_EVCTRL_FLUSHEI                  ADC_EVCTRL_FLUSHEI_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_FLUSHEI_Msk instead */
+#define ADC_EVCTRL_STARTEI_Pos              1                                              /**< (ADC_EVCTRL) Start Conversion Event Input Enable Position */
+#define ADC_EVCTRL_STARTEI_Msk              (_U_(0x1) << ADC_EVCTRL_STARTEI_Pos)           /**< (ADC_EVCTRL) Start Conversion Event Input Enable Mask */
+#define ADC_EVCTRL_STARTEI                  ADC_EVCTRL_STARTEI_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_STARTEI_Msk instead */
+#define ADC_EVCTRL_FLUSHINV_Pos             2                                              /**< (ADC_EVCTRL) Flush Event Invert Enable Position */
+#define ADC_EVCTRL_FLUSHINV_Msk             (_U_(0x1) << ADC_EVCTRL_FLUSHINV_Pos)          /**< (ADC_EVCTRL) Flush Event Invert Enable Mask */
+#define ADC_EVCTRL_FLUSHINV                 ADC_EVCTRL_FLUSHINV_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_FLUSHINV_Msk instead */
+#define ADC_EVCTRL_STARTINV_Pos             3                                              /**< (ADC_EVCTRL) Satrt Event Invert Enable Position */
+#define ADC_EVCTRL_STARTINV_Msk             (_U_(0x1) << ADC_EVCTRL_STARTINV_Pos)          /**< (ADC_EVCTRL) Satrt Event Invert Enable Mask */
+#define ADC_EVCTRL_STARTINV                 ADC_EVCTRL_STARTINV_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_STARTINV_Msk instead */
+#define ADC_EVCTRL_RESRDYEO_Pos             4                                              /**< (ADC_EVCTRL) Result Ready Event Out Position */
+#define ADC_EVCTRL_RESRDYEO_Msk             (_U_(0x1) << ADC_EVCTRL_RESRDYEO_Pos)          /**< (ADC_EVCTRL) Result Ready Event Out Mask */
+#define ADC_EVCTRL_RESRDYEO                 ADC_EVCTRL_RESRDYEO_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_RESRDYEO_Msk instead */
+#define ADC_EVCTRL_WINMONEO_Pos             5                                              /**< (ADC_EVCTRL) Window Monitor Event Out Position */
+#define ADC_EVCTRL_WINMONEO_Msk             (_U_(0x1) << ADC_EVCTRL_WINMONEO_Pos)          /**< (ADC_EVCTRL) Window Monitor Event Out Mask */
+#define ADC_EVCTRL_WINMONEO                 ADC_EVCTRL_WINMONEO_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_WINMONEO_Msk instead */
+#define ADC_EVCTRL_MASK                     _U_(0x3F)                                      /**< \deprecated (ADC_EVCTRL) Register MASK  (Use ADC_EVCTRL_Msk instead)  */
+#define ADC_EVCTRL_Msk                      _U_(0x3F)                                      /**< (ADC_EVCTRL) Register Mask  */
+
+
+/* -------- ADC_INTENCLR : (ADC Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_INTENCLR_OFFSET                 (0x04)                                        /**<  (ADC_INTENCLR) Interrupt Enable Clear  Offset */
+#define ADC_INTENCLR_RESETVALUE             _U_(0x00)                                     /**<  (ADC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define ADC_INTENCLR_RESRDY_Pos             0                                              /**< (ADC_INTENCLR) Result Ready Interrupt Disable Position */
+#define ADC_INTENCLR_RESRDY_Msk             (_U_(0x1) << ADC_INTENCLR_RESRDY_Pos)          /**< (ADC_INTENCLR) Result Ready Interrupt Disable Mask */
+#define ADC_INTENCLR_RESRDY                 ADC_INTENCLR_RESRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENCLR_RESRDY_Msk instead */
+#define ADC_INTENCLR_OVERRUN_Pos            1                                              /**< (ADC_INTENCLR) Overrun Interrupt Disable Position */
+#define ADC_INTENCLR_OVERRUN_Msk            (_U_(0x1) << ADC_INTENCLR_OVERRUN_Pos)         /**< (ADC_INTENCLR) Overrun Interrupt Disable Mask */
+#define ADC_INTENCLR_OVERRUN                ADC_INTENCLR_OVERRUN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENCLR_OVERRUN_Msk instead */
+#define ADC_INTENCLR_WINMON_Pos             2                                              /**< (ADC_INTENCLR) Window Monitor Interrupt Disable Position */
+#define ADC_INTENCLR_WINMON_Msk             (_U_(0x1) << ADC_INTENCLR_WINMON_Pos)          /**< (ADC_INTENCLR) Window Monitor Interrupt Disable Mask */
+#define ADC_INTENCLR_WINMON                 ADC_INTENCLR_WINMON_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENCLR_WINMON_Msk instead */
+#define ADC_INTENCLR_MASK                   _U_(0x07)                                      /**< \deprecated (ADC_INTENCLR) Register MASK  (Use ADC_INTENCLR_Msk instead)  */
+#define ADC_INTENCLR_Msk                    _U_(0x07)                                      /**< (ADC_INTENCLR) Register Mask  */
+
+
+/* -------- ADC_INTENSET : (ADC Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_INTENSET_OFFSET                 (0x05)                                        /**<  (ADC_INTENSET) Interrupt Enable Set  Offset */
+#define ADC_INTENSET_RESETVALUE             _U_(0x00)                                     /**<  (ADC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define ADC_INTENSET_RESRDY_Pos             0                                              /**< (ADC_INTENSET) Result Ready Interrupt Enable Position */
+#define ADC_INTENSET_RESRDY_Msk             (_U_(0x1) << ADC_INTENSET_RESRDY_Pos)          /**< (ADC_INTENSET) Result Ready Interrupt Enable Mask */
+#define ADC_INTENSET_RESRDY                 ADC_INTENSET_RESRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENSET_RESRDY_Msk instead */
+#define ADC_INTENSET_OVERRUN_Pos            1                                              /**< (ADC_INTENSET) Overrun Interrupt Enable Position */
+#define ADC_INTENSET_OVERRUN_Msk            (_U_(0x1) << ADC_INTENSET_OVERRUN_Pos)         /**< (ADC_INTENSET) Overrun Interrupt Enable Mask */
+#define ADC_INTENSET_OVERRUN                ADC_INTENSET_OVERRUN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENSET_OVERRUN_Msk instead */
+#define ADC_INTENSET_WINMON_Pos             2                                              /**< (ADC_INTENSET) Window Monitor Interrupt Enable Position */
+#define ADC_INTENSET_WINMON_Msk             (_U_(0x1) << ADC_INTENSET_WINMON_Pos)          /**< (ADC_INTENSET) Window Monitor Interrupt Enable Mask */
+#define ADC_INTENSET_WINMON                 ADC_INTENSET_WINMON_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENSET_WINMON_Msk instead */
+#define ADC_INTENSET_MASK                   _U_(0x07)                                      /**< \deprecated (ADC_INTENSET) Register MASK  (Use ADC_INTENSET_Msk instead)  */
+#define ADC_INTENSET_Msk                    _U_(0x07)                                      /**< (ADC_INTENSET) Register Mask  */
+
+
+/* -------- ADC_INTFLAG : (ADC Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_INTFLAG_OFFSET                  (0x06)                                        /**<  (ADC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define ADC_INTFLAG_RESETVALUE              _U_(0x00)                                     /**<  (ADC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define ADC_INTFLAG_RESRDY_Pos              0                                              /**< (ADC_INTFLAG) Result Ready Interrupt Flag Position */
+#define ADC_INTFLAG_RESRDY_Msk              (_U_(0x1) << ADC_INTFLAG_RESRDY_Pos)           /**< (ADC_INTFLAG) Result Ready Interrupt Flag Mask */
+#define ADC_INTFLAG_RESRDY                  ADC_INTFLAG_RESRDY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTFLAG_RESRDY_Msk instead */
+#define ADC_INTFLAG_OVERRUN_Pos             1                                              /**< (ADC_INTFLAG) Overrun Interrupt Flag Position */
+#define ADC_INTFLAG_OVERRUN_Msk             (_U_(0x1) << ADC_INTFLAG_OVERRUN_Pos)          /**< (ADC_INTFLAG) Overrun Interrupt Flag Mask */
+#define ADC_INTFLAG_OVERRUN                 ADC_INTFLAG_OVERRUN_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTFLAG_OVERRUN_Msk instead */
+#define ADC_INTFLAG_WINMON_Pos              2                                              /**< (ADC_INTFLAG) Window Monitor Interrupt Flag Position */
+#define ADC_INTFLAG_WINMON_Msk              (_U_(0x1) << ADC_INTFLAG_WINMON_Pos)           /**< (ADC_INTFLAG) Window Monitor Interrupt Flag Mask */
+#define ADC_INTFLAG_WINMON                  ADC_INTFLAG_WINMON_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTFLAG_WINMON_Msk instead */
+#define ADC_INTFLAG_MASK                    _U_(0x07)                                      /**< \deprecated (ADC_INTFLAG) Register MASK  (Use ADC_INTFLAG_Msk instead)  */
+#define ADC_INTFLAG_Msk                     _U_(0x07)                                      /**< (ADC_INTFLAG) Register Mask  */
+
+
+/* -------- ADC_SEQSTATUS : (ADC Offset: 0x07) (R/ 8) Sequence Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SEQSTATE:5;                /**< bit:   0..4  Sequence State                           */
+    uint8_t  :2;                        /**< bit:   5..6  Reserved */
+    uint8_t  SEQBUSY:1;                 /**< bit:      7  Sequence Busy                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} ADC_SEQSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_SEQSTATUS_OFFSET                (0x07)                                        /**<  (ADC_SEQSTATUS) Sequence Status  Offset */
+#define ADC_SEQSTATUS_RESETVALUE            _U_(0x00)                                     /**<  (ADC_SEQSTATUS) Sequence Status  Reset Value */
+
+#define ADC_SEQSTATUS_SEQSTATE_Pos          0                                              /**< (ADC_SEQSTATUS) Sequence State Position */
+#define ADC_SEQSTATUS_SEQSTATE_Msk          (_U_(0x1F) << ADC_SEQSTATUS_SEQSTATE_Pos)      /**< (ADC_SEQSTATUS) Sequence State Mask */
+#define ADC_SEQSTATUS_SEQSTATE(value)       (ADC_SEQSTATUS_SEQSTATE_Msk & ((value) << ADC_SEQSTATUS_SEQSTATE_Pos))
+#define ADC_SEQSTATUS_SEQBUSY_Pos           7                                              /**< (ADC_SEQSTATUS) Sequence Busy Position */
+#define ADC_SEQSTATUS_SEQBUSY_Msk           (_U_(0x1) << ADC_SEQSTATUS_SEQBUSY_Pos)        /**< (ADC_SEQSTATUS) Sequence Busy Mask */
+#define ADC_SEQSTATUS_SEQBUSY               ADC_SEQSTATUS_SEQBUSY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SEQSTATUS_SEQBUSY_Msk instead */
+#define ADC_SEQSTATUS_MASK                  _U_(0x9F)                                      /**< \deprecated (ADC_SEQSTATUS) Register MASK  (Use ADC_SEQSTATUS_Msk instead)  */
+#define ADC_SEQSTATUS_Msk                   _U_(0x9F)                                      /**< (ADC_SEQSTATUS) Register Mask  */
+
+
+/* -------- ADC_INPUTCTRL : (ADC Offset: 0x08) (R/W 16) Input Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t MUXPOS:5;                  /**< bit:   0..4  Positive Mux Input Selection             */
+    uint16_t :3;                        /**< bit:   5..7  Reserved */
+    uint16_t MUXNEG:5;                  /**< bit:  8..12  Negative Mux Input Selection             */
+    uint16_t :3;                        /**< bit: 13..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} ADC_INPUTCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_INPUTCTRL_OFFSET                (0x08)                                        /**<  (ADC_INPUTCTRL) Input Control  Offset */
+#define ADC_INPUTCTRL_RESETVALUE            _U_(0x00)                                     /**<  (ADC_INPUTCTRL) Input Control  Reset Value */
+
+#define ADC_INPUTCTRL_MUXPOS_Pos            0                                              /**< (ADC_INPUTCTRL) Positive Mux Input Selection Position */
+#define ADC_INPUTCTRL_MUXPOS_Msk            (_U_(0x1F) << ADC_INPUTCTRL_MUXPOS_Pos)        /**< (ADC_INPUTCTRL) Positive Mux Input Selection Mask */
+#define ADC_INPUTCTRL_MUXPOS(value)         (ADC_INPUTCTRL_MUXPOS_Msk & ((value) << ADC_INPUTCTRL_MUXPOS_Pos))
+#define   ADC_INPUTCTRL_MUXPOS_AIN0_Val     _U_(0x0)                                       /**< (ADC_INPUTCTRL) ADC AIN0 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN1_Val     _U_(0x1)                                       /**< (ADC_INPUTCTRL) ADC AIN1 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN2_Val     _U_(0x2)                                       /**< (ADC_INPUTCTRL) ADC AIN2 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN3_Val     _U_(0x3)                                       /**< (ADC_INPUTCTRL) ADC AIN3 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN4_Val     _U_(0x4)                                       /**< (ADC_INPUTCTRL) ADC AIN4 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN5_Val     _U_(0x5)                                       /**< (ADC_INPUTCTRL) ADC AIN5 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN6_Val     _U_(0x6)                                       /**< (ADC_INPUTCTRL) ADC AIN6 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN7_Val     _U_(0x7)                                       /**< (ADC_INPUTCTRL) ADC AIN7 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN8_Val     _U_(0x8)                                       /**< (ADC_INPUTCTRL) ADC AIN8 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN9_Val     _U_(0x9)                                       /**< (ADC_INPUTCTRL) ADC AIN9 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN10_Val    _U_(0xA)                                       /**< (ADC_INPUTCTRL) ADC AIN10 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN11_Val    _U_(0xB)                                       /**< (ADC_INPUTCTRL) ADC AIN11 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN12_Val    _U_(0xC)                                       /**< (ADC_INPUTCTRL) ADC AIN12 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN13_Val    _U_(0xD)                                       /**< (ADC_INPUTCTRL) ADC AIN13 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN14_Val    _U_(0xE)                                       /**< (ADC_INPUTCTRL) ADC AIN14 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN15_Val    _U_(0xF)                                       /**< (ADC_INPUTCTRL) ADC AIN15 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN16_Val    _U_(0x10)                                      /**< (ADC_INPUTCTRL) ADC AIN16 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN17_Val    _U_(0x11)                                      /**< (ADC_INPUTCTRL) ADC AIN17 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN18_Val    _U_(0x12)                                      /**< (ADC_INPUTCTRL) ADC AIN18 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN19_Val    _U_(0x13)                                      /**< (ADC_INPUTCTRL) ADC AIN19 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN20_Val    _U_(0x14)                                      /**< (ADC_INPUTCTRL) ADC AIN20 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN21_Val    _U_(0x15)                                      /**< (ADC_INPUTCTRL) ADC AIN21 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN22_Val    _U_(0x16)                                      /**< (ADC_INPUTCTRL) ADC AIN22 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN23_Val    _U_(0x17)                                      /**< (ADC_INPUTCTRL) ADC AIN23 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_TEMP_Val     _U_(0x18)                                      /**< (ADC_INPUTCTRL) Temperature Sensor  */
+#define   ADC_INPUTCTRL_MUXPOS_BANDGAP_Val  _U_(0x19)                                      /**< (ADC_INPUTCTRL) Bandgap Voltage  */
+#define   ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC_Val _U_(0x1A)                                      /**< (ADC_INPUTCTRL) 1/4 Scaled Core Supply  */
+#define   ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC_Val _U_(0x1B)                                      /**< (ADC_INPUTCTRL) 1/4 Scaled I/O Supply  */
+#define   ADC_INPUTCTRL_MUXPOS_DAC_Val      _U_(0x1C)                                      /**< (ADC_INPUTCTRL) DAC Output  */
+#define   ADC_INPUTCTRL_MUXPOS_SCALEDVBAT_Val _U_(0x1D)                                      /**< (ADC_INPUTCTRL) 1/4 Scaled VBAT Supply  */
+#define   ADC_INPUTCTRL_MUXPOS_OPAMP01_Val  _U_(0x1E)                                      /**< (ADC_INPUTCTRL) OPAMP0 or OPAMP1 output  */
+#define   ADC_INPUTCTRL_MUXPOS_OPAMP2_Val   _U_(0x1F)                                      /**< (ADC_INPUTCTRL) OPAMP2 output  */
+#define ADC_INPUTCTRL_MUXPOS_AIN0           (ADC_INPUTCTRL_MUXPOS_AIN0_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN0 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN1           (ADC_INPUTCTRL_MUXPOS_AIN1_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN1 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN2           (ADC_INPUTCTRL_MUXPOS_AIN2_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN2 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN3           (ADC_INPUTCTRL_MUXPOS_AIN3_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN3 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN4           (ADC_INPUTCTRL_MUXPOS_AIN4_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN4 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN5           (ADC_INPUTCTRL_MUXPOS_AIN5_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN5 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN6           (ADC_INPUTCTRL_MUXPOS_AIN6_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN6 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN7           (ADC_INPUTCTRL_MUXPOS_AIN7_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN7 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN8           (ADC_INPUTCTRL_MUXPOS_AIN8_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN8 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN9           (ADC_INPUTCTRL_MUXPOS_AIN9_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN9 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN10          (ADC_INPUTCTRL_MUXPOS_AIN10_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN10 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN11          (ADC_INPUTCTRL_MUXPOS_AIN11_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN11 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN12          (ADC_INPUTCTRL_MUXPOS_AIN12_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN12 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN13          (ADC_INPUTCTRL_MUXPOS_AIN13_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN13 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN14          (ADC_INPUTCTRL_MUXPOS_AIN14_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN14 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN15          (ADC_INPUTCTRL_MUXPOS_AIN15_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN15 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN16          (ADC_INPUTCTRL_MUXPOS_AIN16_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN16 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN17          (ADC_INPUTCTRL_MUXPOS_AIN17_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN17 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN18          (ADC_INPUTCTRL_MUXPOS_AIN18_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN18 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN19          (ADC_INPUTCTRL_MUXPOS_AIN19_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN19 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN20          (ADC_INPUTCTRL_MUXPOS_AIN20_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN20 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN21          (ADC_INPUTCTRL_MUXPOS_AIN21_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN21 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN22          (ADC_INPUTCTRL_MUXPOS_AIN22_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN22 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN23          (ADC_INPUTCTRL_MUXPOS_AIN23_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN23 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_TEMP           (ADC_INPUTCTRL_MUXPOS_TEMP_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) Temperature Sensor Position  */
+#define ADC_INPUTCTRL_MUXPOS_BANDGAP        (ADC_INPUTCTRL_MUXPOS_BANDGAP_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) Bandgap Voltage Position  */
+#define ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC  (ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) 1/4 Scaled Core Supply Position  */
+#define ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC    (ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) 1/4 Scaled I/O Supply Position  */
+#define ADC_INPUTCTRL_MUXPOS_DAC            (ADC_INPUTCTRL_MUXPOS_DAC_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) DAC Output Position  */
+#define ADC_INPUTCTRL_MUXPOS_SCALEDVBAT     (ADC_INPUTCTRL_MUXPOS_SCALEDVBAT_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) 1/4 Scaled VBAT Supply Position  */
+#define ADC_INPUTCTRL_MUXPOS_OPAMP01        (ADC_INPUTCTRL_MUXPOS_OPAMP01_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) OPAMP0 or OPAMP1 output Position  */
+#define ADC_INPUTCTRL_MUXPOS_OPAMP2         (ADC_INPUTCTRL_MUXPOS_OPAMP2_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) OPAMP2 output Position  */
+#define ADC_INPUTCTRL_MUXNEG_Pos            8                                              /**< (ADC_INPUTCTRL) Negative Mux Input Selection Position */
+#define ADC_INPUTCTRL_MUXNEG_Msk            (_U_(0x1F) << ADC_INPUTCTRL_MUXNEG_Pos)        /**< (ADC_INPUTCTRL) Negative Mux Input Selection Mask */
+#define ADC_INPUTCTRL_MUXNEG(value)         (ADC_INPUTCTRL_MUXNEG_Msk & ((value) << ADC_INPUTCTRL_MUXNEG_Pos))
+#define   ADC_INPUTCTRL_MUXNEG_AIN0_Val     _U_(0x0)                                       /**< (ADC_INPUTCTRL) ADC AIN0 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN1_Val     _U_(0x1)                                       /**< (ADC_INPUTCTRL) ADC AIN1 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN2_Val     _U_(0x2)                                       /**< (ADC_INPUTCTRL) ADC AIN2 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN3_Val     _U_(0x3)                                       /**< (ADC_INPUTCTRL) ADC AIN3 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN4_Val     _U_(0x4)                                       /**< (ADC_INPUTCTRL) ADC AIN4 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN5_Val     _U_(0x5)                                       /**< (ADC_INPUTCTRL) ADC AIN5 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN6_Val     _U_(0x6)                                       /**< (ADC_INPUTCTRL) ADC AIN6 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN7_Val     _U_(0x7)                                       /**< (ADC_INPUTCTRL) ADC AIN7 Pin  */
+#define ADC_INPUTCTRL_MUXNEG_AIN0           (ADC_INPUTCTRL_MUXNEG_AIN0_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN0 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN1           (ADC_INPUTCTRL_MUXNEG_AIN1_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN1 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN2           (ADC_INPUTCTRL_MUXNEG_AIN2_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN2 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN3           (ADC_INPUTCTRL_MUXNEG_AIN3_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN3 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN4           (ADC_INPUTCTRL_MUXNEG_AIN4_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN4 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN5           (ADC_INPUTCTRL_MUXNEG_AIN5_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN5 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN6           (ADC_INPUTCTRL_MUXNEG_AIN6_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN6 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN7           (ADC_INPUTCTRL_MUXNEG_AIN7_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN7 Pin Position  */
+#define ADC_INPUTCTRL_MASK                  _U_(0x1F1F)                                    /**< \deprecated (ADC_INPUTCTRL) Register MASK  (Use ADC_INPUTCTRL_Msk instead)  */
+#define ADC_INPUTCTRL_Msk                   _U_(0x1F1F)                                    /**< (ADC_INPUTCTRL) Register Mask  */
+
+
+/* -------- ADC_CTRLC : (ADC Offset: 0x0a) (R/W 16) Control C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t DIFFMODE:1;                /**< bit:      0  Differential Mode                        */
+    uint16_t LEFTADJ:1;                 /**< bit:      1  Left-Adjusted Result                     */
+    uint16_t FREERUN:1;                 /**< bit:      2  Free Running Mode                        */
+    uint16_t CORREN:1;                  /**< bit:      3  Digital Correction Logic Enable          */
+    uint16_t RESSEL:2;                  /**< bit:   4..5  Conversion Result Resolution             */
+    uint16_t :1;                        /**< bit:      6  Reserved */
+    uint16_t R2R:1;                     /**< bit:      7  Rail-to-Rail mode enable                 */
+    uint16_t WINMODE:3;                 /**< bit:  8..10  Window Monitor Mode                      */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t DUALSEL:2;                 /**< bit: 12..13  Dual Mode Trigger Selection              */
+    uint16_t :2;                        /**< bit: 14..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} ADC_CTRLC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_CTRLC_OFFSET                    (0x0A)                                        /**<  (ADC_CTRLC) Control C  Offset */
+#define ADC_CTRLC_RESETVALUE                _U_(0x00)                                     /**<  (ADC_CTRLC) Control C  Reset Value */
+
+#define ADC_CTRLC_DIFFMODE_Pos              0                                              /**< (ADC_CTRLC) Differential Mode Position */
+#define ADC_CTRLC_DIFFMODE_Msk              (_U_(0x1) << ADC_CTRLC_DIFFMODE_Pos)           /**< (ADC_CTRLC) Differential Mode Mask */
+#define ADC_CTRLC_DIFFMODE                  ADC_CTRLC_DIFFMODE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLC_DIFFMODE_Msk instead */
+#define ADC_CTRLC_LEFTADJ_Pos               1                                              /**< (ADC_CTRLC) Left-Adjusted Result Position */
+#define ADC_CTRLC_LEFTADJ_Msk               (_U_(0x1) << ADC_CTRLC_LEFTADJ_Pos)            /**< (ADC_CTRLC) Left-Adjusted Result Mask */
+#define ADC_CTRLC_LEFTADJ                   ADC_CTRLC_LEFTADJ_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLC_LEFTADJ_Msk instead */
+#define ADC_CTRLC_FREERUN_Pos               2                                              /**< (ADC_CTRLC) Free Running Mode Position */
+#define ADC_CTRLC_FREERUN_Msk               (_U_(0x1) << ADC_CTRLC_FREERUN_Pos)            /**< (ADC_CTRLC) Free Running Mode Mask */
+#define ADC_CTRLC_FREERUN                   ADC_CTRLC_FREERUN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLC_FREERUN_Msk instead */
+#define ADC_CTRLC_CORREN_Pos                3                                              /**< (ADC_CTRLC) Digital Correction Logic Enable Position */
+#define ADC_CTRLC_CORREN_Msk                (_U_(0x1) << ADC_CTRLC_CORREN_Pos)             /**< (ADC_CTRLC) Digital Correction Logic Enable Mask */
+#define ADC_CTRLC_CORREN                    ADC_CTRLC_CORREN_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLC_CORREN_Msk instead */
+#define ADC_CTRLC_RESSEL_Pos                4                                              /**< (ADC_CTRLC) Conversion Result Resolution Position */
+#define ADC_CTRLC_RESSEL_Msk                (_U_(0x3) << ADC_CTRLC_RESSEL_Pos)             /**< (ADC_CTRLC) Conversion Result Resolution Mask */
+#define ADC_CTRLC_RESSEL(value)             (ADC_CTRLC_RESSEL_Msk & ((value) << ADC_CTRLC_RESSEL_Pos))
+#define   ADC_CTRLC_RESSEL_12BIT_Val        _U_(0x0)                                       /**< (ADC_CTRLC) 12-bit result  */
+#define   ADC_CTRLC_RESSEL_16BIT_Val        _U_(0x1)                                       /**< (ADC_CTRLC) For averaging mode output  */
+#define   ADC_CTRLC_RESSEL_10BIT_Val        _U_(0x2)                                       /**< (ADC_CTRLC) 10-bit result  */
+#define   ADC_CTRLC_RESSEL_8BIT_Val         _U_(0x3)                                       /**< (ADC_CTRLC) 8-bit result  */
+#define ADC_CTRLC_RESSEL_12BIT              (ADC_CTRLC_RESSEL_12BIT_Val << ADC_CTRLC_RESSEL_Pos)  /**< (ADC_CTRLC) 12-bit result Position  */
+#define ADC_CTRLC_RESSEL_16BIT              (ADC_CTRLC_RESSEL_16BIT_Val << ADC_CTRLC_RESSEL_Pos)  /**< (ADC_CTRLC) For averaging mode output Position  */
+#define ADC_CTRLC_RESSEL_10BIT              (ADC_CTRLC_RESSEL_10BIT_Val << ADC_CTRLC_RESSEL_Pos)  /**< (ADC_CTRLC) 10-bit result Position  */
+#define ADC_CTRLC_RESSEL_8BIT               (ADC_CTRLC_RESSEL_8BIT_Val << ADC_CTRLC_RESSEL_Pos)  /**< (ADC_CTRLC) 8-bit result Position  */
+#define ADC_CTRLC_R2R_Pos                   7                                              /**< (ADC_CTRLC) Rail-to-Rail mode enable Position */
+#define ADC_CTRLC_R2R_Msk                   (_U_(0x1) << ADC_CTRLC_R2R_Pos)                /**< (ADC_CTRLC) Rail-to-Rail mode enable Mask */
+#define ADC_CTRLC_R2R                       ADC_CTRLC_R2R_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLC_R2R_Msk instead */
+#define ADC_CTRLC_WINMODE_Pos               8                                              /**< (ADC_CTRLC) Window Monitor Mode Position */
+#define ADC_CTRLC_WINMODE_Msk               (_U_(0x7) << ADC_CTRLC_WINMODE_Pos)            /**< (ADC_CTRLC) Window Monitor Mode Mask */
+#define ADC_CTRLC_WINMODE(value)            (ADC_CTRLC_WINMODE_Msk & ((value) << ADC_CTRLC_WINMODE_Pos))
+#define   ADC_CTRLC_WINMODE_DISABLE_Val     _U_(0x0)                                       /**< (ADC_CTRLC) No window mode (default)  */
+#define   ADC_CTRLC_WINMODE_MODE1_Val       _U_(0x1)                                       /**< (ADC_CTRLC) RESULT > WINLT  */
+#define   ADC_CTRLC_WINMODE_MODE2_Val       _U_(0x2)                                       /**< (ADC_CTRLC) RESULT < WINUT  */
+#define   ADC_CTRLC_WINMODE_MODE3_Val       _U_(0x3)                                       /**< (ADC_CTRLC) WINLT < RESULT < WINUT  */
+#define   ADC_CTRLC_WINMODE_MODE4_Val       _U_(0x4)                                       /**< (ADC_CTRLC) !(WINLT < RESULT < WINUT)  */
+#define ADC_CTRLC_WINMODE_DISABLE           (ADC_CTRLC_WINMODE_DISABLE_Val << ADC_CTRLC_WINMODE_Pos)  /**< (ADC_CTRLC) No window mode (default) Position  */
+#define ADC_CTRLC_WINMODE_MODE1             (ADC_CTRLC_WINMODE_MODE1_Val << ADC_CTRLC_WINMODE_Pos)  /**< (ADC_CTRLC) RESULT > WINLT Position  */
+#define ADC_CTRLC_WINMODE_MODE2             (ADC_CTRLC_WINMODE_MODE2_Val << ADC_CTRLC_WINMODE_Pos)  /**< (ADC_CTRLC) RESULT < WINUT Position  */
+#define ADC_CTRLC_WINMODE_MODE3             (ADC_CTRLC_WINMODE_MODE3_Val << ADC_CTRLC_WINMODE_Pos)  /**< (ADC_CTRLC) WINLT < RESULT < WINUT Position  */
+#define ADC_CTRLC_WINMODE_MODE4             (ADC_CTRLC_WINMODE_MODE4_Val << ADC_CTRLC_WINMODE_Pos)  /**< (ADC_CTRLC) !(WINLT < RESULT < WINUT) Position  */
+#define ADC_CTRLC_DUALSEL_Pos               12                                             /**< (ADC_CTRLC) Dual Mode Trigger Selection Position */
+#define ADC_CTRLC_DUALSEL_Msk               (_U_(0x3) << ADC_CTRLC_DUALSEL_Pos)            /**< (ADC_CTRLC) Dual Mode Trigger Selection Mask */
+#define ADC_CTRLC_DUALSEL(value)            (ADC_CTRLC_DUALSEL_Msk & ((value) << ADC_CTRLC_DUALSEL_Pos))
+#define   ADC_CTRLC_DUALSEL_BOTH_Val        _U_(0x0)                                       /**< (ADC_CTRLC) Start event or software trigger will start a conversion on both ADCs  */
+#define   ADC_CTRLC_DUALSEL_INTERLEAVE_Val  _U_(0x1)                                       /**< (ADC_CTRLC) START event or software trigger will alternatingly start a conversion on ADC0 and ADC1  */
+#define ADC_CTRLC_DUALSEL_BOTH              (ADC_CTRLC_DUALSEL_BOTH_Val << ADC_CTRLC_DUALSEL_Pos)  /**< (ADC_CTRLC) Start event or software trigger will start a conversion on both ADCs Position  */
+#define ADC_CTRLC_DUALSEL_INTERLEAVE        (ADC_CTRLC_DUALSEL_INTERLEAVE_Val << ADC_CTRLC_DUALSEL_Pos)  /**< (ADC_CTRLC) START event or software trigger will alternatingly start a conversion on ADC0 and ADC1 Position  */
+#define ADC_CTRLC_MASK                      _U_(0x37BF)                                    /**< \deprecated (ADC_CTRLC) Register MASK  (Use ADC_CTRLC_Msk instead)  */
+#define ADC_CTRLC_Msk                       _U_(0x37BF)                                    /**< (ADC_CTRLC) Register Mask  */
+
+
+/* -------- ADC_AVGCTRL : (ADC Offset: 0x0c) (R/W 8) Average Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_AVGCTRL_OFFSET                  (0x0C)                                        /**<  (ADC_AVGCTRL) Average Control  Offset */
+#define ADC_AVGCTRL_RESETVALUE              _U_(0x00)                                     /**<  (ADC_AVGCTRL) Average Control  Reset Value */
+
+#define ADC_AVGCTRL_SAMPLENUM_Pos           0                                              /**< (ADC_AVGCTRL) Number of Samples to be Collected Position */
+#define ADC_AVGCTRL_SAMPLENUM_Msk           (_U_(0xF) << ADC_AVGCTRL_SAMPLENUM_Pos)        /**< (ADC_AVGCTRL) Number of Samples to be Collected Mask */
+#define ADC_AVGCTRL_SAMPLENUM(value)        (ADC_AVGCTRL_SAMPLENUM_Msk & ((value) << ADC_AVGCTRL_SAMPLENUM_Pos))
+#define   ADC_AVGCTRL_SAMPLENUM_1_Val       _U_(0x0)                                       /**< (ADC_AVGCTRL) 1 sample  */
+#define   ADC_AVGCTRL_SAMPLENUM_2_Val       _U_(0x1)                                       /**< (ADC_AVGCTRL) 2 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_4_Val       _U_(0x2)                                       /**< (ADC_AVGCTRL) 4 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_8_Val       _U_(0x3)                                       /**< (ADC_AVGCTRL) 8 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_16_Val      _U_(0x4)                                       /**< (ADC_AVGCTRL) 16 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_32_Val      _U_(0x5)                                       /**< (ADC_AVGCTRL) 32 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_64_Val      _U_(0x6)                                       /**< (ADC_AVGCTRL) 64 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_128_Val     _U_(0x7)                                       /**< (ADC_AVGCTRL) 128 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_256_Val     _U_(0x8)                                       /**< (ADC_AVGCTRL) 256 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_512_Val     _U_(0x9)                                       /**< (ADC_AVGCTRL) 512 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_1024_Val    _U_(0xA)                                       /**< (ADC_AVGCTRL) 1024 samples  */
+#define ADC_AVGCTRL_SAMPLENUM_1             (ADC_AVGCTRL_SAMPLENUM_1_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 1 sample Position  */
+#define ADC_AVGCTRL_SAMPLENUM_2             (ADC_AVGCTRL_SAMPLENUM_2_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 2 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_4             (ADC_AVGCTRL_SAMPLENUM_4_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 4 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_8             (ADC_AVGCTRL_SAMPLENUM_8_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 8 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_16            (ADC_AVGCTRL_SAMPLENUM_16_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 16 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_32            (ADC_AVGCTRL_SAMPLENUM_32_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 32 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_64            (ADC_AVGCTRL_SAMPLENUM_64_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 64 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_128           (ADC_AVGCTRL_SAMPLENUM_128_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 128 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_256           (ADC_AVGCTRL_SAMPLENUM_256_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 256 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_512           (ADC_AVGCTRL_SAMPLENUM_512_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 512 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_1024          (ADC_AVGCTRL_SAMPLENUM_1024_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 1024 samples Position  */
+#define ADC_AVGCTRL_ADJRES_Pos              4                                              /**< (ADC_AVGCTRL) Adjusting Result / Division Coefficient Position */
+#define ADC_AVGCTRL_ADJRES_Msk              (_U_(0x7) << ADC_AVGCTRL_ADJRES_Pos)           /**< (ADC_AVGCTRL) Adjusting Result / Division Coefficient Mask */
+#define ADC_AVGCTRL_ADJRES(value)           (ADC_AVGCTRL_ADJRES_Msk & ((value) << ADC_AVGCTRL_ADJRES_Pos))
+#define ADC_AVGCTRL_MASK                    _U_(0x7F)                                      /**< \deprecated (ADC_AVGCTRL) Register MASK  (Use ADC_AVGCTRL_Msk instead)  */
+#define ADC_AVGCTRL_Msk                     _U_(0x7F)                                      /**< (ADC_AVGCTRL) Register Mask  */
+
+
+/* -------- ADC_SAMPCTRL : (ADC Offset: 0x0d) (R/W 8) Sample Time Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_SAMPCTRL_OFFSET                 (0x0D)                                        /**<  (ADC_SAMPCTRL) Sample Time Control  Offset */
+#define ADC_SAMPCTRL_RESETVALUE             _U_(0x00)                                     /**<  (ADC_SAMPCTRL) Sample Time Control  Reset Value */
+
+#define ADC_SAMPCTRL_SAMPLEN_Pos            0                                              /**< (ADC_SAMPCTRL) Sampling Time Length Position */
+#define ADC_SAMPCTRL_SAMPLEN_Msk            (_U_(0x3F) << ADC_SAMPCTRL_SAMPLEN_Pos)        /**< (ADC_SAMPCTRL) Sampling Time Length Mask */
+#define ADC_SAMPCTRL_SAMPLEN(value)         (ADC_SAMPCTRL_SAMPLEN_Msk & ((value) << ADC_SAMPCTRL_SAMPLEN_Pos))
+#define ADC_SAMPCTRL_OFFCOMP_Pos            7                                              /**< (ADC_SAMPCTRL) Comparator Offset Compensation Enable Position */
+#define ADC_SAMPCTRL_OFFCOMP_Msk            (_U_(0x1) << ADC_SAMPCTRL_OFFCOMP_Pos)         /**< (ADC_SAMPCTRL) Comparator Offset Compensation Enable Mask */
+#define ADC_SAMPCTRL_OFFCOMP                ADC_SAMPCTRL_OFFCOMP_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SAMPCTRL_OFFCOMP_Msk instead */
+#define ADC_SAMPCTRL_MASK                   _U_(0xBF)                                      /**< \deprecated (ADC_SAMPCTRL) Register MASK  (Use ADC_SAMPCTRL_Msk instead)  */
+#define ADC_SAMPCTRL_Msk                    _U_(0xBF)                                      /**< (ADC_SAMPCTRL) Register Mask  */
+
+
+/* -------- ADC_WINLT : (ADC Offset: 0x0e) (R/W 16) Window Monitor Lower Threshold -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_WINLT_OFFSET                    (0x0E)                                        /**<  (ADC_WINLT) Window Monitor Lower Threshold  Offset */
+#define ADC_WINLT_RESETVALUE                _U_(0x00)                                     /**<  (ADC_WINLT) Window Monitor Lower Threshold  Reset Value */
+
+#define ADC_WINLT_WINLT_Pos                 0                                              /**< (ADC_WINLT) Window Lower Threshold Position */
+#define ADC_WINLT_WINLT_Msk                 (_U_(0xFFFF) << ADC_WINLT_WINLT_Pos)           /**< (ADC_WINLT) Window Lower Threshold Mask */
+#define ADC_WINLT_WINLT(value)              (ADC_WINLT_WINLT_Msk & ((value) << ADC_WINLT_WINLT_Pos))
+#define ADC_WINLT_MASK                      _U_(0xFFFF)                                    /**< \deprecated (ADC_WINLT) Register MASK  (Use ADC_WINLT_Msk instead)  */
+#define ADC_WINLT_Msk                       _U_(0xFFFF)                                    /**< (ADC_WINLT) Register Mask  */
+
+
+/* -------- ADC_WINUT : (ADC Offset: 0x10) (R/W 16) Window Monitor Upper Threshold -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_WINUT_OFFSET                    (0x10)                                        /**<  (ADC_WINUT) Window Monitor Upper Threshold  Offset */
+#define ADC_WINUT_RESETVALUE                _U_(0x00)                                     /**<  (ADC_WINUT) Window Monitor Upper Threshold  Reset Value */
+
+#define ADC_WINUT_WINUT_Pos                 0                                              /**< (ADC_WINUT) Window Upper Threshold Position */
+#define ADC_WINUT_WINUT_Msk                 (_U_(0xFFFF) << ADC_WINUT_WINUT_Pos)           /**< (ADC_WINUT) Window Upper Threshold Mask */
+#define ADC_WINUT_WINUT(value)              (ADC_WINUT_WINUT_Msk & ((value) << ADC_WINUT_WINUT_Pos))
+#define ADC_WINUT_MASK                      _U_(0xFFFF)                                    /**< \deprecated (ADC_WINUT) Register MASK  (Use ADC_WINUT_Msk instead)  */
+#define ADC_WINUT_Msk                       _U_(0xFFFF)                                    /**< (ADC_WINUT) Register Mask  */
+
+
+/* -------- ADC_GAINCORR : (ADC Offset: 0x12) (R/W 16) Gain Correction -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_GAINCORR_OFFSET                 (0x12)                                        /**<  (ADC_GAINCORR) Gain Correction  Offset */
+#define ADC_GAINCORR_RESETVALUE             _U_(0x00)                                     /**<  (ADC_GAINCORR) Gain Correction  Reset Value */
+
+#define ADC_GAINCORR_GAINCORR_Pos           0                                              /**< (ADC_GAINCORR) Gain Correction Value Position */
+#define ADC_GAINCORR_GAINCORR_Msk           (_U_(0xFFF) << ADC_GAINCORR_GAINCORR_Pos)      /**< (ADC_GAINCORR) Gain Correction Value Mask */
+#define ADC_GAINCORR_GAINCORR(value)        (ADC_GAINCORR_GAINCORR_Msk & ((value) << ADC_GAINCORR_GAINCORR_Pos))
+#define ADC_GAINCORR_MASK                   _U_(0xFFF)                                     /**< \deprecated (ADC_GAINCORR) Register MASK  (Use ADC_GAINCORR_Msk instead)  */
+#define ADC_GAINCORR_Msk                    _U_(0xFFF)                                     /**< (ADC_GAINCORR) Register Mask  */
+
+
+/* -------- ADC_OFFSETCORR : (ADC Offset: 0x14) (R/W 16) Offset Correction -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_OFFSETCORR_OFFSET               (0x14)                                        /**<  (ADC_OFFSETCORR) Offset Correction  Offset */
+#define ADC_OFFSETCORR_RESETVALUE           _U_(0x00)                                     /**<  (ADC_OFFSETCORR) Offset Correction  Reset Value */
+
+#define ADC_OFFSETCORR_OFFSETCORR_Pos       0                                              /**< (ADC_OFFSETCORR) Offset Correction Value Position */
+#define ADC_OFFSETCORR_OFFSETCORR_Msk       (_U_(0xFFF) << ADC_OFFSETCORR_OFFSETCORR_Pos)  /**< (ADC_OFFSETCORR) Offset Correction Value Mask */
+#define ADC_OFFSETCORR_OFFSETCORR(value)    (ADC_OFFSETCORR_OFFSETCORR_Msk & ((value) << ADC_OFFSETCORR_OFFSETCORR_Pos))
+#define ADC_OFFSETCORR_MASK                 _U_(0xFFF)                                     /**< \deprecated (ADC_OFFSETCORR) Register MASK  (Use ADC_OFFSETCORR_Msk instead)  */
+#define ADC_OFFSETCORR_Msk                  _U_(0xFFF)                                     /**< (ADC_OFFSETCORR) Register Mask  */
+
+
+/* -------- ADC_SWTRIG : (ADC Offset: 0x18) (R/W 8) Software Trigger -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  FLUSH:1;                   /**< bit:      0  ADC 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_SWTRIG_OFFSET                   (0x18)                                        /**<  (ADC_SWTRIG) Software Trigger  Offset */
+#define ADC_SWTRIG_RESETVALUE               _U_(0x00)                                     /**<  (ADC_SWTRIG) Software Trigger  Reset Value */
+
+#define ADC_SWTRIG_FLUSH_Pos                0                                              /**< (ADC_SWTRIG) ADC Flush Position */
+#define ADC_SWTRIG_FLUSH_Msk                (_U_(0x1) << ADC_SWTRIG_FLUSH_Pos)             /**< (ADC_SWTRIG) ADC Flush Mask */
+#define ADC_SWTRIG_FLUSH                    ADC_SWTRIG_FLUSH_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SWTRIG_FLUSH_Msk instead */
+#define ADC_SWTRIG_START_Pos                1                                              /**< (ADC_SWTRIG) Start ADC Conversion Position */
+#define ADC_SWTRIG_START_Msk                (_U_(0x1) << ADC_SWTRIG_START_Pos)             /**< (ADC_SWTRIG) Start ADC Conversion Mask */
+#define ADC_SWTRIG_START                    ADC_SWTRIG_START_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SWTRIG_START_Msk instead */
+#define ADC_SWTRIG_MASK                     _U_(0x03)                                      /**< \deprecated (ADC_SWTRIG) Register MASK  (Use ADC_SWTRIG_Msk instead)  */
+#define ADC_SWTRIG_Msk                      _U_(0x03)                                      /**< (ADC_SWTRIG) Register Mask  */
+
+
+/* -------- ADC_DBGCTRL : (ADC Offset: 0x1c) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_DBGCTRL_OFFSET                  (0x1C)                                        /**<  (ADC_DBGCTRL) Debug Control  Offset */
+#define ADC_DBGCTRL_RESETVALUE              _U_(0x00)                                     /**<  (ADC_DBGCTRL) Debug Control  Reset Value */
+
+#define ADC_DBGCTRL_DBGRUN_Pos              0                                              /**< (ADC_DBGCTRL) Debug Run Position */
+#define ADC_DBGCTRL_DBGRUN_Msk              (_U_(0x1) << ADC_DBGCTRL_DBGRUN_Pos)           /**< (ADC_DBGCTRL) Debug Run Mask */
+#define ADC_DBGCTRL_DBGRUN                  ADC_DBGCTRL_DBGRUN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_DBGCTRL_DBGRUN_Msk instead */
+#define ADC_DBGCTRL_MASK                    _U_(0x01)                                      /**< \deprecated (ADC_DBGCTRL) Register MASK  (Use ADC_DBGCTRL_Msk instead)  */
+#define ADC_DBGCTRL_Msk                     _U_(0x01)                                      /**< (ADC_DBGCTRL) Register Mask  */
+
+
+/* -------- ADC_SYNCBUSY : (ADC Offset: 0x20) (R/ 16) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t SWRST:1;                   /**< bit:      0  SWRST Synchronization Busy               */
+    uint16_t ENABLE:1;                  /**< bit:      1  ENABLE Synchronization Busy              */
+    uint16_t INPUTCTRL:1;               /**< bit:      2  INPUTCTRL Synchronization Busy           */
+    uint16_t CTRLC:1;                   /**< bit:      3  CTRLC Synchronization Busy               */
+    uint16_t AVGCTRL:1;                 /**< bit:      4  AVGCTRL Synchronization Busy             */
+    uint16_t SAMPCTRL:1;                /**< bit:      5  SAMPCTRL Synchronization Busy            */
+    uint16_t WINLT:1;                   /**< bit:      6  WINLT Synchronization Busy               */
+    uint16_t WINUT:1;                   /**< bit:      7  WINUT Synchronization Busy               */
+    uint16_t GAINCORR:1;                /**< bit:      8  GAINCORR Synchronization Busy            */
+    uint16_t OFFSETCORR:1;              /**< bit:      9  OFFSETCTRL Synchronization Busy          */
+    uint16_t SWTRIG:1;                  /**< bit:     10  SWTRG Synchronization Busy               */
+    uint16_t :5;                        /**< bit: 11..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} ADC_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_SYNCBUSY_OFFSET                 (0x20)                                        /**<  (ADC_SYNCBUSY) Synchronization Busy  Offset */
+#define ADC_SYNCBUSY_RESETVALUE             _U_(0x00)                                     /**<  (ADC_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define ADC_SYNCBUSY_SWRST_Pos              0                                              /**< (ADC_SYNCBUSY) SWRST Synchronization Busy Position */
+#define ADC_SYNCBUSY_SWRST_Msk              (_U_(0x1) << ADC_SYNCBUSY_SWRST_Pos)           /**< (ADC_SYNCBUSY) SWRST Synchronization Busy Mask */
+#define ADC_SYNCBUSY_SWRST                  ADC_SYNCBUSY_SWRST_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_SWRST_Msk instead */
+#define ADC_SYNCBUSY_ENABLE_Pos             1                                              /**< (ADC_SYNCBUSY) ENABLE Synchronization Busy Position */
+#define ADC_SYNCBUSY_ENABLE_Msk             (_U_(0x1) << ADC_SYNCBUSY_ENABLE_Pos)          /**< (ADC_SYNCBUSY) ENABLE Synchronization Busy Mask */
+#define ADC_SYNCBUSY_ENABLE                 ADC_SYNCBUSY_ENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_ENABLE_Msk instead */
+#define ADC_SYNCBUSY_INPUTCTRL_Pos          2                                              /**< (ADC_SYNCBUSY) INPUTCTRL Synchronization Busy Position */
+#define ADC_SYNCBUSY_INPUTCTRL_Msk          (_U_(0x1) << ADC_SYNCBUSY_INPUTCTRL_Pos)       /**< (ADC_SYNCBUSY) INPUTCTRL Synchronization Busy Mask */
+#define ADC_SYNCBUSY_INPUTCTRL              ADC_SYNCBUSY_INPUTCTRL_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_INPUTCTRL_Msk instead */
+#define ADC_SYNCBUSY_CTRLC_Pos              3                                              /**< (ADC_SYNCBUSY) CTRLC Synchronization Busy Position */
+#define ADC_SYNCBUSY_CTRLC_Msk              (_U_(0x1) << ADC_SYNCBUSY_CTRLC_Pos)           /**< (ADC_SYNCBUSY) CTRLC Synchronization Busy Mask */
+#define ADC_SYNCBUSY_CTRLC                  ADC_SYNCBUSY_CTRLC_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_CTRLC_Msk instead */
+#define ADC_SYNCBUSY_AVGCTRL_Pos            4                                              /**< (ADC_SYNCBUSY) AVGCTRL Synchronization Busy Position */
+#define ADC_SYNCBUSY_AVGCTRL_Msk            (_U_(0x1) << ADC_SYNCBUSY_AVGCTRL_Pos)         /**< (ADC_SYNCBUSY) AVGCTRL Synchronization Busy Mask */
+#define ADC_SYNCBUSY_AVGCTRL                ADC_SYNCBUSY_AVGCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_AVGCTRL_Msk instead */
+#define ADC_SYNCBUSY_SAMPCTRL_Pos           5                                              /**< (ADC_SYNCBUSY) SAMPCTRL Synchronization Busy Position */
+#define ADC_SYNCBUSY_SAMPCTRL_Msk           (_U_(0x1) << ADC_SYNCBUSY_SAMPCTRL_Pos)        /**< (ADC_SYNCBUSY) SAMPCTRL Synchronization Busy Mask */
+#define ADC_SYNCBUSY_SAMPCTRL               ADC_SYNCBUSY_SAMPCTRL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_SAMPCTRL_Msk instead */
+#define ADC_SYNCBUSY_WINLT_Pos              6                                              /**< (ADC_SYNCBUSY) WINLT Synchronization Busy Position */
+#define ADC_SYNCBUSY_WINLT_Msk              (_U_(0x1) << ADC_SYNCBUSY_WINLT_Pos)           /**< (ADC_SYNCBUSY) WINLT Synchronization Busy Mask */
+#define ADC_SYNCBUSY_WINLT                  ADC_SYNCBUSY_WINLT_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_WINLT_Msk instead */
+#define ADC_SYNCBUSY_WINUT_Pos              7                                              /**< (ADC_SYNCBUSY) WINUT Synchronization Busy Position */
+#define ADC_SYNCBUSY_WINUT_Msk              (_U_(0x1) << ADC_SYNCBUSY_WINUT_Pos)           /**< (ADC_SYNCBUSY) WINUT Synchronization Busy Mask */
+#define ADC_SYNCBUSY_WINUT                  ADC_SYNCBUSY_WINUT_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_WINUT_Msk instead */
+#define ADC_SYNCBUSY_GAINCORR_Pos           8                                              /**< (ADC_SYNCBUSY) GAINCORR Synchronization Busy Position */
+#define ADC_SYNCBUSY_GAINCORR_Msk           (_U_(0x1) << ADC_SYNCBUSY_GAINCORR_Pos)        /**< (ADC_SYNCBUSY) GAINCORR Synchronization Busy Mask */
+#define ADC_SYNCBUSY_GAINCORR               ADC_SYNCBUSY_GAINCORR_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_GAINCORR_Msk instead */
+#define ADC_SYNCBUSY_OFFSETCORR_Pos         9                                              /**< (ADC_SYNCBUSY) OFFSETCTRL Synchronization Busy Position */
+#define ADC_SYNCBUSY_OFFSETCORR_Msk         (_U_(0x1) << ADC_SYNCBUSY_OFFSETCORR_Pos)      /**< (ADC_SYNCBUSY) OFFSETCTRL Synchronization Busy Mask */
+#define ADC_SYNCBUSY_OFFSETCORR             ADC_SYNCBUSY_OFFSETCORR_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_OFFSETCORR_Msk instead */
+#define ADC_SYNCBUSY_SWTRIG_Pos             10                                             /**< (ADC_SYNCBUSY) SWTRG Synchronization Busy Position */
+#define ADC_SYNCBUSY_SWTRIG_Msk             (_U_(0x1) << ADC_SYNCBUSY_SWTRIG_Pos)          /**< (ADC_SYNCBUSY) SWTRG Synchronization Busy Mask */
+#define ADC_SYNCBUSY_SWTRIG                 ADC_SYNCBUSY_SWTRIG_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_SWTRIG_Msk instead */
+#define ADC_SYNCBUSY_MASK                   _U_(0x7FF)                                     /**< \deprecated (ADC_SYNCBUSY) Register MASK  (Use ADC_SYNCBUSY_Msk instead)  */
+#define ADC_SYNCBUSY_Msk                    _U_(0x7FF)                                     /**< (ADC_SYNCBUSY) Register Mask  */
+
+
+/* -------- ADC_RESULT : (ADC Offset: 0x24) (R/ 16) Result -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t RESULT:16;                 /**< bit:  0..15  Result Value                             */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} ADC_RESULT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_RESULT_OFFSET                   (0x24)                                        /**<  (ADC_RESULT) Result  Offset */
+#define ADC_RESULT_RESETVALUE               _U_(0x00)                                     /**<  (ADC_RESULT) Result  Reset Value */
+
+#define ADC_RESULT_RESULT_Pos               0                                              /**< (ADC_RESULT) Result Value Position */
+#define ADC_RESULT_RESULT_Msk               (_U_(0xFFFF) << ADC_RESULT_RESULT_Pos)         /**< (ADC_RESULT) Result Value Mask */
+#define ADC_RESULT_RESULT(value)            (ADC_RESULT_RESULT_Msk & ((value) << ADC_RESULT_RESULT_Pos))
+#define ADC_RESULT_MASK                     _U_(0xFFFF)                                    /**< \deprecated (ADC_RESULT) Register MASK  (Use ADC_RESULT_Msk instead)  */
+#define ADC_RESULT_Msk                      _U_(0xFFFF)                                    /**< (ADC_RESULT) Register Mask  */
+
+
+/* -------- ADC_SEQCTRL : (ADC Offset: 0x28) (R/W 32) Sequence Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SEQEN:32;                  /**< bit:  0..31  Enable Positive Input in the Sequence    */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} ADC_SEQCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_SEQCTRL_OFFSET                  (0x28)                                        /**<  (ADC_SEQCTRL) Sequence Control  Offset */
+#define ADC_SEQCTRL_RESETVALUE              _U_(0x00)                                     /**<  (ADC_SEQCTRL) Sequence Control  Reset Value */
+
+#define ADC_SEQCTRL_SEQEN_Pos               0                                              /**< (ADC_SEQCTRL) Enable Positive Input in the Sequence Position */
+#define ADC_SEQCTRL_SEQEN_Msk               (_U_(0xFFFFFFFF) << ADC_SEQCTRL_SEQEN_Pos)     /**< (ADC_SEQCTRL) Enable Positive Input in the Sequence Mask */
+#define ADC_SEQCTRL_SEQEN(value)            (ADC_SEQCTRL_SEQEN_Msk & ((value) << ADC_SEQCTRL_SEQEN_Pos))
+#define ADC_SEQCTRL_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (ADC_SEQCTRL) Register MASK  (Use ADC_SEQCTRL_Msk instead)  */
+#define ADC_SEQCTRL_Msk                     _U_(0xFFFFFFFF)                                /**< (ADC_SEQCTRL) Register Mask  */
+
+
+/* -------- ADC_CALIB : (ADC Offset: 0x2c) (R/W 16) Calibration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BIASCOMP:3;                /**< bit:   0..2  Bias Comparator Scaling                  */
+    uint16_t :5;                        /**< bit:   3..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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_CALIB_OFFSET                    (0x2C)                                        /**<  (ADC_CALIB) Calibration  Offset */
+#define ADC_CALIB_RESETVALUE                _U_(0x00)                                     /**<  (ADC_CALIB) Calibration  Reset Value */
+
+#define ADC_CALIB_BIASCOMP_Pos              0                                              /**< (ADC_CALIB) Bias Comparator Scaling Position */
+#define ADC_CALIB_BIASCOMP_Msk              (_U_(0x7) << ADC_CALIB_BIASCOMP_Pos)           /**< (ADC_CALIB) Bias Comparator Scaling Mask */
+#define ADC_CALIB_BIASCOMP(value)           (ADC_CALIB_BIASCOMP_Msk & ((value) << ADC_CALIB_BIASCOMP_Pos))
+#define ADC_CALIB_BIASREFBUF_Pos            8                                              /**< (ADC_CALIB) Bias  Reference Buffer Scaling Position */
+#define ADC_CALIB_BIASREFBUF_Msk            (_U_(0x7) << ADC_CALIB_BIASREFBUF_Pos)         /**< (ADC_CALIB) Bias  Reference Buffer Scaling Mask */
+#define ADC_CALIB_BIASREFBUF(value)         (ADC_CALIB_BIASREFBUF_Msk & ((value) << ADC_CALIB_BIASREFBUF_Pos))
+#define ADC_CALIB_MASK                      _U_(0x707)                                     /**< \deprecated (ADC_CALIB) Register MASK  (Use ADC_CALIB_Msk instead)  */
+#define ADC_CALIB_Msk                       _U_(0x707)                                     /**< (ADC_CALIB) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief ADC hardware registers */
+typedef struct {  /* Analog Digital Converter */
+  __IO ADC_CTRLA_Type                 CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __IO ADC_CTRLB_Type                 CTRLB;          /**< Offset: 0x01 (R/W   8) Control B */
+  __IO ADC_REFCTRL_Type               REFCTRL;        /**< Offset: 0x02 (R/W   8) Reference Control */
+  __IO ADC_EVCTRL_Type                EVCTRL;         /**< Offset: 0x03 (R/W   8) Event Control */
+  __IO ADC_INTENCLR_Type              INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO ADC_INTENSET_Type              INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO ADC_INTFLAG_Type               INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  ADC_SEQSTATUS_Type             SEQSTATUS;      /**< Offset: 0x07 (R/    8) Sequence Status */
+  __IO ADC_INPUTCTRL_Type             INPUTCTRL;      /**< Offset: 0x08 (R/W  16) Input Control */
+  __IO ADC_CTRLC_Type                 CTRLC;          /**< Offset: 0x0A (R/W  16) Control C */
+  __IO ADC_AVGCTRL_Type               AVGCTRL;        /**< Offset: 0x0C (R/W   8) Average Control */
+  __IO ADC_SAMPCTRL_Type              SAMPCTRL;       /**< Offset: 0x0D (R/W   8) Sample Time Control */
+  __IO ADC_WINLT_Type                 WINLT;          /**< Offset: 0x0E (R/W  16) Window Monitor Lower Threshold */
+  __IO ADC_WINUT_Type                 WINUT;          /**< Offset: 0x10 (R/W  16) Window Monitor Upper Threshold */
+  __IO ADC_GAINCORR_Type              GAINCORR;       /**< Offset: 0x12 (R/W  16) Gain Correction */
+  __IO ADC_OFFSETCORR_Type            OFFSETCORR;     /**< Offset: 0x14 (R/W  16) Offset Correction */
+  __I  uint8_t                        Reserved1[2];
+  __IO ADC_SWTRIG_Type                SWTRIG;         /**< Offset: 0x18 (R/W   8) Software Trigger */
+  __I  uint8_t                        Reserved2[3];
+  __IO ADC_DBGCTRL_Type               DBGCTRL;        /**< Offset: 0x1C (R/W   8) Debug Control */
+  __I  uint8_t                        Reserved3[3];
+  __I  ADC_SYNCBUSY_Type              SYNCBUSY;       /**< Offset: 0x20 (R/   16) Synchronization Busy */
+  __I  uint8_t                        Reserved4[2];
+  __I  ADC_RESULT_Type                RESULT;         /**< Offset: 0x24 (R/   16) Result */
+  __I  uint8_t                        Reserved5[2];
+  __IO ADC_SEQCTRL_Type               SEQCTRL;        /**< Offset: 0x28 (R/W  32) Sequence Control */
+  __IO ADC_CALIB_Type                 CALIB;          /**< Offset: 0x2C (R/W  16) Calibration */
+} Adc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Analog Digital Converter */
+
+#endif /* _SAML10_ADC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/ccl.h b/cpu/sam0_common/include/vendor/saml10/include/component/ccl.h
new file mode 100644
index 0000000000..e16161e6a5
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/ccl.h
@@ -0,0 +1,258 @@
+/**
+ * \file
+ *
+ * \brief Component description for CCL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_CCL_COMPONENT_H_
+#define _SAML10_CCL_COMPONENT_H_
+#define _SAML10_CCL_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Configurable Custom Logic
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR CCL */
+/* ========================================================================== */
+
+#define CCL_U2225                      /**< (CCL) Module ID */
+#define REV_CCL 0x200                  /**< (CCL) Module revision */
+
+/* -------- CCL_CTRL : (CCL Offset: 0x00) (R/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define CCL_CTRL_OFFSET                     (0x00)                                        /**<  (CCL_CTRL) Control  Offset */
+#define CCL_CTRL_RESETVALUE                 _U_(0x00)                                     /**<  (CCL_CTRL) Control  Reset Value */
+
+#define CCL_CTRL_SWRST_Pos                  0                                              /**< (CCL_CTRL) Software Reset Position */
+#define CCL_CTRL_SWRST_Msk                  (_U_(0x1) << CCL_CTRL_SWRST_Pos)               /**< (CCL_CTRL) Software Reset Mask */
+#define CCL_CTRL_SWRST                      CCL_CTRL_SWRST_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_CTRL_SWRST_Msk instead */
+#define CCL_CTRL_ENABLE_Pos                 1                                              /**< (CCL_CTRL) Enable Position */
+#define CCL_CTRL_ENABLE_Msk                 (_U_(0x1) << CCL_CTRL_ENABLE_Pos)              /**< (CCL_CTRL) Enable Mask */
+#define CCL_CTRL_ENABLE                     CCL_CTRL_ENABLE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_CTRL_ENABLE_Msk instead */
+#define CCL_CTRL_RUNSTDBY_Pos               6                                              /**< (CCL_CTRL) Run in Standby Position */
+#define CCL_CTRL_RUNSTDBY_Msk               (_U_(0x1) << CCL_CTRL_RUNSTDBY_Pos)            /**< (CCL_CTRL) Run in Standby Mask */
+#define CCL_CTRL_RUNSTDBY                   CCL_CTRL_RUNSTDBY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_CTRL_RUNSTDBY_Msk instead */
+#define CCL_CTRL_MASK                       _U_(0x43)                                      /**< \deprecated (CCL_CTRL) Register MASK  (Use CCL_CTRL_Msk instead)  */
+#define CCL_CTRL_Msk                        _U_(0x43)                                      /**< (CCL_CTRL) Register Mask  */
+
+
+/* -------- CCL_SEQCTRL : (CCL Offset: 0x04) (R/W 8) SEQ Control x -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define CCL_SEQCTRL_OFFSET                  (0x04)                                        /**<  (CCL_SEQCTRL) SEQ Control x  Offset */
+#define CCL_SEQCTRL_RESETVALUE              _U_(0x00)                                     /**<  (CCL_SEQCTRL) SEQ Control x  Reset Value */
+
+#define CCL_SEQCTRL_SEQSEL_Pos              0                                              /**< (CCL_SEQCTRL) Sequential Selection Position */
+#define CCL_SEQCTRL_SEQSEL_Msk              (_U_(0xF) << CCL_SEQCTRL_SEQSEL_Pos)           /**< (CCL_SEQCTRL) Sequential Selection Mask */
+#define CCL_SEQCTRL_SEQSEL(value)           (CCL_SEQCTRL_SEQSEL_Msk & ((value) << CCL_SEQCTRL_SEQSEL_Pos))
+#define   CCL_SEQCTRL_SEQSEL_DISABLE_Val    _U_(0x0)                                       /**< (CCL_SEQCTRL) Sequential logic is disabled  */
+#define   CCL_SEQCTRL_SEQSEL_DFF_Val        _U_(0x1)                                       /**< (CCL_SEQCTRL) D flip flop  */
+#define   CCL_SEQCTRL_SEQSEL_JK_Val         _U_(0x2)                                       /**< (CCL_SEQCTRL) JK flip flop  */
+#define   CCL_SEQCTRL_SEQSEL_LATCH_Val      _U_(0x3)                                       /**< (CCL_SEQCTRL) D latch  */
+#define   CCL_SEQCTRL_SEQSEL_RS_Val         _U_(0x4)                                       /**< (CCL_SEQCTRL) RS latch  */
+#define CCL_SEQCTRL_SEQSEL_DISABLE          (CCL_SEQCTRL_SEQSEL_DISABLE_Val << CCL_SEQCTRL_SEQSEL_Pos)  /**< (CCL_SEQCTRL) Sequential logic is disabled Position  */
+#define CCL_SEQCTRL_SEQSEL_DFF              (CCL_SEQCTRL_SEQSEL_DFF_Val << CCL_SEQCTRL_SEQSEL_Pos)  /**< (CCL_SEQCTRL) D flip flop Position  */
+#define CCL_SEQCTRL_SEQSEL_JK               (CCL_SEQCTRL_SEQSEL_JK_Val << CCL_SEQCTRL_SEQSEL_Pos)  /**< (CCL_SEQCTRL) JK flip flop Position  */
+#define CCL_SEQCTRL_SEQSEL_LATCH            (CCL_SEQCTRL_SEQSEL_LATCH_Val << CCL_SEQCTRL_SEQSEL_Pos)  /**< (CCL_SEQCTRL) D latch Position  */
+#define CCL_SEQCTRL_SEQSEL_RS               (CCL_SEQCTRL_SEQSEL_RS_Val << CCL_SEQCTRL_SEQSEL_Pos)  /**< (CCL_SEQCTRL) RS latch Position  */
+#define CCL_SEQCTRL_MASK                    _U_(0x0F)                                      /**< \deprecated (CCL_SEQCTRL) Register MASK  (Use CCL_SEQCTRL_Msk instead)  */
+#define CCL_SEQCTRL_Msk                     _U_(0x0F)                                      /**< (CCL_SEQCTRL) Register Mask  */
+
+
+/* -------- CCL_LUTCTRL : (CCL Offset: 0x08) (R/W 32) LUT Control x -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define CCL_LUTCTRL_OFFSET                  (0x08)                                        /**<  (CCL_LUTCTRL) LUT Control x  Offset */
+#define CCL_LUTCTRL_RESETVALUE              _U_(0x00)                                     /**<  (CCL_LUTCTRL) LUT Control x  Reset Value */
+
+#define CCL_LUTCTRL_ENABLE_Pos              1                                              /**< (CCL_LUTCTRL) LUT Enable Position */
+#define CCL_LUTCTRL_ENABLE_Msk              (_U_(0x1) << CCL_LUTCTRL_ENABLE_Pos)           /**< (CCL_LUTCTRL) LUT Enable Mask */
+#define CCL_LUTCTRL_ENABLE                  CCL_LUTCTRL_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_LUTCTRL_ENABLE_Msk instead */
+#define CCL_LUTCTRL_FILTSEL_Pos             4                                              /**< (CCL_LUTCTRL) Filter Selection Position */
+#define CCL_LUTCTRL_FILTSEL_Msk             (_U_(0x3) << CCL_LUTCTRL_FILTSEL_Pos)          /**< (CCL_LUTCTRL) Filter Selection Mask */
+#define CCL_LUTCTRL_FILTSEL(value)          (CCL_LUTCTRL_FILTSEL_Msk & ((value) << CCL_LUTCTRL_FILTSEL_Pos))
+#define   CCL_LUTCTRL_FILTSEL_DISABLE_Val   _U_(0x0)                                       /**< (CCL_LUTCTRL) Filter disabled  */
+#define   CCL_LUTCTRL_FILTSEL_SYNCH_Val     _U_(0x1)                                       /**< (CCL_LUTCTRL) Synchronizer enabled  */
+#define   CCL_LUTCTRL_FILTSEL_FILTER_Val    _U_(0x2)                                       /**< (CCL_LUTCTRL) Filter enabled  */
+#define CCL_LUTCTRL_FILTSEL_DISABLE         (CCL_LUTCTRL_FILTSEL_DISABLE_Val << CCL_LUTCTRL_FILTSEL_Pos)  /**< (CCL_LUTCTRL) Filter disabled Position  */
+#define CCL_LUTCTRL_FILTSEL_SYNCH           (CCL_LUTCTRL_FILTSEL_SYNCH_Val << CCL_LUTCTRL_FILTSEL_Pos)  /**< (CCL_LUTCTRL) Synchronizer enabled Position  */
+#define CCL_LUTCTRL_FILTSEL_FILTER          (CCL_LUTCTRL_FILTSEL_FILTER_Val << CCL_LUTCTRL_FILTSEL_Pos)  /**< (CCL_LUTCTRL) Filter enabled Position  */
+#define CCL_LUTCTRL_EDGESEL_Pos             7                                              /**< (CCL_LUTCTRL) Edge Selection Position */
+#define CCL_LUTCTRL_EDGESEL_Msk             (_U_(0x1) << CCL_LUTCTRL_EDGESEL_Pos)          /**< (CCL_LUTCTRL) Edge Selection Mask */
+#define CCL_LUTCTRL_EDGESEL                 CCL_LUTCTRL_EDGESEL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_LUTCTRL_EDGESEL_Msk instead */
+#define CCL_LUTCTRL_INSEL0_Pos              8                                              /**< (CCL_LUTCTRL) Input Selection 0 Position */
+#define CCL_LUTCTRL_INSEL0_Msk              (_U_(0xF) << CCL_LUTCTRL_INSEL0_Pos)           /**< (CCL_LUTCTRL) Input Selection 0 Mask */
+#define CCL_LUTCTRL_INSEL0(value)           (CCL_LUTCTRL_INSEL0_Msk & ((value) << CCL_LUTCTRL_INSEL0_Pos))
+#define   CCL_LUTCTRL_INSEL0_MASK_Val       _U_(0x0)                                       /**< (CCL_LUTCTRL) Masked input  */
+#define   CCL_LUTCTRL_INSEL0_FEEDBACK_Val   _U_(0x1)                                       /**< (CCL_LUTCTRL) Feedback input source  */
+#define   CCL_LUTCTRL_INSEL0_LINK_Val       _U_(0x2)                                       /**< (CCL_LUTCTRL) Linked LUT input source  */
+#define   CCL_LUTCTRL_INSEL0_EVENT_Val      _U_(0x3)                                       /**< (CCL_LUTCTRL) Event input source  */
+#define   CCL_LUTCTRL_INSEL0_IO_Val         _U_(0x4)                                       /**< (CCL_LUTCTRL) I/O pin input source  */
+#define   CCL_LUTCTRL_INSEL0_AC_Val         _U_(0x5)                                       /**< (CCL_LUTCTRL) AC input source  */
+#define   CCL_LUTCTRL_INSEL0_TC_Val         _U_(0x6)                                       /**< (CCL_LUTCTRL) TC input source  */
+#define   CCL_LUTCTRL_INSEL0_ALTTC_Val      _U_(0x7)                                       /**< (CCL_LUTCTRL) Alternate TC input source  */
+#define   CCL_LUTCTRL_INSEL0_TCC_Val        _U_(0x8)                                       /**< (CCL_LUTCTRL) TCC input source  */
+#define   CCL_LUTCTRL_INSEL0_SERCOM_Val     _U_(0x9)                                       /**< (CCL_LUTCTRL) SERCOM input source  */
+#define   CCL_LUTCTRL_INSEL0_ALT2TC_Val     _U_(0xA)                                       /**< (CCL_LUTCTRL) Alternate 2 TC input source  */
+#define   CCL_LUTCTRL_INSEL0_ASYNCEVENT_Val _U_(0xB)                                       /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic.  */
+#define CCL_LUTCTRL_INSEL0_MASK             (CCL_LUTCTRL_INSEL0_MASK_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Masked input Position  */
+#define CCL_LUTCTRL_INSEL0_FEEDBACK         (CCL_LUTCTRL_INSEL0_FEEDBACK_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Feedback input source Position  */
+#define CCL_LUTCTRL_INSEL0_LINK             (CCL_LUTCTRL_INSEL0_LINK_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Linked LUT input source Position  */
+#define CCL_LUTCTRL_INSEL0_EVENT            (CCL_LUTCTRL_INSEL0_EVENT_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Event input source Position  */
+#define CCL_LUTCTRL_INSEL0_IO               (CCL_LUTCTRL_INSEL0_IO_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) I/O pin input source Position  */
+#define CCL_LUTCTRL_INSEL0_AC               (CCL_LUTCTRL_INSEL0_AC_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) AC input source Position  */
+#define CCL_LUTCTRL_INSEL0_TC               (CCL_LUTCTRL_INSEL0_TC_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) TC input source Position  */
+#define CCL_LUTCTRL_INSEL0_ALTTC            (CCL_LUTCTRL_INSEL0_ALTTC_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Alternate TC input source Position  */
+#define CCL_LUTCTRL_INSEL0_TCC              (CCL_LUTCTRL_INSEL0_TCC_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) TCC input source Position  */
+#define CCL_LUTCTRL_INSEL0_SERCOM           (CCL_LUTCTRL_INSEL0_SERCOM_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) SERCOM input source Position  */
+#define CCL_LUTCTRL_INSEL0_ALT2TC           (CCL_LUTCTRL_INSEL0_ALT2TC_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Alternate 2 TC input source Position  */
+#define CCL_LUTCTRL_INSEL0_ASYNCEVENT       (CCL_LUTCTRL_INSEL0_ASYNCEVENT_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic. Position  */
+#define CCL_LUTCTRL_INSEL1_Pos              12                                             /**< (CCL_LUTCTRL) Input Selection 1 Position */
+#define CCL_LUTCTRL_INSEL1_Msk              (_U_(0xF) << CCL_LUTCTRL_INSEL1_Pos)           /**< (CCL_LUTCTRL) Input Selection 1 Mask */
+#define CCL_LUTCTRL_INSEL1(value)           (CCL_LUTCTRL_INSEL1_Msk & ((value) << CCL_LUTCTRL_INSEL1_Pos))
+#define   CCL_LUTCTRL_INSEL1_MASK_Val       _U_(0x0)                                       /**< (CCL_LUTCTRL) Masked input  */
+#define   CCL_LUTCTRL_INSEL1_FEEDBACK_Val   _U_(0x1)                                       /**< (CCL_LUTCTRL) Feedback input source  */
+#define   CCL_LUTCTRL_INSEL1_LINK_Val       _U_(0x2)                                       /**< (CCL_LUTCTRL) Linked LUT input source  */
+#define   CCL_LUTCTRL_INSEL1_EVENT_Val      _U_(0x3)                                       /**< (CCL_LUTCTRL) Event input source  */
+#define   CCL_LUTCTRL_INSEL1_IO_Val         _U_(0x4)                                       /**< (CCL_LUTCTRL) I/O pin input source  */
+#define   CCL_LUTCTRL_INSEL1_AC_Val         _U_(0x5)                                       /**< (CCL_LUTCTRL) AC input source  */
+#define   CCL_LUTCTRL_INSEL1_TC_Val         _U_(0x6)                                       /**< (CCL_LUTCTRL) TC input source  */
+#define   CCL_LUTCTRL_INSEL1_ALTTC_Val      _U_(0x7)                                       /**< (CCL_LUTCTRL) Alternate TC input source  */
+#define   CCL_LUTCTRL_INSEL1_TCC_Val        _U_(0x8)                                       /**< (CCL_LUTCTRL) TCC input source  */
+#define   CCL_LUTCTRL_INSEL1_SERCOM_Val     _U_(0x9)                                       /**< (CCL_LUTCTRL) SERCOM input source  */
+#define   CCL_LUTCTRL_INSEL1_ALT2TC_Val     _U_(0xA)                                       /**< (CCL_LUTCTRL) Alternate 2 TC input source  */
+#define   CCL_LUTCTRL_INSEL1_ASYNCEVENT_Val _U_(0xB)                                       /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic.  */
+#define CCL_LUTCTRL_INSEL1_MASK             (CCL_LUTCTRL_INSEL1_MASK_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Masked input Position  */
+#define CCL_LUTCTRL_INSEL1_FEEDBACK         (CCL_LUTCTRL_INSEL1_FEEDBACK_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Feedback input source Position  */
+#define CCL_LUTCTRL_INSEL1_LINK             (CCL_LUTCTRL_INSEL1_LINK_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Linked LUT input source Position  */
+#define CCL_LUTCTRL_INSEL1_EVENT            (CCL_LUTCTRL_INSEL1_EVENT_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Event input source Position  */
+#define CCL_LUTCTRL_INSEL1_IO               (CCL_LUTCTRL_INSEL1_IO_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) I/O pin input source Position  */
+#define CCL_LUTCTRL_INSEL1_AC               (CCL_LUTCTRL_INSEL1_AC_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) AC input source Position  */
+#define CCL_LUTCTRL_INSEL1_TC               (CCL_LUTCTRL_INSEL1_TC_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) TC input source Position  */
+#define CCL_LUTCTRL_INSEL1_ALTTC            (CCL_LUTCTRL_INSEL1_ALTTC_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Alternate TC input source Position  */
+#define CCL_LUTCTRL_INSEL1_TCC              (CCL_LUTCTRL_INSEL1_TCC_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) TCC input source Position  */
+#define CCL_LUTCTRL_INSEL1_SERCOM           (CCL_LUTCTRL_INSEL1_SERCOM_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) SERCOM input source Position  */
+#define CCL_LUTCTRL_INSEL1_ALT2TC           (CCL_LUTCTRL_INSEL1_ALT2TC_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Alternate 2 TC input source Position  */
+#define CCL_LUTCTRL_INSEL1_ASYNCEVENT       (CCL_LUTCTRL_INSEL1_ASYNCEVENT_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic. Position  */
+#define CCL_LUTCTRL_INSEL2_Pos              16                                             /**< (CCL_LUTCTRL) Input Selection 2 Position */
+#define CCL_LUTCTRL_INSEL2_Msk              (_U_(0xF) << CCL_LUTCTRL_INSEL2_Pos)           /**< (CCL_LUTCTRL) Input Selection 2 Mask */
+#define CCL_LUTCTRL_INSEL2(value)           (CCL_LUTCTRL_INSEL2_Msk & ((value) << CCL_LUTCTRL_INSEL2_Pos))
+#define   CCL_LUTCTRL_INSEL2_MASK_Val       _U_(0x0)                                       /**< (CCL_LUTCTRL) Masked input  */
+#define   CCL_LUTCTRL_INSEL2_FEEDBACK_Val   _U_(0x1)                                       /**< (CCL_LUTCTRL) Feedback input source  */
+#define   CCL_LUTCTRL_INSEL2_LINK_Val       _U_(0x2)                                       /**< (CCL_LUTCTRL) Linked LUT input source  */
+#define   CCL_LUTCTRL_INSEL2_EVENT_Val      _U_(0x3)                                       /**< (CCL_LUTCTRL) Event input source  */
+#define   CCL_LUTCTRL_INSEL2_IO_Val         _U_(0x4)                                       /**< (CCL_LUTCTRL) I/O pin input source  */
+#define   CCL_LUTCTRL_INSEL2_AC_Val         _U_(0x5)                                       /**< (CCL_LUTCTRL) AC input source  */
+#define   CCL_LUTCTRL_INSEL2_TC_Val         _U_(0x6)                                       /**< (CCL_LUTCTRL) TC input source  */
+#define   CCL_LUTCTRL_INSEL2_ALTTC_Val      _U_(0x7)                                       /**< (CCL_LUTCTRL) Alternate TC input source  */
+#define   CCL_LUTCTRL_INSEL2_TCC_Val        _U_(0x8)                                       /**< (CCL_LUTCTRL) TCC input source  */
+#define   CCL_LUTCTRL_INSEL2_SERCOM_Val     _U_(0x9)                                       /**< (CCL_LUTCTRL) SERCOM input source  */
+#define   CCL_LUTCTRL_INSEL2_ALT2TC_Val     _U_(0xA)                                       /**< (CCL_LUTCTRL) Alternate 2 TC input source  */
+#define   CCL_LUTCTRL_INSEL2_ASYNCEVENT_Val _U_(0xB)                                       /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic.  */
+#define CCL_LUTCTRL_INSEL2_MASK             (CCL_LUTCTRL_INSEL2_MASK_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Masked input Position  */
+#define CCL_LUTCTRL_INSEL2_FEEDBACK         (CCL_LUTCTRL_INSEL2_FEEDBACK_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Feedback input source Position  */
+#define CCL_LUTCTRL_INSEL2_LINK             (CCL_LUTCTRL_INSEL2_LINK_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Linked LUT input source Position  */
+#define CCL_LUTCTRL_INSEL2_EVENT            (CCL_LUTCTRL_INSEL2_EVENT_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Event input source Position  */
+#define CCL_LUTCTRL_INSEL2_IO               (CCL_LUTCTRL_INSEL2_IO_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) I/O pin input source Position  */
+#define CCL_LUTCTRL_INSEL2_AC               (CCL_LUTCTRL_INSEL2_AC_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) AC input source Position  */
+#define CCL_LUTCTRL_INSEL2_TC               (CCL_LUTCTRL_INSEL2_TC_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) TC input source Position  */
+#define CCL_LUTCTRL_INSEL2_ALTTC            (CCL_LUTCTRL_INSEL2_ALTTC_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Alternate TC input source Position  */
+#define CCL_LUTCTRL_INSEL2_TCC              (CCL_LUTCTRL_INSEL2_TCC_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) TCC input source Position  */
+#define CCL_LUTCTRL_INSEL2_SERCOM           (CCL_LUTCTRL_INSEL2_SERCOM_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) SERCOM input source Position  */
+#define CCL_LUTCTRL_INSEL2_ALT2TC           (CCL_LUTCTRL_INSEL2_ALT2TC_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Alternate 2 TC input source Position  */
+#define CCL_LUTCTRL_INSEL2_ASYNCEVENT       (CCL_LUTCTRL_INSEL2_ASYNCEVENT_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic. Position  */
+#define CCL_LUTCTRL_INVEI_Pos               20                                             /**< (CCL_LUTCTRL) Inverted Event Input Enable Position */
+#define CCL_LUTCTRL_INVEI_Msk               (_U_(0x1) << CCL_LUTCTRL_INVEI_Pos)            /**< (CCL_LUTCTRL) Inverted Event Input Enable Mask */
+#define CCL_LUTCTRL_INVEI                   CCL_LUTCTRL_INVEI_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_LUTCTRL_INVEI_Msk instead */
+#define CCL_LUTCTRL_LUTEI_Pos               21                                             /**< (CCL_LUTCTRL) LUT Event Input Enable Position */
+#define CCL_LUTCTRL_LUTEI_Msk               (_U_(0x1) << CCL_LUTCTRL_LUTEI_Pos)            /**< (CCL_LUTCTRL) LUT Event Input Enable Mask */
+#define CCL_LUTCTRL_LUTEI                   CCL_LUTCTRL_LUTEI_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_LUTCTRL_LUTEI_Msk instead */
+#define CCL_LUTCTRL_LUTEO_Pos               22                                             /**< (CCL_LUTCTRL) LUT Event Output Enable Position */
+#define CCL_LUTCTRL_LUTEO_Msk               (_U_(0x1) << CCL_LUTCTRL_LUTEO_Pos)            /**< (CCL_LUTCTRL) LUT Event Output Enable Mask */
+#define CCL_LUTCTRL_LUTEO                   CCL_LUTCTRL_LUTEO_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_LUTCTRL_LUTEO_Msk instead */
+#define CCL_LUTCTRL_TRUTH_Pos               24                                             /**< (CCL_LUTCTRL) Truth Value Position */
+#define CCL_LUTCTRL_TRUTH_Msk               (_U_(0xFF) << CCL_LUTCTRL_TRUTH_Pos)           /**< (CCL_LUTCTRL) Truth Value Mask */
+#define CCL_LUTCTRL_TRUTH(value)            (CCL_LUTCTRL_TRUTH_Msk & ((value) << CCL_LUTCTRL_TRUTH_Pos))
+#define CCL_LUTCTRL_MASK                    _U_(0xFF7FFFB2)                                /**< \deprecated (CCL_LUTCTRL) Register MASK  (Use CCL_LUTCTRL_Msk instead)  */
+#define CCL_LUTCTRL_Msk                     _U_(0xFF7FFFB2)                                /**< (CCL_LUTCTRL) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief CCL hardware registers */
+typedef struct {  /* Configurable Custom Logic */
+  __IO CCL_CTRL_Type                  CTRL;           /**< Offset: 0x00 (R/W   8) Control */
+  __I  uint8_t                        Reserved1[3];
+  __IO CCL_SEQCTRL_Type               SEQCTRL[1];     /**< Offset: 0x04 (R/W   8) SEQ Control x */
+  __I  uint8_t                        Reserved2[3];
+  __IO CCL_LUTCTRL_Type               LUTCTRL[2];     /**< Offset: 0x08 (R/W  32) LUT Control x */
+} Ccl;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Configurable Custom Logic */
+
+#endif /* _SAML10_CCL_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/dac.h b/cpu/sam0_common/include/vendor/saml10/include/component/dac.h
new file mode 100644
index 0000000000..0dbec77257
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/dac.h
@@ -0,0 +1,364 @@
+/**
+ * \file
+ *
+ * \brief Component description for DAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_DAC_COMPONENT_H_
+#define _SAML10_DAC_COMPONENT_H_
+#define _SAML10_DAC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Digital Analog Converter
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR DAC */
+/* ========================================================================== */
+
+#define DAC_U2214                      /**< (DAC) Module ID */
+#define REV_DAC 0x210                  /**< (DAC) Module revision */
+
+/* -------- DAC_CTRLA : (DAC Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || 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 */
+} DAC_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_CTRLA_OFFSET                    (0x00)                                        /**<  (DAC_CTRLA) Control A  Offset */
+#define DAC_CTRLA_RESETVALUE                _U_(0x00)                                     /**<  (DAC_CTRLA) Control A  Reset Value */
+
+#define DAC_CTRLA_SWRST_Pos                 0                                              /**< (DAC_CTRLA) Software Reset Position */
+#define DAC_CTRLA_SWRST_Msk                 (_U_(0x1) << DAC_CTRLA_SWRST_Pos)              /**< (DAC_CTRLA) Software Reset Mask */
+#define DAC_CTRLA_SWRST                     DAC_CTRLA_SWRST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLA_SWRST_Msk instead */
+#define DAC_CTRLA_ENABLE_Pos                1                                              /**< (DAC_CTRLA) Enable Position */
+#define DAC_CTRLA_ENABLE_Msk                (_U_(0x1) << DAC_CTRLA_ENABLE_Pos)             /**< (DAC_CTRLA) Enable Mask */
+#define DAC_CTRLA_ENABLE                    DAC_CTRLA_ENABLE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLA_ENABLE_Msk instead */
+#define DAC_CTRLA_RUNSTDBY_Pos              6                                              /**< (DAC_CTRLA) Run in Standby Position */
+#define DAC_CTRLA_RUNSTDBY_Msk              (_U_(0x1) << DAC_CTRLA_RUNSTDBY_Pos)           /**< (DAC_CTRLA) Run in Standby Mask */
+#define DAC_CTRLA_RUNSTDBY                  DAC_CTRLA_RUNSTDBY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLA_RUNSTDBY_Msk instead */
+#define DAC_CTRLA_MASK                      _U_(0x43)                                      /**< \deprecated (DAC_CTRLA) Register MASK  (Use DAC_CTRLA_Msk instead)  */
+#define DAC_CTRLA_Msk                       _U_(0x43)                                      /**< (DAC_CTRLA) Register Mask  */
+
+
+/* -------- DAC_CTRLB : (DAC Offset: 0x01) (R/W 8) Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  EOEN:1;                    /**< bit:      0  External Output Enable                   */
+    uint8_t  IOEN:1;                    /**< bit:      1  Internal Output Enable                   */
+    uint8_t  LEFTADJ:1;                 /**< bit:      2  Left Adjusted Data                       */
+    uint8_t  VPD:1;                     /**< bit:      3  Voltage Pump Disable                     */
+    uint8_t  :1;                        /**< bit:      4  Reserved */
+    uint8_t  DITHER:1;                  /**< bit:      5  Dither Enable                            */
+    uint8_t  REFSEL:2;                  /**< bit:   6..7  Reference Selection                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_CTRLB_OFFSET                    (0x01)                                        /**<  (DAC_CTRLB) Control B  Offset */
+#define DAC_CTRLB_RESETVALUE                _U_(0x00)                                     /**<  (DAC_CTRLB) Control B  Reset Value */
+
+#define DAC_CTRLB_EOEN_Pos                  0                                              /**< (DAC_CTRLB) External Output Enable Position */
+#define DAC_CTRLB_EOEN_Msk                  (_U_(0x1) << DAC_CTRLB_EOEN_Pos)               /**< (DAC_CTRLB) External Output Enable Mask */
+#define DAC_CTRLB_EOEN                      DAC_CTRLB_EOEN_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLB_EOEN_Msk instead */
+#define DAC_CTRLB_IOEN_Pos                  1                                              /**< (DAC_CTRLB) Internal Output Enable Position */
+#define DAC_CTRLB_IOEN_Msk                  (_U_(0x1) << DAC_CTRLB_IOEN_Pos)               /**< (DAC_CTRLB) Internal Output Enable Mask */
+#define DAC_CTRLB_IOEN                      DAC_CTRLB_IOEN_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLB_IOEN_Msk instead */
+#define DAC_CTRLB_LEFTADJ_Pos               2                                              /**< (DAC_CTRLB) Left Adjusted Data Position */
+#define DAC_CTRLB_LEFTADJ_Msk               (_U_(0x1) << DAC_CTRLB_LEFTADJ_Pos)            /**< (DAC_CTRLB) Left Adjusted Data Mask */
+#define DAC_CTRLB_LEFTADJ                   DAC_CTRLB_LEFTADJ_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLB_LEFTADJ_Msk instead */
+#define DAC_CTRLB_VPD_Pos                   3                                              /**< (DAC_CTRLB) Voltage Pump Disable Position */
+#define DAC_CTRLB_VPD_Msk                   (_U_(0x1) << DAC_CTRLB_VPD_Pos)                /**< (DAC_CTRLB) Voltage Pump Disable Mask */
+#define DAC_CTRLB_VPD                       DAC_CTRLB_VPD_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLB_VPD_Msk instead */
+#define DAC_CTRLB_DITHER_Pos                5                                              /**< (DAC_CTRLB) Dither Enable Position */
+#define DAC_CTRLB_DITHER_Msk                (_U_(0x1) << DAC_CTRLB_DITHER_Pos)             /**< (DAC_CTRLB) Dither Enable Mask */
+#define DAC_CTRLB_DITHER                    DAC_CTRLB_DITHER_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLB_DITHER_Msk instead */
+#define DAC_CTRLB_REFSEL_Pos                6                                              /**< (DAC_CTRLB) Reference Selection Position */
+#define DAC_CTRLB_REFSEL_Msk                (_U_(0x3) << DAC_CTRLB_REFSEL_Pos)             /**< (DAC_CTRLB) Reference Selection Mask */
+#define DAC_CTRLB_REFSEL(value)             (DAC_CTRLB_REFSEL_Msk & ((value) << DAC_CTRLB_REFSEL_Pos))
+#define   DAC_CTRLB_REFSEL_INT1V_Val        _U_(0x0)                                       /**< (DAC_CTRLB) Internal 1.0V reference  */
+#define   DAC_CTRLB_REFSEL_AVCC_Val         _U_(0x1)                                       /**< (DAC_CTRLB) AVCC  */
+#define   DAC_CTRLB_REFSEL_VREFP_Val        _U_(0x2)                                       /**< (DAC_CTRLB) External reference  */
+#define DAC_CTRLB_REFSEL_INT1V              (DAC_CTRLB_REFSEL_INT1V_Val << DAC_CTRLB_REFSEL_Pos)  /**< (DAC_CTRLB) Internal 1.0V reference Position  */
+#define DAC_CTRLB_REFSEL_AVCC               (DAC_CTRLB_REFSEL_AVCC_Val << DAC_CTRLB_REFSEL_Pos)  /**< (DAC_CTRLB) AVCC Position  */
+#define DAC_CTRLB_REFSEL_VREFP              (DAC_CTRLB_REFSEL_VREFP_Val << DAC_CTRLB_REFSEL_Pos)  /**< (DAC_CTRLB) External reference Position  */
+#define DAC_CTRLB_MASK                      _U_(0xEF)                                      /**< \deprecated (DAC_CTRLB) Register MASK  (Use DAC_CTRLB_Msk instead)  */
+#define DAC_CTRLB_Msk                       _U_(0xEF)                                      /**< (DAC_CTRLB) Register Mask  */
+
+
+/* -------- DAC_EVCTRL : (DAC Offset: 0x02) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  STARTEI:1;                 /**< bit:      0  Start Conversion Event Input             */
+    uint8_t  EMPTYEO:1;                 /**< bit:      1  Data Buffer Empty Event Output           */
+    uint8_t  INVEI:1;                   /**< bit:      2  Invert Event Input                       */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_EVCTRL_OFFSET                   (0x02)                                        /**<  (DAC_EVCTRL) Event Control  Offset */
+#define DAC_EVCTRL_RESETVALUE               _U_(0x00)                                     /**<  (DAC_EVCTRL) Event Control  Reset Value */
+
+#define DAC_EVCTRL_STARTEI_Pos              0                                              /**< (DAC_EVCTRL) Start Conversion Event Input Position */
+#define DAC_EVCTRL_STARTEI_Msk              (_U_(0x1) << DAC_EVCTRL_STARTEI_Pos)           /**< (DAC_EVCTRL) Start Conversion Event Input Mask */
+#define DAC_EVCTRL_STARTEI                  DAC_EVCTRL_STARTEI_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_EVCTRL_STARTEI_Msk instead */
+#define DAC_EVCTRL_EMPTYEO_Pos              1                                              /**< (DAC_EVCTRL) Data Buffer Empty Event Output Position */
+#define DAC_EVCTRL_EMPTYEO_Msk              (_U_(0x1) << DAC_EVCTRL_EMPTYEO_Pos)           /**< (DAC_EVCTRL) Data Buffer Empty Event Output Mask */
+#define DAC_EVCTRL_EMPTYEO                  DAC_EVCTRL_EMPTYEO_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_EVCTRL_EMPTYEO_Msk instead */
+#define DAC_EVCTRL_INVEI_Pos                2                                              /**< (DAC_EVCTRL) Invert Event Input Position */
+#define DAC_EVCTRL_INVEI_Msk                (_U_(0x1) << DAC_EVCTRL_INVEI_Pos)             /**< (DAC_EVCTRL) Invert Event Input Mask */
+#define DAC_EVCTRL_INVEI                    DAC_EVCTRL_INVEI_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_EVCTRL_INVEI_Msk instead */
+#define DAC_EVCTRL_MASK                     _U_(0x07)                                      /**< \deprecated (DAC_EVCTRL) Register MASK  (Use DAC_EVCTRL_Msk instead)  */
+#define DAC_EVCTRL_Msk                      _U_(0x07)                                      /**< (DAC_EVCTRL) Register Mask  */
+
+
+/* -------- DAC_INTENCLR : (DAC Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  UNDERRUN:1;                /**< bit:      0  Underrun Interrupt Enable                */
+    uint8_t  EMPTY:1;                   /**< bit:      1  Data Buffer Empty Interrupt Enable       */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_INTENCLR_OFFSET                 (0x04)                                        /**<  (DAC_INTENCLR) Interrupt Enable Clear  Offset */
+#define DAC_INTENCLR_RESETVALUE             _U_(0x00)                                     /**<  (DAC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define DAC_INTENCLR_UNDERRUN_Pos           0                                              /**< (DAC_INTENCLR) Underrun Interrupt Enable Position */
+#define DAC_INTENCLR_UNDERRUN_Msk           (_U_(0x1) << DAC_INTENCLR_UNDERRUN_Pos)        /**< (DAC_INTENCLR) Underrun Interrupt Enable Mask */
+#define DAC_INTENCLR_UNDERRUN               DAC_INTENCLR_UNDERRUN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTENCLR_UNDERRUN_Msk instead */
+#define DAC_INTENCLR_EMPTY_Pos              1                                              /**< (DAC_INTENCLR) Data Buffer Empty Interrupt Enable Position */
+#define DAC_INTENCLR_EMPTY_Msk              (_U_(0x1) << DAC_INTENCLR_EMPTY_Pos)           /**< (DAC_INTENCLR) Data Buffer Empty Interrupt Enable Mask */
+#define DAC_INTENCLR_EMPTY                  DAC_INTENCLR_EMPTY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTENCLR_EMPTY_Msk instead */
+#define DAC_INTENCLR_MASK                   _U_(0x03)                                      /**< \deprecated (DAC_INTENCLR) Register MASK  (Use DAC_INTENCLR_Msk instead)  */
+#define DAC_INTENCLR_Msk                    _U_(0x03)                                      /**< (DAC_INTENCLR) Register Mask  */
+
+
+/* -------- DAC_INTENSET : (DAC Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  UNDERRUN:1;                /**< bit:      0  Underrun Interrupt Enable                */
+    uint8_t  EMPTY:1;                   /**< bit:      1  Data Buffer Empty Interrupt Enable       */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_INTENSET_OFFSET                 (0x05)                                        /**<  (DAC_INTENSET) Interrupt Enable Set  Offset */
+#define DAC_INTENSET_RESETVALUE             _U_(0x00)                                     /**<  (DAC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define DAC_INTENSET_UNDERRUN_Pos           0                                              /**< (DAC_INTENSET) Underrun Interrupt Enable Position */
+#define DAC_INTENSET_UNDERRUN_Msk           (_U_(0x1) << DAC_INTENSET_UNDERRUN_Pos)        /**< (DAC_INTENSET) Underrun Interrupt Enable Mask */
+#define DAC_INTENSET_UNDERRUN               DAC_INTENSET_UNDERRUN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTENSET_UNDERRUN_Msk instead */
+#define DAC_INTENSET_EMPTY_Pos              1                                              /**< (DAC_INTENSET) Data Buffer Empty Interrupt Enable Position */
+#define DAC_INTENSET_EMPTY_Msk              (_U_(0x1) << DAC_INTENSET_EMPTY_Pos)           /**< (DAC_INTENSET) Data Buffer Empty Interrupt Enable Mask */
+#define DAC_INTENSET_EMPTY                  DAC_INTENSET_EMPTY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTENSET_EMPTY_Msk instead */
+#define DAC_INTENSET_MASK                   _U_(0x03)                                      /**< \deprecated (DAC_INTENSET) Register MASK  (Use DAC_INTENSET_Msk instead)  */
+#define DAC_INTENSET_Msk                    _U_(0x03)                                      /**< (DAC_INTENSET) Register Mask  */
+
+
+/* -------- DAC_INTFLAG : (DAC Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t UNDERRUN:1;                /**< bit:      0  Underrun                                 */
+    __I uint8_t EMPTY:1;                   /**< bit:      1  Data Buffer Empty                        */
+    __I uint8_t :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_INTFLAG_OFFSET                  (0x06)                                        /**<  (DAC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define DAC_INTFLAG_RESETVALUE              _U_(0x00)                                     /**<  (DAC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define DAC_INTFLAG_UNDERRUN_Pos            0                                              /**< (DAC_INTFLAG) Underrun Position */
+#define DAC_INTFLAG_UNDERRUN_Msk            (_U_(0x1) << DAC_INTFLAG_UNDERRUN_Pos)         /**< (DAC_INTFLAG) Underrun Mask */
+#define DAC_INTFLAG_UNDERRUN                DAC_INTFLAG_UNDERRUN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTFLAG_UNDERRUN_Msk instead */
+#define DAC_INTFLAG_EMPTY_Pos               1                                              /**< (DAC_INTFLAG) Data Buffer Empty Position */
+#define DAC_INTFLAG_EMPTY_Msk               (_U_(0x1) << DAC_INTFLAG_EMPTY_Pos)            /**< (DAC_INTFLAG) Data Buffer Empty Mask */
+#define DAC_INTFLAG_EMPTY                   DAC_INTFLAG_EMPTY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTFLAG_EMPTY_Msk instead */
+#define DAC_INTFLAG_MASK                    _U_(0x03)                                      /**< \deprecated (DAC_INTFLAG) Register MASK  (Use DAC_INTFLAG_Msk instead)  */
+#define DAC_INTFLAG_Msk                     _U_(0x03)                                      /**< (DAC_INTFLAG) Register Mask  */
+
+
+/* -------- DAC_STATUS : (DAC Offset: 0x07) (R/ 8) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  READY:1;                   /**< bit:      0  Ready                                    */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_STATUS_OFFSET                   (0x07)                                        /**<  (DAC_STATUS) Status  Offset */
+#define DAC_STATUS_RESETVALUE               _U_(0x00)                                     /**<  (DAC_STATUS) Status  Reset Value */
+
+#define DAC_STATUS_READY_Pos                0                                              /**< (DAC_STATUS) Ready Position */
+#define DAC_STATUS_READY_Msk                (_U_(0x1) << DAC_STATUS_READY_Pos)             /**< (DAC_STATUS) Ready Mask */
+#define DAC_STATUS_READY                    DAC_STATUS_READY_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_STATUS_READY_Msk instead */
+#define DAC_STATUS_MASK                     _U_(0x01)                                      /**< \deprecated (DAC_STATUS) Register MASK  (Use DAC_STATUS_Msk instead)  */
+#define DAC_STATUS_Msk                      _U_(0x01)                                      /**< (DAC_STATUS) Register Mask  */
+
+
+/* -------- DAC_DATA : (DAC Offset: 0x08) (/W 16) Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t DATA:16;                   /**< bit:  0..15  Data value to be converted               */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} DAC_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_DATA_OFFSET                     (0x08)                                        /**<  (DAC_DATA) Data  Offset */
+#define DAC_DATA_RESETVALUE                 _U_(0x00)                                     /**<  (DAC_DATA) Data  Reset Value */
+
+#define DAC_DATA_DATA_Pos                   0                                              /**< (DAC_DATA) Data value to be converted Position */
+#define DAC_DATA_DATA_Msk                   (_U_(0xFFFF) << DAC_DATA_DATA_Pos)             /**< (DAC_DATA) Data value to be converted Mask */
+#define DAC_DATA_DATA(value)                (DAC_DATA_DATA_Msk & ((value) << DAC_DATA_DATA_Pos))
+#define DAC_DATA_MASK                       _U_(0xFFFF)                                    /**< \deprecated (DAC_DATA) Register MASK  (Use DAC_DATA_Msk instead)  */
+#define DAC_DATA_Msk                        _U_(0xFFFF)                                    /**< (DAC_DATA) Register Mask  */
+
+
+/* -------- DAC_DATABUF : (DAC Offset: 0x0c) (/W 16) Data Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t DATABUF:16;                /**< bit:  0..15  Data Buffer                              */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} DAC_DATABUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_DATABUF_OFFSET                  (0x0C)                                        /**<  (DAC_DATABUF) Data Buffer  Offset */
+#define DAC_DATABUF_RESETVALUE              _U_(0x00)                                     /**<  (DAC_DATABUF) Data Buffer  Reset Value */
+
+#define DAC_DATABUF_DATABUF_Pos             0                                              /**< (DAC_DATABUF) Data Buffer Position */
+#define DAC_DATABUF_DATABUF_Msk             (_U_(0xFFFF) << DAC_DATABUF_DATABUF_Pos)       /**< (DAC_DATABUF) Data Buffer Mask */
+#define DAC_DATABUF_DATABUF(value)          (DAC_DATABUF_DATABUF_Msk & ((value) << DAC_DATABUF_DATABUF_Pos))
+#define DAC_DATABUF_MASK                    _U_(0xFFFF)                                    /**< \deprecated (DAC_DATABUF) Register MASK  (Use DAC_DATABUF_Msk instead)  */
+#define DAC_DATABUF_Msk                     _U_(0xFFFF)                                    /**< (DAC_DATABUF) Register Mask  */
+
+
+/* -------- DAC_SYNCBUSY : (DAC Offset: 0x10) (R/ 32) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t DATA:1;                    /**< bit:      2  Data                                     */
+    uint32_t DATABUF:1;                 /**< bit:      3  Data Buffer                              */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DAC_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_SYNCBUSY_OFFSET                 (0x10)                                        /**<  (DAC_SYNCBUSY) Synchronization Busy  Offset */
+#define DAC_SYNCBUSY_RESETVALUE             _U_(0x00)                                     /**<  (DAC_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define DAC_SYNCBUSY_SWRST_Pos              0                                              /**< (DAC_SYNCBUSY) Software Reset Position */
+#define DAC_SYNCBUSY_SWRST_Msk              (_U_(0x1) << DAC_SYNCBUSY_SWRST_Pos)           /**< (DAC_SYNCBUSY) Software Reset Mask */
+#define DAC_SYNCBUSY_SWRST                  DAC_SYNCBUSY_SWRST_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_SYNCBUSY_SWRST_Msk instead */
+#define DAC_SYNCBUSY_ENABLE_Pos             1                                              /**< (DAC_SYNCBUSY) Enable Position */
+#define DAC_SYNCBUSY_ENABLE_Msk             (_U_(0x1) << DAC_SYNCBUSY_ENABLE_Pos)          /**< (DAC_SYNCBUSY) Enable Mask */
+#define DAC_SYNCBUSY_ENABLE                 DAC_SYNCBUSY_ENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_SYNCBUSY_ENABLE_Msk instead */
+#define DAC_SYNCBUSY_DATA_Pos               2                                              /**< (DAC_SYNCBUSY) Data Position */
+#define DAC_SYNCBUSY_DATA_Msk               (_U_(0x1) << DAC_SYNCBUSY_DATA_Pos)            /**< (DAC_SYNCBUSY) Data Mask */
+#define DAC_SYNCBUSY_DATA                   DAC_SYNCBUSY_DATA_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_SYNCBUSY_DATA_Msk instead */
+#define DAC_SYNCBUSY_DATABUF_Pos            3                                              /**< (DAC_SYNCBUSY) Data Buffer Position */
+#define DAC_SYNCBUSY_DATABUF_Msk            (_U_(0x1) << DAC_SYNCBUSY_DATABUF_Pos)         /**< (DAC_SYNCBUSY) Data Buffer Mask */
+#define DAC_SYNCBUSY_DATABUF                DAC_SYNCBUSY_DATABUF_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_SYNCBUSY_DATABUF_Msk instead */
+#define DAC_SYNCBUSY_MASK                   _U_(0x0F)                                      /**< \deprecated (DAC_SYNCBUSY) Register MASK  (Use DAC_SYNCBUSY_Msk instead)  */
+#define DAC_SYNCBUSY_Msk                    _U_(0x0F)                                      /**< (DAC_SYNCBUSY) Register Mask  */
+
+
+/* -------- DAC_DBGCTRL : (DAC Offset: 0x14) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_DBGCTRL_OFFSET                  (0x14)                                        /**<  (DAC_DBGCTRL) Debug Control  Offset */
+#define DAC_DBGCTRL_RESETVALUE              _U_(0x00)                                     /**<  (DAC_DBGCTRL) Debug Control  Reset Value */
+
+#define DAC_DBGCTRL_DBGRUN_Pos              0                                              /**< (DAC_DBGCTRL) Debug Run Position */
+#define DAC_DBGCTRL_DBGRUN_Msk              (_U_(0x1) << DAC_DBGCTRL_DBGRUN_Pos)           /**< (DAC_DBGCTRL) Debug Run Mask */
+#define DAC_DBGCTRL_DBGRUN                  DAC_DBGCTRL_DBGRUN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_DBGCTRL_DBGRUN_Msk instead */
+#define DAC_DBGCTRL_MASK                    _U_(0x01)                                      /**< \deprecated (DAC_DBGCTRL) Register MASK  (Use DAC_DBGCTRL_Msk instead)  */
+#define DAC_DBGCTRL_Msk                     _U_(0x01)                                      /**< (DAC_DBGCTRL) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief DAC hardware registers */
+typedef struct {  /* Digital Analog Converter */
+  __IO DAC_CTRLA_Type                 CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __IO DAC_CTRLB_Type                 CTRLB;          /**< Offset: 0x01 (R/W   8) Control B */
+  __IO DAC_EVCTRL_Type                EVCTRL;         /**< Offset: 0x02 (R/W   8) Event Control */
+  __I  uint8_t                        Reserved1[1];
+  __IO DAC_INTENCLR_Type              INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO DAC_INTENSET_Type              INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO DAC_INTFLAG_Type               INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  DAC_STATUS_Type                STATUS;         /**< Offset: 0x07 (R/    8) Status */
+  __O  DAC_DATA_Type                  DATA;           /**< Offset: 0x08 ( /W  16) Data */
+  __I  uint8_t                        Reserved2[2];
+  __O  DAC_DATABUF_Type               DATABUF;        /**< Offset: 0x0C ( /W  16) Data Buffer */
+  __I  uint8_t                        Reserved3[2];
+  __I  DAC_SYNCBUSY_Type              SYNCBUSY;       /**< Offset: 0x10 (R/   32) Synchronization Busy */
+  __IO DAC_DBGCTRL_Type               DBGCTRL;        /**< Offset: 0x14 (R/W   8) Debug Control */
+} Dac;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Digital Analog Converter */
+
+#endif /* _SAML10_DAC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/dmac.h b/cpu/sam0_common/include/vendor/saml10/include/component/dmac.h
new file mode 100644
index 0000000000..5c010ecb41
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/dmac.h
@@ -0,0 +1,1158 @@
+/**
+ * \file
+ *
+ * \brief Component description for DMAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_DMAC_COMPONENT_H_
+#define _SAML10_DMAC_COMPONENT_H_
+#define _SAML10_DMAC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Direct Memory Access Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR DMAC */
+/* ========================================================================== */
+
+#define DMAC_U2223                      /**< (DMAC) Module ID */
+#define REV_DMAC 0x240                  /**< (DMAC) Module revision */
+
+/* -------- DMAC_BTCTRL : (DMAC Offset: 0x00) (R/W 16) Block Transfer Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t VALID:1;                   /**< bit:      0  Descriptor Valid                         */
+    uint16_t EVOSEL:2;                  /**< bit:   1..2  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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_BTCTRL_OFFSET                  (0x00)                                        /**<  (DMAC_BTCTRL) Block Transfer Control  Offset */
+#define DMAC_BTCTRL_RESETVALUE              _U_(0x00)                                     /**<  (DMAC_BTCTRL) Block Transfer Control  Reset Value */
+
+#define DMAC_BTCTRL_VALID_Pos               0                                              /**< (DMAC_BTCTRL) Descriptor Valid Position */
+#define DMAC_BTCTRL_VALID_Msk               (_U_(0x1) << DMAC_BTCTRL_VALID_Pos)            /**< (DMAC_BTCTRL) Descriptor Valid Mask */
+#define DMAC_BTCTRL_VALID                   DMAC_BTCTRL_VALID_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BTCTRL_VALID_Msk instead */
+#define DMAC_BTCTRL_EVOSEL_Pos              1                                              /**< (DMAC_BTCTRL) Event Output Selection Position */
+#define DMAC_BTCTRL_EVOSEL_Msk              (_U_(0x3) << DMAC_BTCTRL_EVOSEL_Pos)           /**< (DMAC_BTCTRL) Event Output Selection Mask */
+#define DMAC_BTCTRL_EVOSEL(value)           (DMAC_BTCTRL_EVOSEL_Msk & ((value) << DMAC_BTCTRL_EVOSEL_Pos))
+#define   DMAC_BTCTRL_EVOSEL_DISABLE_Val    _U_(0x0)                                       /**< (DMAC_BTCTRL) Event generation disabled  */
+#define   DMAC_BTCTRL_EVOSEL_BLOCK_Val      _U_(0x1)                                       /**< (DMAC_BTCTRL) Event strobe when block transfer complete  */
+#define   DMAC_BTCTRL_EVOSEL_BEAT_Val       _U_(0x3)                                       /**< (DMAC_BTCTRL) Event strobe when beat transfer complete  */
+#define DMAC_BTCTRL_EVOSEL_DISABLE          (DMAC_BTCTRL_EVOSEL_DISABLE_Val << DMAC_BTCTRL_EVOSEL_Pos)  /**< (DMAC_BTCTRL) Event generation disabled Position  */
+#define DMAC_BTCTRL_EVOSEL_BLOCK            (DMAC_BTCTRL_EVOSEL_BLOCK_Val << DMAC_BTCTRL_EVOSEL_Pos)  /**< (DMAC_BTCTRL) Event strobe when block transfer complete Position  */
+#define DMAC_BTCTRL_EVOSEL_BEAT             (DMAC_BTCTRL_EVOSEL_BEAT_Val << DMAC_BTCTRL_EVOSEL_Pos)  /**< (DMAC_BTCTRL) Event strobe when beat transfer complete Position  */
+#define DMAC_BTCTRL_BLOCKACT_Pos            3                                              /**< (DMAC_BTCTRL) Block Action Position */
+#define DMAC_BTCTRL_BLOCKACT_Msk            (_U_(0x3) << DMAC_BTCTRL_BLOCKACT_Pos)         /**< (DMAC_BTCTRL) Block Action Mask */
+#define DMAC_BTCTRL_BLOCKACT(value)         (DMAC_BTCTRL_BLOCKACT_Msk & ((value) << DMAC_BTCTRL_BLOCKACT_Pos))
+#define   DMAC_BTCTRL_BLOCKACT_NOACT_Val    _U_(0x0)                                       /**< (DMAC_BTCTRL) Channel will be disabled if it is the last block transfer in the transaction  */
+#define   DMAC_BTCTRL_BLOCKACT_INT_Val      _U_(0x1)                                       /**< (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)                                       /**< (DMAC_BTCTRL) Channel suspend operation is completed  */
+#define   DMAC_BTCTRL_BLOCKACT_BOTH_Val     _U_(0x3)                                       /**< (DMAC_BTCTRL) Both channel suspend operation and block interrupt  */
+#define DMAC_BTCTRL_BLOCKACT_NOACT          (DMAC_BTCTRL_BLOCKACT_NOACT_Val << DMAC_BTCTRL_BLOCKACT_Pos)  /**< (DMAC_BTCTRL) Channel will be disabled if it is the last block transfer in the transaction Position  */
+#define DMAC_BTCTRL_BLOCKACT_INT            (DMAC_BTCTRL_BLOCKACT_INT_Val << DMAC_BTCTRL_BLOCKACT_Pos)  /**< (DMAC_BTCTRL) Channel will be disabled if it is the last block transfer in the transaction and block interrupt Position  */
+#define DMAC_BTCTRL_BLOCKACT_SUSPEND        (DMAC_BTCTRL_BLOCKACT_SUSPEND_Val << DMAC_BTCTRL_BLOCKACT_Pos)  /**< (DMAC_BTCTRL) Channel suspend operation is completed Position  */
+#define DMAC_BTCTRL_BLOCKACT_BOTH           (DMAC_BTCTRL_BLOCKACT_BOTH_Val << DMAC_BTCTRL_BLOCKACT_Pos)  /**< (DMAC_BTCTRL) Both channel suspend operation and block interrupt Position  */
+#define DMAC_BTCTRL_BEATSIZE_Pos            8                                              /**< (DMAC_BTCTRL) Beat Size Position */
+#define DMAC_BTCTRL_BEATSIZE_Msk            (_U_(0x3) << DMAC_BTCTRL_BEATSIZE_Pos)         /**< (DMAC_BTCTRL) Beat Size Mask */
+#define DMAC_BTCTRL_BEATSIZE(value)         (DMAC_BTCTRL_BEATSIZE_Msk & ((value) << DMAC_BTCTRL_BEATSIZE_Pos))
+#define   DMAC_BTCTRL_BEATSIZE_BYTE_Val     _U_(0x0)                                       /**< (DMAC_BTCTRL) 8-bit bus transfer  */
+#define   DMAC_BTCTRL_BEATSIZE_HWORD_Val    _U_(0x1)                                       /**< (DMAC_BTCTRL) 16-bit bus transfer  */
+#define   DMAC_BTCTRL_BEATSIZE_WORD_Val     _U_(0x2)                                       /**< (DMAC_BTCTRL) 32-bit bus transfer  */
+#define DMAC_BTCTRL_BEATSIZE_BYTE           (DMAC_BTCTRL_BEATSIZE_BYTE_Val << DMAC_BTCTRL_BEATSIZE_Pos)  /**< (DMAC_BTCTRL) 8-bit bus transfer Position  */
+#define DMAC_BTCTRL_BEATSIZE_HWORD          (DMAC_BTCTRL_BEATSIZE_HWORD_Val << DMAC_BTCTRL_BEATSIZE_Pos)  /**< (DMAC_BTCTRL) 16-bit bus transfer Position  */
+#define DMAC_BTCTRL_BEATSIZE_WORD           (DMAC_BTCTRL_BEATSIZE_WORD_Val << DMAC_BTCTRL_BEATSIZE_Pos)  /**< (DMAC_BTCTRL) 32-bit bus transfer Position  */
+#define DMAC_BTCTRL_SRCINC_Pos              10                                             /**< (DMAC_BTCTRL) Source Address Increment Enable Position */
+#define DMAC_BTCTRL_SRCINC_Msk              (_U_(0x1) << DMAC_BTCTRL_SRCINC_Pos)           /**< (DMAC_BTCTRL) Source Address Increment Enable Mask */
+#define DMAC_BTCTRL_SRCINC                  DMAC_BTCTRL_SRCINC_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BTCTRL_SRCINC_Msk instead */
+#define DMAC_BTCTRL_DSTINC_Pos              11                                             /**< (DMAC_BTCTRL) Destination Address Increment Enable Position */
+#define DMAC_BTCTRL_DSTINC_Msk              (_U_(0x1) << DMAC_BTCTRL_DSTINC_Pos)           /**< (DMAC_BTCTRL) Destination Address Increment Enable Mask */
+#define DMAC_BTCTRL_DSTINC                  DMAC_BTCTRL_DSTINC_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BTCTRL_DSTINC_Msk instead */
+#define DMAC_BTCTRL_STEPSEL_Pos             12                                             /**< (DMAC_BTCTRL) Step Selection Position */
+#define DMAC_BTCTRL_STEPSEL_Msk             (_U_(0x1) << DMAC_BTCTRL_STEPSEL_Pos)          /**< (DMAC_BTCTRL) Step Selection Mask */
+#define DMAC_BTCTRL_STEPSEL                 DMAC_BTCTRL_STEPSEL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BTCTRL_STEPSEL_Msk instead */
+#define   DMAC_BTCTRL_STEPSEL_DST_Val       _U_(0x0)                                       /**< (DMAC_BTCTRL) Step size settings apply to the destination address  */
+#define   DMAC_BTCTRL_STEPSEL_SRC_Val       _U_(0x1)                                       /**< (DMAC_BTCTRL) Step size settings apply to the source address  */
+#define DMAC_BTCTRL_STEPSEL_DST             (DMAC_BTCTRL_STEPSEL_DST_Val << DMAC_BTCTRL_STEPSEL_Pos)  /**< (DMAC_BTCTRL) Step size settings apply to the destination address Position  */
+#define DMAC_BTCTRL_STEPSEL_SRC             (DMAC_BTCTRL_STEPSEL_SRC_Val << DMAC_BTCTRL_STEPSEL_Pos)  /**< (DMAC_BTCTRL) Step size settings apply to the source address Position  */
+#define DMAC_BTCTRL_STEPSIZE_Pos            13                                             /**< (DMAC_BTCTRL) Address Increment Step Size Position */
+#define DMAC_BTCTRL_STEPSIZE_Msk            (_U_(0x7) << DMAC_BTCTRL_STEPSIZE_Pos)         /**< (DMAC_BTCTRL) Address Increment Step Size Mask */
+#define DMAC_BTCTRL_STEPSIZE(value)         (DMAC_BTCTRL_STEPSIZE_Msk & ((value) << DMAC_BTCTRL_STEPSIZE_Pos))
+#define   DMAC_BTCTRL_STEPSIZE_X1_Val       _U_(0x0)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 1  */
+#define   DMAC_BTCTRL_STEPSIZE_X2_Val       _U_(0x1)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 2  */
+#define   DMAC_BTCTRL_STEPSIZE_X4_Val       _U_(0x2)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 4  */
+#define   DMAC_BTCTRL_STEPSIZE_X8_Val       _U_(0x3)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 8  */
+#define   DMAC_BTCTRL_STEPSIZE_X16_Val      _U_(0x4)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 16  */
+#define   DMAC_BTCTRL_STEPSIZE_X32_Val      _U_(0x5)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 32  */
+#define   DMAC_BTCTRL_STEPSIZE_X64_Val      _U_(0x6)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 64  */
+#define   DMAC_BTCTRL_STEPSIZE_X128_Val     _U_(0x7)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 128  */
+#define DMAC_BTCTRL_STEPSIZE_X1             (DMAC_BTCTRL_STEPSIZE_X1_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 1 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X2             (DMAC_BTCTRL_STEPSIZE_X2_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 2 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X4             (DMAC_BTCTRL_STEPSIZE_X4_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 4 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X8             (DMAC_BTCTRL_STEPSIZE_X8_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 8 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X16            (DMAC_BTCTRL_STEPSIZE_X16_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 16 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X32            (DMAC_BTCTRL_STEPSIZE_X32_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 32 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X64            (DMAC_BTCTRL_STEPSIZE_X64_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 64 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X128           (DMAC_BTCTRL_STEPSIZE_X128_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 128 Position  */
+#define DMAC_BTCTRL_MASK                    _U_(0xFF1F)                                    /**< \deprecated (DMAC_BTCTRL) Register MASK  (Use DMAC_BTCTRL_Msk instead)  */
+#define DMAC_BTCTRL_Msk                     _U_(0xFF1F)                                    /**< (DMAC_BTCTRL) Register Mask  */
+
+
+/* -------- DMAC_BTCNT : (DMAC Offset: 0x02) (R/W 16) Block Transfer Count -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BTCNT:16;                  /**< bit:  0..15  Block Transfer Count                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} DMAC_BTCNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_BTCNT_OFFSET                   (0x02)                                        /**<  (DMAC_BTCNT) Block Transfer Count  Offset */
+
+#define DMAC_BTCNT_BTCNT_Pos                0                                              /**< (DMAC_BTCNT) Block Transfer Count Position */
+#define DMAC_BTCNT_BTCNT_Msk                (_U_(0xFFFF) << DMAC_BTCNT_BTCNT_Pos)          /**< (DMAC_BTCNT) Block Transfer Count Mask */
+#define DMAC_BTCNT_BTCNT(value)             (DMAC_BTCNT_BTCNT_Msk & ((value) << DMAC_BTCNT_BTCNT_Pos))
+#define DMAC_BTCNT_MASK                     _U_(0xFFFF)                                    /**< \deprecated (DMAC_BTCNT) Register MASK  (Use DMAC_BTCNT_Msk instead)  */
+#define DMAC_BTCNT_Msk                      _U_(0xFFFF)                                    /**< (DMAC_BTCNT) Register Mask  */
+
+
+/* -------- DMAC_SRCADDR : (DMAC Offset: 0x04) (R/W 32) Block Transfer Source Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SRCADDR:32;                /**< bit:  0..31  Transfer Source Address                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_SRCADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_SRCADDR_OFFSET                 (0x04)                                        /**<  (DMAC_SRCADDR) Block Transfer Source Address  Offset */
+
+#define DMAC_SRCADDR_SRCADDR_Pos            0                                              /**< (DMAC_SRCADDR) Transfer Source Address Position */
+#define DMAC_SRCADDR_SRCADDR_Msk            (_U_(0xFFFFFFFF) << DMAC_SRCADDR_SRCADDR_Pos)  /**< (DMAC_SRCADDR) Transfer Source Address Mask */
+#define DMAC_SRCADDR_SRCADDR(value)         (DMAC_SRCADDR_SRCADDR_Msk & ((value) << DMAC_SRCADDR_SRCADDR_Pos))
+#define DMAC_SRCADDR_MASK                   _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_SRCADDR) Register MASK  (Use DMAC_SRCADDR_Msk instead)  */
+#define DMAC_SRCADDR_Msk                    _U_(0xFFFFFFFF)                                /**< (DMAC_SRCADDR) Register Mask  */
+
+
+/* -------- DMAC_DSTADDR : (DMAC Offset: 0x08) (R/W 32) Block Transfer Destination Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DSTADDR:32;                /**< bit:  0..31  Transfer Destination Address             */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_DSTADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_DSTADDR_OFFSET                 (0x08)                                        /**<  (DMAC_DSTADDR) Block Transfer Destination Address  Offset */
+
+#define DMAC_DSTADDR_DSTADDR_Pos            0                                              /**< (DMAC_DSTADDR) Transfer Destination Address Position */
+#define DMAC_DSTADDR_DSTADDR_Msk            (_U_(0xFFFFFFFF) << DMAC_DSTADDR_DSTADDR_Pos)  /**< (DMAC_DSTADDR) Transfer Destination Address Mask */
+#define DMAC_DSTADDR_DSTADDR(value)         (DMAC_DSTADDR_DSTADDR_Msk & ((value) << DMAC_DSTADDR_DSTADDR_Pos))
+#define DMAC_DSTADDR_MASK                   _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_DSTADDR) Register MASK  (Use DMAC_DSTADDR_Msk instead)  */
+#define DMAC_DSTADDR_Msk                    _U_(0xFFFFFFFF)                                /**< (DMAC_DSTADDR) Register Mask  */
+
+
+/* -------- DMAC_DESCADDR : (DMAC Offset: 0x0c) (R/W 32) Next Descriptor Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DESCADDR:32;               /**< bit:  0..31  Next Descriptor Address                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_DESCADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_DESCADDR_OFFSET                (0x0C)                                        /**<  (DMAC_DESCADDR) Next Descriptor Address  Offset */
+
+#define DMAC_DESCADDR_DESCADDR_Pos          0                                              /**< (DMAC_DESCADDR) Next Descriptor Address Position */
+#define DMAC_DESCADDR_DESCADDR_Msk          (_U_(0xFFFFFFFF) << DMAC_DESCADDR_DESCADDR_Pos)  /**< (DMAC_DESCADDR) Next Descriptor Address Mask */
+#define DMAC_DESCADDR_DESCADDR(value)       (DMAC_DESCADDR_DESCADDR_Msk & ((value) << DMAC_DESCADDR_DESCADDR_Pos))
+#define DMAC_DESCADDR_MASK                  _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_DESCADDR) Register MASK  (Use DMAC_DESCADDR_Msk instead)  */
+#define DMAC_DESCADDR_Msk                   _U_(0xFFFFFFFF)                                /**< (DMAC_DESCADDR) Register Mask  */
+
+
+/* -------- DMAC_CTRL : (DMAC Offset: 0x00) (R/W 16) Control -------- */
+#if !(defined(__ASSEMBLER__) || 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 CRCENABLE:1;               /**< bit:      2  CRC Enable                               */
+    uint16_t :5;                        /**< bit:   3..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 3 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CTRL_OFFSET                    (0x00)                                        /**<  (DMAC_CTRL) Control  Offset */
+#define DMAC_CTRL_RESETVALUE                _U_(0x00)                                     /**<  (DMAC_CTRL) Control  Reset Value */
+
+#define DMAC_CTRL_SWRST_Pos                 0                                              /**< (DMAC_CTRL) Software Reset Position */
+#define DMAC_CTRL_SWRST_Msk                 (_U_(0x1) << DMAC_CTRL_SWRST_Pos)              /**< (DMAC_CTRL) Software Reset Mask */
+#define DMAC_CTRL_SWRST                     DMAC_CTRL_SWRST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_SWRST_Msk instead */
+#define DMAC_CTRL_DMAENABLE_Pos             1                                              /**< (DMAC_CTRL) DMA Enable Position */
+#define DMAC_CTRL_DMAENABLE_Msk             (_U_(0x1) << DMAC_CTRL_DMAENABLE_Pos)          /**< (DMAC_CTRL) DMA Enable Mask */
+#define DMAC_CTRL_DMAENABLE                 DMAC_CTRL_DMAENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_DMAENABLE_Msk instead */
+#define DMAC_CTRL_CRCENABLE_Pos             2                                              /**< (DMAC_CTRL) CRC Enable Position */
+#define DMAC_CTRL_CRCENABLE_Msk             (_U_(0x1) << DMAC_CTRL_CRCENABLE_Pos)          /**< (DMAC_CTRL) CRC Enable Mask */
+#define DMAC_CTRL_CRCENABLE                 DMAC_CTRL_CRCENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_CRCENABLE_Msk instead */
+#define DMAC_CTRL_LVLEN0_Pos                8                                              /**< (DMAC_CTRL) Priority Level 0 Enable Position */
+#define DMAC_CTRL_LVLEN0_Msk                (_U_(0x1) << DMAC_CTRL_LVLEN0_Pos)             /**< (DMAC_CTRL) Priority Level 0 Enable Mask */
+#define DMAC_CTRL_LVLEN0                    DMAC_CTRL_LVLEN0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_LVLEN0_Msk instead */
+#define DMAC_CTRL_LVLEN1_Pos                9                                              /**< (DMAC_CTRL) Priority Level 1 Enable Position */
+#define DMAC_CTRL_LVLEN1_Msk                (_U_(0x1) << DMAC_CTRL_LVLEN1_Pos)             /**< (DMAC_CTRL) Priority Level 1 Enable Mask */
+#define DMAC_CTRL_LVLEN1                    DMAC_CTRL_LVLEN1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_LVLEN1_Msk instead */
+#define DMAC_CTRL_LVLEN2_Pos                10                                             /**< (DMAC_CTRL) Priority Level 2 Enable Position */
+#define DMAC_CTRL_LVLEN2_Msk                (_U_(0x1) << DMAC_CTRL_LVLEN2_Pos)             /**< (DMAC_CTRL) Priority Level 2 Enable Mask */
+#define DMAC_CTRL_LVLEN2                    DMAC_CTRL_LVLEN2_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_LVLEN2_Msk instead */
+#define DMAC_CTRL_LVLEN3_Pos                11                                             /**< (DMAC_CTRL) Priority Level 3 Enable Position */
+#define DMAC_CTRL_LVLEN3_Msk                (_U_(0x1) << DMAC_CTRL_LVLEN3_Pos)             /**< (DMAC_CTRL) Priority Level 3 Enable Mask */
+#define DMAC_CTRL_LVLEN3                    DMAC_CTRL_LVLEN3_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_LVLEN3_Msk instead */
+#define DMAC_CTRL_MASK                      _U_(0xF07)                                     /**< \deprecated (DMAC_CTRL) Register MASK  (Use DMAC_CTRL_Msk instead)  */
+#define DMAC_CTRL_Msk                       _U_(0xF07)                                     /**< (DMAC_CTRL) Register Mask  */
+
+#define DMAC_CTRL_LVLEN_Pos                 8                                              /**< (DMAC_CTRL Position) Priority Level 3 Enable */
+#define DMAC_CTRL_LVLEN_Msk                 (_U_(0xF) << DMAC_CTRL_LVLEN_Pos)              /**< (DMAC_CTRL Mask) LVLEN */
+#define DMAC_CTRL_LVLEN(value)              (DMAC_CTRL_LVLEN_Msk & ((value) << DMAC_CTRL_LVLEN_Pos))  
+
+/* -------- DMAC_CRCCTRL : (DMAC Offset: 0x02) (R/W 16) CRC Control -------- */
+#if !(defined(__ASSEMBLER__) || 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 :2;                        /**< bit: 14..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} DMAC_CRCCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CRCCTRL_OFFSET                 (0x02)                                        /**<  (DMAC_CRCCTRL) CRC Control  Offset */
+#define DMAC_CRCCTRL_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_CRCCTRL) CRC Control  Reset Value */
+
+#define DMAC_CRCCTRL_CRCBEATSIZE_Pos        0                                              /**< (DMAC_CRCCTRL) CRC Beat Size Position */
+#define DMAC_CRCCTRL_CRCBEATSIZE_Msk        (_U_(0x3) << DMAC_CRCCTRL_CRCBEATSIZE_Pos)     /**< (DMAC_CRCCTRL) CRC Beat Size Mask */
+#define DMAC_CRCCTRL_CRCBEATSIZE(value)     (DMAC_CRCCTRL_CRCBEATSIZE_Msk & ((value) << DMAC_CRCCTRL_CRCBEATSIZE_Pos))
+#define   DMAC_CRCCTRL_CRCBEATSIZE_BYTE_Val _U_(0x0)                                       /**< (DMAC_CRCCTRL) 8-bit bus transfer  */
+#define   DMAC_CRCCTRL_CRCBEATSIZE_HWORD_Val _U_(0x1)                                       /**< (DMAC_CRCCTRL) 16-bit bus transfer  */
+#define   DMAC_CRCCTRL_CRCBEATSIZE_WORD_Val _U_(0x2)                                       /**< (DMAC_CRCCTRL) 32-bit bus transfer  */
+#define DMAC_CRCCTRL_CRCBEATSIZE_BYTE       (DMAC_CRCCTRL_CRCBEATSIZE_BYTE_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos)  /**< (DMAC_CRCCTRL) 8-bit bus transfer Position  */
+#define DMAC_CRCCTRL_CRCBEATSIZE_HWORD      (DMAC_CRCCTRL_CRCBEATSIZE_HWORD_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos)  /**< (DMAC_CRCCTRL) 16-bit bus transfer Position  */
+#define DMAC_CRCCTRL_CRCBEATSIZE_WORD       (DMAC_CRCCTRL_CRCBEATSIZE_WORD_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos)  /**< (DMAC_CRCCTRL) 32-bit bus transfer Position  */
+#define DMAC_CRCCTRL_CRCPOLY_Pos            2                                              /**< (DMAC_CRCCTRL) CRC Polynomial Type Position */
+#define DMAC_CRCCTRL_CRCPOLY_Msk            (_U_(0x3) << DMAC_CRCCTRL_CRCPOLY_Pos)         /**< (DMAC_CRCCTRL) CRC Polynomial Type Mask */
+#define DMAC_CRCCTRL_CRCPOLY(value)         (DMAC_CRCCTRL_CRCPOLY_Msk & ((value) << DMAC_CRCCTRL_CRCPOLY_Pos))
+#define   DMAC_CRCCTRL_CRCPOLY_CRC16_Val    _U_(0x0)                                       /**< (DMAC_CRCCTRL) CRC-16 (CRC-CCITT)  */
+#define   DMAC_CRCCTRL_CRCPOLY_CRC32_Val    _U_(0x1)                                       /**< (DMAC_CRCCTRL) CRC32 (IEEE 802.3)  */
+#define DMAC_CRCCTRL_CRCPOLY_CRC16          (DMAC_CRCCTRL_CRCPOLY_CRC16_Val << DMAC_CRCCTRL_CRCPOLY_Pos)  /**< (DMAC_CRCCTRL) CRC-16 (CRC-CCITT) Position  */
+#define DMAC_CRCCTRL_CRCPOLY_CRC32          (DMAC_CRCCTRL_CRCPOLY_CRC32_Val << DMAC_CRCCTRL_CRCPOLY_Pos)  /**< (DMAC_CRCCTRL) CRC32 (IEEE 802.3) Position  */
+#define DMAC_CRCCTRL_CRCSRC_Pos             8                                              /**< (DMAC_CRCCTRL) CRC Input Source Position */
+#define DMAC_CRCCTRL_CRCSRC_Msk             (_U_(0x3F) << DMAC_CRCCTRL_CRCSRC_Pos)         /**< (DMAC_CRCCTRL) CRC Input Source Mask */
+#define DMAC_CRCCTRL_CRCSRC(value)          (DMAC_CRCCTRL_CRCSRC_Msk & ((value) << DMAC_CRCCTRL_CRCSRC_Pos))
+#define   DMAC_CRCCTRL_CRCSRC_NOACT_Val     _U_(0x0)                                       /**< (DMAC_CRCCTRL) No action  */
+#define   DMAC_CRCCTRL_CRCSRC_IO_Val        _U_(0x1)                                       /**< (DMAC_CRCCTRL) I/O interface  */
+#define DMAC_CRCCTRL_CRCSRC_NOACT           (DMAC_CRCCTRL_CRCSRC_NOACT_Val << DMAC_CRCCTRL_CRCSRC_Pos)  /**< (DMAC_CRCCTRL) No action Position  */
+#define DMAC_CRCCTRL_CRCSRC_IO              (DMAC_CRCCTRL_CRCSRC_IO_Val << DMAC_CRCCTRL_CRCSRC_Pos)  /**< (DMAC_CRCCTRL) I/O interface Position  */
+#define DMAC_CRCCTRL_MASK                   _U_(0x3F0F)                                    /**< \deprecated (DMAC_CRCCTRL) Register MASK  (Use DMAC_CRCCTRL_Msk instead)  */
+#define DMAC_CRCCTRL_Msk                    _U_(0x3F0F)                                    /**< (DMAC_CRCCTRL) Register Mask  */
+
+
+/* -------- DMAC_CRCDATAIN : (DMAC Offset: 0x04) (R/W 32) CRC Data Input -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CRCDATAIN_OFFSET               (0x04)                                        /**<  (DMAC_CRCDATAIN) CRC Data Input  Offset */
+#define DMAC_CRCDATAIN_RESETVALUE           _U_(0x00)                                     /**<  (DMAC_CRCDATAIN) CRC Data Input  Reset Value */
+
+#define DMAC_CRCDATAIN_CRCDATAIN_Pos        0                                              /**< (DMAC_CRCDATAIN) CRC Data Input Position */
+#define DMAC_CRCDATAIN_CRCDATAIN_Msk        (_U_(0xFFFFFFFF) << DMAC_CRCDATAIN_CRCDATAIN_Pos)  /**< (DMAC_CRCDATAIN) CRC Data Input Mask */
+#define DMAC_CRCDATAIN_CRCDATAIN(value)     (DMAC_CRCDATAIN_CRCDATAIN_Msk & ((value) << DMAC_CRCDATAIN_CRCDATAIN_Pos))
+#define DMAC_CRCDATAIN_MASK                 _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_CRCDATAIN) Register MASK  (Use DMAC_CRCDATAIN_Msk instead)  */
+#define DMAC_CRCDATAIN_Msk                  _U_(0xFFFFFFFF)                                /**< (DMAC_CRCDATAIN) Register Mask  */
+
+
+/* -------- DMAC_CRCCHKSUM : (DMAC Offset: 0x08) (R/W 32) CRC Checksum -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CRCCHKSUM_OFFSET               (0x08)                                        /**<  (DMAC_CRCCHKSUM) CRC Checksum  Offset */
+#define DMAC_CRCCHKSUM_RESETVALUE           _U_(0x00)                                     /**<  (DMAC_CRCCHKSUM) CRC Checksum  Reset Value */
+
+#define DMAC_CRCCHKSUM_CRCCHKSUM_Pos        0                                              /**< (DMAC_CRCCHKSUM) CRC Checksum Position */
+#define DMAC_CRCCHKSUM_CRCCHKSUM_Msk        (_U_(0xFFFFFFFF) << DMAC_CRCCHKSUM_CRCCHKSUM_Pos)  /**< (DMAC_CRCCHKSUM) CRC Checksum Mask */
+#define DMAC_CRCCHKSUM_CRCCHKSUM(value)     (DMAC_CRCCHKSUM_CRCCHKSUM_Msk & ((value) << DMAC_CRCCHKSUM_CRCCHKSUM_Pos))
+#define DMAC_CRCCHKSUM_MASK                 _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_CRCCHKSUM) Register MASK  (Use DMAC_CRCCHKSUM_Msk instead)  */
+#define DMAC_CRCCHKSUM_Msk                  _U_(0xFFFFFFFF)                                /**< (DMAC_CRCCHKSUM) Register Mask  */
+
+
+/* -------- DMAC_CRCSTATUS : (DMAC Offset: 0x0c) (R/W 8) CRC Status -------- */
+#if !(defined(__ASSEMBLER__) || 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  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DMAC_CRCSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CRCSTATUS_OFFSET               (0x0C)                                        /**<  (DMAC_CRCSTATUS) CRC Status  Offset */
+#define DMAC_CRCSTATUS_RESETVALUE           _U_(0x00)                                     /**<  (DMAC_CRCSTATUS) CRC Status  Reset Value */
+
+#define DMAC_CRCSTATUS_CRCBUSY_Pos          0                                              /**< (DMAC_CRCSTATUS) CRC Module Busy Position */
+#define DMAC_CRCSTATUS_CRCBUSY_Msk          (_U_(0x1) << DMAC_CRCSTATUS_CRCBUSY_Pos)       /**< (DMAC_CRCSTATUS) CRC Module Busy Mask */
+#define DMAC_CRCSTATUS_CRCBUSY              DMAC_CRCSTATUS_CRCBUSY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CRCSTATUS_CRCBUSY_Msk instead */
+#define DMAC_CRCSTATUS_CRCZERO_Pos          1                                              /**< (DMAC_CRCSTATUS) CRC Zero Position */
+#define DMAC_CRCSTATUS_CRCZERO_Msk          (_U_(0x1) << DMAC_CRCSTATUS_CRCZERO_Pos)       /**< (DMAC_CRCSTATUS) CRC Zero Mask */
+#define DMAC_CRCSTATUS_CRCZERO              DMAC_CRCSTATUS_CRCZERO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CRCSTATUS_CRCZERO_Msk instead */
+#define DMAC_CRCSTATUS_MASK                 _U_(0x03)                                      /**< \deprecated (DMAC_CRCSTATUS) Register MASK  (Use DMAC_CRCSTATUS_Msk instead)  */
+#define DMAC_CRCSTATUS_Msk                  _U_(0x03)                                      /**< (DMAC_CRCSTATUS) Register Mask  */
+
+
+/* -------- DMAC_DBGCTRL : (DMAC Offset: 0x0d) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_DBGCTRL_OFFSET                 (0x0D)                                        /**<  (DMAC_DBGCTRL) Debug Control  Offset */
+#define DMAC_DBGCTRL_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_DBGCTRL) Debug Control  Reset Value */
+
+#define DMAC_DBGCTRL_DBGRUN_Pos             0                                              /**< (DMAC_DBGCTRL) Debug Run Position */
+#define DMAC_DBGCTRL_DBGRUN_Msk             (_U_(0x1) << DMAC_DBGCTRL_DBGRUN_Pos)          /**< (DMAC_DBGCTRL) Debug Run Mask */
+#define DMAC_DBGCTRL_DBGRUN                 DMAC_DBGCTRL_DBGRUN_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_DBGCTRL_DBGRUN_Msk instead */
+#define DMAC_DBGCTRL_MASK                   _U_(0x01)                                      /**< \deprecated (DMAC_DBGCTRL) Register MASK  (Use DMAC_DBGCTRL_Msk instead)  */
+#define DMAC_DBGCTRL_Msk                    _U_(0x01)                                      /**< (DMAC_DBGCTRL) Register Mask  */
+
+
+/* -------- DMAC_QOSCTRL : (DMAC Offset: 0x0e) (R/W 8) QOS Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  WRBQOS:2;                  /**< bit:   0..1  Write-Back Quality of Service            */
+    uint8_t  FQOS:2;                    /**< bit:   2..3  Fetch Quality of Service                 */
+    uint8_t  DQOS:2;                    /**< bit:   4..5  Data Transfer Quality of Service         */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DMAC_QOSCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_QOSCTRL_OFFSET                 (0x0E)                                        /**<  (DMAC_QOSCTRL) QOS Control  Offset */
+#define DMAC_QOSCTRL_RESETVALUE             _U_(0x2A)                                     /**<  (DMAC_QOSCTRL) QOS Control  Reset Value */
+
+#define DMAC_QOSCTRL_WRBQOS_Pos             0                                              /**< (DMAC_QOSCTRL) Write-Back Quality of Service Position */
+#define DMAC_QOSCTRL_WRBQOS_Msk             (_U_(0x3) << DMAC_QOSCTRL_WRBQOS_Pos)          /**< (DMAC_QOSCTRL) Write-Back Quality of Service Mask */
+#define DMAC_QOSCTRL_WRBQOS(value)          (DMAC_QOSCTRL_WRBQOS_Msk & ((value) << DMAC_QOSCTRL_WRBQOS_Pos))
+#define   DMAC_QOSCTRL_WRBQOS_DISABLE_Val   _U_(0x0)                                       /**< (DMAC_QOSCTRL) Background (no sensitive operation)  */
+#define   DMAC_QOSCTRL_WRBQOS_LOW_Val       _U_(0x1)                                       /**< (DMAC_QOSCTRL) Sensitive Bandwidth  */
+#define   DMAC_QOSCTRL_WRBQOS_MEDIUM_Val    _U_(0x2)                                       /**< (DMAC_QOSCTRL) Sensitive Latency  */
+#define   DMAC_QOSCTRL_WRBQOS_HIGH_Val      _U_(0x3)                                       /**< (DMAC_QOSCTRL) Critical Latency  */
+#define DMAC_QOSCTRL_WRBQOS_DISABLE         (DMAC_QOSCTRL_WRBQOS_DISABLE_Val << DMAC_QOSCTRL_WRBQOS_Pos)  /**< (DMAC_QOSCTRL) Background (no sensitive operation) Position  */
+#define DMAC_QOSCTRL_WRBQOS_LOW             (DMAC_QOSCTRL_WRBQOS_LOW_Val << DMAC_QOSCTRL_WRBQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Bandwidth Position  */
+#define DMAC_QOSCTRL_WRBQOS_MEDIUM          (DMAC_QOSCTRL_WRBQOS_MEDIUM_Val << DMAC_QOSCTRL_WRBQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Latency Position  */
+#define DMAC_QOSCTRL_WRBQOS_HIGH            (DMAC_QOSCTRL_WRBQOS_HIGH_Val << DMAC_QOSCTRL_WRBQOS_Pos)  /**< (DMAC_QOSCTRL) Critical Latency Position  */
+#define DMAC_QOSCTRL_FQOS_Pos               2                                              /**< (DMAC_QOSCTRL) Fetch Quality of Service Position */
+#define DMAC_QOSCTRL_FQOS_Msk               (_U_(0x3) << DMAC_QOSCTRL_FQOS_Pos)            /**< (DMAC_QOSCTRL) Fetch Quality of Service Mask */
+#define DMAC_QOSCTRL_FQOS(value)            (DMAC_QOSCTRL_FQOS_Msk & ((value) << DMAC_QOSCTRL_FQOS_Pos))
+#define   DMAC_QOSCTRL_FQOS_DISABLE_Val     _U_(0x0)                                       /**< (DMAC_QOSCTRL) Background (no sensitive operation)  */
+#define   DMAC_QOSCTRL_FQOS_LOW_Val         _U_(0x1)                                       /**< (DMAC_QOSCTRL) Sensitive Bandwidth  */
+#define   DMAC_QOSCTRL_FQOS_MEDIUM_Val      _U_(0x2)                                       /**< (DMAC_QOSCTRL) Sensitive Latency  */
+#define   DMAC_QOSCTRL_FQOS_HIGH_Val        _U_(0x3)                                       /**< (DMAC_QOSCTRL) Critical Latency  */
+#define DMAC_QOSCTRL_FQOS_DISABLE           (DMAC_QOSCTRL_FQOS_DISABLE_Val << DMAC_QOSCTRL_FQOS_Pos)  /**< (DMAC_QOSCTRL) Background (no sensitive operation) Position  */
+#define DMAC_QOSCTRL_FQOS_LOW               (DMAC_QOSCTRL_FQOS_LOW_Val << DMAC_QOSCTRL_FQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Bandwidth Position  */
+#define DMAC_QOSCTRL_FQOS_MEDIUM            (DMAC_QOSCTRL_FQOS_MEDIUM_Val << DMAC_QOSCTRL_FQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Latency Position  */
+#define DMAC_QOSCTRL_FQOS_HIGH              (DMAC_QOSCTRL_FQOS_HIGH_Val << DMAC_QOSCTRL_FQOS_Pos)  /**< (DMAC_QOSCTRL) Critical Latency Position  */
+#define DMAC_QOSCTRL_DQOS_Pos               4                                              /**< (DMAC_QOSCTRL) Data Transfer Quality of Service Position */
+#define DMAC_QOSCTRL_DQOS_Msk               (_U_(0x3) << DMAC_QOSCTRL_DQOS_Pos)            /**< (DMAC_QOSCTRL) Data Transfer Quality of Service Mask */
+#define DMAC_QOSCTRL_DQOS(value)            (DMAC_QOSCTRL_DQOS_Msk & ((value) << DMAC_QOSCTRL_DQOS_Pos))
+#define   DMAC_QOSCTRL_DQOS_DISABLE_Val     _U_(0x0)                                       /**< (DMAC_QOSCTRL) Background (no sensitive operation)  */
+#define   DMAC_QOSCTRL_DQOS_LOW_Val         _U_(0x1)                                       /**< (DMAC_QOSCTRL) Sensitive Bandwidth  */
+#define   DMAC_QOSCTRL_DQOS_MEDIUM_Val      _U_(0x2)                                       /**< (DMAC_QOSCTRL) Sensitive Latency  */
+#define   DMAC_QOSCTRL_DQOS_HIGH_Val        _U_(0x3)                                       /**< (DMAC_QOSCTRL) Critical Latency  */
+#define DMAC_QOSCTRL_DQOS_DISABLE           (DMAC_QOSCTRL_DQOS_DISABLE_Val << DMAC_QOSCTRL_DQOS_Pos)  /**< (DMAC_QOSCTRL) Background (no sensitive operation) Position  */
+#define DMAC_QOSCTRL_DQOS_LOW               (DMAC_QOSCTRL_DQOS_LOW_Val << DMAC_QOSCTRL_DQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Bandwidth Position  */
+#define DMAC_QOSCTRL_DQOS_MEDIUM            (DMAC_QOSCTRL_DQOS_MEDIUM_Val << DMAC_QOSCTRL_DQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Latency Position  */
+#define DMAC_QOSCTRL_DQOS_HIGH              (DMAC_QOSCTRL_DQOS_HIGH_Val << DMAC_QOSCTRL_DQOS_Pos)  /**< (DMAC_QOSCTRL) Critical Latency Position  */
+#define DMAC_QOSCTRL_MASK                   _U_(0x3F)                                      /**< \deprecated (DMAC_QOSCTRL) Register MASK  (Use DMAC_QOSCTRL_Msk instead)  */
+#define DMAC_QOSCTRL_Msk                    _U_(0x3F)                                      /**< (DMAC_QOSCTRL) Register Mask  */
+
+
+/* -------- DMAC_SWTRIGCTRL : (DMAC Offset: 0x10) (R/W 32) Software Trigger Control -------- */
+#if !(defined(__ASSEMBLER__) || 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 :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t SWTRIG:8;                  /**< bit:   0..7  Channel 7 Software Trigger               */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_SWTRIGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_SWTRIGCTRL_OFFSET              (0x10)                                        /**<  (DMAC_SWTRIGCTRL) Software Trigger Control  Offset */
+#define DMAC_SWTRIGCTRL_RESETVALUE          _U_(0x00)                                     /**<  (DMAC_SWTRIGCTRL) Software Trigger Control  Reset Value */
+
+#define DMAC_SWTRIGCTRL_SWTRIG0_Pos         0                                              /**< (DMAC_SWTRIGCTRL) Channel 0 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG0_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG0_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 0 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG0             DMAC_SWTRIGCTRL_SWTRIG0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG0_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG1_Pos         1                                              /**< (DMAC_SWTRIGCTRL) Channel 1 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG1_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG1_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 1 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG1             DMAC_SWTRIGCTRL_SWTRIG1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG1_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG2_Pos         2                                              /**< (DMAC_SWTRIGCTRL) Channel 2 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG2_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG2_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 2 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG2             DMAC_SWTRIGCTRL_SWTRIG2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG2_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG3_Pos         3                                              /**< (DMAC_SWTRIGCTRL) Channel 3 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG3_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG3_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 3 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG3             DMAC_SWTRIGCTRL_SWTRIG3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG3_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG4_Pos         4                                              /**< (DMAC_SWTRIGCTRL) Channel 4 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG4_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG4_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 4 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG4             DMAC_SWTRIGCTRL_SWTRIG4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG4_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG5_Pos         5                                              /**< (DMAC_SWTRIGCTRL) Channel 5 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG5_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG5_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 5 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG5             DMAC_SWTRIGCTRL_SWTRIG5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG5_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG6_Pos         6                                              /**< (DMAC_SWTRIGCTRL) Channel 6 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG6_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG6_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 6 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG6             DMAC_SWTRIGCTRL_SWTRIG6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG6_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG7_Pos         7                                              /**< (DMAC_SWTRIGCTRL) Channel 7 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG7_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG7_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 7 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG7             DMAC_SWTRIGCTRL_SWTRIG7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG7_Msk instead */
+#define DMAC_SWTRIGCTRL_MASK                _U_(0xFF)                                      /**< \deprecated (DMAC_SWTRIGCTRL) Register MASK  (Use DMAC_SWTRIGCTRL_Msk instead)  */
+#define DMAC_SWTRIGCTRL_Msk                 _U_(0xFF)                                      /**< (DMAC_SWTRIGCTRL) Register Mask  */
+
+#define DMAC_SWTRIGCTRL_SWTRIG_Pos          0                                              /**< (DMAC_SWTRIGCTRL Position) Channel 7 Software Trigger */
+#define DMAC_SWTRIGCTRL_SWTRIG_Msk          (_U_(0xFF) << DMAC_SWTRIGCTRL_SWTRIG_Pos)      /**< (DMAC_SWTRIGCTRL Mask) SWTRIG */
+#define DMAC_SWTRIGCTRL_SWTRIG(value)       (DMAC_SWTRIGCTRL_SWTRIG_Msk & ((value) << DMAC_SWTRIGCTRL_SWTRIG_Pos))  
+
+/* -------- DMAC_PRICTRL0 : (DMAC Offset: 0x14) (R/W 32) Priority Control 0 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t LVLPRI0:3;                 /**< bit:   0..2  Level 0 Channel Priority Number          */
+    uint32_t :4;                        /**< bit:   3..6  Reserved */
+    uint32_t RRLVLEN0:1;                /**< bit:      7  Level 0 Round-Robin Scheduling Enable    */
+    uint32_t LVLPRI1:3;                 /**< bit:  8..10  Level 1 Channel Priority Number          */
+    uint32_t :4;                        /**< bit: 11..14  Reserved */
+    uint32_t RRLVLEN1:1;                /**< bit:     15  Level 1 Round-Robin Scheduling Enable    */
+    uint32_t LVLPRI2:3;                 /**< bit: 16..18  Level 2 Channel Priority Number          */
+    uint32_t :4;                        /**< bit: 19..22  Reserved */
+    uint32_t RRLVLEN2:1;                /**< bit:     23  Level 2 Round-Robin Scheduling Enable    */
+    uint32_t LVLPRI3:3;                 /**< bit: 24..26  Level 3 Channel Priority Number          */
+    uint32_t :4;                        /**< bit: 27..30  Reserved */
+    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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_PRICTRL0_OFFSET                (0x14)                                        /**<  (DMAC_PRICTRL0) Priority Control 0  Offset */
+#define DMAC_PRICTRL0_RESETVALUE            _U_(0x00)                                     /**<  (DMAC_PRICTRL0) Priority Control 0  Reset Value */
+
+#define DMAC_PRICTRL0_LVLPRI0_Pos           0                                              /**< (DMAC_PRICTRL0) Level 0 Channel Priority Number Position */
+#define DMAC_PRICTRL0_LVLPRI0_Msk           (_U_(0x7) << DMAC_PRICTRL0_LVLPRI0_Pos)        /**< (DMAC_PRICTRL0) Level 0 Channel Priority Number Mask */
+#define DMAC_PRICTRL0_LVLPRI0(value)        (DMAC_PRICTRL0_LVLPRI0_Msk & ((value) << DMAC_PRICTRL0_LVLPRI0_Pos))
+#define DMAC_PRICTRL0_RRLVLEN0_Pos          7                                              /**< (DMAC_PRICTRL0) Level 0 Round-Robin Scheduling Enable Position */
+#define DMAC_PRICTRL0_RRLVLEN0_Msk          (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN0_Pos)       /**< (DMAC_PRICTRL0) Level 0 Round-Robin Scheduling Enable Mask */
+#define DMAC_PRICTRL0_RRLVLEN0              DMAC_PRICTRL0_RRLVLEN0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PRICTRL0_RRLVLEN0_Msk instead */
+#define DMAC_PRICTRL0_LVLPRI1_Pos           8                                              /**< (DMAC_PRICTRL0) Level 1 Channel Priority Number Position */
+#define DMAC_PRICTRL0_LVLPRI1_Msk           (_U_(0x7) << DMAC_PRICTRL0_LVLPRI1_Pos)        /**< (DMAC_PRICTRL0) Level 1 Channel Priority Number Mask */
+#define DMAC_PRICTRL0_LVLPRI1(value)        (DMAC_PRICTRL0_LVLPRI1_Msk & ((value) << DMAC_PRICTRL0_LVLPRI1_Pos))
+#define DMAC_PRICTRL0_RRLVLEN1_Pos          15                                             /**< (DMAC_PRICTRL0) Level 1 Round-Robin Scheduling Enable Position */
+#define DMAC_PRICTRL0_RRLVLEN1_Msk          (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN1_Pos)       /**< (DMAC_PRICTRL0) Level 1 Round-Robin Scheduling Enable Mask */
+#define DMAC_PRICTRL0_RRLVLEN1              DMAC_PRICTRL0_RRLVLEN1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PRICTRL0_RRLVLEN1_Msk instead */
+#define DMAC_PRICTRL0_LVLPRI2_Pos           16                                             /**< (DMAC_PRICTRL0) Level 2 Channel Priority Number Position */
+#define DMAC_PRICTRL0_LVLPRI2_Msk           (_U_(0x7) << DMAC_PRICTRL0_LVLPRI2_Pos)        /**< (DMAC_PRICTRL0) Level 2 Channel Priority Number Mask */
+#define DMAC_PRICTRL0_LVLPRI2(value)        (DMAC_PRICTRL0_LVLPRI2_Msk & ((value) << DMAC_PRICTRL0_LVLPRI2_Pos))
+#define DMAC_PRICTRL0_RRLVLEN2_Pos          23                                             /**< (DMAC_PRICTRL0) Level 2 Round-Robin Scheduling Enable Position */
+#define DMAC_PRICTRL0_RRLVLEN2_Msk          (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN2_Pos)       /**< (DMAC_PRICTRL0) Level 2 Round-Robin Scheduling Enable Mask */
+#define DMAC_PRICTRL0_RRLVLEN2              DMAC_PRICTRL0_RRLVLEN2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PRICTRL0_RRLVLEN2_Msk instead */
+#define DMAC_PRICTRL0_LVLPRI3_Pos           24                                             /**< (DMAC_PRICTRL0) Level 3 Channel Priority Number Position */
+#define DMAC_PRICTRL0_LVLPRI3_Msk           (_U_(0x7) << DMAC_PRICTRL0_LVLPRI3_Pos)        /**< (DMAC_PRICTRL0) Level 3 Channel Priority Number Mask */
+#define DMAC_PRICTRL0_LVLPRI3(value)        (DMAC_PRICTRL0_LVLPRI3_Msk & ((value) << DMAC_PRICTRL0_LVLPRI3_Pos))
+#define DMAC_PRICTRL0_RRLVLEN3_Pos          31                                             /**< (DMAC_PRICTRL0) Level 3 Round-Robin Scheduling Enable Position */
+#define DMAC_PRICTRL0_RRLVLEN3_Msk          (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN3_Pos)       /**< (DMAC_PRICTRL0) Level 3 Round-Robin Scheduling Enable Mask */
+#define DMAC_PRICTRL0_RRLVLEN3              DMAC_PRICTRL0_RRLVLEN3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PRICTRL0_RRLVLEN3_Msk instead */
+#define DMAC_PRICTRL0_MASK                  _U_(0x87878787)                                /**< \deprecated (DMAC_PRICTRL0) Register MASK  (Use DMAC_PRICTRL0_Msk instead)  */
+#define DMAC_PRICTRL0_Msk                   _U_(0x87878787)                                /**< (DMAC_PRICTRL0) Register Mask  */
+
+
+/* -------- DMAC_INTPEND : (DMAC Offset: 0x20) (R/W 16) Interrupt Pending -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t ID:3;                      /**< bit:   0..2  Channel ID                               */
+    uint16_t :5;                        /**< bit:   3..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 :2;                        /**< bit: 11..12  Reserved */
+    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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_INTPEND_OFFSET                 (0x20)                                        /**<  (DMAC_INTPEND) Interrupt Pending  Offset */
+#define DMAC_INTPEND_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_INTPEND) Interrupt Pending  Reset Value */
+
+#define DMAC_INTPEND_ID_Pos                 0                                              /**< (DMAC_INTPEND) Channel ID Position */
+#define DMAC_INTPEND_ID_Msk                 (_U_(0x7) << DMAC_INTPEND_ID_Pos)              /**< (DMAC_INTPEND) Channel ID Mask */
+#define DMAC_INTPEND_ID(value)              (DMAC_INTPEND_ID_Msk & ((value) << DMAC_INTPEND_ID_Pos))
+#define DMAC_INTPEND_TERR_Pos               8                                              /**< (DMAC_INTPEND) Transfer Error Position */
+#define DMAC_INTPEND_TERR_Msk               (_U_(0x1) << DMAC_INTPEND_TERR_Pos)            /**< (DMAC_INTPEND) Transfer Error Mask */
+#define DMAC_INTPEND_TERR                   DMAC_INTPEND_TERR_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_TERR_Msk instead */
+#define DMAC_INTPEND_TCMPL_Pos              9                                              /**< (DMAC_INTPEND) Transfer Complete Position */
+#define DMAC_INTPEND_TCMPL_Msk              (_U_(0x1) << DMAC_INTPEND_TCMPL_Pos)           /**< (DMAC_INTPEND) Transfer Complete Mask */
+#define DMAC_INTPEND_TCMPL                  DMAC_INTPEND_TCMPL_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_TCMPL_Msk instead */
+#define DMAC_INTPEND_SUSP_Pos               10                                             /**< (DMAC_INTPEND) Channel Suspend Position */
+#define DMAC_INTPEND_SUSP_Msk               (_U_(0x1) << DMAC_INTPEND_SUSP_Pos)            /**< (DMAC_INTPEND) Channel Suspend Mask */
+#define DMAC_INTPEND_SUSP                   DMAC_INTPEND_SUSP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_SUSP_Msk instead */
+#define DMAC_INTPEND_FERR_Pos               13                                             /**< (DMAC_INTPEND) Fetch Error Position */
+#define DMAC_INTPEND_FERR_Msk               (_U_(0x1) << DMAC_INTPEND_FERR_Pos)            /**< (DMAC_INTPEND) Fetch Error Mask */
+#define DMAC_INTPEND_FERR                   DMAC_INTPEND_FERR_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_FERR_Msk instead */
+#define DMAC_INTPEND_BUSY_Pos               14                                             /**< (DMAC_INTPEND) Busy Position */
+#define DMAC_INTPEND_BUSY_Msk               (_U_(0x1) << DMAC_INTPEND_BUSY_Pos)            /**< (DMAC_INTPEND) Busy Mask */
+#define DMAC_INTPEND_BUSY                   DMAC_INTPEND_BUSY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_BUSY_Msk instead */
+#define DMAC_INTPEND_PEND_Pos               15                                             /**< (DMAC_INTPEND) Pending Position */
+#define DMAC_INTPEND_PEND_Msk               (_U_(0x1) << DMAC_INTPEND_PEND_Pos)            /**< (DMAC_INTPEND) Pending Mask */
+#define DMAC_INTPEND_PEND                   DMAC_INTPEND_PEND_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_PEND_Msk instead */
+#define DMAC_INTPEND_MASK                   _U_(0xE707)                                    /**< \deprecated (DMAC_INTPEND) Register MASK  (Use DMAC_INTPEND_Msk instead)  */
+#define DMAC_INTPEND_Msk                    _U_(0xE707)                                    /**< (DMAC_INTPEND) Register Mask  */
+
+
+/* -------- DMAC_INTSTATUS : (DMAC Offset: 0x24) (R/ 32) Interrupt Status -------- */
+#if !(defined(__ASSEMBLER__) || 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 :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t CHINT:8;                   /**< bit:   0..7  Channel 7 Pending Interrupt              */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_INTSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_INTSTATUS_OFFSET               (0x24)                                        /**<  (DMAC_INTSTATUS) Interrupt Status  Offset */
+#define DMAC_INTSTATUS_RESETVALUE           _U_(0x00)                                     /**<  (DMAC_INTSTATUS) Interrupt Status  Reset Value */
+
+#define DMAC_INTSTATUS_CHINT0_Pos           0                                              /**< (DMAC_INTSTATUS) Channel 0 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT0_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT0_Pos)        /**< (DMAC_INTSTATUS) Channel 0 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT0               DMAC_INTSTATUS_CHINT0_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT0_Msk instead */
+#define DMAC_INTSTATUS_CHINT1_Pos           1                                              /**< (DMAC_INTSTATUS) Channel 1 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT1_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT1_Pos)        /**< (DMAC_INTSTATUS) Channel 1 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT1               DMAC_INTSTATUS_CHINT1_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT1_Msk instead */
+#define DMAC_INTSTATUS_CHINT2_Pos           2                                              /**< (DMAC_INTSTATUS) Channel 2 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT2_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT2_Pos)        /**< (DMAC_INTSTATUS) Channel 2 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT2               DMAC_INTSTATUS_CHINT2_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT2_Msk instead */
+#define DMAC_INTSTATUS_CHINT3_Pos           3                                              /**< (DMAC_INTSTATUS) Channel 3 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT3_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT3_Pos)        /**< (DMAC_INTSTATUS) Channel 3 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT3               DMAC_INTSTATUS_CHINT3_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT3_Msk instead */
+#define DMAC_INTSTATUS_CHINT4_Pos           4                                              /**< (DMAC_INTSTATUS) Channel 4 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT4_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT4_Pos)        /**< (DMAC_INTSTATUS) Channel 4 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT4               DMAC_INTSTATUS_CHINT4_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT4_Msk instead */
+#define DMAC_INTSTATUS_CHINT5_Pos           5                                              /**< (DMAC_INTSTATUS) Channel 5 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT5_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT5_Pos)        /**< (DMAC_INTSTATUS) Channel 5 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT5               DMAC_INTSTATUS_CHINT5_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT5_Msk instead */
+#define DMAC_INTSTATUS_CHINT6_Pos           6                                              /**< (DMAC_INTSTATUS) Channel 6 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT6_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT6_Pos)        /**< (DMAC_INTSTATUS) Channel 6 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT6               DMAC_INTSTATUS_CHINT6_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT6_Msk instead */
+#define DMAC_INTSTATUS_CHINT7_Pos           7                                              /**< (DMAC_INTSTATUS) Channel 7 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT7_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT7_Pos)        /**< (DMAC_INTSTATUS) Channel 7 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT7               DMAC_INTSTATUS_CHINT7_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT7_Msk instead */
+#define DMAC_INTSTATUS_MASK                 _U_(0xFF)                                      /**< \deprecated (DMAC_INTSTATUS) Register MASK  (Use DMAC_INTSTATUS_Msk instead)  */
+#define DMAC_INTSTATUS_Msk                  _U_(0xFF)                                      /**< (DMAC_INTSTATUS) Register Mask  */
+
+#define DMAC_INTSTATUS_CHINT_Pos            0                                              /**< (DMAC_INTSTATUS Position) Channel 7 Pending Interrupt */
+#define DMAC_INTSTATUS_CHINT_Msk            (_U_(0xFF) << DMAC_INTSTATUS_CHINT_Pos)        /**< (DMAC_INTSTATUS Mask) CHINT */
+#define DMAC_INTSTATUS_CHINT(value)         (DMAC_INTSTATUS_CHINT_Msk & ((value) << DMAC_INTSTATUS_CHINT_Pos))  
+
+/* -------- DMAC_BUSYCH : (DMAC Offset: 0x28) (R/ 32) Busy Channels -------- */
+#if !(defined(__ASSEMBLER__) || 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 :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t BUSYCH:8;                  /**< bit:   0..7  Busy Channel 7                           */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_BUSYCH_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_BUSYCH_OFFSET                  (0x28)                                        /**<  (DMAC_BUSYCH) Busy Channels  Offset */
+#define DMAC_BUSYCH_RESETVALUE              _U_(0x00)                                     /**<  (DMAC_BUSYCH) Busy Channels  Reset Value */
+
+#define DMAC_BUSYCH_BUSYCH0_Pos             0                                              /**< (DMAC_BUSYCH) Busy Channel 0 Position */
+#define DMAC_BUSYCH_BUSYCH0_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH0_Pos)          /**< (DMAC_BUSYCH) Busy Channel 0 Mask */
+#define DMAC_BUSYCH_BUSYCH0                 DMAC_BUSYCH_BUSYCH0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH0_Msk instead */
+#define DMAC_BUSYCH_BUSYCH1_Pos             1                                              /**< (DMAC_BUSYCH) Busy Channel 1 Position */
+#define DMAC_BUSYCH_BUSYCH1_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH1_Pos)          /**< (DMAC_BUSYCH) Busy Channel 1 Mask */
+#define DMAC_BUSYCH_BUSYCH1                 DMAC_BUSYCH_BUSYCH1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH1_Msk instead */
+#define DMAC_BUSYCH_BUSYCH2_Pos             2                                              /**< (DMAC_BUSYCH) Busy Channel 2 Position */
+#define DMAC_BUSYCH_BUSYCH2_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH2_Pos)          /**< (DMAC_BUSYCH) Busy Channel 2 Mask */
+#define DMAC_BUSYCH_BUSYCH2                 DMAC_BUSYCH_BUSYCH2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH2_Msk instead */
+#define DMAC_BUSYCH_BUSYCH3_Pos             3                                              /**< (DMAC_BUSYCH) Busy Channel 3 Position */
+#define DMAC_BUSYCH_BUSYCH3_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH3_Pos)          /**< (DMAC_BUSYCH) Busy Channel 3 Mask */
+#define DMAC_BUSYCH_BUSYCH3                 DMAC_BUSYCH_BUSYCH3_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH3_Msk instead */
+#define DMAC_BUSYCH_BUSYCH4_Pos             4                                              /**< (DMAC_BUSYCH) Busy Channel 4 Position */
+#define DMAC_BUSYCH_BUSYCH4_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH4_Pos)          /**< (DMAC_BUSYCH) Busy Channel 4 Mask */
+#define DMAC_BUSYCH_BUSYCH4                 DMAC_BUSYCH_BUSYCH4_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH4_Msk instead */
+#define DMAC_BUSYCH_BUSYCH5_Pos             5                                              /**< (DMAC_BUSYCH) Busy Channel 5 Position */
+#define DMAC_BUSYCH_BUSYCH5_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH5_Pos)          /**< (DMAC_BUSYCH) Busy Channel 5 Mask */
+#define DMAC_BUSYCH_BUSYCH5                 DMAC_BUSYCH_BUSYCH5_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH5_Msk instead */
+#define DMAC_BUSYCH_BUSYCH6_Pos             6                                              /**< (DMAC_BUSYCH) Busy Channel 6 Position */
+#define DMAC_BUSYCH_BUSYCH6_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH6_Pos)          /**< (DMAC_BUSYCH) Busy Channel 6 Mask */
+#define DMAC_BUSYCH_BUSYCH6                 DMAC_BUSYCH_BUSYCH6_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH6_Msk instead */
+#define DMAC_BUSYCH_BUSYCH7_Pos             7                                              /**< (DMAC_BUSYCH) Busy Channel 7 Position */
+#define DMAC_BUSYCH_BUSYCH7_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH7_Pos)          /**< (DMAC_BUSYCH) Busy Channel 7 Mask */
+#define DMAC_BUSYCH_BUSYCH7                 DMAC_BUSYCH_BUSYCH7_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH7_Msk instead */
+#define DMAC_BUSYCH_MASK                    _U_(0xFF)                                      /**< \deprecated (DMAC_BUSYCH) Register MASK  (Use DMAC_BUSYCH_Msk instead)  */
+#define DMAC_BUSYCH_Msk                     _U_(0xFF)                                      /**< (DMAC_BUSYCH) Register Mask  */
+
+#define DMAC_BUSYCH_BUSYCH_Pos              0                                              /**< (DMAC_BUSYCH Position) Busy Channel 7 */
+#define DMAC_BUSYCH_BUSYCH_Msk              (_U_(0xFF) << DMAC_BUSYCH_BUSYCH_Pos)          /**< (DMAC_BUSYCH Mask) BUSYCH */
+#define DMAC_BUSYCH_BUSYCH(value)           (DMAC_BUSYCH_BUSYCH_Msk & ((value) << DMAC_BUSYCH_BUSYCH_Pos))  
+
+/* -------- DMAC_PENDCH : (DMAC Offset: 0x2c) (R/ 32) Pending Channels -------- */
+#if !(defined(__ASSEMBLER__) || 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 :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t PENDCH:8;                  /**< bit:   0..7  Pending Channel 7                        */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_PENDCH_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_PENDCH_OFFSET                  (0x2C)                                        /**<  (DMAC_PENDCH) Pending Channels  Offset */
+#define DMAC_PENDCH_RESETVALUE              _U_(0x00)                                     /**<  (DMAC_PENDCH) Pending Channels  Reset Value */
+
+#define DMAC_PENDCH_PENDCH0_Pos             0                                              /**< (DMAC_PENDCH) Pending Channel 0 Position */
+#define DMAC_PENDCH_PENDCH0_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH0_Pos)          /**< (DMAC_PENDCH) Pending Channel 0 Mask */
+#define DMAC_PENDCH_PENDCH0                 DMAC_PENDCH_PENDCH0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH0_Msk instead */
+#define DMAC_PENDCH_PENDCH1_Pos             1                                              /**< (DMAC_PENDCH) Pending Channel 1 Position */
+#define DMAC_PENDCH_PENDCH1_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH1_Pos)          /**< (DMAC_PENDCH) Pending Channel 1 Mask */
+#define DMAC_PENDCH_PENDCH1                 DMAC_PENDCH_PENDCH1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH1_Msk instead */
+#define DMAC_PENDCH_PENDCH2_Pos             2                                              /**< (DMAC_PENDCH) Pending Channel 2 Position */
+#define DMAC_PENDCH_PENDCH2_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH2_Pos)          /**< (DMAC_PENDCH) Pending Channel 2 Mask */
+#define DMAC_PENDCH_PENDCH2                 DMAC_PENDCH_PENDCH2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH2_Msk instead */
+#define DMAC_PENDCH_PENDCH3_Pos             3                                              /**< (DMAC_PENDCH) Pending Channel 3 Position */
+#define DMAC_PENDCH_PENDCH3_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH3_Pos)          /**< (DMAC_PENDCH) Pending Channel 3 Mask */
+#define DMAC_PENDCH_PENDCH3                 DMAC_PENDCH_PENDCH3_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH3_Msk instead */
+#define DMAC_PENDCH_PENDCH4_Pos             4                                              /**< (DMAC_PENDCH) Pending Channel 4 Position */
+#define DMAC_PENDCH_PENDCH4_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH4_Pos)          /**< (DMAC_PENDCH) Pending Channel 4 Mask */
+#define DMAC_PENDCH_PENDCH4                 DMAC_PENDCH_PENDCH4_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH4_Msk instead */
+#define DMAC_PENDCH_PENDCH5_Pos             5                                              /**< (DMAC_PENDCH) Pending Channel 5 Position */
+#define DMAC_PENDCH_PENDCH5_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH5_Pos)          /**< (DMAC_PENDCH) Pending Channel 5 Mask */
+#define DMAC_PENDCH_PENDCH5                 DMAC_PENDCH_PENDCH5_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH5_Msk instead */
+#define DMAC_PENDCH_PENDCH6_Pos             6                                              /**< (DMAC_PENDCH) Pending Channel 6 Position */
+#define DMAC_PENDCH_PENDCH6_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH6_Pos)          /**< (DMAC_PENDCH) Pending Channel 6 Mask */
+#define DMAC_PENDCH_PENDCH6                 DMAC_PENDCH_PENDCH6_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH6_Msk instead */
+#define DMAC_PENDCH_PENDCH7_Pos             7                                              /**< (DMAC_PENDCH) Pending Channel 7 Position */
+#define DMAC_PENDCH_PENDCH7_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH7_Pos)          /**< (DMAC_PENDCH) Pending Channel 7 Mask */
+#define DMAC_PENDCH_PENDCH7                 DMAC_PENDCH_PENDCH7_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH7_Msk instead */
+#define DMAC_PENDCH_MASK                    _U_(0xFF)                                      /**< \deprecated (DMAC_PENDCH) Register MASK  (Use DMAC_PENDCH_Msk instead)  */
+#define DMAC_PENDCH_Msk                     _U_(0xFF)                                      /**< (DMAC_PENDCH) Register Mask  */
+
+#define DMAC_PENDCH_PENDCH_Pos              0                                              /**< (DMAC_PENDCH Position) Pending Channel 7 */
+#define DMAC_PENDCH_PENDCH_Msk              (_U_(0xFF) << DMAC_PENDCH_PENDCH_Pos)          /**< (DMAC_PENDCH Mask) PENDCH */
+#define DMAC_PENDCH_PENDCH(value)           (DMAC_PENDCH_PENDCH_Msk & ((value) << DMAC_PENDCH_PENDCH_Pos))  
+
+/* -------- DMAC_ACTIVE : (DMAC Offset: 0x30) (R/ 32) Active Channel and Levels -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_ACTIVE_OFFSET                  (0x30)                                        /**<  (DMAC_ACTIVE) Active Channel and Levels  Offset */
+#define DMAC_ACTIVE_RESETVALUE              _U_(0x00)                                     /**<  (DMAC_ACTIVE) Active Channel and Levels  Reset Value */
+
+#define DMAC_ACTIVE_LVLEX0_Pos              0                                              /**< (DMAC_ACTIVE) Level 0 Channel Trigger Request Executing Position */
+#define DMAC_ACTIVE_LVLEX0_Msk              (_U_(0x1) << DMAC_ACTIVE_LVLEX0_Pos)           /**< (DMAC_ACTIVE) Level 0 Channel Trigger Request Executing Mask */
+#define DMAC_ACTIVE_LVLEX0                  DMAC_ACTIVE_LVLEX0_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_ACTIVE_LVLEX0_Msk instead */
+#define DMAC_ACTIVE_LVLEX1_Pos              1                                              /**< (DMAC_ACTIVE) Level 1 Channel Trigger Request Executing Position */
+#define DMAC_ACTIVE_LVLEX1_Msk              (_U_(0x1) << DMAC_ACTIVE_LVLEX1_Pos)           /**< (DMAC_ACTIVE) Level 1 Channel Trigger Request Executing Mask */
+#define DMAC_ACTIVE_LVLEX1                  DMAC_ACTIVE_LVLEX1_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_ACTIVE_LVLEX1_Msk instead */
+#define DMAC_ACTIVE_LVLEX2_Pos              2                                              /**< (DMAC_ACTIVE) Level 2 Channel Trigger Request Executing Position */
+#define DMAC_ACTIVE_LVLEX2_Msk              (_U_(0x1) << DMAC_ACTIVE_LVLEX2_Pos)           /**< (DMAC_ACTIVE) Level 2 Channel Trigger Request Executing Mask */
+#define DMAC_ACTIVE_LVLEX2                  DMAC_ACTIVE_LVLEX2_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_ACTIVE_LVLEX2_Msk instead */
+#define DMAC_ACTIVE_LVLEX3_Pos              3                                              /**< (DMAC_ACTIVE) Level 3 Channel Trigger Request Executing Position */
+#define DMAC_ACTIVE_LVLEX3_Msk              (_U_(0x1) << DMAC_ACTIVE_LVLEX3_Pos)           /**< (DMAC_ACTIVE) Level 3 Channel Trigger Request Executing Mask */
+#define DMAC_ACTIVE_LVLEX3                  DMAC_ACTIVE_LVLEX3_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_ACTIVE_LVLEX3_Msk instead */
+#define DMAC_ACTIVE_ID_Pos                  8                                              /**< (DMAC_ACTIVE) Active Channel ID Position */
+#define DMAC_ACTIVE_ID_Msk                  (_U_(0x1F) << DMAC_ACTIVE_ID_Pos)              /**< (DMAC_ACTIVE) Active Channel ID Mask */
+#define DMAC_ACTIVE_ID(value)               (DMAC_ACTIVE_ID_Msk & ((value) << DMAC_ACTIVE_ID_Pos))
+#define DMAC_ACTIVE_ABUSY_Pos               15                                             /**< (DMAC_ACTIVE) Active Channel Busy Position */
+#define DMAC_ACTIVE_ABUSY_Msk               (_U_(0x1) << DMAC_ACTIVE_ABUSY_Pos)            /**< (DMAC_ACTIVE) Active Channel Busy Mask */
+#define DMAC_ACTIVE_ABUSY                   DMAC_ACTIVE_ABUSY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_ACTIVE_ABUSY_Msk instead */
+#define DMAC_ACTIVE_BTCNT_Pos               16                                             /**< (DMAC_ACTIVE) Active Channel Block Transfer Count Position */
+#define DMAC_ACTIVE_BTCNT_Msk               (_U_(0xFFFF) << DMAC_ACTIVE_BTCNT_Pos)         /**< (DMAC_ACTIVE) Active Channel Block Transfer Count Mask */
+#define DMAC_ACTIVE_BTCNT(value)            (DMAC_ACTIVE_BTCNT_Msk & ((value) << DMAC_ACTIVE_BTCNT_Pos))
+#define DMAC_ACTIVE_MASK                    _U_(0xFFFF9F0F)                                /**< \deprecated (DMAC_ACTIVE) Register MASK  (Use DMAC_ACTIVE_Msk instead)  */
+#define DMAC_ACTIVE_Msk                     _U_(0xFFFF9F0F)                                /**< (DMAC_ACTIVE) Register Mask  */
+
+#define DMAC_ACTIVE_LVLEX_Pos               0                                              /**< (DMAC_ACTIVE Position) Level x Channel Trigger Request Executing */
+#define DMAC_ACTIVE_LVLEX_Msk               (_U_(0xF) << DMAC_ACTIVE_LVLEX_Pos)            /**< (DMAC_ACTIVE Mask) LVLEX */
+#define DMAC_ACTIVE_LVLEX(value)            (DMAC_ACTIVE_LVLEX_Msk & ((value) << DMAC_ACTIVE_LVLEX_Pos))  
+
+/* -------- DMAC_BASEADDR : (DMAC Offset: 0x34) (R/W 32) Descriptor Memory Section Base Address -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_BASEADDR_OFFSET                (0x34)                                        /**<  (DMAC_BASEADDR) Descriptor Memory Section Base Address  Offset */
+#define DMAC_BASEADDR_RESETVALUE            _U_(0x00)                                     /**<  (DMAC_BASEADDR) Descriptor Memory Section Base Address  Reset Value */
+
+#define DMAC_BASEADDR_BASEADDR_Pos          0                                              /**< (DMAC_BASEADDR) Descriptor Memory Base Address Position */
+#define DMAC_BASEADDR_BASEADDR_Msk          (_U_(0xFFFFFFFF) << DMAC_BASEADDR_BASEADDR_Pos)  /**< (DMAC_BASEADDR) Descriptor Memory Base Address Mask */
+#define DMAC_BASEADDR_BASEADDR(value)       (DMAC_BASEADDR_BASEADDR_Msk & ((value) << DMAC_BASEADDR_BASEADDR_Pos))
+#define DMAC_BASEADDR_MASK                  _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_BASEADDR) Register MASK  (Use DMAC_BASEADDR_Msk instead)  */
+#define DMAC_BASEADDR_Msk                   _U_(0xFFFFFFFF)                                /**< (DMAC_BASEADDR) Register Mask  */
+
+
+/* -------- DMAC_WRBADDR : (DMAC Offset: 0x38) (R/W 32) Write-Back Memory Section Base Address -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_WRBADDR_OFFSET                 (0x38)                                        /**<  (DMAC_WRBADDR) Write-Back Memory Section Base Address  Offset */
+#define DMAC_WRBADDR_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_WRBADDR) Write-Back Memory Section Base Address  Reset Value */
+
+#define DMAC_WRBADDR_WRBADDR_Pos            0                                              /**< (DMAC_WRBADDR) Write-Back Memory Base Address Position */
+#define DMAC_WRBADDR_WRBADDR_Msk            (_U_(0xFFFFFFFF) << DMAC_WRBADDR_WRBADDR_Pos)  /**< (DMAC_WRBADDR) Write-Back Memory Base Address Mask */
+#define DMAC_WRBADDR_WRBADDR(value)         (DMAC_WRBADDR_WRBADDR_Msk & ((value) << DMAC_WRBADDR_WRBADDR_Pos))
+#define DMAC_WRBADDR_MASK                   _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_WRBADDR) Register MASK  (Use DMAC_WRBADDR_Msk instead)  */
+#define DMAC_WRBADDR_Msk                    _U_(0xFFFFFFFF)                                /**< (DMAC_WRBADDR) Register Mask  */
+
+
+/* -------- DMAC_CHID : (DMAC Offset: 0x3f) (R/W 8) Channel ID -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ID:3;                      /**< bit:   0..2  Channel ID                               */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DMAC_CHID_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHID_OFFSET                    (0x3F)                                        /**<  (DMAC_CHID) Channel ID  Offset */
+#define DMAC_CHID_RESETVALUE                _U_(0x00)                                     /**<  (DMAC_CHID) Channel ID  Reset Value */
+
+#define DMAC_CHID_ID_Pos                    0                                              /**< (DMAC_CHID) Channel ID Position */
+#define DMAC_CHID_ID_Msk                    (_U_(0x7) << DMAC_CHID_ID_Pos)                 /**< (DMAC_CHID) Channel ID Mask */
+#define DMAC_CHID_ID(value)                 (DMAC_CHID_ID_Msk & ((value) << DMAC_CHID_ID_Pos))
+#define DMAC_CHID_MASK                      _U_(0x07)                                      /**< \deprecated (DMAC_CHID) Register MASK  (Use DMAC_CHID_Msk instead)  */
+#define DMAC_CHID_Msk                       _U_(0x07)                                      /**< (DMAC_CHID) Register Mask  */
+
+
+/* -------- DMAC_CHCTRLA : (DMAC Offset: 0x40) (R/W 8) Channel Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Channel Software Reset                   */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Channel Enable                           */
+    uint8_t  :4;                        /**< bit:   2..5  Reserved */
+    uint8_t  RUNSTDBY:1;                /**< bit:      6  Channel run in standby                   */
+    uint8_t  :1;                        /**< bit:      7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DMAC_CHCTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHCTRLA_OFFSET                 (0x40)                                        /**<  (DMAC_CHCTRLA) Channel Control A  Offset */
+#define DMAC_CHCTRLA_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_CHCTRLA) Channel Control A  Reset Value */
+
+#define DMAC_CHCTRLA_SWRST_Pos              0                                              /**< (DMAC_CHCTRLA) Channel Software Reset Position */
+#define DMAC_CHCTRLA_SWRST_Msk              (_U_(0x1) << DMAC_CHCTRLA_SWRST_Pos)           /**< (DMAC_CHCTRLA) Channel Software Reset Mask */
+#define DMAC_CHCTRLA_SWRST                  DMAC_CHCTRLA_SWRST_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHCTRLA_SWRST_Msk instead */
+#define DMAC_CHCTRLA_ENABLE_Pos             1                                              /**< (DMAC_CHCTRLA) Channel Enable Position */
+#define DMAC_CHCTRLA_ENABLE_Msk             (_U_(0x1) << DMAC_CHCTRLA_ENABLE_Pos)          /**< (DMAC_CHCTRLA) Channel Enable Mask */
+#define DMAC_CHCTRLA_ENABLE                 DMAC_CHCTRLA_ENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHCTRLA_ENABLE_Msk instead */
+#define DMAC_CHCTRLA_RUNSTDBY_Pos           6                                              /**< (DMAC_CHCTRLA) Channel run in standby Position */
+#define DMAC_CHCTRLA_RUNSTDBY_Msk           (_U_(0x1) << DMAC_CHCTRLA_RUNSTDBY_Pos)        /**< (DMAC_CHCTRLA) Channel run in standby Mask */
+#define DMAC_CHCTRLA_RUNSTDBY               DMAC_CHCTRLA_RUNSTDBY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHCTRLA_RUNSTDBY_Msk instead */
+#define DMAC_CHCTRLA_MASK                   _U_(0x43)                                      /**< \deprecated (DMAC_CHCTRLA) Register MASK  (Use DMAC_CHCTRLA_Msk instead)  */
+#define DMAC_CHCTRLA_Msk                    _U_(0x43)                                      /**< (DMAC_CHCTRLA) Register Mask  */
+
+
+/* -------- DMAC_CHCTRLB : (DMAC Offset: 0x44) (R/W 32) Channel Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVACT:3;                   /**< bit:   0..2  Event Input Action                       */
+    uint32_t EVIE:1;                    /**< bit:      3  Channel Event Input Enable               */
+    uint32_t EVOE:1;                    /**< bit:      4  Channel Event Output Enable              */
+    uint32_t LVL:2;                     /**< bit:   5..6  Channel Arbitration Level                */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t TRIGSRC:5;                 /**< bit:  8..12  Trigger Source                           */
+    uint32_t :9;                        /**< bit: 13..21  Reserved */
+    uint32_t TRIGACT:2;                 /**< bit: 22..23  Trigger Action                           */
+    uint32_t CMD:2;                     /**< bit: 24..25  Software Command                         */
+    uint32_t :6;                        /**< bit: 26..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_CHCTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHCTRLB_OFFSET                 (0x44)                                        /**<  (DMAC_CHCTRLB) Channel Control B  Offset */
+#define DMAC_CHCTRLB_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_CHCTRLB) Channel Control B  Reset Value */
+
+#define DMAC_CHCTRLB_EVACT_Pos              0                                              /**< (DMAC_CHCTRLB) Event Input Action Position */
+#define DMAC_CHCTRLB_EVACT_Msk              (_U_(0x7) << DMAC_CHCTRLB_EVACT_Pos)           /**< (DMAC_CHCTRLB) Event Input Action Mask */
+#define DMAC_CHCTRLB_EVACT(value)           (DMAC_CHCTRLB_EVACT_Msk & ((value) << DMAC_CHCTRLB_EVACT_Pos))
+#define   DMAC_CHCTRLB_EVACT_NOACT_Val      _U_(0x0)                                       /**< (DMAC_CHCTRLB) No action  */
+#define   DMAC_CHCTRLB_EVACT_TRIG_Val       _U_(0x1)                                       /**< (DMAC_CHCTRLB) Transfer and periodic transfer trigger  */
+#define   DMAC_CHCTRLB_EVACT_CTRIG_Val      _U_(0x2)                                       /**< (DMAC_CHCTRLB) Conditional transfer trigger  */
+#define   DMAC_CHCTRLB_EVACT_CBLOCK_Val     _U_(0x3)                                       /**< (DMAC_CHCTRLB) Conditional block transfer  */
+#define   DMAC_CHCTRLB_EVACT_SUSPEND_Val    _U_(0x4)                                       /**< (DMAC_CHCTRLB) Channel suspend operation  */
+#define   DMAC_CHCTRLB_EVACT_RESUME_Val     _U_(0x5)                                       /**< (DMAC_CHCTRLB) Channel resume operation  */
+#define   DMAC_CHCTRLB_EVACT_SSKIP_Val      _U_(0x6)                                       /**< (DMAC_CHCTRLB) Skip next block suspend action  */
+#define DMAC_CHCTRLB_EVACT_NOACT            (DMAC_CHCTRLB_EVACT_NOACT_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) No action Position  */
+#define DMAC_CHCTRLB_EVACT_TRIG             (DMAC_CHCTRLB_EVACT_TRIG_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Transfer and periodic transfer trigger Position  */
+#define DMAC_CHCTRLB_EVACT_CTRIG            (DMAC_CHCTRLB_EVACT_CTRIG_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Conditional transfer trigger Position  */
+#define DMAC_CHCTRLB_EVACT_CBLOCK           (DMAC_CHCTRLB_EVACT_CBLOCK_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Conditional block transfer Position  */
+#define DMAC_CHCTRLB_EVACT_SUSPEND          (DMAC_CHCTRLB_EVACT_SUSPEND_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Channel suspend operation Position  */
+#define DMAC_CHCTRLB_EVACT_RESUME           (DMAC_CHCTRLB_EVACT_RESUME_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Channel resume operation Position  */
+#define DMAC_CHCTRLB_EVACT_SSKIP            (DMAC_CHCTRLB_EVACT_SSKIP_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Skip next block suspend action Position  */
+#define DMAC_CHCTRLB_EVIE_Pos               3                                              /**< (DMAC_CHCTRLB) Channel Event Input Enable Position */
+#define DMAC_CHCTRLB_EVIE_Msk               (_U_(0x1) << DMAC_CHCTRLB_EVIE_Pos)            /**< (DMAC_CHCTRLB) Channel Event Input Enable Mask */
+#define DMAC_CHCTRLB_EVIE                   DMAC_CHCTRLB_EVIE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHCTRLB_EVIE_Msk instead */
+#define DMAC_CHCTRLB_EVOE_Pos               4                                              /**< (DMAC_CHCTRLB) Channel Event Output Enable Position */
+#define DMAC_CHCTRLB_EVOE_Msk               (_U_(0x1) << DMAC_CHCTRLB_EVOE_Pos)            /**< (DMAC_CHCTRLB) Channel Event Output Enable Mask */
+#define DMAC_CHCTRLB_EVOE                   DMAC_CHCTRLB_EVOE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHCTRLB_EVOE_Msk instead */
+#define DMAC_CHCTRLB_LVL_Pos                5                                              /**< (DMAC_CHCTRLB) Channel Arbitration Level Position */
+#define DMAC_CHCTRLB_LVL_Msk                (_U_(0x3) << DMAC_CHCTRLB_LVL_Pos)             /**< (DMAC_CHCTRLB) Channel Arbitration Level Mask */
+#define DMAC_CHCTRLB_LVL(value)             (DMAC_CHCTRLB_LVL_Msk & ((value) << DMAC_CHCTRLB_LVL_Pos))
+#define DMAC_CHCTRLB_TRIGSRC_Pos            8                                              /**< (DMAC_CHCTRLB) Trigger Source Position */
+#define DMAC_CHCTRLB_TRIGSRC_Msk            (_U_(0x1F) << DMAC_CHCTRLB_TRIGSRC_Pos)        /**< (DMAC_CHCTRLB) Trigger Source Mask */
+#define DMAC_CHCTRLB_TRIGSRC(value)         (DMAC_CHCTRLB_TRIGSRC_Msk & ((value) << DMAC_CHCTRLB_TRIGSRC_Pos))
+#define   DMAC_CHCTRLB_TRIGSRC_DISABLE_Val  _U_(0x0)                                       /**< (DMAC_CHCTRLB) Only software/event triggers  */
+#define DMAC_CHCTRLB_TRIGSRC_DISABLE        (DMAC_CHCTRLB_TRIGSRC_DISABLE_Val << DMAC_CHCTRLB_TRIGSRC_Pos)  /**< (DMAC_CHCTRLB) Only software/event triggers Position  */
+#define DMAC_CHCTRLB_TRIGACT_Pos            22                                             /**< (DMAC_CHCTRLB) Trigger Action Position */
+#define DMAC_CHCTRLB_TRIGACT_Msk            (_U_(0x3) << DMAC_CHCTRLB_TRIGACT_Pos)         /**< (DMAC_CHCTRLB) Trigger Action Mask */
+#define DMAC_CHCTRLB_TRIGACT(value)         (DMAC_CHCTRLB_TRIGACT_Msk & ((value) << DMAC_CHCTRLB_TRIGACT_Pos))
+#define   DMAC_CHCTRLB_TRIGACT_BLOCK_Val    _U_(0x0)                                       /**< (DMAC_CHCTRLB) One trigger required for each block transfer  */
+#define   DMAC_CHCTRLB_TRIGACT_BEAT_Val     _U_(0x2)                                       /**< (DMAC_CHCTRLB) One trigger required for each beat transfer  */
+#define   DMAC_CHCTRLB_TRIGACT_TRANSACTION_Val _U_(0x3)                                       /**< (DMAC_CHCTRLB) One trigger required for each transaction  */
+#define DMAC_CHCTRLB_TRIGACT_BLOCK          (DMAC_CHCTRLB_TRIGACT_BLOCK_Val << DMAC_CHCTRLB_TRIGACT_Pos)  /**< (DMAC_CHCTRLB) One trigger required for each block transfer Position  */
+#define DMAC_CHCTRLB_TRIGACT_BEAT           (DMAC_CHCTRLB_TRIGACT_BEAT_Val << DMAC_CHCTRLB_TRIGACT_Pos)  /**< (DMAC_CHCTRLB) One trigger required for each beat transfer Position  */
+#define DMAC_CHCTRLB_TRIGACT_TRANSACTION    (DMAC_CHCTRLB_TRIGACT_TRANSACTION_Val << DMAC_CHCTRLB_TRIGACT_Pos)  /**< (DMAC_CHCTRLB) One trigger required for each transaction Position  */
+#define DMAC_CHCTRLB_CMD_Pos                24                                             /**< (DMAC_CHCTRLB) Software Command Position */
+#define DMAC_CHCTRLB_CMD_Msk                (_U_(0x3) << DMAC_CHCTRLB_CMD_Pos)             /**< (DMAC_CHCTRLB) Software Command Mask */
+#define DMAC_CHCTRLB_CMD(value)             (DMAC_CHCTRLB_CMD_Msk & ((value) << DMAC_CHCTRLB_CMD_Pos))
+#define   DMAC_CHCTRLB_CMD_NOACT_Val        _U_(0x0)                                       /**< (DMAC_CHCTRLB) No action  */
+#define   DMAC_CHCTRLB_CMD_SUSPEND_Val      _U_(0x1)                                       /**< (DMAC_CHCTRLB) Channel suspend operation  */
+#define   DMAC_CHCTRLB_CMD_RESUME_Val       _U_(0x2)                                       /**< (DMAC_CHCTRLB) Channel resume operation  */
+#define DMAC_CHCTRLB_CMD_NOACT              (DMAC_CHCTRLB_CMD_NOACT_Val << DMAC_CHCTRLB_CMD_Pos)  /**< (DMAC_CHCTRLB) No action Position  */
+#define DMAC_CHCTRLB_CMD_SUSPEND            (DMAC_CHCTRLB_CMD_SUSPEND_Val << DMAC_CHCTRLB_CMD_Pos)  /**< (DMAC_CHCTRLB) Channel suspend operation Position  */
+#define DMAC_CHCTRLB_CMD_RESUME             (DMAC_CHCTRLB_CMD_RESUME_Val << DMAC_CHCTRLB_CMD_Pos)  /**< (DMAC_CHCTRLB) Channel resume operation Position  */
+#define DMAC_CHCTRLB_MASK                   _U_(0x3C01F7F)                                 /**< \deprecated (DMAC_CHCTRLB) Register MASK  (Use DMAC_CHCTRLB_Msk instead)  */
+#define DMAC_CHCTRLB_Msk                    _U_(0x3C01F7F)                                 /**< (DMAC_CHCTRLB) Register Mask  */
+
+
+/* -------- DMAC_CHINTENCLR : (DMAC Offset: 0x4c) (R/W 8) Channel Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHINTENCLR_OFFSET              (0x4C)                                        /**<  (DMAC_CHINTENCLR) Channel Interrupt Enable Clear  Offset */
+#define DMAC_CHINTENCLR_RESETVALUE          _U_(0x00)                                     /**<  (DMAC_CHINTENCLR) Channel Interrupt Enable Clear  Reset Value */
+
+#define DMAC_CHINTENCLR_TERR_Pos            0                                              /**< (DMAC_CHINTENCLR) Channel Transfer Error Interrupt Enable Position */
+#define DMAC_CHINTENCLR_TERR_Msk            (_U_(0x1) << DMAC_CHINTENCLR_TERR_Pos)         /**< (DMAC_CHINTENCLR) Channel Transfer Error Interrupt Enable Mask */
+#define DMAC_CHINTENCLR_TERR                DMAC_CHINTENCLR_TERR_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENCLR_TERR_Msk instead */
+#define DMAC_CHINTENCLR_TCMPL_Pos           1                                              /**< (DMAC_CHINTENCLR) Channel Transfer Complete Interrupt Enable Position */
+#define DMAC_CHINTENCLR_TCMPL_Msk           (_U_(0x1) << DMAC_CHINTENCLR_TCMPL_Pos)        /**< (DMAC_CHINTENCLR) Channel Transfer Complete Interrupt Enable Mask */
+#define DMAC_CHINTENCLR_TCMPL               DMAC_CHINTENCLR_TCMPL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENCLR_TCMPL_Msk instead */
+#define DMAC_CHINTENCLR_SUSP_Pos            2                                              /**< (DMAC_CHINTENCLR) Channel Suspend Interrupt Enable Position */
+#define DMAC_CHINTENCLR_SUSP_Msk            (_U_(0x1) << DMAC_CHINTENCLR_SUSP_Pos)         /**< (DMAC_CHINTENCLR) Channel Suspend Interrupt Enable Mask */
+#define DMAC_CHINTENCLR_SUSP                DMAC_CHINTENCLR_SUSP_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENCLR_SUSP_Msk instead */
+#define DMAC_CHINTENCLR_MASK                _U_(0x07)                                      /**< \deprecated (DMAC_CHINTENCLR) Register MASK  (Use DMAC_CHINTENCLR_Msk instead)  */
+#define DMAC_CHINTENCLR_Msk                 _U_(0x07)                                      /**< (DMAC_CHINTENCLR) Register Mask  */
+
+
+/* -------- DMAC_CHINTENSET : (DMAC Offset: 0x4d) (R/W 8) Channel Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHINTENSET_OFFSET              (0x4D)                                        /**<  (DMAC_CHINTENSET) Channel Interrupt Enable Set  Offset */
+#define DMAC_CHINTENSET_RESETVALUE          _U_(0x00)                                     /**<  (DMAC_CHINTENSET) Channel Interrupt Enable Set  Reset Value */
+
+#define DMAC_CHINTENSET_TERR_Pos            0                                              /**< (DMAC_CHINTENSET) Channel Transfer Error Interrupt Enable Position */
+#define DMAC_CHINTENSET_TERR_Msk            (_U_(0x1) << DMAC_CHINTENSET_TERR_Pos)         /**< (DMAC_CHINTENSET) Channel Transfer Error Interrupt Enable Mask */
+#define DMAC_CHINTENSET_TERR                DMAC_CHINTENSET_TERR_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENSET_TERR_Msk instead */
+#define DMAC_CHINTENSET_TCMPL_Pos           1                                              /**< (DMAC_CHINTENSET) Channel Transfer Complete Interrupt Enable Position */
+#define DMAC_CHINTENSET_TCMPL_Msk           (_U_(0x1) << DMAC_CHINTENSET_TCMPL_Pos)        /**< (DMAC_CHINTENSET) Channel Transfer Complete Interrupt Enable Mask */
+#define DMAC_CHINTENSET_TCMPL               DMAC_CHINTENSET_TCMPL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENSET_TCMPL_Msk instead */
+#define DMAC_CHINTENSET_SUSP_Pos            2                                              /**< (DMAC_CHINTENSET) Channel Suspend Interrupt Enable Position */
+#define DMAC_CHINTENSET_SUSP_Msk            (_U_(0x1) << DMAC_CHINTENSET_SUSP_Pos)         /**< (DMAC_CHINTENSET) Channel Suspend Interrupt Enable Mask */
+#define DMAC_CHINTENSET_SUSP                DMAC_CHINTENSET_SUSP_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENSET_SUSP_Msk instead */
+#define DMAC_CHINTENSET_MASK                _U_(0x07)                                      /**< \deprecated (DMAC_CHINTENSET) Register MASK  (Use DMAC_CHINTENSET_Msk instead)  */
+#define DMAC_CHINTENSET_Msk                 _U_(0x07)                                      /**< (DMAC_CHINTENSET) Register Mask  */
+
+
+/* -------- DMAC_CHINTFLAG : (DMAC Offset: 0x4e) (R/W 8) Channel Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHINTFLAG_OFFSET               (0x4E)                                        /**<  (DMAC_CHINTFLAG) Channel Interrupt Flag Status and Clear  Offset */
+#define DMAC_CHINTFLAG_RESETVALUE           _U_(0x00)                                     /**<  (DMAC_CHINTFLAG) Channel Interrupt Flag Status and Clear  Reset Value */
+
+#define DMAC_CHINTFLAG_TERR_Pos             0                                              /**< (DMAC_CHINTFLAG) Channel Transfer Error Position */
+#define DMAC_CHINTFLAG_TERR_Msk             (_U_(0x1) << DMAC_CHINTFLAG_TERR_Pos)          /**< (DMAC_CHINTFLAG) Channel Transfer Error Mask */
+#define DMAC_CHINTFLAG_TERR                 DMAC_CHINTFLAG_TERR_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTFLAG_TERR_Msk instead */
+#define DMAC_CHINTFLAG_TCMPL_Pos            1                                              /**< (DMAC_CHINTFLAG) Channel Transfer Complete Position */
+#define DMAC_CHINTFLAG_TCMPL_Msk            (_U_(0x1) << DMAC_CHINTFLAG_TCMPL_Pos)         /**< (DMAC_CHINTFLAG) Channel Transfer Complete Mask */
+#define DMAC_CHINTFLAG_TCMPL                DMAC_CHINTFLAG_TCMPL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTFLAG_TCMPL_Msk instead */
+#define DMAC_CHINTFLAG_SUSP_Pos             2                                              /**< (DMAC_CHINTFLAG) Channel Suspend Position */
+#define DMAC_CHINTFLAG_SUSP_Msk             (_U_(0x1) << DMAC_CHINTFLAG_SUSP_Pos)          /**< (DMAC_CHINTFLAG) Channel Suspend Mask */
+#define DMAC_CHINTFLAG_SUSP                 DMAC_CHINTFLAG_SUSP_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTFLAG_SUSP_Msk instead */
+#define DMAC_CHINTFLAG_MASK                 _U_(0x07)                                      /**< \deprecated (DMAC_CHINTFLAG) Register MASK  (Use DMAC_CHINTFLAG_Msk instead)  */
+#define DMAC_CHINTFLAG_Msk                  _U_(0x07)                                      /**< (DMAC_CHINTFLAG) Register Mask  */
+
+
+/* -------- DMAC_CHSTATUS : (DMAC Offset: 0x4f) (R/ 8) Channel Status -------- */
+#if !(defined(__ASSEMBLER__) || 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  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DMAC_CHSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHSTATUS_OFFSET                (0x4F)                                        /**<  (DMAC_CHSTATUS) Channel Status  Offset */
+#define DMAC_CHSTATUS_RESETVALUE            _U_(0x00)                                     /**<  (DMAC_CHSTATUS) Channel Status  Reset Value */
+
+#define DMAC_CHSTATUS_PEND_Pos              0                                              /**< (DMAC_CHSTATUS) Channel Pending Position */
+#define DMAC_CHSTATUS_PEND_Msk              (_U_(0x1) << DMAC_CHSTATUS_PEND_Pos)           /**< (DMAC_CHSTATUS) Channel Pending Mask */
+#define DMAC_CHSTATUS_PEND                  DMAC_CHSTATUS_PEND_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHSTATUS_PEND_Msk instead */
+#define DMAC_CHSTATUS_BUSY_Pos              1                                              /**< (DMAC_CHSTATUS) Channel Busy Position */
+#define DMAC_CHSTATUS_BUSY_Msk              (_U_(0x1) << DMAC_CHSTATUS_BUSY_Pos)           /**< (DMAC_CHSTATUS) Channel Busy Mask */
+#define DMAC_CHSTATUS_BUSY                  DMAC_CHSTATUS_BUSY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHSTATUS_BUSY_Msk instead */
+#define DMAC_CHSTATUS_FERR_Pos              2                                              /**< (DMAC_CHSTATUS) Channel Fetch Error Position */
+#define DMAC_CHSTATUS_FERR_Msk              (_U_(0x1) << DMAC_CHSTATUS_FERR_Pos)           /**< (DMAC_CHSTATUS) Channel Fetch Error Mask */
+#define DMAC_CHSTATUS_FERR                  DMAC_CHSTATUS_FERR_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHSTATUS_FERR_Msk instead */
+#define DMAC_CHSTATUS_MASK                  _U_(0x07)                                      /**< \deprecated (DMAC_CHSTATUS) Register MASK  (Use DMAC_CHSTATUS_Msk instead)  */
+#define DMAC_CHSTATUS_Msk                   _U_(0x07)                                      /**< (DMAC_CHSTATUS) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief DMAC_DESCRIPTOR hardware registers */
+typedef struct {  /* Direct Memory Access Controller */
+  __IO DMAC_BTCTRL_Type               BTCTRL;         /**< Offset: 0x00 (R/W  16) Block Transfer Control */
+  __IO DMAC_BTCNT_Type                BTCNT;          /**< Offset: 0x02 (R/W  16) Block Transfer Count */
+  __IO DMAC_SRCADDR_Type              SRCADDR;        /**< Offset: 0x04 (R/W  32) Block Transfer Source Address */
+  __IO DMAC_DSTADDR_Type              DSTADDR;        /**< Offset: 0x08 (R/W  32) Block Transfer Destination Address */
+  __IO DMAC_DESCADDR_Type             DESCADDR;       /**< Offset: 0x0C (R/W  32) Next Descriptor Address */
+} DmacDescriptor
+#ifdef __GNUC__
+  __attribute__ ((aligned (8)))
+#endif
+;
+
+/** \brief DMAC hardware registers */
+typedef struct {  /* Direct Memory Access Controller */
+  __IO DMAC_CTRL_Type                 CTRL;           /**< Offset: 0x00 (R/W  16) Control */
+  __IO DMAC_CRCCTRL_Type              CRCCTRL;        /**< Offset: 0x02 (R/W  16) CRC Control */
+  __IO DMAC_CRCDATAIN_Type            CRCDATAIN;      /**< Offset: 0x04 (R/W  32) CRC Data Input */
+  __IO DMAC_CRCCHKSUM_Type            CRCCHKSUM;      /**< Offset: 0x08 (R/W  32) CRC Checksum */
+  __IO DMAC_CRCSTATUS_Type            CRCSTATUS;      /**< Offset: 0x0C (R/W   8) CRC Status */
+  __IO DMAC_DBGCTRL_Type              DBGCTRL;        /**< Offset: 0x0D (R/W   8) Debug Control */
+  __IO DMAC_QOSCTRL_Type              QOSCTRL;        /**< Offset: 0x0E (R/W   8) QOS Control */
+  __I  uint8_t                        Reserved1[1];
+  __IO DMAC_SWTRIGCTRL_Type           SWTRIGCTRL;     /**< Offset: 0x10 (R/W  32) Software Trigger Control */
+  __IO DMAC_PRICTRL0_Type             PRICTRL0;       /**< Offset: 0x14 (R/W  32) Priority Control 0 */
+  __I  uint8_t                        Reserved2[8];
+  __IO DMAC_INTPEND_Type              INTPEND;        /**< Offset: 0x20 (R/W  16) Interrupt Pending */
+  __I  uint8_t                        Reserved3[2];
+  __I  DMAC_INTSTATUS_Type            INTSTATUS;      /**< Offset: 0x24 (R/   32) Interrupt Status */
+  __I  DMAC_BUSYCH_Type               BUSYCH;         /**< Offset: 0x28 (R/   32) Busy Channels */
+  __I  DMAC_PENDCH_Type               PENDCH;         /**< Offset: 0x2C (R/   32) Pending Channels */
+  __I  DMAC_ACTIVE_Type               ACTIVE;         /**< Offset: 0x30 (R/   32) Active Channel and Levels */
+  __IO DMAC_BASEADDR_Type             BASEADDR;       /**< Offset: 0x34 (R/W  32) Descriptor Memory Section Base Address */
+  __IO DMAC_WRBADDR_Type              WRBADDR;        /**< Offset: 0x38 (R/W  32) Write-Back Memory Section Base Address */
+  __I  uint8_t                        Reserved4[3];
+  __IO DMAC_CHID_Type                 CHID;           /**< Offset: 0x3F (R/W   8) Channel ID */
+  __IO DMAC_CHCTRLA_Type              CHCTRLA;        /**< Offset: 0x40 (R/W   8) Channel Control A */
+  __I  uint8_t                        Reserved5[3];
+  __IO DMAC_CHCTRLB_Type              CHCTRLB;        /**< Offset: 0x44 (R/W  32) Channel Control B */
+  __I  uint8_t                        Reserved6[4];
+  __IO DMAC_CHINTENCLR_Type           CHINTENCLR;     /**< Offset: 0x4C (R/W   8) Channel Interrupt Enable Clear */
+  __IO DMAC_CHINTENSET_Type           CHINTENSET;     /**< Offset: 0x4D (R/W   8) Channel Interrupt Enable Set */
+  __IO DMAC_CHINTFLAG_Type            CHINTFLAG;      /**< Offset: 0x4E (R/W   8) Channel Interrupt Flag Status and Clear */
+  __I  DMAC_CHSTATUS_Type             CHSTATUS;       /**< Offset: 0x4F (R/    8) Channel Status */
+} Dmac;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** \brief DMAC_DESCRIPTOR memory section attribute */
+#define SECTION_DMAC_DESCRIPTOR
+
+/** @}  end of Direct Memory Access Controller */
+
+#endif /* _SAML10_DMAC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/dsu.h b/cpu/sam0_common/include/vendor/saml10/include/component/dsu.h
new file mode 100644
index 0000000000..f8ffb7b240
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/dsu.h
@@ -0,0 +1,785 @@
+/**
+ * \file
+ *
+ * \brief Component description for DSU
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_DSU_COMPONENT_H_
+#define _SAML10_DSU_COMPONENT_H_
+#define _SAML10_DSU_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Device Service Unit
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR DSU */
+/* ========================================================================== */
+
+#define DSU_U2810                      /**< (DSU) Module ID */
+#define REV_DSU 0x100                  /**< (DSU) Module revision */
+
+/* -------- DSU_CTRL : (DSU Offset: 0x00) (/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  :1;                        /**< bit:      1  Reserved */
+    uint8_t  CRC:1;                     /**< bit:      2  32-bit Cyclic Redundancy Code            */
+    uint8_t  MBIST:1;                   /**< bit:      3  Memory built-in self-test                */
+    uint8_t  :4;                        /**< bit:   4..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DSU_CTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CTRL_OFFSET                     (0x00)                                        /**<  (DSU_CTRL) Control  Offset */
+#define DSU_CTRL_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_CTRL) Control  Reset Value */
+
+#define DSU_CTRL_SWRST_Pos                  0                                              /**< (DSU_CTRL) Software Reset Position */
+#define DSU_CTRL_SWRST_Msk                  (_U_(0x1) << DSU_CTRL_SWRST_Pos)               /**< (DSU_CTRL) Software Reset Mask */
+#define DSU_CTRL_SWRST                      DSU_CTRL_SWRST_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_CTRL_SWRST_Msk instead */
+#define DSU_CTRL_CRC_Pos                    2                                              /**< (DSU_CTRL) 32-bit Cyclic Redundancy Code Position */
+#define DSU_CTRL_CRC_Msk                    (_U_(0x1) << DSU_CTRL_CRC_Pos)                 /**< (DSU_CTRL) 32-bit Cyclic Redundancy Code Mask */
+#define DSU_CTRL_CRC                        DSU_CTRL_CRC_Msk                               /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_CTRL_CRC_Msk instead */
+#define DSU_CTRL_MBIST_Pos                  3                                              /**< (DSU_CTRL) Memory built-in self-test Position */
+#define DSU_CTRL_MBIST_Msk                  (_U_(0x1) << DSU_CTRL_MBIST_Pos)               /**< (DSU_CTRL) Memory built-in self-test Mask */
+#define DSU_CTRL_MBIST                      DSU_CTRL_MBIST_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_CTRL_MBIST_Msk instead */
+#define DSU_CTRL_MASK                       _U_(0x0D)                                      /**< \deprecated (DSU_CTRL) Register MASK  (Use DSU_CTRL_Msk instead)  */
+#define DSU_CTRL_Msk                        _U_(0x0D)                                      /**< (DSU_CTRL) Register Mask  */
+
+
+/* -------- DSU_STATUSA : (DSU Offset: 0x01) (R/W 8) Status A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DONE:1;                    /**< bit:      0  Done                                     */
+    uint8_t  CRSTEXT:1;                 /**< bit:      1  CPU Reset Phase Extension                */
+    uint8_t  BERR:1;                    /**< bit:      2  Bus Error                                */
+    uint8_t  FAIL:1;                    /**< bit:      3  Failure                                  */
+    uint8_t  PERR:1;                    /**< bit:      4  Protection Error Detected by the State Machine */
+    uint8_t  BREXT:1;                   /**< bit:      5  BootRom Phase Extension                  */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DSU_STATUSA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_STATUSA_OFFSET                  (0x01)                                        /**<  (DSU_STATUSA) Status A  Offset */
+#define DSU_STATUSA_RESETVALUE              _U_(0x00)                                     /**<  (DSU_STATUSA) Status A  Reset Value */
+
+#define DSU_STATUSA_DONE_Pos                0                                              /**< (DSU_STATUSA) Done Position */
+#define DSU_STATUSA_DONE_Msk                (_U_(0x1) << DSU_STATUSA_DONE_Pos)             /**< (DSU_STATUSA) Done Mask */
+#define DSU_STATUSA_DONE                    DSU_STATUSA_DONE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_DONE_Msk instead */
+#define DSU_STATUSA_CRSTEXT_Pos             1                                              /**< (DSU_STATUSA) CPU Reset Phase Extension Position */
+#define DSU_STATUSA_CRSTEXT_Msk             (_U_(0x1) << DSU_STATUSA_CRSTEXT_Pos)          /**< (DSU_STATUSA) CPU Reset Phase Extension Mask */
+#define DSU_STATUSA_CRSTEXT                 DSU_STATUSA_CRSTEXT_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_CRSTEXT_Msk instead */
+#define DSU_STATUSA_BERR_Pos                2                                              /**< (DSU_STATUSA) Bus Error Position */
+#define DSU_STATUSA_BERR_Msk                (_U_(0x1) << DSU_STATUSA_BERR_Pos)             /**< (DSU_STATUSA) Bus Error Mask */
+#define DSU_STATUSA_BERR                    DSU_STATUSA_BERR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_BERR_Msk instead */
+#define DSU_STATUSA_FAIL_Pos                3                                              /**< (DSU_STATUSA) Failure Position */
+#define DSU_STATUSA_FAIL_Msk                (_U_(0x1) << DSU_STATUSA_FAIL_Pos)             /**< (DSU_STATUSA) Failure Mask */
+#define DSU_STATUSA_FAIL                    DSU_STATUSA_FAIL_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_FAIL_Msk instead */
+#define DSU_STATUSA_PERR_Pos                4                                              /**< (DSU_STATUSA) Protection Error Detected by the State Machine Position */
+#define DSU_STATUSA_PERR_Msk                (_U_(0x1) << DSU_STATUSA_PERR_Pos)             /**< (DSU_STATUSA) Protection Error Detected by the State Machine Mask */
+#define DSU_STATUSA_PERR                    DSU_STATUSA_PERR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_PERR_Msk instead */
+#define DSU_STATUSA_BREXT_Pos               5                                              /**< (DSU_STATUSA) BootRom Phase Extension Position */
+#define DSU_STATUSA_BREXT_Msk               (_U_(0x1) << DSU_STATUSA_BREXT_Pos)            /**< (DSU_STATUSA) BootRom Phase Extension Mask */
+#define DSU_STATUSA_BREXT                   DSU_STATUSA_BREXT_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_BREXT_Msk instead */
+#define DSU_STATUSA_MASK                    _U_(0x3F)                                      /**< \deprecated (DSU_STATUSA) Register MASK  (Use DSU_STATUSA_Msk instead)  */
+#define DSU_STATUSA_Msk                     _U_(0x3F)                                      /**< (DSU_STATUSA) Register Mask  */
+
+
+/* -------- DSU_STATUSB : (DSU Offset: 0x02) (R/ 8) Status B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DAL:2;                     /**< bit:   0..1  Debugger Access Level                    */
+    uint8_t  DBGPRES:1;                 /**< bit:      2  Debugger Present                         */
+    uint8_t  HPE:1;                     /**< bit:      3  Hot-Plugging Enable                      */
+    uint8_t  DCCD0:1;                   /**< bit:      4  Debug Communication Channel 0 Dirty      */
+    uint8_t  DCCD1:1;                   /**< bit:      5  Debug Communication Channel 1 Dirty      */
+    uint8_t  BCCD0:1;                   /**< bit:      6  Boot ROM Communication Channel 0 Dirty   */
+    uint8_t  BCCD1:1;                   /**< bit:      7  Boot ROM Communication Channel 1 Dirty   */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  :4;                        /**< bit:   0..3  Reserved */
+    uint8_t  DCCD:2;                    /**< bit:   4..5  Debug Communication Channel x Dirty      */
+    uint8_t  BCCD:2;                    /**< bit:   6..7  Boot ROM Communication Channel x Dirty   */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} DSU_STATUSB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_STATUSB_OFFSET                  (0x02)                                        /**<  (DSU_STATUSB) Status B  Offset */
+#define DSU_STATUSB_RESETVALUE              _U_(0x00)                                     /**<  (DSU_STATUSB) Status B  Reset Value */
+
+#define DSU_STATUSB_DAL_Pos                 0                                              /**< (DSU_STATUSB) Debugger Access Level Position */
+#define DSU_STATUSB_DAL_Msk                 (_U_(0x3) << DSU_STATUSB_DAL_Pos)              /**< (DSU_STATUSB) Debugger Access Level Mask */
+#define DSU_STATUSB_DAL(value)              (DSU_STATUSB_DAL_Msk & ((value) << DSU_STATUSB_DAL_Pos))
+#define   DSU_STATUSB_DAL_SECURED_Val       _U_(0x0)                                       /**< (DSU_STATUSB)   */
+#define   DSU_STATUSB_DAL_NS_DEBUG_Val      _U_(0x1)                                       /**< (DSU_STATUSB)   */
+#define   DSU_STATUSB_DAL_FULL_DEBUG_Val    _U_(0x2)                                       /**< (DSU_STATUSB)   */
+#define DSU_STATUSB_DAL_SECURED             (DSU_STATUSB_DAL_SECURED_Val << DSU_STATUSB_DAL_Pos)  /**< (DSU_STATUSB)  Position  */
+#define DSU_STATUSB_DAL_NS_DEBUG            (DSU_STATUSB_DAL_NS_DEBUG_Val << DSU_STATUSB_DAL_Pos)  /**< (DSU_STATUSB)  Position  */
+#define DSU_STATUSB_DAL_FULL_DEBUG          (DSU_STATUSB_DAL_FULL_DEBUG_Val << DSU_STATUSB_DAL_Pos)  /**< (DSU_STATUSB)  Position  */
+#define DSU_STATUSB_DBGPRES_Pos             2                                              /**< (DSU_STATUSB) Debugger Present Position */
+#define DSU_STATUSB_DBGPRES_Msk             (_U_(0x1) << DSU_STATUSB_DBGPRES_Pos)          /**< (DSU_STATUSB) Debugger Present Mask */
+#define DSU_STATUSB_DBGPRES                 DSU_STATUSB_DBGPRES_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_DBGPRES_Msk instead */
+#define DSU_STATUSB_HPE_Pos                 3                                              /**< (DSU_STATUSB) Hot-Plugging Enable Position */
+#define DSU_STATUSB_HPE_Msk                 (_U_(0x1) << DSU_STATUSB_HPE_Pos)              /**< (DSU_STATUSB) Hot-Plugging Enable Mask */
+#define DSU_STATUSB_HPE                     DSU_STATUSB_HPE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_HPE_Msk instead */
+#define DSU_STATUSB_DCCD0_Pos               4                                              /**< (DSU_STATUSB) Debug Communication Channel 0 Dirty Position */
+#define DSU_STATUSB_DCCD0_Msk               (_U_(0x1) << DSU_STATUSB_DCCD0_Pos)            /**< (DSU_STATUSB) Debug Communication Channel 0 Dirty Mask */
+#define DSU_STATUSB_DCCD0                   DSU_STATUSB_DCCD0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_DCCD0_Msk instead */
+#define DSU_STATUSB_DCCD1_Pos               5                                              /**< (DSU_STATUSB) Debug Communication Channel 1 Dirty Position */
+#define DSU_STATUSB_DCCD1_Msk               (_U_(0x1) << DSU_STATUSB_DCCD1_Pos)            /**< (DSU_STATUSB) Debug Communication Channel 1 Dirty Mask */
+#define DSU_STATUSB_DCCD1                   DSU_STATUSB_DCCD1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_DCCD1_Msk instead */
+#define DSU_STATUSB_BCCD0_Pos               6                                              /**< (DSU_STATUSB) Boot ROM Communication Channel 0 Dirty Position */
+#define DSU_STATUSB_BCCD0_Msk               (_U_(0x1) << DSU_STATUSB_BCCD0_Pos)            /**< (DSU_STATUSB) Boot ROM Communication Channel 0 Dirty Mask */
+#define DSU_STATUSB_BCCD0                   DSU_STATUSB_BCCD0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_BCCD0_Msk instead */
+#define DSU_STATUSB_BCCD1_Pos               7                                              /**< (DSU_STATUSB) Boot ROM Communication Channel 1 Dirty Position */
+#define DSU_STATUSB_BCCD1_Msk               (_U_(0x1) << DSU_STATUSB_BCCD1_Pos)            /**< (DSU_STATUSB) Boot ROM Communication Channel 1 Dirty Mask */
+#define DSU_STATUSB_BCCD1                   DSU_STATUSB_BCCD1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_BCCD1_Msk instead */
+#define DSU_STATUSB_MASK                    _U_(0xFF)                                      /**< \deprecated (DSU_STATUSB) Register MASK  (Use DSU_STATUSB_Msk instead)  */
+#define DSU_STATUSB_Msk                     _U_(0xFF)                                      /**< (DSU_STATUSB) Register Mask  */
+
+#define DSU_STATUSB_DCCD_Pos                4                                              /**< (DSU_STATUSB Position) Debug Communication Channel x Dirty */
+#define DSU_STATUSB_DCCD_Msk                (_U_(0x3) << DSU_STATUSB_DCCD_Pos)             /**< (DSU_STATUSB Mask) DCCD */
+#define DSU_STATUSB_DCCD(value)             (DSU_STATUSB_DCCD_Msk & ((value) << DSU_STATUSB_DCCD_Pos))  
+#define DSU_STATUSB_BCCD_Pos                6                                              /**< (DSU_STATUSB Position) Boot ROM Communication Channel x Dirty */
+#define DSU_STATUSB_BCCD_Msk                (_U_(0x3) << DSU_STATUSB_BCCD_Pos)             /**< (DSU_STATUSB Mask) BCCD */
+#define DSU_STATUSB_BCCD(value)             (DSU_STATUSB_BCCD_Msk & ((value) << DSU_STATUSB_BCCD_Pos))  
+
+/* -------- DSU_STATUSC : (DSU Offset: 0x03) (R/ 8) Status C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint8_t  reg;                         /**< Type used for register access */
+} DSU_STATUSC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_STATUSC_OFFSET                  (0x03)                                        /**<  (DSU_STATUSC) Status C  Offset */
+#define DSU_STATUSC_RESETVALUE              _U_(0x00)                                     /**<  (DSU_STATUSC) Status C  Reset Value */
+
+#define DSU_STATUSC_MASK                    _U_(0x00)                                      /**< \deprecated (DSU_STATUSC) Register MASK  (Use DSU_STATUSC_Msk instead)  */
+#define DSU_STATUSC_Msk                     _U_(0x00)                                      /**< (DSU_STATUSC) Register Mask  */
+
+
+/* -------- DSU_ADDR : (DSU Offset: 0x04) (R/W 32) Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t AMOD:2;                    /**< bit:   0..1  Access Mode                              */
+    uint32_t ADDR:30;                   /**< bit:  2..31  Address                                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_ADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_ADDR_OFFSET                     (0x04)                                        /**<  (DSU_ADDR) Address  Offset */
+#define DSU_ADDR_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_ADDR) Address  Reset Value */
+
+#define DSU_ADDR_AMOD_Pos                   0                                              /**< (DSU_ADDR) Access Mode Position */
+#define DSU_ADDR_AMOD_Msk                   (_U_(0x3) << DSU_ADDR_AMOD_Pos)                /**< (DSU_ADDR) Access Mode Mask */
+#define DSU_ADDR_AMOD(value)                (DSU_ADDR_AMOD_Msk & ((value) << DSU_ADDR_AMOD_Pos))
+#define DSU_ADDR_ADDR_Pos                   2                                              /**< (DSU_ADDR) Address Position */
+#define DSU_ADDR_ADDR_Msk                   (_U_(0x3FFFFFFF) << DSU_ADDR_ADDR_Pos)         /**< (DSU_ADDR) Address Mask */
+#define DSU_ADDR_ADDR(value)                (DSU_ADDR_ADDR_Msk & ((value) << DSU_ADDR_ADDR_Pos))
+#define DSU_ADDR_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_ADDR) Register MASK  (Use DSU_ADDR_Msk instead)  */
+#define DSU_ADDR_Msk                        _U_(0xFFFFFFFF)                                /**< (DSU_ADDR) Register Mask  */
+
+
+/* -------- DSU_LENGTH : (DSU Offset: 0x08) (R/W 32) Length -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :2;                        /**< bit:   0..1  Reserved */
+    uint32_t LENGTH:30;                 /**< bit:  2..31  Length                                   */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_LENGTH_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_LENGTH_OFFSET                   (0x08)                                        /**<  (DSU_LENGTH) Length  Offset */
+#define DSU_LENGTH_RESETVALUE               _U_(0x00)                                     /**<  (DSU_LENGTH) Length  Reset Value */
+
+#define DSU_LENGTH_LENGTH_Pos               2                                              /**< (DSU_LENGTH) Length Position */
+#define DSU_LENGTH_LENGTH_Msk               (_U_(0x3FFFFFFF) << DSU_LENGTH_LENGTH_Pos)     /**< (DSU_LENGTH) Length Mask */
+#define DSU_LENGTH_LENGTH(value)            (DSU_LENGTH_LENGTH_Msk & ((value) << DSU_LENGTH_LENGTH_Pos))
+#define DSU_LENGTH_MASK                     _U_(0xFFFFFFFC)                                /**< \deprecated (DSU_LENGTH) Register MASK  (Use DSU_LENGTH_Msk instead)  */
+#define DSU_LENGTH_Msk                      _U_(0xFFFFFFFC)                                /**< (DSU_LENGTH) Register Mask  */
+
+
+/* -------- DSU_DATA : (DSU Offset: 0x0c) (R/W 32) Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:32;                   /**< bit:  0..31  Data                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_DATA_OFFSET                     (0x0C)                                        /**<  (DSU_DATA) Data  Offset */
+#define DSU_DATA_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_DATA) Data  Reset Value */
+
+#define DSU_DATA_DATA_Pos                   0                                              /**< (DSU_DATA) Data Position */
+#define DSU_DATA_DATA_Msk                   (_U_(0xFFFFFFFF) << DSU_DATA_DATA_Pos)         /**< (DSU_DATA) Data Mask */
+#define DSU_DATA_DATA(value)                (DSU_DATA_DATA_Msk & ((value) << DSU_DATA_DATA_Pos))
+#define DSU_DATA_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_DATA) Register MASK  (Use DSU_DATA_Msk instead)  */
+#define DSU_DATA_Msk                        _U_(0xFFFFFFFF)                                /**< (DSU_DATA) Register Mask  */
+
+
+/* -------- DSU_DCC : (DSU Offset: 0x10) (R/W 32) Debug Communication Channel n -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:32;                   /**< bit:  0..31  Data                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_DCC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_DCC_OFFSET                      (0x10)                                        /**<  (DSU_DCC) Debug Communication Channel n  Offset */
+#define DSU_DCC_RESETVALUE                  _U_(0x00)                                     /**<  (DSU_DCC) Debug Communication Channel n  Reset Value */
+
+#define DSU_DCC_DATA_Pos                    0                                              /**< (DSU_DCC) Data Position */
+#define DSU_DCC_DATA_Msk                    (_U_(0xFFFFFFFF) << DSU_DCC_DATA_Pos)          /**< (DSU_DCC) Data Mask */
+#define DSU_DCC_DATA(value)                 (DSU_DCC_DATA_Msk & ((value) << DSU_DCC_DATA_Pos))
+#define DSU_DCC_MASK                        _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_DCC) Register MASK  (Use DSU_DCC_Msk instead)  */
+#define DSU_DCC_Msk                         _U_(0xFFFFFFFF)                                /**< (DSU_DCC) Register Mask  */
+
+
+/* -------- DSU_DID : (DSU Offset: 0x18) (R/ 32) Device Identification -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DEVSEL:8;                  /**< bit:   0..7  Device Select                            */
+    uint32_t REVISION:4;                /**< bit:  8..11  Revision Number                          */
+    uint32_t DIE:4;                     /**< bit: 12..15  Die Number                               */
+    uint32_t SERIES:6;                  /**< bit: 16..21  Series                                   */
+    uint32_t :1;                        /**< bit:     22  Reserved */
+    uint32_t FAMILY:5;                  /**< bit: 23..27  Family                                   */
+    uint32_t PROCESSOR:4;               /**< bit: 28..31  Processor                                */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_DID_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_DID_OFFSET                      (0x18)                                        /**<  (DSU_DID) Device Identification  Offset */
+#define DSU_DID_RESETVALUE                  _U_(0x20840000)                               /**<  (DSU_DID) Device Identification  Reset Value */
+
+#define DSU_DID_DEVSEL_Pos                  0                                              /**< (DSU_DID) Device Select Position */
+#define DSU_DID_DEVSEL_Msk                  (_U_(0xFF) << DSU_DID_DEVSEL_Pos)              /**< (DSU_DID) Device Select Mask */
+#define DSU_DID_DEVSEL(value)               (DSU_DID_DEVSEL_Msk & ((value) << DSU_DID_DEVSEL_Pos))
+#define DSU_DID_REVISION_Pos                8                                              /**< (DSU_DID) Revision Number Position */
+#define DSU_DID_REVISION_Msk                (_U_(0xF) << DSU_DID_REVISION_Pos)             /**< (DSU_DID) Revision Number Mask */
+#define DSU_DID_REVISION(value)             (DSU_DID_REVISION_Msk & ((value) << DSU_DID_REVISION_Pos))
+#define DSU_DID_DIE_Pos                     12                                             /**< (DSU_DID) Die Number Position */
+#define DSU_DID_DIE_Msk                     (_U_(0xF) << DSU_DID_DIE_Pos)                  /**< (DSU_DID) Die Number Mask */
+#define DSU_DID_DIE(value)                  (DSU_DID_DIE_Msk & ((value) << DSU_DID_DIE_Pos))
+#define DSU_DID_SERIES_Pos                  16                                             /**< (DSU_DID) Series Position */
+#define DSU_DID_SERIES_Msk                  (_U_(0x3F) << DSU_DID_SERIES_Pos)              /**< (DSU_DID) Series Mask */
+#define DSU_DID_SERIES(value)               (DSU_DID_SERIES_Msk & ((value) << DSU_DID_SERIES_Pos))
+#define   DSU_DID_SERIES_0_Val              _U_(0x0)                                       /**< (DSU_DID) Cortex-M0+ processor, basic feature set  */
+#define   DSU_DID_SERIES_1_Val              _U_(0x1)                                       /**< (DSU_DID) Cortex-M0+ processor, USB  */
+#define DSU_DID_SERIES_0                    (DSU_DID_SERIES_0_Val << DSU_DID_SERIES_Pos)   /**< (DSU_DID) Cortex-M0+ processor, basic feature set Position  */
+#define DSU_DID_SERIES_1                    (DSU_DID_SERIES_1_Val << DSU_DID_SERIES_Pos)   /**< (DSU_DID) Cortex-M0+ processor, USB Position  */
+#define DSU_DID_FAMILY_Pos                  23                                             /**< (DSU_DID) Family Position */
+#define DSU_DID_FAMILY_Msk                  (_U_(0x1F) << DSU_DID_FAMILY_Pos)              /**< (DSU_DID) Family Mask */
+#define DSU_DID_FAMILY(value)               (DSU_DID_FAMILY_Msk & ((value) << DSU_DID_FAMILY_Pos))
+#define   DSU_DID_FAMILY_0_Val              _U_(0x0)                                       /**< (DSU_DID) General purpose microcontroller  */
+#define   DSU_DID_FAMILY_1_Val              _U_(0x1)                                       /**< (DSU_DID) PicoPower  */
+#define DSU_DID_FAMILY_0                    (DSU_DID_FAMILY_0_Val << DSU_DID_FAMILY_Pos)   /**< (DSU_DID) General purpose microcontroller Position  */
+#define DSU_DID_FAMILY_1                    (DSU_DID_FAMILY_1_Val << DSU_DID_FAMILY_Pos)   /**< (DSU_DID) PicoPower Position  */
+#define DSU_DID_PROCESSOR_Pos               28                                             /**< (DSU_DID) Processor Position */
+#define DSU_DID_PROCESSOR_Msk               (_U_(0xF) << DSU_DID_PROCESSOR_Pos)            /**< (DSU_DID) Processor Mask */
+#define DSU_DID_PROCESSOR(value)            (DSU_DID_PROCESSOR_Msk & ((value) << DSU_DID_PROCESSOR_Pos))
+#define   DSU_DID_PROCESSOR_CM0P_Val        _U_(0x1)                                       /**< (DSU_DID) Cortex-M0+  */
+#define   DSU_DID_PROCESSOR_CM23_Val        _U_(0x2)                                       /**< (DSU_DID) Cortex-M23  */
+#define   DSU_DID_PROCESSOR_CM3_Val         _U_(0x3)                                       /**< (DSU_DID) Cortex-M3  */
+#define   DSU_DID_PROCESSOR_CM4_Val         _U_(0x5)                                       /**< (DSU_DID) Cortex-M4  */
+#define   DSU_DID_PROCESSOR_CM4F_Val        _U_(0x6)                                       /**< (DSU_DID) Cortex-M4 with FPU  */
+#define   DSU_DID_PROCESSOR_CM33_Val        _U_(0x7)                                       /**< (DSU_DID) Cortex-M33  */
+#define DSU_DID_PROCESSOR_CM0P              (DSU_DID_PROCESSOR_CM0P_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M0+ Position  */
+#define DSU_DID_PROCESSOR_CM23              (DSU_DID_PROCESSOR_CM23_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M23 Position  */
+#define DSU_DID_PROCESSOR_CM3               (DSU_DID_PROCESSOR_CM3_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M3 Position  */
+#define DSU_DID_PROCESSOR_CM4               (DSU_DID_PROCESSOR_CM4_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M4 Position  */
+#define DSU_DID_PROCESSOR_CM4F              (DSU_DID_PROCESSOR_CM4F_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M4 with FPU Position  */
+#define DSU_DID_PROCESSOR_CM33              (DSU_DID_PROCESSOR_CM33_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M33 Position  */
+#define DSU_DID_MASK                        _U_(0xFFBFFFFF)                                /**< \deprecated (DSU_DID) Register MASK  (Use DSU_DID_Msk instead)  */
+#define DSU_DID_Msk                         _U_(0xFFBFFFFF)                                /**< (DSU_DID) Register Mask  */
+
+
+/* -------- DSU_CFG : (DSU Offset: 0x1c) (R/W 32) Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t LQOS:2;                    /**< bit:   0..1  Latency Quality Of Service               */
+    uint32_t DCCDMALEVEL:2;             /**< bit:   2..3  DMA Trigger Level                        */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_CFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CFG_OFFSET                      (0x1C)                                        /**<  (DSU_CFG) Configuration  Offset */
+#define DSU_CFG_RESETVALUE                  _U_(0x02)                                     /**<  (DSU_CFG) Configuration  Reset Value */
+
+#define DSU_CFG_LQOS_Pos                    0                                              /**< (DSU_CFG) Latency Quality Of Service Position */
+#define DSU_CFG_LQOS_Msk                    (_U_(0x3) << DSU_CFG_LQOS_Pos)                 /**< (DSU_CFG) Latency Quality Of Service Mask */
+#define DSU_CFG_LQOS(value)                 (DSU_CFG_LQOS_Msk & ((value) << DSU_CFG_LQOS_Pos))
+#define DSU_CFG_DCCDMALEVEL_Pos             2                                              /**< (DSU_CFG) DMA Trigger Level Position */
+#define DSU_CFG_DCCDMALEVEL_Msk             (_U_(0x3) << DSU_CFG_DCCDMALEVEL_Pos)          /**< (DSU_CFG) DMA Trigger Level Mask */
+#define DSU_CFG_DCCDMALEVEL(value)          (DSU_CFG_DCCDMALEVEL_Msk & ((value) << DSU_CFG_DCCDMALEVEL_Pos))
+#define   DSU_CFG_DCCDMALEVEL_EMPTY_Val     _U_(0x0)                                       /**< (DSU_CFG) Trigger rises when DCC is empty  */
+#define   DSU_CFG_DCCDMALEVEL_FULL_Val      _U_(0x1)                                       /**< (DSU_CFG) Trigger rises when DCC is full  */
+#define DSU_CFG_DCCDMALEVEL_EMPTY           (DSU_CFG_DCCDMALEVEL_EMPTY_Val << DSU_CFG_DCCDMALEVEL_Pos)  /**< (DSU_CFG) Trigger rises when DCC is empty Position  */
+#define DSU_CFG_DCCDMALEVEL_FULL            (DSU_CFG_DCCDMALEVEL_FULL_Val << DSU_CFG_DCCDMALEVEL_Pos)  /**< (DSU_CFG) Trigger rises when DCC is full Position  */
+#define DSU_CFG_MASK                        _U_(0x0F)                                      /**< \deprecated (DSU_CFG) Register MASK  (Use DSU_CFG_Msk instead)  */
+#define DSU_CFG_Msk                         _U_(0x0F)                                      /**< (DSU_CFG) Register Mask  */
+
+
+/* -------- DSU_BCC : (DSU Offset: 0x20) (R/W 32) Boot ROM Communication Channel n -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:32;                   /**< bit:  0..31  Data                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_BCC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_BCC_OFFSET                      (0x20)                                        /**<  (DSU_BCC) Boot ROM Communication Channel n  Offset */
+#define DSU_BCC_RESETVALUE                  _U_(0x00)                                     /**<  (DSU_BCC) Boot ROM Communication Channel n  Reset Value */
+
+#define DSU_BCC_DATA_Pos                    0                                              /**< (DSU_BCC) Data Position */
+#define DSU_BCC_DATA_Msk                    (_U_(0xFFFFFFFF) << DSU_BCC_DATA_Pos)          /**< (DSU_BCC) Data Mask */
+#define DSU_BCC_DATA(value)                 (DSU_BCC_DATA_Msk & ((value) << DSU_BCC_DATA_Pos))
+#define DSU_BCC_MASK                        _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_BCC) Register MASK  (Use DSU_BCC_Msk instead)  */
+#define DSU_BCC_Msk                         _U_(0xFFFFFFFF)                                /**< (DSU_BCC) Register Mask  */
+
+
+/* -------- DSU_DCFG : (DSU Offset: 0xf0) (R/W 32) Device Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DCFG:32;                   /**< bit:  0..31  Device Configuration                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_DCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_DCFG_OFFSET                     (0xF0)                                        /**<  (DSU_DCFG) Device Configuration  Offset */
+#define DSU_DCFG_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_DCFG) Device Configuration  Reset Value */
+
+#define DSU_DCFG_DCFG_Pos                   0                                              /**< (DSU_DCFG) Device Configuration Position */
+#define DSU_DCFG_DCFG_Msk                   (_U_(0xFFFFFFFF) << DSU_DCFG_DCFG_Pos)         /**< (DSU_DCFG) Device Configuration Mask */
+#define DSU_DCFG_DCFG(value)                (DSU_DCFG_DCFG_Msk & ((value) << DSU_DCFG_DCFG_Pos))
+#define DSU_DCFG_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_DCFG) Register MASK  (Use DSU_DCFG_Msk instead)  */
+#define DSU_DCFG_Msk                        _U_(0xFFFFFFFF)                                /**< (DSU_DCFG) Register Mask  */
+
+
+/* -------- DSU_ENTRY0 : (DSU Offset: 0x1000) (R/ 32) CoreSight ROM Table Entry 0 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EPRES:1;                   /**< bit:      0  Entry Present                            */
+    uint32_t FMT:1;                     /**< bit:      1  Format                                   */
+    uint32_t :10;                       /**< bit:  2..11  Reserved */
+    uint32_t ADDOFF:20;                 /**< bit: 12..31  Address Offset                           */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_ENTRY0_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_ENTRY0_OFFSET                   (0x1000)                                      /**<  (DSU_ENTRY0) CoreSight ROM Table Entry 0  Offset */
+#define DSU_ENTRY0_RESETVALUE               _U_(0x9F0FC002)                               /**<  (DSU_ENTRY0) CoreSight ROM Table Entry 0  Reset Value */
+
+#define DSU_ENTRY0_EPRES_Pos                0                                              /**< (DSU_ENTRY0) Entry Present Position */
+#define DSU_ENTRY0_EPRES_Msk                (_U_(0x1) << DSU_ENTRY0_EPRES_Pos)             /**< (DSU_ENTRY0) Entry Present Mask */
+#define DSU_ENTRY0_EPRES                    DSU_ENTRY0_EPRES_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_ENTRY0_EPRES_Msk instead */
+#define DSU_ENTRY0_FMT_Pos                  1                                              /**< (DSU_ENTRY0) Format Position */
+#define DSU_ENTRY0_FMT_Msk                  (_U_(0x1) << DSU_ENTRY0_FMT_Pos)               /**< (DSU_ENTRY0) Format Mask */
+#define DSU_ENTRY0_FMT                      DSU_ENTRY0_FMT_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_ENTRY0_FMT_Msk instead */
+#define DSU_ENTRY0_ADDOFF_Pos               12                                             /**< (DSU_ENTRY0) Address Offset Position */
+#define DSU_ENTRY0_ADDOFF_Msk               (_U_(0xFFFFF) << DSU_ENTRY0_ADDOFF_Pos)        /**< (DSU_ENTRY0) Address Offset Mask */
+#define DSU_ENTRY0_ADDOFF(value)            (DSU_ENTRY0_ADDOFF_Msk & ((value) << DSU_ENTRY0_ADDOFF_Pos))
+#define DSU_ENTRY0_MASK                     _U_(0xFFFFF003)                                /**< \deprecated (DSU_ENTRY0) Register MASK  (Use DSU_ENTRY0_Msk instead)  */
+#define DSU_ENTRY0_Msk                      _U_(0xFFFFF003)                                /**< (DSU_ENTRY0) Register Mask  */
+
+
+/* -------- DSU_ENTRY1 : (DSU Offset: 0x1004) (R/ 32) CoreSight ROM Table Entry 1 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_ENTRY1_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_ENTRY1_OFFSET                   (0x1004)                                      /**<  (DSU_ENTRY1) CoreSight ROM Table Entry 1  Offset */
+#define DSU_ENTRY1_RESETVALUE               _U_(0x00)                                     /**<  (DSU_ENTRY1) CoreSight ROM Table Entry 1  Reset Value */
+
+#define DSU_ENTRY1_MASK                     _U_(0x00)                                      /**< \deprecated (DSU_ENTRY1) Register MASK  (Use DSU_ENTRY1_Msk instead)  */
+#define DSU_ENTRY1_Msk                      _U_(0x00)                                      /**< (DSU_ENTRY1) Register Mask  */
+
+
+/* -------- DSU_END : (DSU Offset: 0x1008) (R/ 32) CoreSight ROM Table End -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t END:32;                    /**< bit:  0..31  End Marker                               */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_END_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_END_OFFSET                      (0x1008)                                      /**<  (DSU_END) CoreSight ROM Table End  Offset */
+#define DSU_END_RESETVALUE                  _U_(0x00)                                     /**<  (DSU_END) CoreSight ROM Table End  Reset Value */
+
+#define DSU_END_END_Pos                     0                                              /**< (DSU_END) End Marker Position */
+#define DSU_END_END_Msk                     (_U_(0xFFFFFFFF) << DSU_END_END_Pos)           /**< (DSU_END) End Marker Mask */
+#define DSU_END_END(value)                  (DSU_END_END_Msk & ((value) << DSU_END_END_Pos))
+#define DSU_END_MASK                        _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_END) Register MASK  (Use DSU_END_Msk instead)  */
+#define DSU_END_Msk                         _U_(0xFFFFFFFF)                                /**< (DSU_END) Register Mask  */
+
+
+/* -------- DSU_MEMTYPE : (DSU Offset: 0x1fcc) (R/ 32) CoreSight ROM Table Memory Type -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SMEMP:1;                   /**< bit:      0  System Memory Present                    */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_MEMTYPE_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_MEMTYPE_OFFSET                  (0x1FCC)                                      /**<  (DSU_MEMTYPE) CoreSight ROM Table Memory Type  Offset */
+#define DSU_MEMTYPE_RESETVALUE              _U_(0x00)                                     /**<  (DSU_MEMTYPE) CoreSight ROM Table Memory Type  Reset Value */
+
+#define DSU_MEMTYPE_SMEMP_Pos               0                                              /**< (DSU_MEMTYPE) System Memory Present Position */
+#define DSU_MEMTYPE_SMEMP_Msk               (_U_(0x1) << DSU_MEMTYPE_SMEMP_Pos)            /**< (DSU_MEMTYPE) System Memory Present Mask */
+#define DSU_MEMTYPE_SMEMP                   DSU_MEMTYPE_SMEMP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_MEMTYPE_SMEMP_Msk instead */
+#define DSU_MEMTYPE_MASK                    _U_(0x01)                                      /**< \deprecated (DSU_MEMTYPE) Register MASK  (Use DSU_MEMTYPE_Msk instead)  */
+#define DSU_MEMTYPE_Msk                     _U_(0x01)                                      /**< (DSU_MEMTYPE) Register Mask  */
+
+
+/* -------- DSU_PID4 : (DSU Offset: 0x1fd0) (R/ 32) Peripheral Identification 4 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t JEPCC:4;                   /**< bit:   0..3  JEP-106 Continuation Code                */
+    uint32_t FKBC:4;                    /**< bit:   4..7  4KB count                                */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID4_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID4_OFFSET                     (0x1FD0)                                      /**<  (DSU_PID4) Peripheral Identification 4  Offset */
+#define DSU_PID4_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_PID4) Peripheral Identification 4  Reset Value */
+
+#define DSU_PID4_JEPCC_Pos                  0                                              /**< (DSU_PID4) JEP-106 Continuation Code Position */
+#define DSU_PID4_JEPCC_Msk                  (_U_(0xF) << DSU_PID4_JEPCC_Pos)               /**< (DSU_PID4) JEP-106 Continuation Code Mask */
+#define DSU_PID4_JEPCC(value)               (DSU_PID4_JEPCC_Msk & ((value) << DSU_PID4_JEPCC_Pos))
+#define DSU_PID4_FKBC_Pos                   4                                              /**< (DSU_PID4) 4KB count Position */
+#define DSU_PID4_FKBC_Msk                   (_U_(0xF) << DSU_PID4_FKBC_Pos)                /**< (DSU_PID4) 4KB count Mask */
+#define DSU_PID4_FKBC(value)                (DSU_PID4_FKBC_Msk & ((value) << DSU_PID4_FKBC_Pos))
+#define DSU_PID4_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_PID4) Register MASK  (Use DSU_PID4_Msk instead)  */
+#define DSU_PID4_Msk                        _U_(0xFF)                                      /**< (DSU_PID4) Register Mask  */
+
+
+/* -------- DSU_PID5 : (DSU Offset: 0x1fd4) (R/ 32) Peripheral Identification 5 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID5_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID5_OFFSET                     (0x1FD4)                                      /**<  (DSU_PID5) Peripheral Identification 5  Offset */
+#define DSU_PID5_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_PID5) Peripheral Identification 5  Reset Value */
+
+#define DSU_PID5_MASK                       _U_(0x00)                                      /**< \deprecated (DSU_PID5) Register MASK  (Use DSU_PID5_Msk instead)  */
+#define DSU_PID5_Msk                        _U_(0x00)                                      /**< (DSU_PID5) Register Mask  */
+
+
+/* -------- DSU_PID6 : (DSU Offset: 0x1fd8) (R/ 32) Peripheral Identification 6 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID6_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID6_OFFSET                     (0x1FD8)                                      /**<  (DSU_PID6) Peripheral Identification 6  Offset */
+#define DSU_PID6_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_PID6) Peripheral Identification 6  Reset Value */
+
+#define DSU_PID6_MASK                       _U_(0x00)                                      /**< \deprecated (DSU_PID6) Register MASK  (Use DSU_PID6_Msk instead)  */
+#define DSU_PID6_Msk                        _U_(0x00)                                      /**< (DSU_PID6) Register Mask  */
+
+
+/* -------- DSU_PID7 : (DSU Offset: 0x1fdc) (R/ 32) Peripheral Identification 7 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID7_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID7_OFFSET                     (0x1FDC)                                      /**<  (DSU_PID7) Peripheral Identification 7  Offset */
+#define DSU_PID7_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_PID7) Peripheral Identification 7  Reset Value */
+
+#define DSU_PID7_MASK                       _U_(0x00)                                      /**< \deprecated (DSU_PID7) Register MASK  (Use DSU_PID7_Msk instead)  */
+#define DSU_PID7_Msk                        _U_(0x00)                                      /**< (DSU_PID7) Register Mask  */
+
+
+/* -------- DSU_PID0 : (DSU Offset: 0x1fe0) (R/ 32) Peripheral Identification 0 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PARTNBL:8;                 /**< bit:   0..7  Part Number Low                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID0_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID0_OFFSET                     (0x1FE0)                                      /**<  (DSU_PID0) Peripheral Identification 0  Offset */
+#define DSU_PID0_RESETVALUE                 _U_(0xD0)                                     /**<  (DSU_PID0) Peripheral Identification 0  Reset Value */
+
+#define DSU_PID0_PARTNBL_Pos                0                                              /**< (DSU_PID0) Part Number Low Position */
+#define DSU_PID0_PARTNBL_Msk                (_U_(0xFF) << DSU_PID0_PARTNBL_Pos)            /**< (DSU_PID0) Part Number Low Mask */
+#define DSU_PID0_PARTNBL(value)             (DSU_PID0_PARTNBL_Msk & ((value) << DSU_PID0_PARTNBL_Pos))
+#define DSU_PID0_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_PID0) Register MASK  (Use DSU_PID0_Msk instead)  */
+#define DSU_PID0_Msk                        _U_(0xFF)                                      /**< (DSU_PID0) Register Mask  */
+
+
+/* -------- DSU_PID1 : (DSU Offset: 0x1fe4) (R/ 32) Peripheral Identification 1 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PARTNBH:4;                 /**< bit:   0..3  Part Number High                         */
+    uint32_t JEPIDCL:4;                 /**< bit:   4..7  Low part of the JEP-106 Identity Code    */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID1_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID1_OFFSET                     (0x1FE4)                                      /**<  (DSU_PID1) Peripheral Identification 1  Offset */
+#define DSU_PID1_RESETVALUE                 _U_(0xFC)                                     /**<  (DSU_PID1) Peripheral Identification 1  Reset Value */
+
+#define DSU_PID1_PARTNBH_Pos                0                                              /**< (DSU_PID1) Part Number High Position */
+#define DSU_PID1_PARTNBH_Msk                (_U_(0xF) << DSU_PID1_PARTNBH_Pos)             /**< (DSU_PID1) Part Number High Mask */
+#define DSU_PID1_PARTNBH(value)             (DSU_PID1_PARTNBH_Msk & ((value) << DSU_PID1_PARTNBH_Pos))
+#define DSU_PID1_JEPIDCL_Pos                4                                              /**< (DSU_PID1) Low part of the JEP-106 Identity Code Position */
+#define DSU_PID1_JEPIDCL_Msk                (_U_(0xF) << DSU_PID1_JEPIDCL_Pos)             /**< (DSU_PID1) Low part of the JEP-106 Identity Code Mask */
+#define DSU_PID1_JEPIDCL(value)             (DSU_PID1_JEPIDCL_Msk & ((value) << DSU_PID1_JEPIDCL_Pos))
+#define DSU_PID1_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_PID1) Register MASK  (Use DSU_PID1_Msk instead)  */
+#define DSU_PID1_Msk                        _U_(0xFF)                                      /**< (DSU_PID1) Register Mask  */
+
+
+/* -------- DSU_PID2 : (DSU Offset: 0x1fe8) (R/ 32) Peripheral Identification 2 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t JEPIDCH:3;                 /**< bit:   0..2  JEP-106 Identity Code High               */
+    uint32_t JEPU:1;                    /**< bit:      3  JEP-106 Identity Code is used            */
+    uint32_t REVISION:4;                /**< bit:   4..7  Revision Number                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID2_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID2_OFFSET                     (0x1FE8)                                      /**<  (DSU_PID2) Peripheral Identification 2  Offset */
+#define DSU_PID2_RESETVALUE                 _U_(0x09)                                     /**<  (DSU_PID2) Peripheral Identification 2  Reset Value */
+
+#define DSU_PID2_JEPIDCH_Pos                0                                              /**< (DSU_PID2) JEP-106 Identity Code High Position */
+#define DSU_PID2_JEPIDCH_Msk                (_U_(0x7) << DSU_PID2_JEPIDCH_Pos)             /**< (DSU_PID2) JEP-106 Identity Code High Mask */
+#define DSU_PID2_JEPIDCH(value)             (DSU_PID2_JEPIDCH_Msk & ((value) << DSU_PID2_JEPIDCH_Pos))
+#define DSU_PID2_JEPU_Pos                   3                                              /**< (DSU_PID2) JEP-106 Identity Code is used Position */
+#define DSU_PID2_JEPU_Msk                   (_U_(0x1) << DSU_PID2_JEPU_Pos)                /**< (DSU_PID2) JEP-106 Identity Code is used Mask */
+#define DSU_PID2_JEPU                       DSU_PID2_JEPU_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_PID2_JEPU_Msk instead */
+#define DSU_PID2_REVISION_Pos               4                                              /**< (DSU_PID2) Revision Number Position */
+#define DSU_PID2_REVISION_Msk               (_U_(0xF) << DSU_PID2_REVISION_Pos)            /**< (DSU_PID2) Revision Number Mask */
+#define DSU_PID2_REVISION(value)            (DSU_PID2_REVISION_Msk & ((value) << DSU_PID2_REVISION_Pos))
+#define DSU_PID2_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_PID2) Register MASK  (Use DSU_PID2_Msk instead)  */
+#define DSU_PID2_Msk                        _U_(0xFF)                                      /**< (DSU_PID2) Register Mask  */
+
+
+/* -------- DSU_PID3 : (DSU Offset: 0x1fec) (R/ 32) Peripheral Identification 3 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CUSMOD:4;                  /**< bit:   0..3  ARM CUSMOD                               */
+    uint32_t REVAND:4;                  /**< bit:   4..7  Revision Number                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID3_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID3_OFFSET                     (0x1FEC)                                      /**<  (DSU_PID3) Peripheral Identification 3  Offset */
+#define DSU_PID3_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_PID3) Peripheral Identification 3  Reset Value */
+
+#define DSU_PID3_CUSMOD_Pos                 0                                              /**< (DSU_PID3) ARM CUSMOD Position */
+#define DSU_PID3_CUSMOD_Msk                 (_U_(0xF) << DSU_PID3_CUSMOD_Pos)              /**< (DSU_PID3) ARM CUSMOD Mask */
+#define DSU_PID3_CUSMOD(value)              (DSU_PID3_CUSMOD_Msk & ((value) << DSU_PID3_CUSMOD_Pos))
+#define DSU_PID3_REVAND_Pos                 4                                              /**< (DSU_PID3) Revision Number Position */
+#define DSU_PID3_REVAND_Msk                 (_U_(0xF) << DSU_PID3_REVAND_Pos)              /**< (DSU_PID3) Revision Number Mask */
+#define DSU_PID3_REVAND(value)              (DSU_PID3_REVAND_Msk & ((value) << DSU_PID3_REVAND_Pos))
+#define DSU_PID3_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_PID3) Register MASK  (Use DSU_PID3_Msk instead)  */
+#define DSU_PID3_Msk                        _U_(0xFF)                                      /**< (DSU_PID3) Register Mask  */
+
+
+/* -------- DSU_CID0 : (DSU Offset: 0x1ff0) (R/ 32) Component Identification 0 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PREAMBLEB0:8;              /**< bit:   0..7  Preamble Byte 0                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_CID0_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CID0_OFFSET                     (0x1FF0)                                      /**<  (DSU_CID0) Component Identification 0  Offset */
+#define DSU_CID0_RESETVALUE                 _U_(0x0D)                                     /**<  (DSU_CID0) Component Identification 0  Reset Value */
+
+#define DSU_CID0_PREAMBLEB0_Pos             0                                              /**< (DSU_CID0) Preamble Byte 0 Position */
+#define DSU_CID0_PREAMBLEB0_Msk             (_U_(0xFF) << DSU_CID0_PREAMBLEB0_Pos)         /**< (DSU_CID0) Preamble Byte 0 Mask */
+#define DSU_CID0_PREAMBLEB0(value)          (DSU_CID0_PREAMBLEB0_Msk & ((value) << DSU_CID0_PREAMBLEB0_Pos))
+#define DSU_CID0_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_CID0) Register MASK  (Use DSU_CID0_Msk instead)  */
+#define DSU_CID0_Msk                        _U_(0xFF)                                      /**< (DSU_CID0) Register Mask  */
+
+
+/* -------- DSU_CID1 : (DSU Offset: 0x1ff4) (R/ 32) Component Identification 1 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PREAMBLE:4;                /**< bit:   0..3  Preamble                                 */
+    uint32_t CCLASS:4;                  /**< bit:   4..7  Component Class                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_CID1_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CID1_OFFSET                     (0x1FF4)                                      /**<  (DSU_CID1) Component Identification 1  Offset */
+#define DSU_CID1_RESETVALUE                 _U_(0x10)                                     /**<  (DSU_CID1) Component Identification 1  Reset Value */
+
+#define DSU_CID1_PREAMBLE_Pos               0                                              /**< (DSU_CID1) Preamble Position */
+#define DSU_CID1_PREAMBLE_Msk               (_U_(0xF) << DSU_CID1_PREAMBLE_Pos)            /**< (DSU_CID1) Preamble Mask */
+#define DSU_CID1_PREAMBLE(value)            (DSU_CID1_PREAMBLE_Msk & ((value) << DSU_CID1_PREAMBLE_Pos))
+#define DSU_CID1_CCLASS_Pos                 4                                              /**< (DSU_CID1) Component Class Position */
+#define DSU_CID1_CCLASS_Msk                 (_U_(0xF) << DSU_CID1_CCLASS_Pos)              /**< (DSU_CID1) Component Class Mask */
+#define DSU_CID1_CCLASS(value)              (DSU_CID1_CCLASS_Msk & ((value) << DSU_CID1_CCLASS_Pos))
+#define DSU_CID1_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_CID1) Register MASK  (Use DSU_CID1_Msk instead)  */
+#define DSU_CID1_Msk                        _U_(0xFF)                                      /**< (DSU_CID1) Register Mask  */
+
+
+/* -------- DSU_CID2 : (DSU Offset: 0x1ff8) (R/ 32) Component Identification 2 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PREAMBLEB2:8;              /**< bit:   0..7  Preamble Byte 2                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_CID2_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CID2_OFFSET                     (0x1FF8)                                      /**<  (DSU_CID2) Component Identification 2  Offset */
+#define DSU_CID2_RESETVALUE                 _U_(0x05)                                     /**<  (DSU_CID2) Component Identification 2  Reset Value */
+
+#define DSU_CID2_PREAMBLEB2_Pos             0                                              /**< (DSU_CID2) Preamble Byte 2 Position */
+#define DSU_CID2_PREAMBLEB2_Msk             (_U_(0xFF) << DSU_CID2_PREAMBLEB2_Pos)         /**< (DSU_CID2) Preamble Byte 2 Mask */
+#define DSU_CID2_PREAMBLEB2(value)          (DSU_CID2_PREAMBLEB2_Msk & ((value) << DSU_CID2_PREAMBLEB2_Pos))
+#define DSU_CID2_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_CID2) Register MASK  (Use DSU_CID2_Msk instead)  */
+#define DSU_CID2_Msk                        _U_(0xFF)                                      /**< (DSU_CID2) Register Mask  */
+
+
+/* -------- DSU_CID3 : (DSU Offset: 0x1ffc) (R/ 32) Component Identification 3 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PREAMBLEB3:8;              /**< bit:   0..7  Preamble Byte 3                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_CID3_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CID3_OFFSET                     (0x1FFC)                                      /**<  (DSU_CID3) Component Identification 3  Offset */
+#define DSU_CID3_RESETVALUE                 _U_(0xB1)                                     /**<  (DSU_CID3) Component Identification 3  Reset Value */
+
+#define DSU_CID3_PREAMBLEB3_Pos             0                                              /**< (DSU_CID3) Preamble Byte 3 Position */
+#define DSU_CID3_PREAMBLEB3_Msk             (_U_(0xFF) << DSU_CID3_PREAMBLEB3_Pos)         /**< (DSU_CID3) Preamble Byte 3 Mask */
+#define DSU_CID3_PREAMBLEB3(value)          (DSU_CID3_PREAMBLEB3_Msk & ((value) << DSU_CID3_PREAMBLEB3_Pos))
+#define DSU_CID3_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_CID3) Register MASK  (Use DSU_CID3_Msk instead)  */
+#define DSU_CID3_Msk                        _U_(0xFF)                                      /**< (DSU_CID3) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief DSU hardware registers */
+typedef struct {  /* Device Service Unit */
+  __O  DSU_CTRL_Type                  CTRL;           /**< Offset: 0x00 ( /W   8) Control */
+  __IO DSU_STATUSA_Type               STATUSA;        /**< Offset: 0x01 (R/W   8) Status A */
+  __I  DSU_STATUSB_Type               STATUSB;        /**< Offset: 0x02 (R/    8) Status B */
+  __I  DSU_STATUSC_Type               STATUSC;        /**< Offset: 0x03 (R/    8) Status C */
+  __IO DSU_ADDR_Type                  ADDR;           /**< Offset: 0x04 (R/W  32) Address */
+  __IO DSU_LENGTH_Type                LENGTH;         /**< Offset: 0x08 (R/W  32) Length */
+  __IO DSU_DATA_Type                  DATA;           /**< Offset: 0x0C (R/W  32) Data */
+  __IO DSU_DCC_Type                   DCC[2];         /**< Offset: 0x10 (R/W  32) Debug Communication Channel n */
+  __I  DSU_DID_Type                   DID;            /**< Offset: 0x18 (R/   32) Device Identification */
+  __IO DSU_CFG_Type                   CFG;            /**< Offset: 0x1C (R/W  32) Configuration */
+  __IO DSU_BCC_Type                   BCC[2];         /**< Offset: 0x20 (R/W  32) Boot ROM Communication Channel n */
+  __I  uint8_t                        Reserved1[200];
+  __IO DSU_DCFG_Type                  DCFG[2];        /**< Offset: 0xF0 (R/W  32) Device Configuration */
+  __I  uint8_t                        Reserved2[3848];
+  __I  DSU_ENTRY0_Type                ENTRY0;         /**< Offset: 0x1000 (R/   32) CoreSight ROM Table Entry 0 */
+  __I  DSU_ENTRY1_Type                ENTRY1;         /**< Offset: 0x1004 (R/   32) CoreSight ROM Table Entry 1 */
+  __I  DSU_END_Type                   END;            /**< Offset: 0x1008 (R/   32) CoreSight ROM Table End */
+  __I  uint8_t                        Reserved3[4032];
+  __I  DSU_MEMTYPE_Type               MEMTYPE;        /**< Offset: 0x1FCC (R/   32) CoreSight ROM Table Memory Type */
+  __I  DSU_PID4_Type                  PID4;           /**< Offset: 0x1FD0 (R/   32) Peripheral Identification 4 */
+  __I  DSU_PID5_Type                  PID5;           /**< Offset: 0x1FD4 (R/   32) Peripheral Identification 5 */
+  __I  DSU_PID6_Type                  PID6;           /**< Offset: 0x1FD8 (R/   32) Peripheral Identification 6 */
+  __I  DSU_PID7_Type                  PID7;           /**< Offset: 0x1FDC (R/   32) Peripheral Identification 7 */
+  __I  DSU_PID0_Type                  PID0;           /**< Offset: 0x1FE0 (R/   32) Peripheral Identification 0 */
+  __I  DSU_PID1_Type                  PID1;           /**< Offset: 0x1FE4 (R/   32) Peripheral Identification 1 */
+  __I  DSU_PID2_Type                  PID2;           /**< Offset: 0x1FE8 (R/   32) Peripheral Identification 2 */
+  __I  DSU_PID3_Type                  PID3;           /**< Offset: 0x1FEC (R/   32) Peripheral Identification 3 */
+  __I  DSU_CID0_Type                  CID0;           /**< Offset: 0x1FF0 (R/   32) Component Identification 0 */
+  __I  DSU_CID1_Type                  CID1;           /**< Offset: 0x1FF4 (R/   32) Component Identification 1 */
+  __I  DSU_CID2_Type                  CID2;           /**< Offset: 0x1FF8 (R/   32) Component Identification 2 */
+  __I  DSU_CID3_Type                  CID3;           /**< Offset: 0x1FFC (R/   32) Component Identification 3 */
+} Dsu;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Device Service Unit */
+
+#endif /* _SAML10_DSU_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/eic.h b/cpu/sam0_common/include/vendor/saml10/include/component/eic.h
new file mode 100644
index 0000000000..fe3bdcffc4
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/eic.h
@@ -0,0 +1,610 @@
+/**
+ * \file
+ *
+ * \brief Component description for EIC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_EIC_COMPONENT_H_
+#define _SAML10_EIC_COMPONENT_H_
+#define _SAML10_EIC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 External Interrupt Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR EIC */
+/* ========================================================================== */
+
+#define EIC_U2804                      /**< (EIC) Module ID */
+#define REV_EIC 0x100                  /**< (EIC) Module revision */
+
+/* -------- EIC_CTRLA : (EIC Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint8_t  :2;                        /**< bit:   2..3  Reserved */
+    uint8_t  CKSEL:1;                   /**< bit:      4  Clock Selection                          */
+    uint8_t  :3;                        /**< bit:   5..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EIC_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_CTRLA_OFFSET                    (0x00)                                        /**<  (EIC_CTRLA) Control A  Offset */
+#define EIC_CTRLA_RESETVALUE                _U_(0x00)                                     /**<  (EIC_CTRLA) Control A  Reset Value */
+
+#define EIC_CTRLA_SWRST_Pos                 0                                              /**< (EIC_CTRLA) Software Reset Position */
+#define EIC_CTRLA_SWRST_Msk                 (_U_(0x1) << EIC_CTRLA_SWRST_Pos)              /**< (EIC_CTRLA) Software Reset Mask */
+#define EIC_CTRLA_SWRST                     EIC_CTRLA_SWRST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CTRLA_SWRST_Msk instead */
+#define EIC_CTRLA_ENABLE_Pos                1                                              /**< (EIC_CTRLA) Enable Position */
+#define EIC_CTRLA_ENABLE_Msk                (_U_(0x1) << EIC_CTRLA_ENABLE_Pos)             /**< (EIC_CTRLA) Enable Mask */
+#define EIC_CTRLA_ENABLE                    EIC_CTRLA_ENABLE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CTRLA_ENABLE_Msk instead */
+#define EIC_CTRLA_CKSEL_Pos                 4                                              /**< (EIC_CTRLA) Clock Selection Position */
+#define EIC_CTRLA_CKSEL_Msk                 (_U_(0x1) << EIC_CTRLA_CKSEL_Pos)              /**< (EIC_CTRLA) Clock Selection Mask */
+#define EIC_CTRLA_CKSEL                     EIC_CTRLA_CKSEL_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CTRLA_CKSEL_Msk instead */
+#define EIC_CTRLA_MASK                      _U_(0x13)                                      /**< \deprecated (EIC_CTRLA) Register MASK  (Use EIC_CTRLA_Msk instead)  */
+#define EIC_CTRLA_Msk                       _U_(0x13)                                      /**< (EIC_CTRLA) Register Mask  */
+
+
+/* -------- EIC_NMICTRL : (EIC Offset: 0x01) (R/W 8) Non-Maskable Interrupt Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  NMISENSE:3;                /**< bit:   0..2  Non-Maskable Interrupt Sense Configuration */
+    uint8_t  NMIFILTEN:1;               /**< bit:      3  Non-Maskable Interrupt Filter Enable     */
+    uint8_t  NMIASYNCH:1;               /**< bit:      4  Asynchronous Edge Detection Mode         */
+    uint8_t  :3;                        /**< bit:   5..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EIC_NMICTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_NMICTRL_OFFSET                  (0x01)                                        /**<  (EIC_NMICTRL) Non-Maskable Interrupt Control  Offset */
+#define EIC_NMICTRL_RESETVALUE              _U_(0x00)                                     /**<  (EIC_NMICTRL) Non-Maskable Interrupt Control  Reset Value */
+
+#define EIC_NMICTRL_NMISENSE_Pos            0                                              /**< (EIC_NMICTRL) Non-Maskable Interrupt Sense Configuration Position */
+#define EIC_NMICTRL_NMISENSE_Msk            (_U_(0x7) << EIC_NMICTRL_NMISENSE_Pos)         /**< (EIC_NMICTRL) Non-Maskable Interrupt Sense Configuration Mask */
+#define EIC_NMICTRL_NMISENSE(value)         (EIC_NMICTRL_NMISENSE_Msk & ((value) << EIC_NMICTRL_NMISENSE_Pos))
+#define   EIC_NMICTRL_NMISENSE_NONE_Val     _U_(0x0)                                       /**< (EIC_NMICTRL) No detection  */
+#define   EIC_NMICTRL_NMISENSE_RISE_Val     _U_(0x1)                                       /**< (EIC_NMICTRL) Rising-edge detection  */
+#define   EIC_NMICTRL_NMISENSE_FALL_Val     _U_(0x2)                                       /**< (EIC_NMICTRL) Falling-edge detection  */
+#define   EIC_NMICTRL_NMISENSE_BOTH_Val     _U_(0x3)                                       /**< (EIC_NMICTRL) Both-edges detection  */
+#define   EIC_NMICTRL_NMISENSE_HIGH_Val     _U_(0x4)                                       /**< (EIC_NMICTRL) High-level detection  */
+#define   EIC_NMICTRL_NMISENSE_LOW_Val      _U_(0x5)                                       /**< (EIC_NMICTRL) Low-level detection  */
+#define EIC_NMICTRL_NMISENSE_NONE           (EIC_NMICTRL_NMISENSE_NONE_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) No detection Position  */
+#define EIC_NMICTRL_NMISENSE_RISE           (EIC_NMICTRL_NMISENSE_RISE_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) Rising-edge detection Position  */
+#define EIC_NMICTRL_NMISENSE_FALL           (EIC_NMICTRL_NMISENSE_FALL_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) Falling-edge detection Position  */
+#define EIC_NMICTRL_NMISENSE_BOTH           (EIC_NMICTRL_NMISENSE_BOTH_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) Both-edges detection Position  */
+#define EIC_NMICTRL_NMISENSE_HIGH           (EIC_NMICTRL_NMISENSE_HIGH_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) High-level detection Position  */
+#define EIC_NMICTRL_NMISENSE_LOW            (EIC_NMICTRL_NMISENSE_LOW_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) Low-level detection Position  */
+#define EIC_NMICTRL_NMIFILTEN_Pos           3                                              /**< (EIC_NMICTRL) Non-Maskable Interrupt Filter Enable Position */
+#define EIC_NMICTRL_NMIFILTEN_Msk           (_U_(0x1) << EIC_NMICTRL_NMIFILTEN_Pos)        /**< (EIC_NMICTRL) Non-Maskable Interrupt Filter Enable Mask */
+#define EIC_NMICTRL_NMIFILTEN               EIC_NMICTRL_NMIFILTEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_NMICTRL_NMIFILTEN_Msk instead */
+#define EIC_NMICTRL_NMIASYNCH_Pos           4                                              /**< (EIC_NMICTRL) Asynchronous Edge Detection Mode Position */
+#define EIC_NMICTRL_NMIASYNCH_Msk           (_U_(0x1) << EIC_NMICTRL_NMIASYNCH_Pos)        /**< (EIC_NMICTRL) Asynchronous Edge Detection Mode Mask */
+#define EIC_NMICTRL_NMIASYNCH               EIC_NMICTRL_NMIASYNCH_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_NMICTRL_NMIASYNCH_Msk instead */
+#define EIC_NMICTRL_MASK                    _U_(0x1F)                                      /**< \deprecated (EIC_NMICTRL) Register MASK  (Use EIC_NMICTRL_Msk instead)  */
+#define EIC_NMICTRL_Msk                     _U_(0x1F)                                      /**< (EIC_NMICTRL) Register Mask  */
+
+
+/* -------- EIC_NMIFLAG : (EIC Offset: 0x02) (R/W 16) Non-Maskable Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t NMI:1;                     /**< bit:      0  Non-Maskable Interrupt                   */
+    uint16_t :15;                       /**< bit:  1..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} EIC_NMIFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_NMIFLAG_OFFSET                  (0x02)                                        /**<  (EIC_NMIFLAG) Non-Maskable Interrupt Flag Status and Clear  Offset */
+#define EIC_NMIFLAG_RESETVALUE              _U_(0x00)                                     /**<  (EIC_NMIFLAG) Non-Maskable Interrupt Flag Status and Clear  Reset Value */
+
+#define EIC_NMIFLAG_NMI_Pos                 0                                              /**< (EIC_NMIFLAG) Non-Maskable Interrupt Position */
+#define EIC_NMIFLAG_NMI_Msk                 (_U_(0x1) << EIC_NMIFLAG_NMI_Pos)              /**< (EIC_NMIFLAG) Non-Maskable Interrupt Mask */
+#define EIC_NMIFLAG_NMI                     EIC_NMIFLAG_NMI_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_NMIFLAG_NMI_Msk instead */
+#define EIC_NMIFLAG_MASK                    _U_(0x01)                                      /**< \deprecated (EIC_NMIFLAG) Register MASK  (Use EIC_NMIFLAG_Msk instead)  */
+#define EIC_NMIFLAG_Msk                     _U_(0x01)                                      /**< (EIC_NMIFLAG) Register Mask  */
+
+
+/* -------- EIC_SYNCBUSY : (EIC Offset: 0x04) (R/ 32) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchronization Busy Status */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Synchronization Busy Status       */
+    uint32_t :30;                       /**< bit:  2..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_SYNCBUSY_OFFSET                 (0x04)                                        /**<  (EIC_SYNCBUSY) Synchronization Busy  Offset */
+#define EIC_SYNCBUSY_RESETVALUE             _U_(0x00)                                     /**<  (EIC_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define EIC_SYNCBUSY_SWRST_Pos              0                                              /**< (EIC_SYNCBUSY) Software Reset Synchronization Busy Status Position */
+#define EIC_SYNCBUSY_SWRST_Msk              (_U_(0x1) << EIC_SYNCBUSY_SWRST_Pos)           /**< (EIC_SYNCBUSY) Software Reset Synchronization Busy Status Mask */
+#define EIC_SYNCBUSY_SWRST                  EIC_SYNCBUSY_SWRST_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_SYNCBUSY_SWRST_Msk instead */
+#define EIC_SYNCBUSY_ENABLE_Pos             1                                              /**< (EIC_SYNCBUSY) Enable Synchronization Busy Status Position */
+#define EIC_SYNCBUSY_ENABLE_Msk             (_U_(0x1) << EIC_SYNCBUSY_ENABLE_Pos)          /**< (EIC_SYNCBUSY) Enable Synchronization Busy Status Mask */
+#define EIC_SYNCBUSY_ENABLE                 EIC_SYNCBUSY_ENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_SYNCBUSY_ENABLE_Msk instead */
+#define EIC_SYNCBUSY_MASK                   _U_(0x03)                                      /**< \deprecated (EIC_SYNCBUSY) Register MASK  (Use EIC_SYNCBUSY_Msk instead)  */
+#define EIC_SYNCBUSY_Msk                    _U_(0x03)                                      /**< (EIC_SYNCBUSY) Register Mask  */
+
+
+/* -------- EIC_EVCTRL : (EIC Offset: 0x08) (R/W 32) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EXTINTEO:8;                /**< bit:   0..7  External Interrupt Event Output Enable   */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_EVCTRL_OFFSET                   (0x08)                                        /**<  (EIC_EVCTRL) Event Control  Offset */
+#define EIC_EVCTRL_RESETVALUE               _U_(0x00)                                     /**<  (EIC_EVCTRL) Event Control  Reset Value */
+
+#define EIC_EVCTRL_EXTINTEO_Pos             0                                              /**< (EIC_EVCTRL) External Interrupt Event Output Enable Position */
+#define EIC_EVCTRL_EXTINTEO_Msk             (_U_(0xFF) << EIC_EVCTRL_EXTINTEO_Pos)         /**< (EIC_EVCTRL) External Interrupt Event Output Enable Mask */
+#define EIC_EVCTRL_EXTINTEO(value)          (EIC_EVCTRL_EXTINTEO_Msk & ((value) << EIC_EVCTRL_EXTINTEO_Pos))
+#define EIC_EVCTRL_MASK                     _U_(0xFF)                                      /**< \deprecated (EIC_EVCTRL) Register MASK  (Use EIC_EVCTRL_Msk instead)  */
+#define EIC_EVCTRL_Msk                      _U_(0xFF)                                      /**< (EIC_EVCTRL) Register Mask  */
+
+
+/* -------- EIC_INTENCLR : (EIC Offset: 0x0c) (R/W 32) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EXTINT:8;                  /**< bit:   0..7  External Interrupt Enable                */
+    uint32_t :23;                       /**< bit:  8..30  Reserved */
+    uint32_t NSCHK:1;                   /**< bit:     31  Non-secure Check Interrupt Enable        */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_INTENCLR_OFFSET                 (0x0C)                                        /**<  (EIC_INTENCLR) Interrupt Enable Clear  Offset */
+#define EIC_INTENCLR_RESETVALUE             _U_(0x00)                                     /**<  (EIC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define EIC_INTENCLR_EXTINT_Pos             0                                              /**< (EIC_INTENCLR) External Interrupt Enable Position */
+#define EIC_INTENCLR_EXTINT_Msk             (_U_(0xFF) << EIC_INTENCLR_EXTINT_Pos)         /**< (EIC_INTENCLR) External Interrupt Enable Mask */
+#define EIC_INTENCLR_EXTINT(value)          (EIC_INTENCLR_EXTINT_Msk & ((value) << EIC_INTENCLR_EXTINT_Pos))
+#define EIC_INTENCLR_NSCHK_Pos              31                                             /**< (EIC_INTENCLR) Non-secure Check Interrupt Enable Position */
+#define EIC_INTENCLR_NSCHK_Msk              (_U_(0x1) << EIC_INTENCLR_NSCHK_Pos)           /**< (EIC_INTENCLR) Non-secure Check Interrupt Enable Mask */
+#define EIC_INTENCLR_NSCHK                  EIC_INTENCLR_NSCHK_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_INTENCLR_NSCHK_Msk instead */
+#define EIC_INTENCLR_MASK                   _U_(0x800000FF)                                /**< \deprecated (EIC_INTENCLR) Register MASK  (Use EIC_INTENCLR_Msk instead)  */
+#define EIC_INTENCLR_Msk                    _U_(0x800000FF)                                /**< (EIC_INTENCLR) Register Mask  */
+
+
+/* -------- EIC_INTENSET : (EIC Offset: 0x10) (R/W 32) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EXTINT:8;                  /**< bit:   0..7  External Interrupt Enable                */
+    uint32_t :23;                       /**< bit:  8..30  Reserved */
+    uint32_t NSCHK:1;                   /**< bit:     31  Non-secure Check Interrupt Enable        */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_INTENSET_OFFSET                 (0x10)                                        /**<  (EIC_INTENSET) Interrupt Enable Set  Offset */
+#define EIC_INTENSET_RESETVALUE             _U_(0x00)                                     /**<  (EIC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define EIC_INTENSET_EXTINT_Pos             0                                              /**< (EIC_INTENSET) External Interrupt Enable Position */
+#define EIC_INTENSET_EXTINT_Msk             (_U_(0xFF) << EIC_INTENSET_EXTINT_Pos)         /**< (EIC_INTENSET) External Interrupt Enable Mask */
+#define EIC_INTENSET_EXTINT(value)          (EIC_INTENSET_EXTINT_Msk & ((value) << EIC_INTENSET_EXTINT_Pos))
+#define EIC_INTENSET_NSCHK_Pos              31                                             /**< (EIC_INTENSET) Non-secure Check Interrupt Enable Position */
+#define EIC_INTENSET_NSCHK_Msk              (_U_(0x1) << EIC_INTENSET_NSCHK_Pos)           /**< (EIC_INTENSET) Non-secure Check Interrupt Enable Mask */
+#define EIC_INTENSET_NSCHK                  EIC_INTENSET_NSCHK_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_INTENSET_NSCHK_Msk instead */
+#define EIC_INTENSET_MASK                   _U_(0x800000FF)                                /**< \deprecated (EIC_INTENSET) Register MASK  (Use EIC_INTENSET_Msk instead)  */
+#define EIC_INTENSET_Msk                    _U_(0x800000FF)                                /**< (EIC_INTENSET) Register Mask  */
+
+
+/* -------- EIC_INTFLAG : (EIC Offset: 0x14) (R/W 32) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t EXTINT:8;                  /**< bit:   0..7  External Interrupt                       */
+    __I uint32_t :23;                       /**< bit:  8..30  Reserved */
+    __I uint32_t NSCHK:1;                   /**< bit:     31  Non-secure Check Interrupt               */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_INTFLAG_OFFSET                  (0x14)                                        /**<  (EIC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define EIC_INTFLAG_RESETVALUE              _U_(0x00)                                     /**<  (EIC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define EIC_INTFLAG_EXTINT_Pos              0                                              /**< (EIC_INTFLAG) External Interrupt Position */
+#define EIC_INTFLAG_EXTINT_Msk              (_U_(0xFF) << EIC_INTFLAG_EXTINT_Pos)          /**< (EIC_INTFLAG) External Interrupt Mask */
+#define EIC_INTFLAG_EXTINT(value)           (EIC_INTFLAG_EXTINT_Msk & ((value) << EIC_INTFLAG_EXTINT_Pos))
+#define EIC_INTFLAG_NSCHK_Pos               31                                             /**< (EIC_INTFLAG) Non-secure Check Interrupt Position */
+#define EIC_INTFLAG_NSCHK_Msk               (_U_(0x1) << EIC_INTFLAG_NSCHK_Pos)            /**< (EIC_INTFLAG) Non-secure Check Interrupt Mask */
+#define EIC_INTFLAG_NSCHK                   EIC_INTFLAG_NSCHK_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_INTFLAG_NSCHK_Msk instead */
+#define EIC_INTFLAG_MASK                    _U_(0x800000FF)                                /**< \deprecated (EIC_INTFLAG) Register MASK  (Use EIC_INTFLAG_Msk instead)  */
+#define EIC_INTFLAG_Msk                     _U_(0x800000FF)                                /**< (EIC_INTFLAG) Register Mask  */
+
+
+/* -------- EIC_ASYNCH : (EIC Offset: 0x18) (R/W 32) External Interrupt Asynchronous Mode -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t ASYNCH:8;                  /**< bit:   0..7  Asynchronous Edge Detection Mode         */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_ASYNCH_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_ASYNCH_OFFSET                   (0x18)                                        /**<  (EIC_ASYNCH) External Interrupt Asynchronous Mode  Offset */
+#define EIC_ASYNCH_RESETVALUE               _U_(0x00)                                     /**<  (EIC_ASYNCH) External Interrupt Asynchronous Mode  Reset Value */
+
+#define EIC_ASYNCH_ASYNCH_Pos               0                                              /**< (EIC_ASYNCH) Asynchronous Edge Detection Mode Position */
+#define EIC_ASYNCH_ASYNCH_Msk               (_U_(0xFF) << EIC_ASYNCH_ASYNCH_Pos)           /**< (EIC_ASYNCH) Asynchronous Edge Detection Mode Mask */
+#define EIC_ASYNCH_ASYNCH(value)            (EIC_ASYNCH_ASYNCH_Msk & ((value) << EIC_ASYNCH_ASYNCH_Pos))
+#define EIC_ASYNCH_MASK                     _U_(0xFF)                                      /**< \deprecated (EIC_ASYNCH) Register MASK  (Use EIC_ASYNCH_Msk instead)  */
+#define EIC_ASYNCH_Msk                      _U_(0xFF)                                      /**< (EIC_ASYNCH) Register Mask  */
+
+
+/* -------- EIC_CONFIG : (EIC Offset: 0x1c) (R/W 32) External Interrupt Sense Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SENSE0:3;                  /**< bit:   0..2  Input Sense Configuration 0              */
+    uint32_t FILTEN0:1;                 /**< bit:      3  Filter Enable 0                          */
+    uint32_t SENSE1:3;                  /**< bit:   4..6  Input Sense Configuration 1              */
+    uint32_t FILTEN1:1;                 /**< bit:      7  Filter Enable 1                          */
+    uint32_t SENSE2:3;                  /**< bit:  8..10  Input Sense Configuration 2              */
+    uint32_t FILTEN2:1;                 /**< bit:     11  Filter Enable 2                          */
+    uint32_t SENSE3:3;                  /**< bit: 12..14  Input Sense Configuration 3              */
+    uint32_t FILTEN3:1;                 /**< bit:     15  Filter Enable 3                          */
+    uint32_t SENSE4:3;                  /**< bit: 16..18  Input Sense Configuration 4              */
+    uint32_t FILTEN4:1;                 /**< bit:     19  Filter Enable 4                          */
+    uint32_t SENSE5:3;                  /**< bit: 20..22  Input Sense Configuration 5              */
+    uint32_t FILTEN5:1;                 /**< bit:     23  Filter Enable 5                          */
+    uint32_t SENSE6:3;                  /**< bit: 24..26  Input Sense Configuration 6              */
+    uint32_t FILTEN6:1;                 /**< bit:     27  Filter Enable 6                          */
+    uint32_t SENSE7:3;                  /**< bit: 28..30  Input Sense Configuration 7              */
+    uint32_t FILTEN7:1;                 /**< bit:     31  Filter Enable 7                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_CONFIG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_CONFIG_OFFSET                   (0x1C)                                        /**<  (EIC_CONFIG) External Interrupt Sense Configuration  Offset */
+#define EIC_CONFIG_RESETVALUE               _U_(0x00)                                     /**<  (EIC_CONFIG) External Interrupt Sense Configuration  Reset Value */
+
+#define EIC_CONFIG_SENSE0_Pos               0                                              /**< (EIC_CONFIG) Input Sense Configuration 0 Position */
+#define EIC_CONFIG_SENSE0_Msk               (_U_(0x7) << EIC_CONFIG_SENSE0_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 0 Mask */
+#define EIC_CONFIG_SENSE0(value)            (EIC_CONFIG_SENSE0_Msk & ((value) << EIC_CONFIG_SENSE0_Pos))
+#define   EIC_CONFIG_SENSE0_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE0_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE0_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE0_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE0_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE0_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE0_NONE              (EIC_CONFIG_SENSE0_NONE_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE0_RISE              (EIC_CONFIG_SENSE0_RISE_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE0_FALL              (EIC_CONFIG_SENSE0_FALL_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE0_BOTH              (EIC_CONFIG_SENSE0_BOTH_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE0_HIGH              (EIC_CONFIG_SENSE0_HIGH_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE0_LOW               (EIC_CONFIG_SENSE0_LOW_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN0_Pos              3                                              /**< (EIC_CONFIG) Filter Enable 0 Position */
+#define EIC_CONFIG_FILTEN0_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN0_Pos)           /**< (EIC_CONFIG) Filter Enable 0 Mask */
+#define EIC_CONFIG_FILTEN0                  EIC_CONFIG_FILTEN0_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN0_Msk instead */
+#define EIC_CONFIG_SENSE1_Pos               4                                              /**< (EIC_CONFIG) Input Sense Configuration 1 Position */
+#define EIC_CONFIG_SENSE1_Msk               (_U_(0x7) << EIC_CONFIG_SENSE1_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 1 Mask */
+#define EIC_CONFIG_SENSE1(value)            (EIC_CONFIG_SENSE1_Msk & ((value) << EIC_CONFIG_SENSE1_Pos))
+#define   EIC_CONFIG_SENSE1_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE1_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE1_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE1_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE1_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE1_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE1_NONE              (EIC_CONFIG_SENSE1_NONE_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE1_RISE              (EIC_CONFIG_SENSE1_RISE_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE1_FALL              (EIC_CONFIG_SENSE1_FALL_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE1_BOTH              (EIC_CONFIG_SENSE1_BOTH_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE1_HIGH              (EIC_CONFIG_SENSE1_HIGH_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE1_LOW               (EIC_CONFIG_SENSE1_LOW_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN1_Pos              7                                              /**< (EIC_CONFIG) Filter Enable 1 Position */
+#define EIC_CONFIG_FILTEN1_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN1_Pos)           /**< (EIC_CONFIG) Filter Enable 1 Mask */
+#define EIC_CONFIG_FILTEN1                  EIC_CONFIG_FILTEN1_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN1_Msk instead */
+#define EIC_CONFIG_SENSE2_Pos               8                                              /**< (EIC_CONFIG) Input Sense Configuration 2 Position */
+#define EIC_CONFIG_SENSE2_Msk               (_U_(0x7) << EIC_CONFIG_SENSE2_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 2 Mask */
+#define EIC_CONFIG_SENSE2(value)            (EIC_CONFIG_SENSE2_Msk & ((value) << EIC_CONFIG_SENSE2_Pos))
+#define   EIC_CONFIG_SENSE2_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE2_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE2_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE2_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE2_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE2_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE2_NONE              (EIC_CONFIG_SENSE2_NONE_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE2_RISE              (EIC_CONFIG_SENSE2_RISE_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE2_FALL              (EIC_CONFIG_SENSE2_FALL_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE2_BOTH              (EIC_CONFIG_SENSE2_BOTH_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE2_HIGH              (EIC_CONFIG_SENSE2_HIGH_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE2_LOW               (EIC_CONFIG_SENSE2_LOW_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN2_Pos              11                                             /**< (EIC_CONFIG) Filter Enable 2 Position */
+#define EIC_CONFIG_FILTEN2_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN2_Pos)           /**< (EIC_CONFIG) Filter Enable 2 Mask */
+#define EIC_CONFIG_FILTEN2                  EIC_CONFIG_FILTEN2_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN2_Msk instead */
+#define EIC_CONFIG_SENSE3_Pos               12                                             /**< (EIC_CONFIG) Input Sense Configuration 3 Position */
+#define EIC_CONFIG_SENSE3_Msk               (_U_(0x7) << EIC_CONFIG_SENSE3_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 3 Mask */
+#define EIC_CONFIG_SENSE3(value)            (EIC_CONFIG_SENSE3_Msk & ((value) << EIC_CONFIG_SENSE3_Pos))
+#define   EIC_CONFIG_SENSE3_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE3_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE3_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE3_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE3_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE3_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE3_NONE              (EIC_CONFIG_SENSE3_NONE_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE3_RISE              (EIC_CONFIG_SENSE3_RISE_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE3_FALL              (EIC_CONFIG_SENSE3_FALL_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE3_BOTH              (EIC_CONFIG_SENSE3_BOTH_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE3_HIGH              (EIC_CONFIG_SENSE3_HIGH_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE3_LOW               (EIC_CONFIG_SENSE3_LOW_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN3_Pos              15                                             /**< (EIC_CONFIG) Filter Enable 3 Position */
+#define EIC_CONFIG_FILTEN3_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN3_Pos)           /**< (EIC_CONFIG) Filter Enable 3 Mask */
+#define EIC_CONFIG_FILTEN3                  EIC_CONFIG_FILTEN3_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN3_Msk instead */
+#define EIC_CONFIG_SENSE4_Pos               16                                             /**< (EIC_CONFIG) Input Sense Configuration 4 Position */
+#define EIC_CONFIG_SENSE4_Msk               (_U_(0x7) << EIC_CONFIG_SENSE4_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 4 Mask */
+#define EIC_CONFIG_SENSE4(value)            (EIC_CONFIG_SENSE4_Msk & ((value) << EIC_CONFIG_SENSE4_Pos))
+#define   EIC_CONFIG_SENSE4_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE4_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE4_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE4_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE4_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE4_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE4_NONE              (EIC_CONFIG_SENSE4_NONE_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE4_RISE              (EIC_CONFIG_SENSE4_RISE_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE4_FALL              (EIC_CONFIG_SENSE4_FALL_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE4_BOTH              (EIC_CONFIG_SENSE4_BOTH_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE4_HIGH              (EIC_CONFIG_SENSE4_HIGH_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE4_LOW               (EIC_CONFIG_SENSE4_LOW_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN4_Pos              19                                             /**< (EIC_CONFIG) Filter Enable 4 Position */
+#define EIC_CONFIG_FILTEN4_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN4_Pos)           /**< (EIC_CONFIG) Filter Enable 4 Mask */
+#define EIC_CONFIG_FILTEN4                  EIC_CONFIG_FILTEN4_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN4_Msk instead */
+#define EIC_CONFIG_SENSE5_Pos               20                                             /**< (EIC_CONFIG) Input Sense Configuration 5 Position */
+#define EIC_CONFIG_SENSE5_Msk               (_U_(0x7) << EIC_CONFIG_SENSE5_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 5 Mask */
+#define EIC_CONFIG_SENSE5(value)            (EIC_CONFIG_SENSE5_Msk & ((value) << EIC_CONFIG_SENSE5_Pos))
+#define   EIC_CONFIG_SENSE5_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE5_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE5_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE5_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE5_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE5_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE5_NONE              (EIC_CONFIG_SENSE5_NONE_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE5_RISE              (EIC_CONFIG_SENSE5_RISE_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE5_FALL              (EIC_CONFIG_SENSE5_FALL_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE5_BOTH              (EIC_CONFIG_SENSE5_BOTH_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE5_HIGH              (EIC_CONFIG_SENSE5_HIGH_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE5_LOW               (EIC_CONFIG_SENSE5_LOW_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN5_Pos              23                                             /**< (EIC_CONFIG) Filter Enable 5 Position */
+#define EIC_CONFIG_FILTEN5_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN5_Pos)           /**< (EIC_CONFIG) Filter Enable 5 Mask */
+#define EIC_CONFIG_FILTEN5                  EIC_CONFIG_FILTEN5_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN5_Msk instead */
+#define EIC_CONFIG_SENSE6_Pos               24                                             /**< (EIC_CONFIG) Input Sense Configuration 6 Position */
+#define EIC_CONFIG_SENSE6_Msk               (_U_(0x7) << EIC_CONFIG_SENSE6_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 6 Mask */
+#define EIC_CONFIG_SENSE6(value)            (EIC_CONFIG_SENSE6_Msk & ((value) << EIC_CONFIG_SENSE6_Pos))
+#define   EIC_CONFIG_SENSE6_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE6_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE6_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE6_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE6_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE6_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE6_NONE              (EIC_CONFIG_SENSE6_NONE_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE6_RISE              (EIC_CONFIG_SENSE6_RISE_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE6_FALL              (EIC_CONFIG_SENSE6_FALL_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE6_BOTH              (EIC_CONFIG_SENSE6_BOTH_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE6_HIGH              (EIC_CONFIG_SENSE6_HIGH_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE6_LOW               (EIC_CONFIG_SENSE6_LOW_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN6_Pos              27                                             /**< (EIC_CONFIG) Filter Enable 6 Position */
+#define EIC_CONFIG_FILTEN6_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN6_Pos)           /**< (EIC_CONFIG) Filter Enable 6 Mask */
+#define EIC_CONFIG_FILTEN6                  EIC_CONFIG_FILTEN6_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN6_Msk instead */
+#define EIC_CONFIG_SENSE7_Pos               28                                             /**< (EIC_CONFIG) Input Sense Configuration 7 Position */
+#define EIC_CONFIG_SENSE7_Msk               (_U_(0x7) << EIC_CONFIG_SENSE7_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 7 Mask */
+#define EIC_CONFIG_SENSE7(value)            (EIC_CONFIG_SENSE7_Msk & ((value) << EIC_CONFIG_SENSE7_Pos))
+#define   EIC_CONFIG_SENSE7_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE7_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE7_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE7_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE7_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE7_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE7_NONE              (EIC_CONFIG_SENSE7_NONE_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE7_RISE              (EIC_CONFIG_SENSE7_RISE_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE7_FALL              (EIC_CONFIG_SENSE7_FALL_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE7_BOTH              (EIC_CONFIG_SENSE7_BOTH_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE7_HIGH              (EIC_CONFIG_SENSE7_HIGH_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE7_LOW               (EIC_CONFIG_SENSE7_LOW_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN7_Pos              31                                             /**< (EIC_CONFIG) Filter Enable 7 Position */
+#define EIC_CONFIG_FILTEN7_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN7_Pos)           /**< (EIC_CONFIG) Filter Enable 7 Mask */
+#define EIC_CONFIG_FILTEN7                  EIC_CONFIG_FILTEN7_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN7_Msk instead */
+#define EIC_CONFIG_MASK                     _U_(0xFFFFFFFF)                                /**< \deprecated (EIC_CONFIG) Register MASK  (Use EIC_CONFIG_Msk instead)  */
+#define EIC_CONFIG_Msk                      _U_(0xFFFFFFFF)                                /**< (EIC_CONFIG) Register Mask  */
+
+
+/* -------- EIC_DEBOUNCEN : (EIC Offset: 0x30) (R/W 32) Debouncer Enable -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DEBOUNCEN:8;               /**< bit:   0..7  Debouncer Enable                         */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_DEBOUNCEN_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_DEBOUNCEN_OFFSET                (0x30)                                        /**<  (EIC_DEBOUNCEN) Debouncer Enable  Offset */
+#define EIC_DEBOUNCEN_RESETVALUE            _U_(0x00)                                     /**<  (EIC_DEBOUNCEN) Debouncer Enable  Reset Value */
+
+#define EIC_DEBOUNCEN_DEBOUNCEN_Pos         0                                              /**< (EIC_DEBOUNCEN) Debouncer Enable Position */
+#define EIC_DEBOUNCEN_DEBOUNCEN_Msk         (_U_(0xFF) << EIC_DEBOUNCEN_DEBOUNCEN_Pos)     /**< (EIC_DEBOUNCEN) Debouncer Enable Mask */
+#define EIC_DEBOUNCEN_DEBOUNCEN(value)      (EIC_DEBOUNCEN_DEBOUNCEN_Msk & ((value) << EIC_DEBOUNCEN_DEBOUNCEN_Pos))
+#define EIC_DEBOUNCEN_MASK                  _U_(0xFF)                                      /**< \deprecated (EIC_DEBOUNCEN) Register MASK  (Use EIC_DEBOUNCEN_Msk instead)  */
+#define EIC_DEBOUNCEN_Msk                   _U_(0xFF)                                      /**< (EIC_DEBOUNCEN) Register Mask  */
+
+
+/* -------- EIC_DPRESCALER : (EIC Offset: 0x34) (R/W 32) Debouncer Prescaler -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PRESCALER0:3;              /**< bit:   0..2  Debouncer Prescaler                      */
+    uint32_t STATES0:1;                 /**< bit:      3  Debouncer number of states               */
+    uint32_t :12;                       /**< bit:  4..15  Reserved */
+    uint32_t TICKON:1;                  /**< bit:     16  Pin Sampler frequency selection          */
+    uint32_t :15;                       /**< bit: 17..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :3;                        /**< bit:   0..2  Reserved */
+    uint32_t STATES:1;                  /**< bit:      3  Debouncer number of states               */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_DPRESCALER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_DPRESCALER_OFFSET               (0x34)                                        /**<  (EIC_DPRESCALER) Debouncer Prescaler  Offset */
+#define EIC_DPRESCALER_RESETVALUE           _U_(0x00)                                     /**<  (EIC_DPRESCALER) Debouncer Prescaler  Reset Value */
+
+#define EIC_DPRESCALER_PRESCALER0_Pos       0                                              /**< (EIC_DPRESCALER) Debouncer Prescaler Position */
+#define EIC_DPRESCALER_PRESCALER0_Msk       (_U_(0x7) << EIC_DPRESCALER_PRESCALER0_Pos)    /**< (EIC_DPRESCALER) Debouncer Prescaler Mask */
+#define EIC_DPRESCALER_PRESCALER0(value)    (EIC_DPRESCALER_PRESCALER0_Msk & ((value) << EIC_DPRESCALER_PRESCALER0_Pos))
+#define EIC_DPRESCALER_STATES0_Pos          3                                              /**< (EIC_DPRESCALER) Debouncer number of states Position */
+#define EIC_DPRESCALER_STATES0_Msk          (_U_(0x1) << EIC_DPRESCALER_STATES0_Pos)       /**< (EIC_DPRESCALER) Debouncer number of states Mask */
+#define EIC_DPRESCALER_STATES0              EIC_DPRESCALER_STATES0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_DPRESCALER_STATES0_Msk instead */
+#define EIC_DPRESCALER_TICKON_Pos           16                                             /**< (EIC_DPRESCALER) Pin Sampler frequency selection Position */
+#define EIC_DPRESCALER_TICKON_Msk           (_U_(0x1) << EIC_DPRESCALER_TICKON_Pos)        /**< (EIC_DPRESCALER) Pin Sampler frequency selection Mask */
+#define EIC_DPRESCALER_TICKON               EIC_DPRESCALER_TICKON_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_DPRESCALER_TICKON_Msk instead */
+#define EIC_DPRESCALER_MASK                 _U_(0x1000F)                                   /**< \deprecated (EIC_DPRESCALER) Register MASK  (Use EIC_DPRESCALER_Msk instead)  */
+#define EIC_DPRESCALER_Msk                  _U_(0x1000F)                                   /**< (EIC_DPRESCALER) Register Mask  */
+
+#define EIC_DPRESCALER_STATES_Pos           3                                              /**< (EIC_DPRESCALER Position) Debouncer number of states */
+#define EIC_DPRESCALER_STATES_Msk           (_U_(0x1) << EIC_DPRESCALER_STATES_Pos)        /**< (EIC_DPRESCALER Mask) STATES */
+#define EIC_DPRESCALER_STATES(value)        (EIC_DPRESCALER_STATES_Msk & ((value) << EIC_DPRESCALER_STATES_Pos))  
+
+/* -------- EIC_PINSTATE : (EIC Offset: 0x38) (R/ 32) Pin State -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PINSTATE:8;                /**< bit:   0..7  Pin State                                */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_PINSTATE_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_PINSTATE_OFFSET                 (0x38)                                        /**<  (EIC_PINSTATE) Pin State  Offset */
+#define EIC_PINSTATE_RESETVALUE             _U_(0x00)                                     /**<  (EIC_PINSTATE) Pin State  Reset Value */
+
+#define EIC_PINSTATE_PINSTATE_Pos           0                                              /**< (EIC_PINSTATE) Pin State Position */
+#define EIC_PINSTATE_PINSTATE_Msk           (_U_(0xFF) << EIC_PINSTATE_PINSTATE_Pos)       /**< (EIC_PINSTATE) Pin State Mask */
+#define EIC_PINSTATE_PINSTATE(value)        (EIC_PINSTATE_PINSTATE_Msk & ((value) << EIC_PINSTATE_PINSTATE_Pos))
+#define EIC_PINSTATE_MASK                   _U_(0xFF)                                      /**< \deprecated (EIC_PINSTATE) Register MASK  (Use EIC_PINSTATE_Msk instead)  */
+#define EIC_PINSTATE_Msk                    _U_(0xFF)                                      /**< (EIC_PINSTATE) Register Mask  */
+
+
+/* -------- EIC_NSCHK : (EIC Offset: 0x3c) (R/W 32) Non-secure Interrupt Check Enable -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EXTINT:8;                  /**< bit:   0..7  External Interrupt Nonsecure Check Enable */
+    uint32_t :23;                       /**< bit:  8..30  Reserved */
+    uint32_t NMI:1;                     /**< bit:     31  Non-Maskable External Interrupt Nonsecure Check Enable */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_NSCHK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_NSCHK_OFFSET                    (0x3C)                                        /**<  (EIC_NSCHK) Non-secure Interrupt Check Enable  Offset */
+#define EIC_NSCHK_RESETVALUE                _U_(0x00)                                     /**<  (EIC_NSCHK) Non-secure Interrupt Check Enable  Reset Value */
+
+#define EIC_NSCHK_EXTINT_Pos                0                                              /**< (EIC_NSCHK) External Interrupt Nonsecure Check Enable Position */
+#define EIC_NSCHK_EXTINT_Msk                (_U_(0xFF) << EIC_NSCHK_EXTINT_Pos)            /**< (EIC_NSCHK) External Interrupt Nonsecure Check Enable Mask */
+#define EIC_NSCHK_EXTINT(value)             (EIC_NSCHK_EXTINT_Msk & ((value) << EIC_NSCHK_EXTINT_Pos))
+#define EIC_NSCHK_NMI_Pos                   31                                             /**< (EIC_NSCHK) Non-Maskable External Interrupt Nonsecure Check Enable Position */
+#define EIC_NSCHK_NMI_Msk                   (_U_(0x1) << EIC_NSCHK_NMI_Pos)                /**< (EIC_NSCHK) Non-Maskable External Interrupt Nonsecure Check Enable Mask */
+#define EIC_NSCHK_NMI                       EIC_NSCHK_NMI_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_NSCHK_NMI_Msk instead */
+#define EIC_NSCHK_MASK                      _U_(0x800000FF)                                /**< \deprecated (EIC_NSCHK) Register MASK  (Use EIC_NSCHK_Msk instead)  */
+#define EIC_NSCHK_Msk                       _U_(0x800000FF)                                /**< (EIC_NSCHK) Register Mask  */
+
+
+/* -------- EIC_NONSEC : (EIC Offset: 0x40) (R/W 32) Non-secure Interrupt -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EXTINT:8;                  /**< bit:   0..7  External Interrupt Nonsecure Enable      */
+    uint32_t :23;                       /**< bit:  8..30  Reserved */
+    uint32_t NMI:1;                     /**< bit:     31  Non-Maskable Interrupt Nonsecure Enable  */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_NONSEC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_NONSEC_OFFSET                   (0x40)                                        /**<  (EIC_NONSEC) Non-secure Interrupt  Offset */
+#define EIC_NONSEC_RESETVALUE               _U_(0x00)                                     /**<  (EIC_NONSEC) Non-secure Interrupt  Reset Value */
+
+#define EIC_NONSEC_EXTINT_Pos               0                                              /**< (EIC_NONSEC) External Interrupt Nonsecure Enable Position */
+#define EIC_NONSEC_EXTINT_Msk               (_U_(0xFF) << EIC_NONSEC_EXTINT_Pos)           /**< (EIC_NONSEC) External Interrupt Nonsecure Enable Mask */
+#define EIC_NONSEC_EXTINT(value)            (EIC_NONSEC_EXTINT_Msk & ((value) << EIC_NONSEC_EXTINT_Pos))
+#define EIC_NONSEC_NMI_Pos                  31                                             /**< (EIC_NONSEC) Non-Maskable Interrupt Nonsecure Enable Position */
+#define EIC_NONSEC_NMI_Msk                  (_U_(0x1) << EIC_NONSEC_NMI_Pos)               /**< (EIC_NONSEC) Non-Maskable Interrupt Nonsecure Enable Mask */
+#define EIC_NONSEC_NMI                      EIC_NONSEC_NMI_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_NONSEC_NMI_Msk instead */
+#define EIC_NONSEC_MASK                     _U_(0x800000FF)                                /**< \deprecated (EIC_NONSEC) Register MASK  (Use EIC_NONSEC_Msk instead)  */
+#define EIC_NONSEC_Msk                      _U_(0x800000FF)                                /**< (EIC_NONSEC) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief EIC hardware registers */
+typedef struct {  /* External Interrupt Controller */
+  __IO EIC_CTRLA_Type                 CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __IO EIC_NMICTRL_Type               NMICTRL;        /**< Offset: 0x01 (R/W   8) Non-Maskable Interrupt Control */
+  __IO EIC_NMIFLAG_Type               NMIFLAG;        /**< Offset: 0x02 (R/W  16) Non-Maskable Interrupt Flag Status and Clear */
+  __I  EIC_SYNCBUSY_Type              SYNCBUSY;       /**< Offset: 0x04 (R/   32) Synchronization Busy */
+  __IO EIC_EVCTRL_Type                EVCTRL;         /**< Offset: 0x08 (R/W  32) Event Control */
+  __IO EIC_INTENCLR_Type              INTENCLR;       /**< Offset: 0x0C (R/W  32) Interrupt Enable Clear */
+  __IO EIC_INTENSET_Type              INTENSET;       /**< Offset: 0x10 (R/W  32) Interrupt Enable Set */
+  __IO EIC_INTFLAG_Type               INTFLAG;        /**< Offset: 0x14 (R/W  32) Interrupt Flag Status and Clear */
+  __IO EIC_ASYNCH_Type                ASYNCH;         /**< Offset: 0x18 (R/W  32) External Interrupt Asynchronous Mode */
+  __IO EIC_CONFIG_Type                CONFIG[1];      /**< Offset: 0x1C (R/W  32) External Interrupt Sense Configuration */
+  __I  uint8_t                        Reserved1[16];
+  __IO EIC_DEBOUNCEN_Type             DEBOUNCEN;      /**< Offset: 0x30 (R/W  32) Debouncer Enable */
+  __IO EIC_DPRESCALER_Type            DPRESCALER;     /**< Offset: 0x34 (R/W  32) Debouncer Prescaler */
+  __I  EIC_PINSTATE_Type              PINSTATE;       /**< Offset: 0x38 (R/   32) Pin State */
+  __IO EIC_NSCHK_Type                 NSCHK;          /**< Offset: 0x3C (R/W  32) Non-secure Interrupt Check Enable */
+  __IO EIC_NONSEC_Type                NONSEC;         /**< Offset: 0x40 (R/W  32) Non-secure Interrupt */
+} Eic;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of External Interrupt Controller */
+
+#endif /* _SAML10_EIC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/evsys.h b/cpu/sam0_common/include/vendor/saml10/include/component/evsys.h
new file mode 100644
index 0000000000..8bdf0218f1
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/evsys.h
@@ -0,0 +1,927 @@
+/**
+ * \file
+ *
+ * \brief Component description for EVSYS
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_EVSYS_COMPONENT_H_
+#define _SAML10_EVSYS_COMPONENT_H_
+#define _SAML10_EVSYS_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Event System Interface
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR EVSYS */
+/* ========================================================================== */
+
+#define EVSYS_U2504                      /**< (EVSYS) Module ID */
+#define REV_EVSYS 0x200                  /**< (EVSYS) Module revision */
+
+/* -------- EVSYS_CHANNEL : (EVSYS Offset: 0x00) (R/W 32) Channel n Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVGEN:6;                   /**< bit:   0..5  Event Generator Selection                */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t PATH:2;                    /**< bit:   8..9  Path Selection                           */
+    uint32_t EDGSEL:2;                  /**< bit: 10..11  Edge Detection Selection                 */
+    uint32_t :2;                        /**< bit: 12..13  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:     14  Run in standby                           */
+    uint32_t ONDEMAND:1;                /**< bit:     15  Generic Clock On Demand                  */
+    uint32_t :16;                       /**< bit: 16..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_CHANNEL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CHANNEL_OFFSET                (0x00)                                        /**<  (EVSYS_CHANNEL) Channel n Control  Offset */
+#define EVSYS_CHANNEL_RESETVALUE            _U_(0x8000)                                   /**<  (EVSYS_CHANNEL) Channel n Control  Reset Value */
+
+#define EVSYS_CHANNEL_EVGEN_Pos             0                                              /**< (EVSYS_CHANNEL) Event Generator Selection Position */
+#define EVSYS_CHANNEL_EVGEN_Msk             (_U_(0x3F) << EVSYS_CHANNEL_EVGEN_Pos)         /**< (EVSYS_CHANNEL) Event Generator Selection Mask */
+#define EVSYS_CHANNEL_EVGEN(value)          (EVSYS_CHANNEL_EVGEN_Msk & ((value) << EVSYS_CHANNEL_EVGEN_Pos))
+#define EVSYS_CHANNEL_PATH_Pos              8                                              /**< (EVSYS_CHANNEL) Path Selection Position */
+#define EVSYS_CHANNEL_PATH_Msk              (_U_(0x3) << EVSYS_CHANNEL_PATH_Pos)           /**< (EVSYS_CHANNEL) Path Selection Mask */
+#define EVSYS_CHANNEL_PATH(value)           (EVSYS_CHANNEL_PATH_Msk & ((value) << EVSYS_CHANNEL_PATH_Pos))
+#define   EVSYS_CHANNEL_PATH_SYNCHRONOUS_Val _U_(0x0)                                       /**< (EVSYS_CHANNEL) Synchronous path  */
+#define   EVSYS_CHANNEL_PATH_RESYNCHRONIZED_Val _U_(0x1)                                       /**< (EVSYS_CHANNEL) Resynchronized path  */
+#define   EVSYS_CHANNEL_PATH_ASYNCHRONOUS_Val _U_(0x2)                                       /**< (EVSYS_CHANNEL) Asynchronous path  */
+#define EVSYS_CHANNEL_PATH_SYNCHRONOUS      (EVSYS_CHANNEL_PATH_SYNCHRONOUS_Val << EVSYS_CHANNEL_PATH_Pos)  /**< (EVSYS_CHANNEL) Synchronous path Position  */
+#define EVSYS_CHANNEL_PATH_RESYNCHRONIZED   (EVSYS_CHANNEL_PATH_RESYNCHRONIZED_Val << EVSYS_CHANNEL_PATH_Pos)  /**< (EVSYS_CHANNEL) Resynchronized path Position  */
+#define EVSYS_CHANNEL_PATH_ASYNCHRONOUS     (EVSYS_CHANNEL_PATH_ASYNCHRONOUS_Val << EVSYS_CHANNEL_PATH_Pos)  /**< (EVSYS_CHANNEL) Asynchronous path Position  */
+#define EVSYS_CHANNEL_EDGSEL_Pos            10                                             /**< (EVSYS_CHANNEL) Edge Detection Selection Position */
+#define EVSYS_CHANNEL_EDGSEL_Msk            (_U_(0x3) << EVSYS_CHANNEL_EDGSEL_Pos)         /**< (EVSYS_CHANNEL) Edge Detection Selection Mask */
+#define EVSYS_CHANNEL_EDGSEL(value)         (EVSYS_CHANNEL_EDGSEL_Msk & ((value) << EVSYS_CHANNEL_EDGSEL_Pos))
+#define   EVSYS_CHANNEL_EDGSEL_NO_EVT_OUTPUT_Val _U_(0x0)                                       /**< (EVSYS_CHANNEL) No event output when using the resynchronized or synchronous path  */
+#define   EVSYS_CHANNEL_EDGSEL_RISING_EDGE_Val _U_(0x1)                                       /**< (EVSYS_CHANNEL) Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path  */
+#define   EVSYS_CHANNEL_EDGSEL_FALLING_EDGE_Val _U_(0x2)                                       /**< (EVSYS_CHANNEL) Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path  */
+#define   EVSYS_CHANNEL_EDGSEL_BOTH_EDGES_Val _U_(0x3)                                       /**< (EVSYS_CHANNEL) Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path  */
+#define EVSYS_CHANNEL_EDGSEL_NO_EVT_OUTPUT  (EVSYS_CHANNEL_EDGSEL_NO_EVT_OUTPUT_Val << EVSYS_CHANNEL_EDGSEL_Pos)  /**< (EVSYS_CHANNEL) No event output when using the resynchronized or synchronous path Position  */
+#define EVSYS_CHANNEL_EDGSEL_RISING_EDGE    (EVSYS_CHANNEL_EDGSEL_RISING_EDGE_Val << EVSYS_CHANNEL_EDGSEL_Pos)  /**< (EVSYS_CHANNEL) Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path Position  */
+#define EVSYS_CHANNEL_EDGSEL_FALLING_EDGE   (EVSYS_CHANNEL_EDGSEL_FALLING_EDGE_Val << EVSYS_CHANNEL_EDGSEL_Pos)  /**< (EVSYS_CHANNEL) Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path Position  */
+#define EVSYS_CHANNEL_EDGSEL_BOTH_EDGES     (EVSYS_CHANNEL_EDGSEL_BOTH_EDGES_Val << EVSYS_CHANNEL_EDGSEL_Pos)  /**< (EVSYS_CHANNEL) Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path Position  */
+#define EVSYS_CHANNEL_RUNSTDBY_Pos          14                                             /**< (EVSYS_CHANNEL) Run in standby Position */
+#define EVSYS_CHANNEL_RUNSTDBY_Msk          (_U_(0x1) << EVSYS_CHANNEL_RUNSTDBY_Pos)       /**< (EVSYS_CHANNEL) Run in standby Mask */
+#define EVSYS_CHANNEL_RUNSTDBY              EVSYS_CHANNEL_RUNSTDBY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHANNEL_RUNSTDBY_Msk instead */
+#define EVSYS_CHANNEL_ONDEMAND_Pos          15                                             /**< (EVSYS_CHANNEL) Generic Clock On Demand Position */
+#define EVSYS_CHANNEL_ONDEMAND_Msk          (_U_(0x1) << EVSYS_CHANNEL_ONDEMAND_Pos)       /**< (EVSYS_CHANNEL) Generic Clock On Demand Mask */
+#define EVSYS_CHANNEL_ONDEMAND              EVSYS_CHANNEL_ONDEMAND_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHANNEL_ONDEMAND_Msk instead */
+#define EVSYS_CHANNEL_MASK                  _U_(0xCF3F)                                    /**< \deprecated (EVSYS_CHANNEL) Register MASK  (Use EVSYS_CHANNEL_Msk instead)  */
+#define EVSYS_CHANNEL_Msk                   _U_(0xCF3F)                                    /**< (EVSYS_CHANNEL) Register Mask  */
+
+
+/* -------- EVSYS_CHINTENCLR : (EVSYS Offset: 0x04) (R/W 8) Channel n Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  OVR:1;                     /**< bit:      0  Channel Overrun Interrupt Disable        */
+    uint8_t  EVD:1;                     /**< bit:      1  Channel Event Detected Interrupt Disable */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_CHINTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CHINTENCLR_OFFSET             (0x04)                                        /**<  (EVSYS_CHINTENCLR) Channel n Interrupt Enable Clear  Offset */
+#define EVSYS_CHINTENCLR_RESETVALUE         _U_(0x00)                                     /**<  (EVSYS_CHINTENCLR) Channel n Interrupt Enable Clear  Reset Value */
+
+#define EVSYS_CHINTENCLR_OVR_Pos            0                                              /**< (EVSYS_CHINTENCLR) Channel Overrun Interrupt Disable Position */
+#define EVSYS_CHINTENCLR_OVR_Msk            (_U_(0x1) << EVSYS_CHINTENCLR_OVR_Pos)         /**< (EVSYS_CHINTENCLR) Channel Overrun Interrupt Disable Mask */
+#define EVSYS_CHINTENCLR_OVR                EVSYS_CHINTENCLR_OVR_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTENCLR_OVR_Msk instead */
+#define EVSYS_CHINTENCLR_EVD_Pos            1                                              /**< (EVSYS_CHINTENCLR) Channel Event Detected Interrupt Disable Position */
+#define EVSYS_CHINTENCLR_EVD_Msk            (_U_(0x1) << EVSYS_CHINTENCLR_EVD_Pos)         /**< (EVSYS_CHINTENCLR) Channel Event Detected Interrupt Disable Mask */
+#define EVSYS_CHINTENCLR_EVD                EVSYS_CHINTENCLR_EVD_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTENCLR_EVD_Msk instead */
+#define EVSYS_CHINTENCLR_MASK               _U_(0x03)                                      /**< \deprecated (EVSYS_CHINTENCLR) Register MASK  (Use EVSYS_CHINTENCLR_Msk instead)  */
+#define EVSYS_CHINTENCLR_Msk                _U_(0x03)                                      /**< (EVSYS_CHINTENCLR) Register Mask  */
+
+
+/* -------- EVSYS_CHINTENSET : (EVSYS Offset: 0x05) (R/W 8) Channel n Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  OVR:1;                     /**< bit:      0  Channel Overrun Interrupt Enable         */
+    uint8_t  EVD:1;                     /**< bit:      1  Channel Event Detected Interrupt Enable  */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_CHINTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CHINTENSET_OFFSET             (0x05)                                        /**<  (EVSYS_CHINTENSET) Channel n Interrupt Enable Set  Offset */
+#define EVSYS_CHINTENSET_RESETVALUE         _U_(0x00)                                     /**<  (EVSYS_CHINTENSET) Channel n Interrupt Enable Set  Reset Value */
+
+#define EVSYS_CHINTENSET_OVR_Pos            0                                              /**< (EVSYS_CHINTENSET) Channel Overrun Interrupt Enable Position */
+#define EVSYS_CHINTENSET_OVR_Msk            (_U_(0x1) << EVSYS_CHINTENSET_OVR_Pos)         /**< (EVSYS_CHINTENSET) Channel Overrun Interrupt Enable Mask */
+#define EVSYS_CHINTENSET_OVR                EVSYS_CHINTENSET_OVR_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTENSET_OVR_Msk instead */
+#define EVSYS_CHINTENSET_EVD_Pos            1                                              /**< (EVSYS_CHINTENSET) Channel Event Detected Interrupt Enable Position */
+#define EVSYS_CHINTENSET_EVD_Msk            (_U_(0x1) << EVSYS_CHINTENSET_EVD_Pos)         /**< (EVSYS_CHINTENSET) Channel Event Detected Interrupt Enable Mask */
+#define EVSYS_CHINTENSET_EVD                EVSYS_CHINTENSET_EVD_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTENSET_EVD_Msk instead */
+#define EVSYS_CHINTENSET_MASK               _U_(0x03)                                      /**< \deprecated (EVSYS_CHINTENSET) Register MASK  (Use EVSYS_CHINTENSET_Msk instead)  */
+#define EVSYS_CHINTENSET_Msk                _U_(0x03)                                      /**< (EVSYS_CHINTENSET) Register Mask  */
+
+
+/* -------- EVSYS_CHINTFLAG : (EVSYS Offset: 0x06) (R/W 8) Channel n Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t OVR:1;                     /**< bit:      0  Channel Overrun                          */
+    __I uint8_t EVD:1;                     /**< bit:      1  Channel Event Detected                   */
+    __I uint8_t :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_CHINTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CHINTFLAG_OFFSET              (0x06)                                        /**<  (EVSYS_CHINTFLAG) Channel n Interrupt Flag Status and Clear  Offset */
+#define EVSYS_CHINTFLAG_RESETVALUE          _U_(0x00)                                     /**<  (EVSYS_CHINTFLAG) Channel n Interrupt Flag Status and Clear  Reset Value */
+
+#define EVSYS_CHINTFLAG_OVR_Pos             0                                              /**< (EVSYS_CHINTFLAG) Channel Overrun Position */
+#define EVSYS_CHINTFLAG_OVR_Msk             (_U_(0x1) << EVSYS_CHINTFLAG_OVR_Pos)          /**< (EVSYS_CHINTFLAG) Channel Overrun Mask */
+#define EVSYS_CHINTFLAG_OVR                 EVSYS_CHINTFLAG_OVR_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTFLAG_OVR_Msk instead */
+#define EVSYS_CHINTFLAG_EVD_Pos             1                                              /**< (EVSYS_CHINTFLAG) Channel Event Detected Position */
+#define EVSYS_CHINTFLAG_EVD_Msk             (_U_(0x1) << EVSYS_CHINTFLAG_EVD_Pos)          /**< (EVSYS_CHINTFLAG) Channel Event Detected Mask */
+#define EVSYS_CHINTFLAG_EVD                 EVSYS_CHINTFLAG_EVD_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTFLAG_EVD_Msk instead */
+#define EVSYS_CHINTFLAG_MASK                _U_(0x03)                                      /**< \deprecated (EVSYS_CHINTFLAG) Register MASK  (Use EVSYS_CHINTFLAG_Msk instead)  */
+#define EVSYS_CHINTFLAG_Msk                 _U_(0x03)                                      /**< (EVSYS_CHINTFLAG) Register Mask  */
+
+
+/* -------- EVSYS_CHSTATUS : (EVSYS Offset: 0x07) (R/ 8) Channel n Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RDYUSR:1;                  /**< bit:      0  Ready User                               */
+    uint8_t  BUSYCH:1;                  /**< bit:      1  Busy Channel                             */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_CHSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CHSTATUS_OFFSET               (0x07)                                        /**<  (EVSYS_CHSTATUS) Channel n Status  Offset */
+#define EVSYS_CHSTATUS_RESETVALUE           _U_(0x01)                                     /**<  (EVSYS_CHSTATUS) Channel n Status  Reset Value */
+
+#define EVSYS_CHSTATUS_RDYUSR_Pos           0                                              /**< (EVSYS_CHSTATUS) Ready User Position */
+#define EVSYS_CHSTATUS_RDYUSR_Msk           (_U_(0x1) << EVSYS_CHSTATUS_RDYUSR_Pos)        /**< (EVSYS_CHSTATUS) Ready User Mask */
+#define EVSYS_CHSTATUS_RDYUSR               EVSYS_CHSTATUS_RDYUSR_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHSTATUS_RDYUSR_Msk instead */
+#define EVSYS_CHSTATUS_BUSYCH_Pos           1                                              /**< (EVSYS_CHSTATUS) Busy Channel Position */
+#define EVSYS_CHSTATUS_BUSYCH_Msk           (_U_(0x1) << EVSYS_CHSTATUS_BUSYCH_Pos)        /**< (EVSYS_CHSTATUS) Busy Channel Mask */
+#define EVSYS_CHSTATUS_BUSYCH               EVSYS_CHSTATUS_BUSYCH_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHSTATUS_BUSYCH_Msk instead */
+#define EVSYS_CHSTATUS_MASK                 _U_(0x03)                                      /**< \deprecated (EVSYS_CHSTATUS) Register MASK  (Use EVSYS_CHSTATUS_Msk instead)  */
+#define EVSYS_CHSTATUS_Msk                  _U_(0x03)                                      /**< (EVSYS_CHSTATUS) Register Mask  */
+
+
+/* -------- EVSYS_CTRLA : (EVSYS Offset: 0x00) (/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CTRLA_OFFSET                  (0x00)                                        /**<  (EVSYS_CTRLA) Control  Offset */
+#define EVSYS_CTRLA_RESETVALUE              _U_(0x00)                                     /**<  (EVSYS_CTRLA) Control  Reset Value */
+
+#define EVSYS_CTRLA_SWRST_Pos               0                                              /**< (EVSYS_CTRLA) Software Reset Position */
+#define EVSYS_CTRLA_SWRST_Msk               (_U_(0x1) << EVSYS_CTRLA_SWRST_Pos)            /**< (EVSYS_CTRLA) Software Reset Mask */
+#define EVSYS_CTRLA_SWRST                   EVSYS_CTRLA_SWRST_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CTRLA_SWRST_Msk instead */
+#define EVSYS_CTRLA_MASK                    _U_(0x01)                                      /**< \deprecated (EVSYS_CTRLA) Register MASK  (Use EVSYS_CTRLA_Msk instead)  */
+#define EVSYS_CTRLA_Msk                     _U_(0x01)                                      /**< (EVSYS_CTRLA) Register Mask  */
+
+
+/* -------- EVSYS_SWEVT : (EVSYS Offset: 0x04) (/W 32) Software Event -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CHANNEL0:1;                /**< bit:      0  Channel 0 Software Selection             */
+    uint32_t CHANNEL1:1;                /**< bit:      1  Channel 1 Software Selection             */
+    uint32_t CHANNEL2:1;                /**< bit:      2  Channel 2 Software Selection             */
+    uint32_t CHANNEL3:1;                /**< bit:      3  Channel 3 Software Selection             */
+    uint32_t CHANNEL4:1;                /**< bit:      4  Channel 4 Software Selection             */
+    uint32_t CHANNEL5:1;                /**< bit:      5  Channel 5 Software Selection             */
+    uint32_t CHANNEL6:1;                /**< bit:      6  Channel 6 Software Selection             */
+    uint32_t CHANNEL7:1;                /**< bit:      7  Channel 7 Software Selection             */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t CHANNEL:8;                 /**< bit:   0..7  Channel 7 Software Selection             */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_SWEVT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_SWEVT_OFFSET                  (0x04)                                        /**<  (EVSYS_SWEVT) Software Event  Offset */
+#define EVSYS_SWEVT_RESETVALUE              _U_(0x00)                                     /**<  (EVSYS_SWEVT) Software Event  Reset Value */
+
+#define EVSYS_SWEVT_CHANNEL0_Pos            0                                              /**< (EVSYS_SWEVT) Channel 0 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL0_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL0_Pos)         /**< (EVSYS_SWEVT) Channel 0 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL0                EVSYS_SWEVT_CHANNEL0_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL0_Msk instead */
+#define EVSYS_SWEVT_CHANNEL1_Pos            1                                              /**< (EVSYS_SWEVT) Channel 1 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL1_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL1_Pos)         /**< (EVSYS_SWEVT) Channel 1 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL1                EVSYS_SWEVT_CHANNEL1_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL1_Msk instead */
+#define EVSYS_SWEVT_CHANNEL2_Pos            2                                              /**< (EVSYS_SWEVT) Channel 2 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL2_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL2_Pos)         /**< (EVSYS_SWEVT) Channel 2 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL2                EVSYS_SWEVT_CHANNEL2_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL2_Msk instead */
+#define EVSYS_SWEVT_CHANNEL3_Pos            3                                              /**< (EVSYS_SWEVT) Channel 3 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL3_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL3_Pos)         /**< (EVSYS_SWEVT) Channel 3 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL3                EVSYS_SWEVT_CHANNEL3_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL3_Msk instead */
+#define EVSYS_SWEVT_CHANNEL4_Pos            4                                              /**< (EVSYS_SWEVT) Channel 4 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL4_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL4_Pos)         /**< (EVSYS_SWEVT) Channel 4 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL4                EVSYS_SWEVT_CHANNEL4_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL4_Msk instead */
+#define EVSYS_SWEVT_CHANNEL5_Pos            5                                              /**< (EVSYS_SWEVT) Channel 5 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL5_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL5_Pos)         /**< (EVSYS_SWEVT) Channel 5 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL5                EVSYS_SWEVT_CHANNEL5_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL5_Msk instead */
+#define EVSYS_SWEVT_CHANNEL6_Pos            6                                              /**< (EVSYS_SWEVT) Channel 6 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL6_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL6_Pos)         /**< (EVSYS_SWEVT) Channel 6 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL6                EVSYS_SWEVT_CHANNEL6_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL6_Msk instead */
+#define EVSYS_SWEVT_CHANNEL7_Pos            7                                              /**< (EVSYS_SWEVT) Channel 7 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL7_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL7_Pos)         /**< (EVSYS_SWEVT) Channel 7 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL7                EVSYS_SWEVT_CHANNEL7_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL7_Msk instead */
+#define EVSYS_SWEVT_MASK                    _U_(0xFF)                                      /**< \deprecated (EVSYS_SWEVT) Register MASK  (Use EVSYS_SWEVT_Msk instead)  */
+#define EVSYS_SWEVT_Msk                     _U_(0xFF)                                      /**< (EVSYS_SWEVT) Register Mask  */
+
+#define EVSYS_SWEVT_CHANNEL_Pos             0                                              /**< (EVSYS_SWEVT Position) Channel 7 Software Selection */
+#define EVSYS_SWEVT_CHANNEL_Msk             (_U_(0xFF) << EVSYS_SWEVT_CHANNEL_Pos)         /**< (EVSYS_SWEVT Mask) CHANNEL */
+#define EVSYS_SWEVT_CHANNEL(value)          (EVSYS_SWEVT_CHANNEL_Msk & ((value) << EVSYS_SWEVT_CHANNEL_Pos))  
+
+/* -------- EVSYS_PRICTRL : (EVSYS Offset: 0x08) (R/W 8) Priority Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PRI:2;                     /**< bit:   0..1  Channel Priority Number                  */
+    uint8_t  :5;                        /**< bit:   2..6  Reserved */
+    uint8_t  RREN:1;                    /**< bit:      7  Round-Robin Scheduling Enable            */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_PRICTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_PRICTRL_OFFSET                (0x08)                                        /**<  (EVSYS_PRICTRL) Priority Control  Offset */
+#define EVSYS_PRICTRL_RESETVALUE            _U_(0x00)                                     /**<  (EVSYS_PRICTRL) Priority Control  Reset Value */
+
+#define EVSYS_PRICTRL_PRI_Pos               0                                              /**< (EVSYS_PRICTRL) Channel Priority Number Position */
+#define EVSYS_PRICTRL_PRI_Msk               (_U_(0x3) << EVSYS_PRICTRL_PRI_Pos)            /**< (EVSYS_PRICTRL) Channel Priority Number Mask */
+#define EVSYS_PRICTRL_PRI(value)            (EVSYS_PRICTRL_PRI_Msk & ((value) << EVSYS_PRICTRL_PRI_Pos))
+#define EVSYS_PRICTRL_RREN_Pos              7                                              /**< (EVSYS_PRICTRL) Round-Robin Scheduling Enable Position */
+#define EVSYS_PRICTRL_RREN_Msk              (_U_(0x1) << EVSYS_PRICTRL_RREN_Pos)           /**< (EVSYS_PRICTRL) Round-Robin Scheduling Enable Mask */
+#define EVSYS_PRICTRL_RREN                  EVSYS_PRICTRL_RREN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_PRICTRL_RREN_Msk instead */
+#define EVSYS_PRICTRL_MASK                  _U_(0x83)                                      /**< \deprecated (EVSYS_PRICTRL) Register MASK  (Use EVSYS_PRICTRL_Msk instead)  */
+#define EVSYS_PRICTRL_Msk                   _U_(0x83)                                      /**< (EVSYS_PRICTRL) Register Mask  */
+
+
+/* -------- EVSYS_INTPEND : (EVSYS Offset: 0x10) (R/W 16) Channel Pending Interrupt -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t ID:2;                      /**< bit:   0..1  Channel ID                               */
+    uint16_t :6;                        /**< bit:   2..7  Reserved */
+    uint16_t OVR:1;                     /**< bit:      8  Channel Overrun                          */
+    uint16_t EVD:1;                     /**< bit:      9  Channel Event Detected                   */
+    uint16_t :4;                        /**< bit: 10..13  Reserved */
+    uint16_t READY:1;                   /**< bit:     14  Ready                                    */
+    uint16_t BUSY:1;                    /**< bit:     15  Busy                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} EVSYS_INTPEND_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_INTPEND_OFFSET                (0x10)                                        /**<  (EVSYS_INTPEND) Channel Pending Interrupt  Offset */
+#define EVSYS_INTPEND_RESETVALUE            _U_(0x4000)                                   /**<  (EVSYS_INTPEND) Channel Pending Interrupt  Reset Value */
+
+#define EVSYS_INTPEND_ID_Pos                0                                              /**< (EVSYS_INTPEND) Channel ID Position */
+#define EVSYS_INTPEND_ID_Msk                (_U_(0x3) << EVSYS_INTPEND_ID_Pos)             /**< (EVSYS_INTPEND) Channel ID Mask */
+#define EVSYS_INTPEND_ID(value)             (EVSYS_INTPEND_ID_Msk & ((value) << EVSYS_INTPEND_ID_Pos))
+#define EVSYS_INTPEND_OVR_Pos               8                                              /**< (EVSYS_INTPEND) Channel Overrun Position */
+#define EVSYS_INTPEND_OVR_Msk               (_U_(0x1) << EVSYS_INTPEND_OVR_Pos)            /**< (EVSYS_INTPEND) Channel Overrun Mask */
+#define EVSYS_INTPEND_OVR                   EVSYS_INTPEND_OVR_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTPEND_OVR_Msk instead */
+#define EVSYS_INTPEND_EVD_Pos               9                                              /**< (EVSYS_INTPEND) Channel Event Detected Position */
+#define EVSYS_INTPEND_EVD_Msk               (_U_(0x1) << EVSYS_INTPEND_EVD_Pos)            /**< (EVSYS_INTPEND) Channel Event Detected Mask */
+#define EVSYS_INTPEND_EVD                   EVSYS_INTPEND_EVD_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTPEND_EVD_Msk instead */
+#define EVSYS_INTPEND_READY_Pos             14                                             /**< (EVSYS_INTPEND) Ready Position */
+#define EVSYS_INTPEND_READY_Msk             (_U_(0x1) << EVSYS_INTPEND_READY_Pos)          /**< (EVSYS_INTPEND) Ready Mask */
+#define EVSYS_INTPEND_READY                 EVSYS_INTPEND_READY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTPEND_READY_Msk instead */
+#define EVSYS_INTPEND_BUSY_Pos              15                                             /**< (EVSYS_INTPEND) Busy Position */
+#define EVSYS_INTPEND_BUSY_Msk              (_U_(0x1) << EVSYS_INTPEND_BUSY_Pos)           /**< (EVSYS_INTPEND) Busy Mask */
+#define EVSYS_INTPEND_BUSY                  EVSYS_INTPEND_BUSY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTPEND_BUSY_Msk instead */
+#define EVSYS_INTPEND_MASK                  _U_(0xC303)                                    /**< \deprecated (EVSYS_INTPEND) Register MASK  (Use EVSYS_INTPEND_Msk instead)  */
+#define EVSYS_INTPEND_Msk                   _U_(0xC303)                                    /**< (EVSYS_INTPEND) Register Mask  */
+
+
+/* -------- EVSYS_INTSTATUS : (EVSYS Offset: 0x14) (R/ 32) Interrupt Status -------- */
+#if !(defined(__ASSEMBLER__) || 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 :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t CHINT:4;                   /**< bit:   0..3  Channel 3 Pending Interrupt              */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_INTSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_INTSTATUS_OFFSET              (0x14)                                        /**<  (EVSYS_INTSTATUS) Interrupt Status  Offset */
+#define EVSYS_INTSTATUS_RESETVALUE          _U_(0x00)                                     /**<  (EVSYS_INTSTATUS) Interrupt Status  Reset Value */
+
+#define EVSYS_INTSTATUS_CHINT0_Pos          0                                              /**< (EVSYS_INTSTATUS) Channel 0 Pending Interrupt Position */
+#define EVSYS_INTSTATUS_CHINT0_Msk          (_U_(0x1) << EVSYS_INTSTATUS_CHINT0_Pos)       /**< (EVSYS_INTSTATUS) Channel 0 Pending Interrupt Mask */
+#define EVSYS_INTSTATUS_CHINT0              EVSYS_INTSTATUS_CHINT0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTSTATUS_CHINT0_Msk instead */
+#define EVSYS_INTSTATUS_CHINT1_Pos          1                                              /**< (EVSYS_INTSTATUS) Channel 1 Pending Interrupt Position */
+#define EVSYS_INTSTATUS_CHINT1_Msk          (_U_(0x1) << EVSYS_INTSTATUS_CHINT1_Pos)       /**< (EVSYS_INTSTATUS) Channel 1 Pending Interrupt Mask */
+#define EVSYS_INTSTATUS_CHINT1              EVSYS_INTSTATUS_CHINT1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTSTATUS_CHINT1_Msk instead */
+#define EVSYS_INTSTATUS_CHINT2_Pos          2                                              /**< (EVSYS_INTSTATUS) Channel 2 Pending Interrupt Position */
+#define EVSYS_INTSTATUS_CHINT2_Msk          (_U_(0x1) << EVSYS_INTSTATUS_CHINT2_Pos)       /**< (EVSYS_INTSTATUS) Channel 2 Pending Interrupt Mask */
+#define EVSYS_INTSTATUS_CHINT2              EVSYS_INTSTATUS_CHINT2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTSTATUS_CHINT2_Msk instead */
+#define EVSYS_INTSTATUS_CHINT3_Pos          3                                              /**< (EVSYS_INTSTATUS) Channel 3 Pending Interrupt Position */
+#define EVSYS_INTSTATUS_CHINT3_Msk          (_U_(0x1) << EVSYS_INTSTATUS_CHINT3_Pos)       /**< (EVSYS_INTSTATUS) Channel 3 Pending Interrupt Mask */
+#define EVSYS_INTSTATUS_CHINT3              EVSYS_INTSTATUS_CHINT3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTSTATUS_CHINT3_Msk instead */
+#define EVSYS_INTSTATUS_MASK                _U_(0x0F)                                      /**< \deprecated (EVSYS_INTSTATUS) Register MASK  (Use EVSYS_INTSTATUS_Msk instead)  */
+#define EVSYS_INTSTATUS_Msk                 _U_(0x0F)                                      /**< (EVSYS_INTSTATUS) Register Mask  */
+
+#define EVSYS_INTSTATUS_CHINT_Pos           0                                              /**< (EVSYS_INTSTATUS Position) Channel 3 Pending Interrupt */
+#define EVSYS_INTSTATUS_CHINT_Msk           (_U_(0xF) << EVSYS_INTSTATUS_CHINT_Pos)        /**< (EVSYS_INTSTATUS Mask) CHINT */
+#define EVSYS_INTSTATUS_CHINT(value)        (EVSYS_INTSTATUS_CHINT_Msk & ((value) << EVSYS_INTSTATUS_CHINT_Pos))  
+
+/* -------- EVSYS_BUSYCH : (EVSYS Offset: 0x18) (R/ 32) Busy Channels -------- */
+#if !(defined(__ASSEMBLER__) || 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 :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t BUSYCH:4;                  /**< bit:   0..3  Busy Channel 3                           */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_BUSYCH_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_BUSYCH_OFFSET                 (0x18)                                        /**<  (EVSYS_BUSYCH) Busy Channels  Offset */
+#define EVSYS_BUSYCH_RESETVALUE             _U_(0x00)                                     /**<  (EVSYS_BUSYCH) Busy Channels  Reset Value */
+
+#define EVSYS_BUSYCH_BUSYCH0_Pos            0                                              /**< (EVSYS_BUSYCH) Busy Channel 0 Position */
+#define EVSYS_BUSYCH_BUSYCH0_Msk            (_U_(0x1) << EVSYS_BUSYCH_BUSYCH0_Pos)         /**< (EVSYS_BUSYCH) Busy Channel 0 Mask */
+#define EVSYS_BUSYCH_BUSYCH0                EVSYS_BUSYCH_BUSYCH0_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_BUSYCH_BUSYCH0_Msk instead */
+#define EVSYS_BUSYCH_BUSYCH1_Pos            1                                              /**< (EVSYS_BUSYCH) Busy Channel 1 Position */
+#define EVSYS_BUSYCH_BUSYCH1_Msk            (_U_(0x1) << EVSYS_BUSYCH_BUSYCH1_Pos)         /**< (EVSYS_BUSYCH) Busy Channel 1 Mask */
+#define EVSYS_BUSYCH_BUSYCH1                EVSYS_BUSYCH_BUSYCH1_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_BUSYCH_BUSYCH1_Msk instead */
+#define EVSYS_BUSYCH_BUSYCH2_Pos            2                                              /**< (EVSYS_BUSYCH) Busy Channel 2 Position */
+#define EVSYS_BUSYCH_BUSYCH2_Msk            (_U_(0x1) << EVSYS_BUSYCH_BUSYCH2_Pos)         /**< (EVSYS_BUSYCH) Busy Channel 2 Mask */
+#define EVSYS_BUSYCH_BUSYCH2                EVSYS_BUSYCH_BUSYCH2_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_BUSYCH_BUSYCH2_Msk instead */
+#define EVSYS_BUSYCH_BUSYCH3_Pos            3                                              /**< (EVSYS_BUSYCH) Busy Channel 3 Position */
+#define EVSYS_BUSYCH_BUSYCH3_Msk            (_U_(0x1) << EVSYS_BUSYCH_BUSYCH3_Pos)         /**< (EVSYS_BUSYCH) Busy Channel 3 Mask */
+#define EVSYS_BUSYCH_BUSYCH3                EVSYS_BUSYCH_BUSYCH3_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_BUSYCH_BUSYCH3_Msk instead */
+#define EVSYS_BUSYCH_MASK                   _U_(0x0F)                                      /**< \deprecated (EVSYS_BUSYCH) Register MASK  (Use EVSYS_BUSYCH_Msk instead)  */
+#define EVSYS_BUSYCH_Msk                    _U_(0x0F)                                      /**< (EVSYS_BUSYCH) Register Mask  */
+
+#define EVSYS_BUSYCH_BUSYCH_Pos             0                                              /**< (EVSYS_BUSYCH Position) Busy Channel 3 */
+#define EVSYS_BUSYCH_BUSYCH_Msk             (_U_(0xF) << EVSYS_BUSYCH_BUSYCH_Pos)          /**< (EVSYS_BUSYCH Mask) BUSYCH */
+#define EVSYS_BUSYCH_BUSYCH(value)          (EVSYS_BUSYCH_BUSYCH_Msk & ((value) << EVSYS_BUSYCH_BUSYCH_Pos))  
+
+/* -------- EVSYS_READYUSR : (EVSYS Offset: 0x1c) (R/ 32) Ready Users -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t READYUSR0:1;               /**< bit:      0  Ready User for Channel 0                 */
+    uint32_t READYUSR1:1;               /**< bit:      1  Ready User for Channel 1                 */
+    uint32_t READYUSR2:1;               /**< bit:      2  Ready User for Channel 2                 */
+    uint32_t READYUSR3:1;               /**< bit:      3  Ready User for Channel 3                 */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t READYUSR:4;                /**< bit:   0..3  Ready User for Channel 3                 */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_READYUSR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_READYUSR_OFFSET               (0x1C)                                        /**<  (EVSYS_READYUSR) Ready Users  Offset */
+#define EVSYS_READYUSR_RESETVALUE           _U_(0xFFFFFFFF)                               /**<  (EVSYS_READYUSR) Ready Users  Reset Value */
+
+#define EVSYS_READYUSR_READYUSR0_Pos        0                                              /**< (EVSYS_READYUSR) Ready User for Channel 0 Position */
+#define EVSYS_READYUSR_READYUSR0_Msk        (_U_(0x1) << EVSYS_READYUSR_READYUSR0_Pos)     /**< (EVSYS_READYUSR) Ready User for Channel 0 Mask */
+#define EVSYS_READYUSR_READYUSR0            EVSYS_READYUSR_READYUSR0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_READYUSR_READYUSR0_Msk instead */
+#define EVSYS_READYUSR_READYUSR1_Pos        1                                              /**< (EVSYS_READYUSR) Ready User for Channel 1 Position */
+#define EVSYS_READYUSR_READYUSR1_Msk        (_U_(0x1) << EVSYS_READYUSR_READYUSR1_Pos)     /**< (EVSYS_READYUSR) Ready User for Channel 1 Mask */
+#define EVSYS_READYUSR_READYUSR1            EVSYS_READYUSR_READYUSR1_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_READYUSR_READYUSR1_Msk instead */
+#define EVSYS_READYUSR_READYUSR2_Pos        2                                              /**< (EVSYS_READYUSR) Ready User for Channel 2 Position */
+#define EVSYS_READYUSR_READYUSR2_Msk        (_U_(0x1) << EVSYS_READYUSR_READYUSR2_Pos)     /**< (EVSYS_READYUSR) Ready User for Channel 2 Mask */
+#define EVSYS_READYUSR_READYUSR2            EVSYS_READYUSR_READYUSR2_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_READYUSR_READYUSR2_Msk instead */
+#define EVSYS_READYUSR_READYUSR3_Pos        3                                              /**< (EVSYS_READYUSR) Ready User for Channel 3 Position */
+#define EVSYS_READYUSR_READYUSR3_Msk        (_U_(0x1) << EVSYS_READYUSR_READYUSR3_Pos)     /**< (EVSYS_READYUSR) Ready User for Channel 3 Mask */
+#define EVSYS_READYUSR_READYUSR3            EVSYS_READYUSR_READYUSR3_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_READYUSR_READYUSR3_Msk instead */
+#define EVSYS_READYUSR_MASK                 _U_(0x0F)                                      /**< \deprecated (EVSYS_READYUSR) Register MASK  (Use EVSYS_READYUSR_Msk instead)  */
+#define EVSYS_READYUSR_Msk                  _U_(0x0F)                                      /**< (EVSYS_READYUSR) Register Mask  */
+
+#define EVSYS_READYUSR_READYUSR_Pos         0                                              /**< (EVSYS_READYUSR Position) Ready User for Channel 3 */
+#define EVSYS_READYUSR_READYUSR_Msk         (_U_(0xF) << EVSYS_READYUSR_READYUSR_Pos)      /**< (EVSYS_READYUSR Mask) READYUSR */
+#define EVSYS_READYUSR_READYUSR(value)      (EVSYS_READYUSR_READYUSR_Msk & ((value) << EVSYS_READYUSR_READYUSR_Pos))  
+
+/* -------- EVSYS_USER : (EVSYS Offset: 0x120) (R/W 8) User Multiplexer n -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CHANNEL:4;                 /**< bit:   0..3  Channel Event Selection                  */
+    uint8_t  :4;                        /**< bit:   4..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_USER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_USER_OFFSET                   (0x120)                                       /**<  (EVSYS_USER) User Multiplexer n  Offset */
+#define EVSYS_USER_RESETVALUE               _U_(0x00)                                     /**<  (EVSYS_USER) User Multiplexer n  Reset Value */
+
+#define EVSYS_USER_CHANNEL_Pos              0                                              /**< (EVSYS_USER) Channel Event Selection Position */
+#define EVSYS_USER_CHANNEL_Msk              (_U_(0xF) << EVSYS_USER_CHANNEL_Pos)           /**< (EVSYS_USER) Channel Event Selection Mask */
+#define EVSYS_USER_CHANNEL(value)           (EVSYS_USER_CHANNEL_Msk & ((value) << EVSYS_USER_CHANNEL_Pos))
+#define EVSYS_USER_MASK                     _U_(0x0F)                                      /**< \deprecated (EVSYS_USER) Register MASK  (Use EVSYS_USER_Msk instead)  */
+#define EVSYS_USER_Msk                      _U_(0x0F)                                      /**< (EVSYS_USER) Register Mask  */
+
+
+/* -------- EVSYS_INTENCLR : (EVSYS Offset: 0x1d4) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  NSCHK:1;                   /**< bit:      0  Non-Secure Check Interrupt Enable        */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_INTENCLR_OFFSET               (0x1D4)                                       /**<  (EVSYS_INTENCLR) Interrupt Enable Clear  Offset */
+#define EVSYS_INTENCLR_RESETVALUE           _U_(0x00)                                     /**<  (EVSYS_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define EVSYS_INTENCLR_NSCHK_Pos            0                                              /**< (EVSYS_INTENCLR) Non-Secure Check Interrupt Enable Position */
+#define EVSYS_INTENCLR_NSCHK_Msk            (_U_(0x1) << EVSYS_INTENCLR_NSCHK_Pos)         /**< (EVSYS_INTENCLR) Non-Secure Check Interrupt Enable Mask */
+#define EVSYS_INTENCLR_NSCHK                EVSYS_INTENCLR_NSCHK_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTENCLR_NSCHK_Msk instead */
+#define EVSYS_INTENCLR_MASK                 _U_(0x01)                                      /**< \deprecated (EVSYS_INTENCLR) Register MASK  (Use EVSYS_INTENCLR_Msk instead)  */
+#define EVSYS_INTENCLR_Msk                  _U_(0x01)                                      /**< (EVSYS_INTENCLR) Register Mask  */
+
+
+/* -------- EVSYS_INTENSET : (EVSYS Offset: 0x1d5) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  NSCHK:1;                   /**< bit:      0  Non-Secure Check Interrupt Enable        */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_INTENSET_OFFSET               (0x1D5)                                       /**<  (EVSYS_INTENSET) Interrupt Enable Set  Offset */
+#define EVSYS_INTENSET_RESETVALUE           _U_(0x00)                                     /**<  (EVSYS_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define EVSYS_INTENSET_NSCHK_Pos            0                                              /**< (EVSYS_INTENSET) Non-Secure Check Interrupt Enable Position */
+#define EVSYS_INTENSET_NSCHK_Msk            (_U_(0x1) << EVSYS_INTENSET_NSCHK_Pos)         /**< (EVSYS_INTENSET) Non-Secure Check Interrupt Enable Mask */
+#define EVSYS_INTENSET_NSCHK                EVSYS_INTENSET_NSCHK_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTENSET_NSCHK_Msk instead */
+#define EVSYS_INTENSET_MASK                 _U_(0x01)                                      /**< \deprecated (EVSYS_INTENSET) Register MASK  (Use EVSYS_INTENSET_Msk instead)  */
+#define EVSYS_INTENSET_Msk                  _U_(0x01)                                      /**< (EVSYS_INTENSET) Register Mask  */
+
+
+/* -------- EVSYS_INTFLAG : (EVSYS Offset: 0x1d6) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t NSCHK:1;                   /**< bit:      0  Non-Secure Check                         */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_INTFLAG_OFFSET                (0x1D6)                                       /**<  (EVSYS_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define EVSYS_INTFLAG_RESETVALUE            _U_(0x00)                                     /**<  (EVSYS_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define EVSYS_INTFLAG_NSCHK_Pos             0                                              /**< (EVSYS_INTFLAG) Non-Secure Check Position */
+#define EVSYS_INTFLAG_NSCHK_Msk             (_U_(0x1) << EVSYS_INTFLAG_NSCHK_Pos)          /**< (EVSYS_INTFLAG) Non-Secure Check Mask */
+#define EVSYS_INTFLAG_NSCHK                 EVSYS_INTFLAG_NSCHK_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTFLAG_NSCHK_Msk instead */
+#define EVSYS_INTFLAG_MASK                  _U_(0x01)                                      /**< \deprecated (EVSYS_INTFLAG) Register MASK  (Use EVSYS_INTFLAG_Msk instead)  */
+#define EVSYS_INTFLAG_Msk                   _U_(0x01)                                      /**< (EVSYS_INTFLAG) Register Mask  */
+
+
+/* -------- EVSYS_NONSECCHAN : (EVSYS Offset: 0x1d8) (R/W 32) Channels Security Attribution -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CHANNEL0:1;                /**< bit:      0  Non-Secure for Channel 0                 */
+    uint32_t CHANNEL1:1;                /**< bit:      1  Non-Secure for Channel 1                 */
+    uint32_t CHANNEL2:1;                /**< bit:      2  Non-Secure for Channel 2                 */
+    uint32_t CHANNEL3:1;                /**< bit:      3  Non-Secure for Channel 3                 */
+    uint32_t CHANNEL4:1;                /**< bit:      4  Non-Secure for Channel 4                 */
+    uint32_t CHANNEL5:1;                /**< bit:      5  Non-Secure for Channel 5                 */
+    uint32_t CHANNEL6:1;                /**< bit:      6  Non-Secure for Channel 6                 */
+    uint32_t CHANNEL7:1;                /**< bit:      7  Non-Secure for Channel 7                 */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t CHANNEL:8;                 /**< bit:   0..7  Non-Secure for Channel 7                 */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_NONSECCHAN_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_NONSECCHAN_OFFSET             (0x1D8)                                       /**<  (EVSYS_NONSECCHAN) Channels Security Attribution  Offset */
+#define EVSYS_NONSECCHAN_RESETVALUE         _U_(0x00)                                     /**<  (EVSYS_NONSECCHAN) Channels Security Attribution  Reset Value */
+
+#define EVSYS_NONSECCHAN_CHANNEL0_Pos       0                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 0 Position */
+#define EVSYS_NONSECCHAN_CHANNEL0_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL0_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 0 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL0           EVSYS_NONSECCHAN_CHANNEL0_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL0_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL1_Pos       1                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 1 Position */
+#define EVSYS_NONSECCHAN_CHANNEL1_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL1_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 1 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL1           EVSYS_NONSECCHAN_CHANNEL1_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL1_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL2_Pos       2                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 2 Position */
+#define EVSYS_NONSECCHAN_CHANNEL2_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL2_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 2 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL2           EVSYS_NONSECCHAN_CHANNEL2_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL2_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL3_Pos       3                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 3 Position */
+#define EVSYS_NONSECCHAN_CHANNEL3_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL3_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 3 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL3           EVSYS_NONSECCHAN_CHANNEL3_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL3_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL4_Pos       4                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 4 Position */
+#define EVSYS_NONSECCHAN_CHANNEL4_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL4_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 4 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL4           EVSYS_NONSECCHAN_CHANNEL4_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL4_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL5_Pos       5                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 5 Position */
+#define EVSYS_NONSECCHAN_CHANNEL5_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL5_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 5 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL5           EVSYS_NONSECCHAN_CHANNEL5_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL5_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL6_Pos       6                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 6 Position */
+#define EVSYS_NONSECCHAN_CHANNEL6_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL6_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 6 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL6           EVSYS_NONSECCHAN_CHANNEL6_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL6_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL7_Pos       7                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 7 Position */
+#define EVSYS_NONSECCHAN_CHANNEL7_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL7_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 7 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL7           EVSYS_NONSECCHAN_CHANNEL7_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL7_Msk instead */
+#define EVSYS_NONSECCHAN_MASK               _U_(0xFF)                                      /**< \deprecated (EVSYS_NONSECCHAN) Register MASK  (Use EVSYS_NONSECCHAN_Msk instead)  */
+#define EVSYS_NONSECCHAN_Msk                _U_(0xFF)                                      /**< (EVSYS_NONSECCHAN) Register Mask  */
+
+#define EVSYS_NONSECCHAN_CHANNEL_Pos        0                                              /**< (EVSYS_NONSECCHAN Position) Non-Secure for Channel 7 */
+#define EVSYS_NONSECCHAN_CHANNEL_Msk        (_U_(0xFF) << EVSYS_NONSECCHAN_CHANNEL_Pos)    /**< (EVSYS_NONSECCHAN Mask) CHANNEL */
+#define EVSYS_NONSECCHAN_CHANNEL(value)     (EVSYS_NONSECCHAN_CHANNEL_Msk & ((value) << EVSYS_NONSECCHAN_CHANNEL_Pos))  
+
+/* -------- EVSYS_NSCHKCHAN : (EVSYS Offset: 0x1dc) (R/W 32) Non-Secure Channels Check -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CHANNEL0:1;                /**< bit:      0  Channel 0 to be checked as non-secured   */
+    uint32_t CHANNEL1:1;                /**< bit:      1  Channel 1 to be checked as non-secured   */
+    uint32_t CHANNEL2:1;                /**< bit:      2  Channel 2 to be checked as non-secured   */
+    uint32_t CHANNEL3:1;                /**< bit:      3  Channel 3 to be checked as non-secured   */
+    uint32_t CHANNEL4:1;                /**< bit:      4  Channel 4 to be checked as non-secured   */
+    uint32_t CHANNEL5:1;                /**< bit:      5  Channel 5 to be checked as non-secured   */
+    uint32_t CHANNEL6:1;                /**< bit:      6  Channel 6 to be checked as non-secured   */
+    uint32_t CHANNEL7:1;                /**< bit:      7  Channel 7 to be checked as non-secured   */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t CHANNEL:8;                 /**< bit:   0..7  Channel 7 to be checked as non-secured   */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_NSCHKCHAN_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_NSCHKCHAN_OFFSET              (0x1DC)                                       /**<  (EVSYS_NSCHKCHAN) Non-Secure Channels Check  Offset */
+#define EVSYS_NSCHKCHAN_RESETVALUE          _U_(0x00)                                     /**<  (EVSYS_NSCHKCHAN) Non-Secure Channels Check  Reset Value */
+
+#define EVSYS_NSCHKCHAN_CHANNEL0_Pos        0                                              /**< (EVSYS_NSCHKCHAN) Channel 0 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL0_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL0_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 0 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL0            EVSYS_NSCHKCHAN_CHANNEL0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL0_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL1_Pos        1                                              /**< (EVSYS_NSCHKCHAN) Channel 1 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL1_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL1_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 1 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL1            EVSYS_NSCHKCHAN_CHANNEL1_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL1_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL2_Pos        2                                              /**< (EVSYS_NSCHKCHAN) Channel 2 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL2_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL2_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 2 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL2            EVSYS_NSCHKCHAN_CHANNEL2_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL2_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL3_Pos        3                                              /**< (EVSYS_NSCHKCHAN) Channel 3 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL3_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL3_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 3 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL3            EVSYS_NSCHKCHAN_CHANNEL3_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL3_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL4_Pos        4                                              /**< (EVSYS_NSCHKCHAN) Channel 4 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL4_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL4_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 4 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL4            EVSYS_NSCHKCHAN_CHANNEL4_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL4_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL5_Pos        5                                              /**< (EVSYS_NSCHKCHAN) Channel 5 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL5_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL5_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 5 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL5            EVSYS_NSCHKCHAN_CHANNEL5_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL5_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL6_Pos        6                                              /**< (EVSYS_NSCHKCHAN) Channel 6 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL6_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL6_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 6 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL6            EVSYS_NSCHKCHAN_CHANNEL6_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL6_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL7_Pos        7                                              /**< (EVSYS_NSCHKCHAN) Channel 7 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL7_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL7_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 7 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL7            EVSYS_NSCHKCHAN_CHANNEL7_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL7_Msk instead */
+#define EVSYS_NSCHKCHAN_MASK                _U_(0xFF)                                      /**< \deprecated (EVSYS_NSCHKCHAN) Register MASK  (Use EVSYS_NSCHKCHAN_Msk instead)  */
+#define EVSYS_NSCHKCHAN_Msk                 _U_(0xFF)                                      /**< (EVSYS_NSCHKCHAN) Register Mask  */
+
+#define EVSYS_NSCHKCHAN_CHANNEL_Pos         0                                              /**< (EVSYS_NSCHKCHAN Position) Channel 7 to be checked as non-secured */
+#define EVSYS_NSCHKCHAN_CHANNEL_Msk         (_U_(0xFF) << EVSYS_NSCHKCHAN_CHANNEL_Pos)     /**< (EVSYS_NSCHKCHAN Mask) CHANNEL */
+#define EVSYS_NSCHKCHAN_CHANNEL(value)      (EVSYS_NSCHKCHAN_CHANNEL_Msk & ((value) << EVSYS_NSCHKCHAN_CHANNEL_Pos))  
+
+/* -------- EVSYS_NONSECUSER : (EVSYS Offset: 0x1e0) (R/W 32) Users Security Attribution -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t USER0:1;                   /**< bit:      0  Non-Secure for User 0                    */
+    uint32_t USER1:1;                   /**< bit:      1  Non-Secure for User 1                    */
+    uint32_t USER2:1;                   /**< bit:      2  Non-Secure for User 2                    */
+    uint32_t USER3:1;                   /**< bit:      3  Non-Secure for User 3                    */
+    uint32_t USER4:1;                   /**< bit:      4  Non-Secure for User 4                    */
+    uint32_t USER5:1;                   /**< bit:      5  Non-Secure for User 5                    */
+    uint32_t USER6:1;                   /**< bit:      6  Non-Secure for User 6                    */
+    uint32_t USER7:1;                   /**< bit:      7  Non-Secure for User 7                    */
+    uint32_t USER8:1;                   /**< bit:      8  Non-Secure for User 8                    */
+    uint32_t USER9:1;                   /**< bit:      9  Non-Secure for User 9                    */
+    uint32_t USER10:1;                  /**< bit:     10  Non-Secure for User 10                   */
+    uint32_t USER11:1;                  /**< bit:     11  Non-Secure for User 11                   */
+    uint32_t USER12:1;                  /**< bit:     12  Non-Secure for User 12                   */
+    uint32_t USER13:1;                  /**< bit:     13  Non-Secure for User 13                   */
+    uint32_t USER14:1;                  /**< bit:     14  Non-Secure for User 14                   */
+    uint32_t USER15:1;                  /**< bit:     15  Non-Secure for User 15                   */
+    uint32_t USER16:1;                  /**< bit:     16  Non-Secure for User 16                   */
+    uint32_t USER17:1;                  /**< bit:     17  Non-Secure for User 17                   */
+    uint32_t USER18:1;                  /**< bit:     18  Non-Secure for User 18                   */
+    uint32_t USER19:1;                  /**< bit:     19  Non-Secure for User 19                   */
+    uint32_t USER20:1;                  /**< bit:     20  Non-Secure for User 20                   */
+    uint32_t USER21:1;                  /**< bit:     21  Non-Secure for User 21                   */
+    uint32_t USER22:1;                  /**< bit:     22  Non-Secure for User 22                   */
+    uint32_t :9;                        /**< bit: 23..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t USER:23;                   /**< bit:  0..22  Non-Secure for User 22                   */
+    uint32_t :9;                        /**< bit: 23..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_NONSECUSER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_NONSECUSER_OFFSET             (0x1E0)                                       /**<  (EVSYS_NONSECUSER) Users Security Attribution  Offset */
+#define EVSYS_NONSECUSER_RESETVALUE         _U_(0x00)                                     /**<  (EVSYS_NONSECUSER) Users Security Attribution  Reset Value */
+
+#define EVSYS_NONSECUSER_USER0_Pos          0                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 0 Position */
+#define EVSYS_NONSECUSER_USER0_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER0_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 0 Mask */
+#define EVSYS_NONSECUSER_USER0              EVSYS_NONSECUSER_USER0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER0_Msk instead */
+#define EVSYS_NONSECUSER_USER1_Pos          1                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 1 Position */
+#define EVSYS_NONSECUSER_USER1_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER1_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 1 Mask */
+#define EVSYS_NONSECUSER_USER1              EVSYS_NONSECUSER_USER1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER1_Msk instead */
+#define EVSYS_NONSECUSER_USER2_Pos          2                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 2 Position */
+#define EVSYS_NONSECUSER_USER2_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER2_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 2 Mask */
+#define EVSYS_NONSECUSER_USER2              EVSYS_NONSECUSER_USER2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER2_Msk instead */
+#define EVSYS_NONSECUSER_USER3_Pos          3                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 3 Position */
+#define EVSYS_NONSECUSER_USER3_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER3_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 3 Mask */
+#define EVSYS_NONSECUSER_USER3              EVSYS_NONSECUSER_USER3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER3_Msk instead */
+#define EVSYS_NONSECUSER_USER4_Pos          4                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 4 Position */
+#define EVSYS_NONSECUSER_USER4_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER4_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 4 Mask */
+#define EVSYS_NONSECUSER_USER4              EVSYS_NONSECUSER_USER4_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER4_Msk instead */
+#define EVSYS_NONSECUSER_USER5_Pos          5                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 5 Position */
+#define EVSYS_NONSECUSER_USER5_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER5_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 5 Mask */
+#define EVSYS_NONSECUSER_USER5              EVSYS_NONSECUSER_USER5_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER5_Msk instead */
+#define EVSYS_NONSECUSER_USER6_Pos          6                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 6 Position */
+#define EVSYS_NONSECUSER_USER6_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER6_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 6 Mask */
+#define EVSYS_NONSECUSER_USER6              EVSYS_NONSECUSER_USER6_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER6_Msk instead */
+#define EVSYS_NONSECUSER_USER7_Pos          7                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 7 Position */
+#define EVSYS_NONSECUSER_USER7_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER7_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 7 Mask */
+#define EVSYS_NONSECUSER_USER7              EVSYS_NONSECUSER_USER7_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER7_Msk instead */
+#define EVSYS_NONSECUSER_USER8_Pos          8                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 8 Position */
+#define EVSYS_NONSECUSER_USER8_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER8_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 8 Mask */
+#define EVSYS_NONSECUSER_USER8              EVSYS_NONSECUSER_USER8_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER8_Msk instead */
+#define EVSYS_NONSECUSER_USER9_Pos          9                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 9 Position */
+#define EVSYS_NONSECUSER_USER9_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER9_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 9 Mask */
+#define EVSYS_NONSECUSER_USER9              EVSYS_NONSECUSER_USER9_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER9_Msk instead */
+#define EVSYS_NONSECUSER_USER10_Pos         10                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 10 Position */
+#define EVSYS_NONSECUSER_USER10_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER10_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 10 Mask */
+#define EVSYS_NONSECUSER_USER10             EVSYS_NONSECUSER_USER10_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER10_Msk instead */
+#define EVSYS_NONSECUSER_USER11_Pos         11                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 11 Position */
+#define EVSYS_NONSECUSER_USER11_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER11_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 11 Mask */
+#define EVSYS_NONSECUSER_USER11             EVSYS_NONSECUSER_USER11_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER11_Msk instead */
+#define EVSYS_NONSECUSER_USER12_Pos         12                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 12 Position */
+#define EVSYS_NONSECUSER_USER12_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER12_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 12 Mask */
+#define EVSYS_NONSECUSER_USER12             EVSYS_NONSECUSER_USER12_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER12_Msk instead */
+#define EVSYS_NONSECUSER_USER13_Pos         13                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 13 Position */
+#define EVSYS_NONSECUSER_USER13_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER13_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 13 Mask */
+#define EVSYS_NONSECUSER_USER13             EVSYS_NONSECUSER_USER13_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER13_Msk instead */
+#define EVSYS_NONSECUSER_USER14_Pos         14                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 14 Position */
+#define EVSYS_NONSECUSER_USER14_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER14_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 14 Mask */
+#define EVSYS_NONSECUSER_USER14             EVSYS_NONSECUSER_USER14_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER14_Msk instead */
+#define EVSYS_NONSECUSER_USER15_Pos         15                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 15 Position */
+#define EVSYS_NONSECUSER_USER15_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER15_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 15 Mask */
+#define EVSYS_NONSECUSER_USER15             EVSYS_NONSECUSER_USER15_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER15_Msk instead */
+#define EVSYS_NONSECUSER_USER16_Pos         16                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 16 Position */
+#define EVSYS_NONSECUSER_USER16_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER16_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 16 Mask */
+#define EVSYS_NONSECUSER_USER16             EVSYS_NONSECUSER_USER16_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER16_Msk instead */
+#define EVSYS_NONSECUSER_USER17_Pos         17                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 17 Position */
+#define EVSYS_NONSECUSER_USER17_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER17_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 17 Mask */
+#define EVSYS_NONSECUSER_USER17             EVSYS_NONSECUSER_USER17_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER17_Msk instead */
+#define EVSYS_NONSECUSER_USER18_Pos         18                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 18 Position */
+#define EVSYS_NONSECUSER_USER18_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER18_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 18 Mask */
+#define EVSYS_NONSECUSER_USER18             EVSYS_NONSECUSER_USER18_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER18_Msk instead */
+#define EVSYS_NONSECUSER_USER19_Pos         19                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 19 Position */
+#define EVSYS_NONSECUSER_USER19_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER19_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 19 Mask */
+#define EVSYS_NONSECUSER_USER19             EVSYS_NONSECUSER_USER19_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER19_Msk instead */
+#define EVSYS_NONSECUSER_USER20_Pos         20                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 20 Position */
+#define EVSYS_NONSECUSER_USER20_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER20_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 20 Mask */
+#define EVSYS_NONSECUSER_USER20             EVSYS_NONSECUSER_USER20_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER20_Msk instead */
+#define EVSYS_NONSECUSER_USER21_Pos         21                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 21 Position */
+#define EVSYS_NONSECUSER_USER21_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER21_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 21 Mask */
+#define EVSYS_NONSECUSER_USER21             EVSYS_NONSECUSER_USER21_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER21_Msk instead */
+#define EVSYS_NONSECUSER_USER22_Pos         22                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 22 Position */
+#define EVSYS_NONSECUSER_USER22_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER22_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 22 Mask */
+#define EVSYS_NONSECUSER_USER22             EVSYS_NONSECUSER_USER22_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER22_Msk instead */
+#define EVSYS_NONSECUSER_MASK               _U_(0x7FFFFF)                                  /**< \deprecated (EVSYS_NONSECUSER) Register MASK  (Use EVSYS_NONSECUSER_Msk instead)  */
+#define EVSYS_NONSECUSER_Msk                _U_(0x7FFFFF)                                  /**< (EVSYS_NONSECUSER) Register Mask  */
+
+#define EVSYS_NONSECUSER_USER_Pos           0                                              /**< (EVSYS_NONSECUSER Position) Non-Secure for User 22 */
+#define EVSYS_NONSECUSER_USER_Msk           (_U_(0x7FFFFF) << EVSYS_NONSECUSER_USER_Pos)   /**< (EVSYS_NONSECUSER Mask) USER */
+#define EVSYS_NONSECUSER_USER(value)        (EVSYS_NONSECUSER_USER_Msk & ((value) << EVSYS_NONSECUSER_USER_Pos))  
+
+/* -------- EVSYS_NSCHKUSER : (EVSYS Offset: 0x1f0) (R/W 32) Non-Secure Users Check -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t USER0:1;                   /**< bit:      0  User 0 to be checked as non-secured      */
+    uint32_t USER1:1;                   /**< bit:      1  User 1 to be checked as non-secured      */
+    uint32_t USER2:1;                   /**< bit:      2  User 2 to be checked as non-secured      */
+    uint32_t USER3:1;                   /**< bit:      3  User 3 to be checked as non-secured      */
+    uint32_t USER4:1;                   /**< bit:      4  User 4 to be checked as non-secured      */
+    uint32_t USER5:1;                   /**< bit:      5  User 5 to be checked as non-secured      */
+    uint32_t USER6:1;                   /**< bit:      6  User 6 to be checked as non-secured      */
+    uint32_t USER7:1;                   /**< bit:      7  User 7 to be checked as non-secured      */
+    uint32_t USER8:1;                   /**< bit:      8  User 8 to be checked as non-secured      */
+    uint32_t USER9:1;                   /**< bit:      9  User 9 to be checked as non-secured      */
+    uint32_t USER10:1;                  /**< bit:     10  User 10 to be checked as non-secured     */
+    uint32_t USER11:1;                  /**< bit:     11  User 11 to be checked as non-secured     */
+    uint32_t USER12:1;                  /**< bit:     12  User 12 to be checked as non-secured     */
+    uint32_t USER13:1;                  /**< bit:     13  User 13 to be checked as non-secured     */
+    uint32_t USER14:1;                  /**< bit:     14  User 14 to be checked as non-secured     */
+    uint32_t USER15:1;                  /**< bit:     15  User 15 to be checked as non-secured     */
+    uint32_t USER16:1;                  /**< bit:     16  User 16 to be checked as non-secured     */
+    uint32_t USER17:1;                  /**< bit:     17  User 17 to be checked as non-secured     */
+    uint32_t USER18:1;                  /**< bit:     18  User 18 to be checked as non-secured     */
+    uint32_t USER19:1;                  /**< bit:     19  User 19 to be checked as non-secured     */
+    uint32_t USER20:1;                  /**< bit:     20  User 20 to be checked as non-secured     */
+    uint32_t USER21:1;                  /**< bit:     21  User 21 to be checked as non-secured     */
+    uint32_t USER22:1;                  /**< bit:     22  User 22 to be checked as non-secured     */
+    uint32_t :9;                        /**< bit: 23..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t USER:23;                   /**< bit:  0..22  User 22 to be checked as non-secured     */
+    uint32_t :9;                        /**< bit: 23..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_NSCHKUSER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_NSCHKUSER_OFFSET              (0x1F0)                                       /**<  (EVSYS_NSCHKUSER) Non-Secure Users Check  Offset */
+#define EVSYS_NSCHKUSER_RESETVALUE          _U_(0x00)                                     /**<  (EVSYS_NSCHKUSER) Non-Secure Users Check  Reset Value */
+
+#define EVSYS_NSCHKUSER_USER0_Pos           0                                              /**< (EVSYS_NSCHKUSER) User 0 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER0_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER0_Pos)        /**< (EVSYS_NSCHKUSER) User 0 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER0               EVSYS_NSCHKUSER_USER0_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER0_Msk instead */
+#define EVSYS_NSCHKUSER_USER1_Pos           1                                              /**< (EVSYS_NSCHKUSER) User 1 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER1_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER1_Pos)        /**< (EVSYS_NSCHKUSER) User 1 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER1               EVSYS_NSCHKUSER_USER1_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER1_Msk instead */
+#define EVSYS_NSCHKUSER_USER2_Pos           2                                              /**< (EVSYS_NSCHKUSER) User 2 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER2_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER2_Pos)        /**< (EVSYS_NSCHKUSER) User 2 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER2               EVSYS_NSCHKUSER_USER2_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER2_Msk instead */
+#define EVSYS_NSCHKUSER_USER3_Pos           3                                              /**< (EVSYS_NSCHKUSER) User 3 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER3_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER3_Pos)        /**< (EVSYS_NSCHKUSER) User 3 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER3               EVSYS_NSCHKUSER_USER3_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER3_Msk instead */
+#define EVSYS_NSCHKUSER_USER4_Pos           4                                              /**< (EVSYS_NSCHKUSER) User 4 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER4_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER4_Pos)        /**< (EVSYS_NSCHKUSER) User 4 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER4               EVSYS_NSCHKUSER_USER4_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER4_Msk instead */
+#define EVSYS_NSCHKUSER_USER5_Pos           5                                              /**< (EVSYS_NSCHKUSER) User 5 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER5_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER5_Pos)        /**< (EVSYS_NSCHKUSER) User 5 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER5               EVSYS_NSCHKUSER_USER5_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER5_Msk instead */
+#define EVSYS_NSCHKUSER_USER6_Pos           6                                              /**< (EVSYS_NSCHKUSER) User 6 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER6_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER6_Pos)        /**< (EVSYS_NSCHKUSER) User 6 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER6               EVSYS_NSCHKUSER_USER6_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER6_Msk instead */
+#define EVSYS_NSCHKUSER_USER7_Pos           7                                              /**< (EVSYS_NSCHKUSER) User 7 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER7_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER7_Pos)        /**< (EVSYS_NSCHKUSER) User 7 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER7               EVSYS_NSCHKUSER_USER7_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER7_Msk instead */
+#define EVSYS_NSCHKUSER_USER8_Pos           8                                              /**< (EVSYS_NSCHKUSER) User 8 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER8_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER8_Pos)        /**< (EVSYS_NSCHKUSER) User 8 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER8               EVSYS_NSCHKUSER_USER8_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER8_Msk instead */
+#define EVSYS_NSCHKUSER_USER9_Pos           9                                              /**< (EVSYS_NSCHKUSER) User 9 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER9_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER9_Pos)        /**< (EVSYS_NSCHKUSER) User 9 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER9               EVSYS_NSCHKUSER_USER9_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER9_Msk instead */
+#define EVSYS_NSCHKUSER_USER10_Pos          10                                             /**< (EVSYS_NSCHKUSER) User 10 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER10_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER10_Pos)       /**< (EVSYS_NSCHKUSER) User 10 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER10              EVSYS_NSCHKUSER_USER10_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER10_Msk instead */
+#define EVSYS_NSCHKUSER_USER11_Pos          11                                             /**< (EVSYS_NSCHKUSER) User 11 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER11_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER11_Pos)       /**< (EVSYS_NSCHKUSER) User 11 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER11              EVSYS_NSCHKUSER_USER11_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER11_Msk instead */
+#define EVSYS_NSCHKUSER_USER12_Pos          12                                             /**< (EVSYS_NSCHKUSER) User 12 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER12_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER12_Pos)       /**< (EVSYS_NSCHKUSER) User 12 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER12              EVSYS_NSCHKUSER_USER12_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER12_Msk instead */
+#define EVSYS_NSCHKUSER_USER13_Pos          13                                             /**< (EVSYS_NSCHKUSER) User 13 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER13_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER13_Pos)       /**< (EVSYS_NSCHKUSER) User 13 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER13              EVSYS_NSCHKUSER_USER13_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER13_Msk instead */
+#define EVSYS_NSCHKUSER_USER14_Pos          14                                             /**< (EVSYS_NSCHKUSER) User 14 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER14_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER14_Pos)       /**< (EVSYS_NSCHKUSER) User 14 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER14              EVSYS_NSCHKUSER_USER14_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER14_Msk instead */
+#define EVSYS_NSCHKUSER_USER15_Pos          15                                             /**< (EVSYS_NSCHKUSER) User 15 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER15_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER15_Pos)       /**< (EVSYS_NSCHKUSER) User 15 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER15              EVSYS_NSCHKUSER_USER15_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER15_Msk instead */
+#define EVSYS_NSCHKUSER_USER16_Pos          16                                             /**< (EVSYS_NSCHKUSER) User 16 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER16_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER16_Pos)       /**< (EVSYS_NSCHKUSER) User 16 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER16              EVSYS_NSCHKUSER_USER16_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER16_Msk instead */
+#define EVSYS_NSCHKUSER_USER17_Pos          17                                             /**< (EVSYS_NSCHKUSER) User 17 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER17_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER17_Pos)       /**< (EVSYS_NSCHKUSER) User 17 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER17              EVSYS_NSCHKUSER_USER17_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER17_Msk instead */
+#define EVSYS_NSCHKUSER_USER18_Pos          18                                             /**< (EVSYS_NSCHKUSER) User 18 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER18_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER18_Pos)       /**< (EVSYS_NSCHKUSER) User 18 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER18              EVSYS_NSCHKUSER_USER18_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER18_Msk instead */
+#define EVSYS_NSCHKUSER_USER19_Pos          19                                             /**< (EVSYS_NSCHKUSER) User 19 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER19_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER19_Pos)       /**< (EVSYS_NSCHKUSER) User 19 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER19              EVSYS_NSCHKUSER_USER19_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER19_Msk instead */
+#define EVSYS_NSCHKUSER_USER20_Pos          20                                             /**< (EVSYS_NSCHKUSER) User 20 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER20_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER20_Pos)       /**< (EVSYS_NSCHKUSER) User 20 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER20              EVSYS_NSCHKUSER_USER20_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER20_Msk instead */
+#define EVSYS_NSCHKUSER_USER21_Pos          21                                             /**< (EVSYS_NSCHKUSER) User 21 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER21_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER21_Pos)       /**< (EVSYS_NSCHKUSER) User 21 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER21              EVSYS_NSCHKUSER_USER21_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER21_Msk instead */
+#define EVSYS_NSCHKUSER_USER22_Pos          22                                             /**< (EVSYS_NSCHKUSER) User 22 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER22_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER22_Pos)       /**< (EVSYS_NSCHKUSER) User 22 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER22              EVSYS_NSCHKUSER_USER22_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER22_Msk instead */
+#define EVSYS_NSCHKUSER_MASK                _U_(0x7FFFFF)                                  /**< \deprecated (EVSYS_NSCHKUSER) Register MASK  (Use EVSYS_NSCHKUSER_Msk instead)  */
+#define EVSYS_NSCHKUSER_Msk                 _U_(0x7FFFFF)                                  /**< (EVSYS_NSCHKUSER) Register Mask  */
+
+#define EVSYS_NSCHKUSER_USER_Pos            0                                              /**< (EVSYS_NSCHKUSER Position) User 22 to be checked as non-secured */
+#define EVSYS_NSCHKUSER_USER_Msk            (_U_(0x7FFFFF) << EVSYS_NSCHKUSER_USER_Pos)    /**< (EVSYS_NSCHKUSER Mask) USER */
+#define EVSYS_NSCHKUSER_USER(value)         (EVSYS_NSCHKUSER_USER_Msk & ((value) << EVSYS_NSCHKUSER_USER_Pos))  
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief CHANNEL hardware registers */
+typedef struct {  
+  __IO EVSYS_CHANNEL_Type             CHANNEL;        /**< Offset: 0x00 (R/W  32) Channel n Control */
+  __IO EVSYS_CHINTENCLR_Type          CHINTENCLR;     /**< Offset: 0x04 (R/W   8) Channel n Interrupt Enable Clear */
+  __IO EVSYS_CHINTENSET_Type          CHINTENSET;     /**< Offset: 0x05 (R/W   8) Channel n Interrupt Enable Set */
+  __IO EVSYS_CHINTFLAG_Type           CHINTFLAG;      /**< Offset: 0x06 (R/W   8) Channel n Interrupt Flag Status and Clear */
+  __I  EVSYS_CHSTATUS_Type            CHSTATUS;       /**< Offset: 0x07 (R/    8) Channel n Status */
+} EvsysChannel;
+
+/** \brief EVSYS hardware registers */
+typedef struct {  /* Event System Interface */
+  __O  EVSYS_CTRLA_Type               CTRLA;          /**< Offset: 0x00 ( /W   8) Control */
+  __I  uint8_t                        Reserved1[3];
+  __O  EVSYS_SWEVT_Type               SWEVT;          /**< Offset: 0x04 ( /W  32) Software Event */
+  __IO EVSYS_PRICTRL_Type             PRICTRL;        /**< Offset: 0x08 (R/W   8) Priority Control */
+  __I  uint8_t                        Reserved2[7];
+  __IO EVSYS_INTPEND_Type             INTPEND;        /**< Offset: 0x10 (R/W  16) Channel Pending Interrupt */
+  __I  uint8_t                        Reserved3[2];
+  __I  EVSYS_INTSTATUS_Type           INTSTATUS;      /**< Offset: 0x14 (R/   32) Interrupt Status */
+  __I  EVSYS_BUSYCH_Type              BUSYCH;         /**< Offset: 0x18 (R/   32) Busy Channels */
+  __I  EVSYS_READYUSR_Type            READYUSR;       /**< Offset: 0x1C (R/   32) Ready Users */
+       EvsysChannel                   Channel[8];     /**< Offset: 0x20  */
+  __I  uint8_t                        Reserved4[192];
+  __IO EVSYS_USER_Type                USER[23];       /**< Offset: 0x120 (R/W   8) User Multiplexer n */
+  __I  uint8_t                        Reserved5[157];
+  __IO EVSYS_INTENCLR_Type            INTENCLR;       /**< Offset: 0x1D4 (R/W   8) Interrupt Enable Clear */
+  __IO EVSYS_INTENSET_Type            INTENSET;       /**< Offset: 0x1D5 (R/W   8) Interrupt Enable Set */
+  __IO EVSYS_INTFLAG_Type             INTFLAG;        /**< Offset: 0x1D6 (R/W   8) Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved6[1];
+  __IO EVSYS_NONSECCHAN_Type          NONSECCHAN;     /**< Offset: 0x1D8 (R/W  32) Channels Security Attribution */
+  __IO EVSYS_NSCHKCHAN_Type           NSCHKCHAN;      /**< Offset: 0x1DC (R/W  32) Non-Secure Channels Check */
+  __IO EVSYS_NONSECUSER_Type          NONSECUSER[1];  /**< Offset: 0x1E0 (R/W  32) Users Security Attribution */
+  __I  uint8_t                        Reserved7[12];
+  __IO EVSYS_NSCHKUSER_Type           NSCHKUSER[1];   /**< Offset: 0x1F0 (R/W  32) Non-Secure Users Check */
+} Evsys;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Event System Interface */
+
+#endif /* _SAML10_EVSYS_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/freqm.h b/cpu/sam0_common/include/vendor/saml10/include/component/freqm.h
new file mode 100644
index 0000000000..6030633b64
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/freqm.h
@@ -0,0 +1,269 @@
+/**
+ * \file
+ *
+ * \brief Component description for FREQM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_FREQM_COMPONENT_H_
+#define _SAML10_FREQM_COMPONENT_H_
+#define _SAML10_FREQM_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Frequency Meter
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR FREQM */
+/* ========================================================================== */
+
+#define FREQM_U2257                      /**< (FREQM) Module ID */
+#define REV_FREQM 0x210                  /**< (FREQM) Module revision */
+
+/* -------- FREQM_CTRLA : (FREQM Offset: 0x00) (R/W 8) Control A Register -------- */
+#if !(defined(__ASSEMBLER__) || 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 */
+} FREQM_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_CTRLA_OFFSET                  (0x00)                                        /**<  (FREQM_CTRLA) Control A Register  Offset */
+#define FREQM_CTRLA_RESETVALUE              _U_(0x00)                                     /**<  (FREQM_CTRLA) Control A Register  Reset Value */
+
+#define FREQM_CTRLA_SWRST_Pos               0                                              /**< (FREQM_CTRLA) Software Reset Position */
+#define FREQM_CTRLA_SWRST_Msk               (_U_(0x1) << FREQM_CTRLA_SWRST_Pos)            /**< (FREQM_CTRLA) Software Reset Mask */
+#define FREQM_CTRLA_SWRST                   FREQM_CTRLA_SWRST_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_CTRLA_SWRST_Msk instead */
+#define FREQM_CTRLA_ENABLE_Pos              1                                              /**< (FREQM_CTRLA) Enable Position */
+#define FREQM_CTRLA_ENABLE_Msk              (_U_(0x1) << FREQM_CTRLA_ENABLE_Pos)           /**< (FREQM_CTRLA) Enable Mask */
+#define FREQM_CTRLA_ENABLE                  FREQM_CTRLA_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_CTRLA_ENABLE_Msk instead */
+#define FREQM_CTRLA_MASK                    _U_(0x03)                                      /**< \deprecated (FREQM_CTRLA) Register MASK  (Use FREQM_CTRLA_Msk instead)  */
+#define FREQM_CTRLA_Msk                     _U_(0x03)                                      /**< (FREQM_CTRLA) Register Mask  */
+
+
+/* -------- FREQM_CTRLB : (FREQM Offset: 0x01) (/W 8) Control B Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  START:1;                   /**< bit:      0  Start Measurement                        */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} FREQM_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_CTRLB_OFFSET                  (0x01)                                        /**<  (FREQM_CTRLB) Control B Register  Offset */
+#define FREQM_CTRLB_RESETVALUE              _U_(0x00)                                     /**<  (FREQM_CTRLB) Control B Register  Reset Value */
+
+#define FREQM_CTRLB_START_Pos               0                                              /**< (FREQM_CTRLB) Start Measurement Position */
+#define FREQM_CTRLB_START_Msk               (_U_(0x1) << FREQM_CTRLB_START_Pos)            /**< (FREQM_CTRLB) Start Measurement Mask */
+#define FREQM_CTRLB_START                   FREQM_CTRLB_START_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_CTRLB_START_Msk instead */
+#define FREQM_CTRLB_MASK                    _U_(0x01)                                      /**< \deprecated (FREQM_CTRLB) Register MASK  (Use FREQM_CTRLB_Msk instead)  */
+#define FREQM_CTRLB_Msk                     _U_(0x01)                                      /**< (FREQM_CTRLB) Register Mask  */
+
+
+/* -------- FREQM_CFGA : (FREQM Offset: 0x02) (R/W 16) Config A register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t REFNUM:8;                  /**< bit:   0..7  Number of Reference Clock Cycles         */
+    uint16_t :7;                        /**< bit:  8..14  Reserved */
+    uint16_t DIVREF:1;                  /**< bit:     15  Divide Reference Clock                   */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} FREQM_CFGA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_CFGA_OFFSET                   (0x02)                                        /**<  (FREQM_CFGA) Config A register  Offset */
+#define FREQM_CFGA_RESETVALUE               _U_(0x00)                                     /**<  (FREQM_CFGA) Config A register  Reset Value */
+
+#define FREQM_CFGA_REFNUM_Pos               0                                              /**< (FREQM_CFGA) Number of Reference Clock Cycles Position */
+#define FREQM_CFGA_REFNUM_Msk               (_U_(0xFF) << FREQM_CFGA_REFNUM_Pos)           /**< (FREQM_CFGA) Number of Reference Clock Cycles Mask */
+#define FREQM_CFGA_REFNUM(value)            (FREQM_CFGA_REFNUM_Msk & ((value) << FREQM_CFGA_REFNUM_Pos))
+#define FREQM_CFGA_DIVREF_Pos               15                                             /**< (FREQM_CFGA) Divide Reference Clock Position */
+#define FREQM_CFGA_DIVREF_Msk               (_U_(0x1) << FREQM_CFGA_DIVREF_Pos)            /**< (FREQM_CFGA) Divide Reference Clock Mask */
+#define FREQM_CFGA_DIVREF                   FREQM_CFGA_DIVREF_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_CFGA_DIVREF_Msk instead */
+#define FREQM_CFGA_MASK                     _U_(0x80FF)                                    /**< \deprecated (FREQM_CFGA) Register MASK  (Use FREQM_CFGA_Msk instead)  */
+#define FREQM_CFGA_Msk                      _U_(0x80FF)                                    /**< (FREQM_CFGA) Register Mask  */
+
+
+/* -------- FREQM_INTENCLR : (FREQM Offset: 0x08) (R/W 8) Interrupt Enable Clear Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DONE:1;                    /**< bit:      0  Measurement Done Interrupt Enable        */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} FREQM_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_INTENCLR_OFFSET               (0x08)                                        /**<  (FREQM_INTENCLR) Interrupt Enable Clear Register  Offset */
+#define FREQM_INTENCLR_RESETVALUE           _U_(0x00)                                     /**<  (FREQM_INTENCLR) Interrupt Enable Clear Register  Reset Value */
+
+#define FREQM_INTENCLR_DONE_Pos             0                                              /**< (FREQM_INTENCLR) Measurement Done Interrupt Enable Position */
+#define FREQM_INTENCLR_DONE_Msk             (_U_(0x1) << FREQM_INTENCLR_DONE_Pos)          /**< (FREQM_INTENCLR) Measurement Done Interrupt Enable Mask */
+#define FREQM_INTENCLR_DONE                 FREQM_INTENCLR_DONE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_INTENCLR_DONE_Msk instead */
+#define FREQM_INTENCLR_MASK                 _U_(0x01)                                      /**< \deprecated (FREQM_INTENCLR) Register MASK  (Use FREQM_INTENCLR_Msk instead)  */
+#define FREQM_INTENCLR_Msk                  _U_(0x01)                                      /**< (FREQM_INTENCLR) Register Mask  */
+
+
+/* -------- FREQM_INTENSET : (FREQM Offset: 0x09) (R/W 8) Interrupt Enable Set Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DONE:1;                    /**< bit:      0  Measurement Done Interrupt Enable        */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} FREQM_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_INTENSET_OFFSET               (0x09)                                        /**<  (FREQM_INTENSET) Interrupt Enable Set Register  Offset */
+#define FREQM_INTENSET_RESETVALUE           _U_(0x00)                                     /**<  (FREQM_INTENSET) Interrupt Enable Set Register  Reset Value */
+
+#define FREQM_INTENSET_DONE_Pos             0                                              /**< (FREQM_INTENSET) Measurement Done Interrupt Enable Position */
+#define FREQM_INTENSET_DONE_Msk             (_U_(0x1) << FREQM_INTENSET_DONE_Pos)          /**< (FREQM_INTENSET) Measurement Done Interrupt Enable Mask */
+#define FREQM_INTENSET_DONE                 FREQM_INTENSET_DONE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_INTENSET_DONE_Msk instead */
+#define FREQM_INTENSET_MASK                 _U_(0x01)                                      /**< \deprecated (FREQM_INTENSET) Register MASK  (Use FREQM_INTENSET_Msk instead)  */
+#define FREQM_INTENSET_Msk                  _U_(0x01)                                      /**< (FREQM_INTENSET) Register Mask  */
+
+
+/* -------- FREQM_INTFLAG : (FREQM Offset: 0x0a) (R/W 8) Interrupt Flag Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t DONE:1;                    /**< bit:      0  Measurement Done                         */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} FREQM_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_INTFLAG_OFFSET                (0x0A)                                        /**<  (FREQM_INTFLAG) Interrupt Flag Register  Offset */
+#define FREQM_INTFLAG_RESETVALUE            _U_(0x00)                                     /**<  (FREQM_INTFLAG) Interrupt Flag Register  Reset Value */
+
+#define FREQM_INTFLAG_DONE_Pos              0                                              /**< (FREQM_INTFLAG) Measurement Done Position */
+#define FREQM_INTFLAG_DONE_Msk              (_U_(0x1) << FREQM_INTFLAG_DONE_Pos)           /**< (FREQM_INTFLAG) Measurement Done Mask */
+#define FREQM_INTFLAG_DONE                  FREQM_INTFLAG_DONE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_INTFLAG_DONE_Msk instead */
+#define FREQM_INTFLAG_MASK                  _U_(0x01)                                      /**< \deprecated (FREQM_INTFLAG) Register MASK  (Use FREQM_INTFLAG_Msk instead)  */
+#define FREQM_INTFLAG_Msk                   _U_(0x01)                                      /**< (FREQM_INTFLAG) Register Mask  */
+
+
+/* -------- FREQM_STATUS : (FREQM Offset: 0x0b) (R/W 8) Status Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  BUSY:1;                    /**< bit:      0  FREQM Status                             */
+    uint8_t  OVF:1;                     /**< bit:      1  Sticky Count Value Overflow              */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} FREQM_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_STATUS_OFFSET                 (0x0B)                                        /**<  (FREQM_STATUS) Status Register  Offset */
+#define FREQM_STATUS_RESETVALUE             _U_(0x00)                                     /**<  (FREQM_STATUS) Status Register  Reset Value */
+
+#define FREQM_STATUS_BUSY_Pos               0                                              /**< (FREQM_STATUS) FREQM Status Position */
+#define FREQM_STATUS_BUSY_Msk               (_U_(0x1) << FREQM_STATUS_BUSY_Pos)            /**< (FREQM_STATUS) FREQM Status Mask */
+#define FREQM_STATUS_BUSY                   FREQM_STATUS_BUSY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_STATUS_BUSY_Msk instead */
+#define FREQM_STATUS_OVF_Pos                1                                              /**< (FREQM_STATUS) Sticky Count Value Overflow Position */
+#define FREQM_STATUS_OVF_Msk                (_U_(0x1) << FREQM_STATUS_OVF_Pos)             /**< (FREQM_STATUS) Sticky Count Value Overflow Mask */
+#define FREQM_STATUS_OVF                    FREQM_STATUS_OVF_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_STATUS_OVF_Msk instead */
+#define FREQM_STATUS_MASK                   _U_(0x03)                                      /**< \deprecated (FREQM_STATUS) Register MASK  (Use FREQM_STATUS_Msk instead)  */
+#define FREQM_STATUS_Msk                    _U_(0x03)                                      /**< (FREQM_STATUS) Register Mask  */
+
+
+/* -------- FREQM_SYNCBUSY : (FREQM Offset: 0x0c) (R/ 32) Synchronization Busy Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t :30;                       /**< bit:  2..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} FREQM_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_SYNCBUSY_OFFSET               (0x0C)                                        /**<  (FREQM_SYNCBUSY) Synchronization Busy Register  Offset */
+#define FREQM_SYNCBUSY_RESETVALUE           _U_(0x00)                                     /**<  (FREQM_SYNCBUSY) Synchronization Busy Register  Reset Value */
+
+#define FREQM_SYNCBUSY_SWRST_Pos            0                                              /**< (FREQM_SYNCBUSY) Software Reset Position */
+#define FREQM_SYNCBUSY_SWRST_Msk            (_U_(0x1) << FREQM_SYNCBUSY_SWRST_Pos)         /**< (FREQM_SYNCBUSY) Software Reset Mask */
+#define FREQM_SYNCBUSY_SWRST                FREQM_SYNCBUSY_SWRST_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_SYNCBUSY_SWRST_Msk instead */
+#define FREQM_SYNCBUSY_ENABLE_Pos           1                                              /**< (FREQM_SYNCBUSY) Enable Position */
+#define FREQM_SYNCBUSY_ENABLE_Msk           (_U_(0x1) << FREQM_SYNCBUSY_ENABLE_Pos)        /**< (FREQM_SYNCBUSY) Enable Mask */
+#define FREQM_SYNCBUSY_ENABLE               FREQM_SYNCBUSY_ENABLE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_SYNCBUSY_ENABLE_Msk instead */
+#define FREQM_SYNCBUSY_MASK                 _U_(0x03)                                      /**< \deprecated (FREQM_SYNCBUSY) Register MASK  (Use FREQM_SYNCBUSY_Msk instead)  */
+#define FREQM_SYNCBUSY_Msk                  _U_(0x03)                                      /**< (FREQM_SYNCBUSY) Register Mask  */
+
+
+/* -------- FREQM_VALUE : (FREQM Offset: 0x10) (R/ 32) Count Value Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t VALUE:24;                  /**< bit:  0..23  Measurement Value                        */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} FREQM_VALUE_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_VALUE_OFFSET                  (0x10)                                        /**<  (FREQM_VALUE) Count Value Register  Offset */
+#define FREQM_VALUE_RESETVALUE              _U_(0x00)                                     /**<  (FREQM_VALUE) Count Value Register  Reset Value */
+
+#define FREQM_VALUE_VALUE_Pos               0                                              /**< (FREQM_VALUE) Measurement Value Position */
+#define FREQM_VALUE_VALUE_Msk               (_U_(0xFFFFFF) << FREQM_VALUE_VALUE_Pos)       /**< (FREQM_VALUE) Measurement Value Mask */
+#define FREQM_VALUE_VALUE(value)            (FREQM_VALUE_VALUE_Msk & ((value) << FREQM_VALUE_VALUE_Pos))
+#define FREQM_VALUE_MASK                    _U_(0xFFFFFF)                                  /**< \deprecated (FREQM_VALUE) Register MASK  (Use FREQM_VALUE_Msk instead)  */
+#define FREQM_VALUE_Msk                     _U_(0xFFFFFF)                                  /**< (FREQM_VALUE) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief FREQM hardware registers */
+typedef struct {  /* Frequency Meter */
+  __IO FREQM_CTRLA_Type               CTRLA;          /**< Offset: 0x00 (R/W   8) Control A Register */
+  __O  FREQM_CTRLB_Type               CTRLB;          /**< Offset: 0x01 ( /W   8) Control B Register */
+  __IO FREQM_CFGA_Type                CFGA;           /**< Offset: 0x02 (R/W  16) Config A register */
+  __I  uint8_t                        Reserved1[4];
+  __IO FREQM_INTENCLR_Type            INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt Enable Clear Register */
+  __IO FREQM_INTENSET_Type            INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt Enable Set Register */
+  __IO FREQM_INTFLAG_Type             INTFLAG;        /**< Offset: 0x0A (R/W   8) Interrupt Flag Register */
+  __IO FREQM_STATUS_Type              STATUS;         /**< Offset: 0x0B (R/W   8) Status Register */
+  __I  FREQM_SYNCBUSY_Type            SYNCBUSY;       /**< Offset: 0x0C (R/   32) Synchronization Busy Register */
+  __I  FREQM_VALUE_Type               VALUE;          /**< Offset: 0x10 (R/   32) Count Value Register */
+} Freqm;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Frequency Meter */
+
+#endif /* _SAML10_FREQM_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/gclk.h b/cpu/sam0_common/include/vendor/saml10/include/component/gclk.h
new file mode 100644
index 0000000000..08b36700fb
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/gclk.h
@@ -0,0 +1,238 @@
+/**
+ * \file
+ *
+ * \brief Component description for GCLK
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_GCLK_COMPONENT_H_
+#define _SAML10_GCLK_COMPONENT_H_
+#define _SAML10_GCLK_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Generic Clock Generator
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR GCLK */
+/* ========================================================================== */
+
+#define GCLK_U2122                      /**< (GCLK) Module ID */
+#define REV_GCLK 0x112                  /**< (GCLK) Module revision */
+
+/* -------- GCLK_CTRLA : (GCLK Offset: 0x00) (R/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} GCLK_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define GCLK_CTRLA_OFFSET                   (0x00)                                        /**<  (GCLK_CTRLA) Control  Offset */
+#define GCLK_CTRLA_RESETVALUE               _U_(0x00)                                     /**<  (GCLK_CTRLA) Control  Reset Value */
+
+#define GCLK_CTRLA_SWRST_Pos                0                                              /**< (GCLK_CTRLA) Software Reset Position */
+#define GCLK_CTRLA_SWRST_Msk                (_U_(0x1) << GCLK_CTRLA_SWRST_Pos)             /**< (GCLK_CTRLA) Software Reset Mask */
+#define GCLK_CTRLA_SWRST                    GCLK_CTRLA_SWRST_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_CTRLA_SWRST_Msk instead */
+#define GCLK_CTRLA_MASK                     _U_(0x01)                                      /**< \deprecated (GCLK_CTRLA) Register MASK  (Use GCLK_CTRLA_Msk instead)  */
+#define GCLK_CTRLA_Msk                      _U_(0x01)                                      /**< (GCLK_CTRLA) Register Mask  */
+
+
+/* -------- GCLK_SYNCBUSY : (GCLK Offset: 0x04) (R/ 32) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchroniation Busy bit   */
+    uint32_t :1;                        /**< bit:      1  Reserved */
+    uint32_t GENCTRL0:1;                /**< bit:      2  Generic Clock Generator Control 0 Synchronization Busy bit */
+    uint32_t GENCTRL1:1;                /**< bit:      3  Generic Clock Generator Control 1 Synchronization Busy bit */
+    uint32_t GENCTRL2:1;                /**< bit:      4  Generic Clock Generator Control 2 Synchronization Busy bit */
+    uint32_t GENCTRL3:1;                /**< bit:      5  Generic Clock Generator Control 3 Synchronization Busy bit */
+    uint32_t GENCTRL4:1;                /**< bit:      6  Generic Clock Generator Control 4 Synchronization Busy bit */
+    uint32_t :25;                       /**< bit:  7..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :2;                        /**< bit:   0..1  Reserved */
+    uint32_t GENCTRL:5;                 /**< bit:   2..6  Generic Clock Generator Control 4 Synchronization Busy bit */
+    uint32_t :25;                       /**< bit:  7..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} GCLK_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define GCLK_SYNCBUSY_OFFSET                (0x04)                                        /**<  (GCLK_SYNCBUSY) Synchronization Busy  Offset */
+#define GCLK_SYNCBUSY_RESETVALUE            _U_(0x00)                                     /**<  (GCLK_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define GCLK_SYNCBUSY_SWRST_Pos             0                                              /**< (GCLK_SYNCBUSY) Software Reset Synchroniation Busy bit Position */
+#define GCLK_SYNCBUSY_SWRST_Msk             (_U_(0x1) << GCLK_SYNCBUSY_SWRST_Pos)          /**< (GCLK_SYNCBUSY) Software Reset Synchroniation Busy bit Mask */
+#define GCLK_SYNCBUSY_SWRST                 GCLK_SYNCBUSY_SWRST_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_SWRST_Msk instead */
+#define GCLK_SYNCBUSY_GENCTRL0_Pos          2                                              /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 0 Synchronization Busy bit Position */
+#define GCLK_SYNCBUSY_GENCTRL0_Msk          (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL0_Pos)       /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 0 Synchronization Busy bit Mask */
+#define GCLK_SYNCBUSY_GENCTRL0              GCLK_SYNCBUSY_GENCTRL0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL0_Msk instead */
+#define GCLK_SYNCBUSY_GENCTRL1_Pos          3                                              /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 1 Synchronization Busy bit Position */
+#define GCLK_SYNCBUSY_GENCTRL1_Msk          (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL1_Pos)       /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 1 Synchronization Busy bit Mask */
+#define GCLK_SYNCBUSY_GENCTRL1              GCLK_SYNCBUSY_GENCTRL1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL1_Msk instead */
+#define GCLK_SYNCBUSY_GENCTRL2_Pos          4                                              /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 2 Synchronization Busy bit Position */
+#define GCLK_SYNCBUSY_GENCTRL2_Msk          (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL2_Pos)       /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 2 Synchronization Busy bit Mask */
+#define GCLK_SYNCBUSY_GENCTRL2              GCLK_SYNCBUSY_GENCTRL2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL2_Msk instead */
+#define GCLK_SYNCBUSY_GENCTRL3_Pos          5                                              /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 3 Synchronization Busy bit Position */
+#define GCLK_SYNCBUSY_GENCTRL3_Msk          (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL3_Pos)       /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 3 Synchronization Busy bit Mask */
+#define GCLK_SYNCBUSY_GENCTRL3              GCLK_SYNCBUSY_GENCTRL3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL3_Msk instead */
+#define GCLK_SYNCBUSY_GENCTRL4_Pos          6                                              /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 4 Synchronization Busy bit Position */
+#define GCLK_SYNCBUSY_GENCTRL4_Msk          (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL4_Pos)       /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 4 Synchronization Busy bit Mask */
+#define GCLK_SYNCBUSY_GENCTRL4              GCLK_SYNCBUSY_GENCTRL4_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL4_Msk instead */
+#define GCLK_SYNCBUSY_MASK                  _U_(0x7D)                                      /**< \deprecated (GCLK_SYNCBUSY) Register MASK  (Use GCLK_SYNCBUSY_Msk instead)  */
+#define GCLK_SYNCBUSY_Msk                   _U_(0x7D)                                      /**< (GCLK_SYNCBUSY) Register Mask  */
+
+#define GCLK_SYNCBUSY_GENCTRL_Pos           2                                              /**< (GCLK_SYNCBUSY Position) Generic Clock Generator Control 4 Synchronization Busy bit */
+#define GCLK_SYNCBUSY_GENCTRL_Msk           (_U_(0x1F) << GCLK_SYNCBUSY_GENCTRL_Pos)       /**< (GCLK_SYNCBUSY Mask) GENCTRL */
+#define GCLK_SYNCBUSY_GENCTRL(value)        (GCLK_SYNCBUSY_GENCTRL_Msk & ((value) << GCLK_SYNCBUSY_GENCTRL_Pos))  
+
+/* -------- GCLK_GENCTRL : (GCLK Offset: 0x20) (R/W 32) Generic Clock Generator Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SRC:3;                     /**< bit:   0..2  Source Select                            */
+    uint32_t :5;                        /**< bit:   3..7  Reserved */
+    uint32_t GENEN:1;                   /**< bit:      8  Generic Clock Generator Enable           */
+    uint32_t IDC:1;                     /**< bit:      9  Improve Duty Cycle                       */
+    uint32_t OOV:1;                     /**< bit:     10  Output Off Value                         */
+    uint32_t OE:1;                      /**< bit:     11  Output Enable                            */
+    uint32_t DIVSEL:1;                  /**< bit:     12  Divide Selection                         */
+    uint32_t RUNSTDBY:1;                /**< bit:     13  Run in Standby                           */
+    uint32_t :2;                        /**< bit: 14..15  Reserved */
+    uint32_t DIV:16;                    /**< bit: 16..31  Division Factor                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} GCLK_GENCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define GCLK_GENCTRL_OFFSET                 (0x20)                                        /**<  (GCLK_GENCTRL) Generic Clock Generator Control  Offset */
+#define GCLK_GENCTRL_RESETVALUE             _U_(0x00)                                     /**<  (GCLK_GENCTRL) Generic Clock Generator Control  Reset Value */
+
+#define GCLK_GENCTRL_SRC_Pos                0                                              /**< (GCLK_GENCTRL) Source Select Position */
+#define GCLK_GENCTRL_SRC_Msk                (_U_(0x7) << GCLK_GENCTRL_SRC_Pos)             /**< (GCLK_GENCTRL) Source Select Mask */
+#define GCLK_GENCTRL_SRC(value)             (GCLK_GENCTRL_SRC_Msk & ((value) << GCLK_GENCTRL_SRC_Pos))
+#define   GCLK_GENCTRL_SRC_XOSC_Val         _U_(0x0)                                       /**< (GCLK_GENCTRL) XOSC oscillator output  */
+#define   GCLK_GENCTRL_SRC_GCLKIN_Val       _U_(0x1)                                       /**< (GCLK_GENCTRL) Generator input pad  */
+#define   GCLK_GENCTRL_SRC_GCLKGEN1_Val     _U_(0x2)                                       /**< (GCLK_GENCTRL) Generic clock generator 1 output  */
+#define   GCLK_GENCTRL_SRC_OSCULP32K_Val    _U_(0x3)                                       /**< (GCLK_GENCTRL) OSCULP32K oscillator output  */
+#define   GCLK_GENCTRL_SRC_XOSC32K_Val      _U_(0x4)                                       /**< (GCLK_GENCTRL) XOSC32K oscillator output  */
+#define   GCLK_GENCTRL_SRC_OSC16M_Val       _U_(0x5)                                       /**< (GCLK_GENCTRL) OSC16M oscillator output  */
+#define   GCLK_GENCTRL_SRC_DFLLULP_Val      _U_(0x6)                                       /**< (GCLK_GENCTRL) DFLLULP output  */
+#define   GCLK_GENCTRL_SRC_FDPLL96M_Val     _U_(0x7)                                       /**< (GCLK_GENCTRL) FDPLL output  */
+#define GCLK_GENCTRL_SRC_XOSC               (GCLK_GENCTRL_SRC_XOSC_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) XOSC oscillator output Position  */
+#define GCLK_GENCTRL_SRC_GCLKIN             (GCLK_GENCTRL_SRC_GCLKIN_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) Generator input pad Position  */
+#define GCLK_GENCTRL_SRC_GCLKGEN1           (GCLK_GENCTRL_SRC_GCLKGEN1_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) Generic clock generator 1 output Position  */
+#define GCLK_GENCTRL_SRC_OSCULP32K          (GCLK_GENCTRL_SRC_OSCULP32K_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) OSCULP32K oscillator output Position  */
+#define GCLK_GENCTRL_SRC_XOSC32K            (GCLK_GENCTRL_SRC_XOSC32K_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) XOSC32K oscillator output Position  */
+#define GCLK_GENCTRL_SRC_OSC16M             (GCLK_GENCTRL_SRC_OSC16M_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) OSC16M oscillator output Position  */
+#define GCLK_GENCTRL_SRC_DFLLULP            (GCLK_GENCTRL_SRC_DFLLULP_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) DFLLULP output Position  */
+#define GCLK_GENCTRL_SRC_FDPLL96M           (GCLK_GENCTRL_SRC_FDPLL96M_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) FDPLL output Position  */
+#define GCLK_GENCTRL_GENEN_Pos              8                                              /**< (GCLK_GENCTRL) Generic Clock Generator Enable Position */
+#define GCLK_GENCTRL_GENEN_Msk              (_U_(0x1) << GCLK_GENCTRL_GENEN_Pos)           /**< (GCLK_GENCTRL) Generic Clock Generator Enable Mask */
+#define GCLK_GENCTRL_GENEN                  GCLK_GENCTRL_GENEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_GENEN_Msk instead */
+#define GCLK_GENCTRL_IDC_Pos                9                                              /**< (GCLK_GENCTRL) Improve Duty Cycle Position */
+#define GCLK_GENCTRL_IDC_Msk                (_U_(0x1) << GCLK_GENCTRL_IDC_Pos)             /**< (GCLK_GENCTRL) Improve Duty Cycle Mask */
+#define GCLK_GENCTRL_IDC                    GCLK_GENCTRL_IDC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_IDC_Msk instead */
+#define GCLK_GENCTRL_OOV_Pos                10                                             /**< (GCLK_GENCTRL) Output Off Value Position */
+#define GCLK_GENCTRL_OOV_Msk                (_U_(0x1) << GCLK_GENCTRL_OOV_Pos)             /**< (GCLK_GENCTRL) Output Off Value Mask */
+#define GCLK_GENCTRL_OOV                    GCLK_GENCTRL_OOV_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_OOV_Msk instead */
+#define GCLK_GENCTRL_OE_Pos                 11                                             /**< (GCLK_GENCTRL) Output Enable Position */
+#define GCLK_GENCTRL_OE_Msk                 (_U_(0x1) << GCLK_GENCTRL_OE_Pos)              /**< (GCLK_GENCTRL) Output Enable Mask */
+#define GCLK_GENCTRL_OE                     GCLK_GENCTRL_OE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_OE_Msk instead */
+#define GCLK_GENCTRL_DIVSEL_Pos             12                                             /**< (GCLK_GENCTRL) Divide Selection Position */
+#define GCLK_GENCTRL_DIVSEL_Msk             (_U_(0x1) << GCLK_GENCTRL_DIVSEL_Pos)          /**< (GCLK_GENCTRL) Divide Selection Mask */
+#define GCLK_GENCTRL_DIVSEL                 GCLK_GENCTRL_DIVSEL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_DIVSEL_Msk instead */
+#define GCLK_GENCTRL_RUNSTDBY_Pos           13                                             /**< (GCLK_GENCTRL) Run in Standby Position */
+#define GCLK_GENCTRL_RUNSTDBY_Msk           (_U_(0x1) << GCLK_GENCTRL_RUNSTDBY_Pos)        /**< (GCLK_GENCTRL) Run in Standby Mask */
+#define GCLK_GENCTRL_RUNSTDBY               GCLK_GENCTRL_RUNSTDBY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_RUNSTDBY_Msk instead */
+#define GCLK_GENCTRL_DIV_Pos                16                                             /**< (GCLK_GENCTRL) Division Factor Position */
+#define GCLK_GENCTRL_DIV_Msk                (_U_(0xFFFF) << GCLK_GENCTRL_DIV_Pos)          /**< (GCLK_GENCTRL) Division Factor Mask */
+#define GCLK_GENCTRL_DIV(value)             (GCLK_GENCTRL_DIV_Msk & ((value) << GCLK_GENCTRL_DIV_Pos))
+#define GCLK_GENCTRL_MASK                   _U_(0xFFFF3F07)                                /**< \deprecated (GCLK_GENCTRL) Register MASK  (Use GCLK_GENCTRL_Msk instead)  */
+#define GCLK_GENCTRL_Msk                    _U_(0xFFFF3F07)                                /**< (GCLK_GENCTRL) Register Mask  */
+
+
+/* -------- GCLK_PCHCTRL : (GCLK Offset: 0x80) (R/W 32) Peripheral Clock Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t GEN:3;                     /**< bit:   0..2  Generic Clock Generator                  */
+    uint32_t :3;                        /**< bit:   3..5  Reserved */
+    uint32_t CHEN:1;                    /**< bit:      6  Channel Enable                           */
+    uint32_t WRTLOCK:1;                 /**< bit:      7  Write Lock                               */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} GCLK_PCHCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define GCLK_PCHCTRL_OFFSET                 (0x80)                                        /**<  (GCLK_PCHCTRL) Peripheral Clock Control  Offset */
+#define GCLK_PCHCTRL_RESETVALUE             _U_(0x00)                                     /**<  (GCLK_PCHCTRL) Peripheral Clock Control  Reset Value */
+
+#define GCLK_PCHCTRL_GEN_Pos                0                                              /**< (GCLK_PCHCTRL) Generic Clock Generator Position */
+#define GCLK_PCHCTRL_GEN_Msk                (_U_(0x7) << GCLK_PCHCTRL_GEN_Pos)             /**< (GCLK_PCHCTRL) Generic Clock Generator Mask */
+#define GCLK_PCHCTRL_GEN(value)             (GCLK_PCHCTRL_GEN_Msk & ((value) << GCLK_PCHCTRL_GEN_Pos))
+#define   GCLK_PCHCTRL_GEN_GCLK0_Val        _U_(0x0)                                       /**< (GCLK_PCHCTRL) Generic clock generator 0  */
+#define   GCLK_PCHCTRL_GEN_GCLK1_Val        _U_(0x1)                                       /**< (GCLK_PCHCTRL) Generic clock generator 1  */
+#define   GCLK_PCHCTRL_GEN_GCLK2_Val        _U_(0x2)                                       /**< (GCLK_PCHCTRL) Generic clock generator 2  */
+#define   GCLK_PCHCTRL_GEN_GCLK3_Val        _U_(0x3)                                       /**< (GCLK_PCHCTRL) Generic clock generator 3  */
+#define   GCLK_PCHCTRL_GEN_GCLK4_Val        _U_(0x4)                                       /**< (GCLK_PCHCTRL) Generic clock generator 4  */
+#define GCLK_PCHCTRL_GEN_GCLK0              (GCLK_PCHCTRL_GEN_GCLK0_Val << GCLK_PCHCTRL_GEN_Pos)  /**< (GCLK_PCHCTRL) Generic clock generator 0 Position  */
+#define GCLK_PCHCTRL_GEN_GCLK1              (GCLK_PCHCTRL_GEN_GCLK1_Val << GCLK_PCHCTRL_GEN_Pos)  /**< (GCLK_PCHCTRL) Generic clock generator 1 Position  */
+#define GCLK_PCHCTRL_GEN_GCLK2              (GCLK_PCHCTRL_GEN_GCLK2_Val << GCLK_PCHCTRL_GEN_Pos)  /**< (GCLK_PCHCTRL) Generic clock generator 2 Position  */
+#define GCLK_PCHCTRL_GEN_GCLK3              (GCLK_PCHCTRL_GEN_GCLK3_Val << GCLK_PCHCTRL_GEN_Pos)  /**< (GCLK_PCHCTRL) Generic clock generator 3 Position  */
+#define GCLK_PCHCTRL_GEN_GCLK4              (GCLK_PCHCTRL_GEN_GCLK4_Val << GCLK_PCHCTRL_GEN_Pos)  /**< (GCLK_PCHCTRL) Generic clock generator 4 Position  */
+#define GCLK_PCHCTRL_CHEN_Pos               6                                              /**< (GCLK_PCHCTRL) Channel Enable Position */
+#define GCLK_PCHCTRL_CHEN_Msk               (_U_(0x1) << GCLK_PCHCTRL_CHEN_Pos)            /**< (GCLK_PCHCTRL) Channel Enable Mask */
+#define GCLK_PCHCTRL_CHEN                   GCLK_PCHCTRL_CHEN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_PCHCTRL_CHEN_Msk instead */
+#define GCLK_PCHCTRL_WRTLOCK_Pos            7                                              /**< (GCLK_PCHCTRL) Write Lock Position */
+#define GCLK_PCHCTRL_WRTLOCK_Msk            (_U_(0x1) << GCLK_PCHCTRL_WRTLOCK_Pos)         /**< (GCLK_PCHCTRL) Write Lock Mask */
+#define GCLK_PCHCTRL_WRTLOCK                GCLK_PCHCTRL_WRTLOCK_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_PCHCTRL_WRTLOCK_Msk instead */
+#define GCLK_PCHCTRL_MASK                   _U_(0xC7)                                      /**< \deprecated (GCLK_PCHCTRL) Register MASK  (Use GCLK_PCHCTRL_Msk instead)  */
+#define GCLK_PCHCTRL_Msk                    _U_(0xC7)                                      /**< (GCLK_PCHCTRL) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief GCLK hardware registers */
+typedef struct {  /* Generic Clock Generator */
+  __IO GCLK_CTRLA_Type                CTRLA;          /**< Offset: 0x00 (R/W   8) Control */
+  __I  uint8_t                        Reserved1[3];
+  __I  GCLK_SYNCBUSY_Type             SYNCBUSY;       /**< Offset: 0x04 (R/   32) Synchronization Busy */
+  __I  uint8_t                        Reserved2[24];
+  __IO GCLK_GENCTRL_Type              GENCTRL[5];     /**< Offset: 0x20 (R/W  32) Generic Clock Generator Control */
+  __I  uint8_t                        Reserved3[76];
+  __IO GCLK_PCHCTRL_Type              PCHCTRL[21];    /**< Offset: 0x80 (R/W  32) Peripheral Clock Control */
+} Gclk;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Generic Clock Generator */
+
+#endif /* _SAML10_GCLK_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/idau.h b/cpu/sam0_common/include/vendor/saml10/include/component/idau.h
new file mode 100644
index 0000000000..208b674212
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/idau.h
@@ -0,0 +1,53 @@
+/**
+ * \file
+ *
+ * \brief Component description for IDAU
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_IDAU_COMPONENT_H_
+#define _SAML10_IDAU_COMPONENT_H_
+#define _SAML10_IDAU_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Implementation Defined Attribution Unit
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR IDAU */
+/* ========================================================================== */
+
+#define IDAU_U2803                      /**< (IDAU) Module ID */
+#define REV_IDAU 0x100                  /**< (IDAU) Module revision */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief No hardware registers defined for IDAU */
+typedef void Idau;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Implementation Defined Attribution Unit */
+
+#endif /* _SAML10_IDAU_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/mclk.h b/cpu/sam0_common/include/vendor/saml10/include/component/mclk.h
new file mode 100644
index 0000000000..80888d025b
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/mclk.h
@@ -0,0 +1,416 @@
+/**
+ * \file
+ *
+ * \brief Component description for MCLK
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_MCLK_COMPONENT_H_
+#define _SAML10_MCLK_COMPONENT_H_
+#define _SAML10_MCLK_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Main Clock
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR MCLK */
+/* ========================================================================== */
+
+#define MCLK_U2234                      /**< (MCLK) Module ID */
+#define REV_MCLK 0x300                  /**< (MCLK) Module revision */
+
+/* -------- MCLK_CTRLA : (MCLK Offset: 0x00) (R/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :2;                        /**< bit:   0..1  Reserved */
+    uint8_t  CKSEL:1;                   /**< bit:      2  Clock Select                             */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} MCLK_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_CTRLA_OFFSET                   (0x00)                                        /**<  (MCLK_CTRLA) Control  Offset */
+#define MCLK_CTRLA_RESETVALUE               _U_(0x00)                                     /**<  (MCLK_CTRLA) Control  Reset Value */
+
+#define MCLK_CTRLA_CKSEL_Pos                2                                              /**< (MCLK_CTRLA) Clock Select Position */
+#define MCLK_CTRLA_CKSEL_Msk                (_U_(0x1) << MCLK_CTRLA_CKSEL_Pos)             /**< (MCLK_CTRLA) Clock Select Mask */
+#define MCLK_CTRLA_CKSEL                    MCLK_CTRLA_CKSEL_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_CTRLA_CKSEL_Msk instead */
+#define MCLK_CTRLA_MASK                     _U_(0x04)                                      /**< \deprecated (MCLK_CTRLA) Register MASK  (Use MCLK_CTRLA_Msk instead)  */
+#define MCLK_CTRLA_Msk                      _U_(0x04)                                      /**< (MCLK_CTRLA) Register Mask  */
+
+
+/* -------- MCLK_INTENCLR : (MCLK Offset: 0x01) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CKRDY:1;                   /**< bit:      0  Clock Ready Interrupt Enable             */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} MCLK_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_INTENCLR_OFFSET                (0x01)                                        /**<  (MCLK_INTENCLR) Interrupt Enable Clear  Offset */
+#define MCLK_INTENCLR_RESETVALUE            _U_(0x00)                                     /**<  (MCLK_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define MCLK_INTENCLR_CKRDY_Pos             0                                              /**< (MCLK_INTENCLR) Clock Ready Interrupt Enable Position */
+#define MCLK_INTENCLR_CKRDY_Msk             (_U_(0x1) << MCLK_INTENCLR_CKRDY_Pos)          /**< (MCLK_INTENCLR) Clock Ready Interrupt Enable Mask */
+#define MCLK_INTENCLR_CKRDY                 MCLK_INTENCLR_CKRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_INTENCLR_CKRDY_Msk instead */
+#define MCLK_INTENCLR_MASK                  _U_(0x01)                                      /**< \deprecated (MCLK_INTENCLR) Register MASK  (Use MCLK_INTENCLR_Msk instead)  */
+#define MCLK_INTENCLR_Msk                   _U_(0x01)                                      /**< (MCLK_INTENCLR) Register Mask  */
+
+
+/* -------- MCLK_INTENSET : (MCLK Offset: 0x02) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CKRDY:1;                   /**< bit:      0  Clock Ready Interrupt Enable             */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} MCLK_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_INTENSET_OFFSET                (0x02)                                        /**<  (MCLK_INTENSET) Interrupt Enable Set  Offset */
+#define MCLK_INTENSET_RESETVALUE            _U_(0x00)                                     /**<  (MCLK_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define MCLK_INTENSET_CKRDY_Pos             0                                              /**< (MCLK_INTENSET) Clock Ready Interrupt Enable Position */
+#define MCLK_INTENSET_CKRDY_Msk             (_U_(0x1) << MCLK_INTENSET_CKRDY_Pos)          /**< (MCLK_INTENSET) Clock Ready Interrupt Enable Mask */
+#define MCLK_INTENSET_CKRDY                 MCLK_INTENSET_CKRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_INTENSET_CKRDY_Msk instead */
+#define MCLK_INTENSET_MASK                  _U_(0x01)                                      /**< \deprecated (MCLK_INTENSET) Register MASK  (Use MCLK_INTENSET_Msk instead)  */
+#define MCLK_INTENSET_Msk                   _U_(0x01)                                      /**< (MCLK_INTENSET) Register Mask  */
+
+
+/* -------- MCLK_INTFLAG : (MCLK Offset: 0x03) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t CKRDY:1;                   /**< bit:      0  Clock Ready                              */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} MCLK_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_INTFLAG_OFFSET                 (0x03)                                        /**<  (MCLK_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define MCLK_INTFLAG_RESETVALUE             _U_(0x01)                                     /**<  (MCLK_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define MCLK_INTFLAG_CKRDY_Pos              0                                              /**< (MCLK_INTFLAG) Clock Ready Position */
+#define MCLK_INTFLAG_CKRDY_Msk              (_U_(0x1) << MCLK_INTFLAG_CKRDY_Pos)           /**< (MCLK_INTFLAG) Clock Ready Mask */
+#define MCLK_INTFLAG_CKRDY                  MCLK_INTFLAG_CKRDY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_INTFLAG_CKRDY_Msk instead */
+#define MCLK_INTFLAG_MASK                   _U_(0x01)                                      /**< \deprecated (MCLK_INTFLAG) Register MASK  (Use MCLK_INTFLAG_Msk instead)  */
+#define MCLK_INTFLAG_Msk                    _U_(0x01)                                      /**< (MCLK_INTFLAG) Register Mask  */
+
+
+/* -------- MCLK_CPUDIV : (MCLK Offset: 0x04) (R/W 8) CPU Clock Division -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CPUDIV:8;                  /**< bit:   0..7  CPU Clock Division Factor                */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} MCLK_CPUDIV_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_CPUDIV_OFFSET                  (0x04)                                        /**<  (MCLK_CPUDIV) CPU Clock Division  Offset */
+#define MCLK_CPUDIV_RESETVALUE              _U_(0x01)                                     /**<  (MCLK_CPUDIV) CPU Clock Division  Reset Value */
+
+#define MCLK_CPUDIV_CPUDIV_Pos              0                                              /**< (MCLK_CPUDIV) CPU Clock Division Factor Position */
+#define MCLK_CPUDIV_CPUDIV_Msk              (_U_(0xFF) << MCLK_CPUDIV_CPUDIV_Pos)          /**< (MCLK_CPUDIV) CPU Clock Division Factor Mask */
+#define MCLK_CPUDIV_CPUDIV(value)           (MCLK_CPUDIV_CPUDIV_Msk & ((value) << MCLK_CPUDIV_CPUDIV_Pos))
+#define   MCLK_CPUDIV_CPUDIV_DIV1_Val       _U_(0x1)                                       /**< (MCLK_CPUDIV) Divide by 1  */
+#define   MCLK_CPUDIV_CPUDIV_DIV2_Val       _U_(0x2)                                       /**< (MCLK_CPUDIV) Divide by 2  */
+#define   MCLK_CPUDIV_CPUDIV_DIV4_Val       _U_(0x4)                                       /**< (MCLK_CPUDIV) Divide by 4  */
+#define   MCLK_CPUDIV_CPUDIV_DIV8_Val       _U_(0x8)                                       /**< (MCLK_CPUDIV) Divide by 8  */
+#define   MCLK_CPUDIV_CPUDIV_DIV16_Val      _U_(0x10)                                      /**< (MCLK_CPUDIV) Divide by 16  */
+#define   MCLK_CPUDIV_CPUDIV_DIV32_Val      _U_(0x20)                                      /**< (MCLK_CPUDIV) Divide by 32  */
+#define   MCLK_CPUDIV_CPUDIV_DIV64_Val      _U_(0x40)                                      /**< (MCLK_CPUDIV) Divide by 64  */
+#define   MCLK_CPUDIV_CPUDIV_DIV128_Val     _U_(0x80)                                      /**< (MCLK_CPUDIV) Divide by 128  */
+#define MCLK_CPUDIV_CPUDIV_DIV1             (MCLK_CPUDIV_CPUDIV_DIV1_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 1 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV2             (MCLK_CPUDIV_CPUDIV_DIV2_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 2 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV4             (MCLK_CPUDIV_CPUDIV_DIV4_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 4 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV8             (MCLK_CPUDIV_CPUDIV_DIV8_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 8 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV16            (MCLK_CPUDIV_CPUDIV_DIV16_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 16 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV32            (MCLK_CPUDIV_CPUDIV_DIV32_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 32 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV64            (MCLK_CPUDIV_CPUDIV_DIV64_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 64 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV128           (MCLK_CPUDIV_CPUDIV_DIV128_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 128 Position  */
+#define MCLK_CPUDIV_MASK                    _U_(0xFF)                                      /**< \deprecated (MCLK_CPUDIV) Register MASK  (Use MCLK_CPUDIV_Msk instead)  */
+#define MCLK_CPUDIV_Msk                     _U_(0xFF)                                      /**< (MCLK_CPUDIV) Register Mask  */
+
+
+/* -------- MCLK_AHBMASK : (MCLK Offset: 0x10) (R/W 32) AHB Mask -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t HPB0_:1;                   /**< bit:      0  HPB0 AHB Clock Mask                      */
+    uint32_t HPB1_:1;                   /**< bit:      1  HPB1 AHB Clock Mask                      */
+    uint32_t HPB2_:1;                   /**< bit:      2  HPB2 AHB Clock Mask                      */
+    uint32_t DMAC_:1;                   /**< bit:      3  DMAC AHB Clock Mask                      */
+    uint32_t DSU_:1;                    /**< bit:      4  DSU AHB Clock Mask                       */
+    uint32_t :1;                        /**< bit:      5  Reserved */
+    uint32_t PAC_:1;                    /**< bit:      6  PAC AHB Clock Mask                       */
+    uint32_t NVMCTRL_:1;                /**< bit:      7  NVMCTRL AHB Clock Mask                   */
+    uint32_t :4;                        /**< bit:  8..11  Reserved */
+    uint32_t TRAM_:1;                   /**< bit:     12  TRAM AHB Clock Mask                      */
+    uint32_t :19;                       /**< bit: 13..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} MCLK_AHBMASK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_AHBMASK_OFFSET                 (0x10)                                        /**<  (MCLK_AHBMASK) AHB Mask  Offset */
+#define MCLK_AHBMASK_RESETVALUE             _U_(0x1FFF)                                   /**<  (MCLK_AHBMASK) AHB Mask  Reset Value */
+
+#define MCLK_AHBMASK_HPB0_Pos               0                                              /**< (MCLK_AHBMASK) HPB0 AHB Clock Mask Position */
+#define MCLK_AHBMASK_HPB0_Msk               (_U_(0x1) << MCLK_AHBMASK_HPB0_Pos)            /**< (MCLK_AHBMASK) HPB0 AHB Clock Mask Mask */
+#define MCLK_AHBMASK_HPB0                   MCLK_AHBMASK_HPB0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_HPB0_Msk instead */
+#define MCLK_AHBMASK_HPB1_Pos               1                                              /**< (MCLK_AHBMASK) HPB1 AHB Clock Mask Position */
+#define MCLK_AHBMASK_HPB1_Msk               (_U_(0x1) << MCLK_AHBMASK_HPB1_Pos)            /**< (MCLK_AHBMASK) HPB1 AHB Clock Mask Mask */
+#define MCLK_AHBMASK_HPB1                   MCLK_AHBMASK_HPB1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_HPB1_Msk instead */
+#define MCLK_AHBMASK_HPB2_Pos               2                                              /**< (MCLK_AHBMASK) HPB2 AHB Clock Mask Position */
+#define MCLK_AHBMASK_HPB2_Msk               (_U_(0x1) << MCLK_AHBMASK_HPB2_Pos)            /**< (MCLK_AHBMASK) HPB2 AHB Clock Mask Mask */
+#define MCLK_AHBMASK_HPB2                   MCLK_AHBMASK_HPB2_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_HPB2_Msk instead */
+#define MCLK_AHBMASK_DMAC_Pos               3                                              /**< (MCLK_AHBMASK) DMAC AHB Clock Mask Position */
+#define MCLK_AHBMASK_DMAC_Msk               (_U_(0x1) << MCLK_AHBMASK_DMAC_Pos)            /**< (MCLK_AHBMASK) DMAC AHB Clock Mask Mask */
+#define MCLK_AHBMASK_DMAC                   MCLK_AHBMASK_DMAC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_DMAC_Msk instead */
+#define MCLK_AHBMASK_DSU_Pos                4                                              /**< (MCLK_AHBMASK) DSU AHB Clock Mask Position */
+#define MCLK_AHBMASK_DSU_Msk                (_U_(0x1) << MCLK_AHBMASK_DSU_Pos)             /**< (MCLK_AHBMASK) DSU AHB Clock Mask Mask */
+#define MCLK_AHBMASK_DSU                    MCLK_AHBMASK_DSU_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_DSU_Msk instead */
+#define MCLK_AHBMASK_PAC_Pos                6                                              /**< (MCLK_AHBMASK) PAC AHB Clock Mask Position */
+#define MCLK_AHBMASK_PAC_Msk                (_U_(0x1) << MCLK_AHBMASK_PAC_Pos)             /**< (MCLK_AHBMASK) PAC AHB Clock Mask Mask */
+#define MCLK_AHBMASK_PAC                    MCLK_AHBMASK_PAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_PAC_Msk instead */
+#define MCLK_AHBMASK_NVMCTRL_Pos            7                                              /**< (MCLK_AHBMASK) NVMCTRL AHB Clock Mask Position */
+#define MCLK_AHBMASK_NVMCTRL_Msk            (_U_(0x1) << MCLK_AHBMASK_NVMCTRL_Pos)         /**< (MCLK_AHBMASK) NVMCTRL AHB Clock Mask Mask */
+#define MCLK_AHBMASK_NVMCTRL                MCLK_AHBMASK_NVMCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_NVMCTRL_Msk instead */
+#define MCLK_AHBMASK_TRAM_Pos               12                                             /**< (MCLK_AHBMASK) TRAM AHB Clock Mask Position */
+#define MCLK_AHBMASK_TRAM_Msk               (_U_(0x1) << MCLK_AHBMASK_TRAM_Pos)            /**< (MCLK_AHBMASK) TRAM AHB Clock Mask Mask */
+#define MCLK_AHBMASK_TRAM                   MCLK_AHBMASK_TRAM_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_TRAM_Msk instead */
+#define MCLK_AHBMASK_MASK                   _U_(0x10DF)                                    /**< \deprecated (MCLK_AHBMASK) Register MASK  (Use MCLK_AHBMASK_Msk instead)  */
+#define MCLK_AHBMASK_Msk                    _U_(0x10DF)                                    /**< (MCLK_AHBMASK) Register Mask  */
+
+#define MCLK_AHBMASK_HPB_Pos                0                                              /**< (MCLK_AHBMASK Position) HPBx AHB Clock Mask */
+#define MCLK_AHBMASK_HPB_Msk                (_U_(0x7) << MCLK_AHBMASK_HPB_Pos)             /**< (MCLK_AHBMASK Mask) HPB */
+#define MCLK_AHBMASK_HPB(value)             (MCLK_AHBMASK_HPB_Msk & ((value) << MCLK_AHBMASK_HPB_Pos))  
+
+/* -------- MCLK_APBAMASK : (MCLK Offset: 0x14) (R/W 32) APBA Mask -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PAC_:1;                    /**< bit:      0  PAC APB Clock Enable                     */
+    uint32_t PM_:1;                     /**< bit:      1  PM APB Clock Enable                      */
+    uint32_t MCLK_:1;                   /**< bit:      2  MCLK APB Clock Enable                    */
+    uint32_t RSTC_:1;                   /**< bit:      3  RSTC APB Clock Enable                    */
+    uint32_t OSCCTRL_:1;                /**< bit:      4  OSCCTRL APB Clock Enable                 */
+    uint32_t OSC32KCTRL_:1;             /**< bit:      5  OSC32KCTRL APB Clock Enable              */
+    uint32_t SUPC_:1;                   /**< bit:      6  SUPC APB Clock Enable                    */
+    uint32_t GCLK_:1;                   /**< bit:      7  GCLK APB Clock Enable                    */
+    uint32_t WDT_:1;                    /**< bit:      8  WDT APB Clock Enable                     */
+    uint32_t RTC_:1;                    /**< bit:      9  RTC APB Clock Enable                     */
+    uint32_t EIC_:1;                    /**< bit:     10  EIC APB Clock Enable                     */
+    uint32_t FREQM_:1;                  /**< bit:     11  FREQM APB Clock Enable                   */
+    uint32_t PORT_:1;                   /**< bit:     12  PORT APB Clock Enable                    */
+    uint32_t AC_:1;                     /**< bit:     13  AC APB Clock Enable                      */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} MCLK_APBAMASK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_APBAMASK_OFFSET                (0x14)                                        /**<  (MCLK_APBAMASK) APBA Mask  Offset */
+#define MCLK_APBAMASK_RESETVALUE            _U_(0x7FFF)                                   /**<  (MCLK_APBAMASK) APBA Mask  Reset Value */
+
+#define MCLK_APBAMASK_PAC_Pos               0                                              /**< (MCLK_APBAMASK) PAC APB Clock Enable Position */
+#define MCLK_APBAMASK_PAC_Msk               (_U_(0x1) << MCLK_APBAMASK_PAC_Pos)            /**< (MCLK_APBAMASK) PAC APB Clock Enable Mask */
+#define MCLK_APBAMASK_PAC                   MCLK_APBAMASK_PAC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_PAC_Msk instead */
+#define MCLK_APBAMASK_PM_Pos                1                                              /**< (MCLK_APBAMASK) PM APB Clock Enable Position */
+#define MCLK_APBAMASK_PM_Msk                (_U_(0x1) << MCLK_APBAMASK_PM_Pos)             /**< (MCLK_APBAMASK) PM APB Clock Enable Mask */
+#define MCLK_APBAMASK_PM                    MCLK_APBAMASK_PM_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_PM_Msk instead */
+#define MCLK_APBAMASK_MCLK_Pos              2                                              /**< (MCLK_APBAMASK) MCLK APB Clock Enable Position */
+#define MCLK_APBAMASK_MCLK_Msk              (_U_(0x1) << MCLK_APBAMASK_MCLK_Pos)           /**< (MCLK_APBAMASK) MCLK APB Clock Enable Mask */
+#define MCLK_APBAMASK_MCLK                  MCLK_APBAMASK_MCLK_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_MCLK_Msk instead */
+#define MCLK_APBAMASK_RSTC_Pos              3                                              /**< (MCLK_APBAMASK) RSTC APB Clock Enable Position */
+#define MCLK_APBAMASK_RSTC_Msk              (_U_(0x1) << MCLK_APBAMASK_RSTC_Pos)           /**< (MCLK_APBAMASK) RSTC APB Clock Enable Mask */
+#define MCLK_APBAMASK_RSTC                  MCLK_APBAMASK_RSTC_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_RSTC_Msk instead */
+#define MCLK_APBAMASK_OSCCTRL_Pos           4                                              /**< (MCLK_APBAMASK) OSCCTRL APB Clock Enable Position */
+#define MCLK_APBAMASK_OSCCTRL_Msk           (_U_(0x1) << MCLK_APBAMASK_OSCCTRL_Pos)        /**< (MCLK_APBAMASK) OSCCTRL APB Clock Enable Mask */
+#define MCLK_APBAMASK_OSCCTRL               MCLK_APBAMASK_OSCCTRL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_OSCCTRL_Msk instead */
+#define MCLK_APBAMASK_OSC32KCTRL_Pos        5                                              /**< (MCLK_APBAMASK) OSC32KCTRL APB Clock Enable Position */
+#define MCLK_APBAMASK_OSC32KCTRL_Msk        (_U_(0x1) << MCLK_APBAMASK_OSC32KCTRL_Pos)     /**< (MCLK_APBAMASK) OSC32KCTRL APB Clock Enable Mask */
+#define MCLK_APBAMASK_OSC32KCTRL            MCLK_APBAMASK_OSC32KCTRL_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_OSC32KCTRL_Msk instead */
+#define MCLK_APBAMASK_SUPC_Pos              6                                              /**< (MCLK_APBAMASK) SUPC APB Clock Enable Position */
+#define MCLK_APBAMASK_SUPC_Msk              (_U_(0x1) << MCLK_APBAMASK_SUPC_Pos)           /**< (MCLK_APBAMASK) SUPC APB Clock Enable Mask */
+#define MCLK_APBAMASK_SUPC                  MCLK_APBAMASK_SUPC_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_SUPC_Msk instead */
+#define MCLK_APBAMASK_GCLK_Pos              7                                              /**< (MCLK_APBAMASK) GCLK APB Clock Enable Position */
+#define MCLK_APBAMASK_GCLK_Msk              (_U_(0x1) << MCLK_APBAMASK_GCLK_Pos)           /**< (MCLK_APBAMASK) GCLK APB Clock Enable Mask */
+#define MCLK_APBAMASK_GCLK                  MCLK_APBAMASK_GCLK_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_GCLK_Msk instead */
+#define MCLK_APBAMASK_WDT_Pos               8                                              /**< (MCLK_APBAMASK) WDT APB Clock Enable Position */
+#define MCLK_APBAMASK_WDT_Msk               (_U_(0x1) << MCLK_APBAMASK_WDT_Pos)            /**< (MCLK_APBAMASK) WDT APB Clock Enable Mask */
+#define MCLK_APBAMASK_WDT                   MCLK_APBAMASK_WDT_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_WDT_Msk instead */
+#define MCLK_APBAMASK_RTC_Pos               9                                              /**< (MCLK_APBAMASK) RTC APB Clock Enable Position */
+#define MCLK_APBAMASK_RTC_Msk               (_U_(0x1) << MCLK_APBAMASK_RTC_Pos)            /**< (MCLK_APBAMASK) RTC APB Clock Enable Mask */
+#define MCLK_APBAMASK_RTC                   MCLK_APBAMASK_RTC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_RTC_Msk instead */
+#define MCLK_APBAMASK_EIC_Pos               10                                             /**< (MCLK_APBAMASK) EIC APB Clock Enable Position */
+#define MCLK_APBAMASK_EIC_Msk               (_U_(0x1) << MCLK_APBAMASK_EIC_Pos)            /**< (MCLK_APBAMASK) EIC APB Clock Enable Mask */
+#define MCLK_APBAMASK_EIC                   MCLK_APBAMASK_EIC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_EIC_Msk instead */
+#define MCLK_APBAMASK_FREQM_Pos             11                                             /**< (MCLK_APBAMASK) FREQM APB Clock Enable Position */
+#define MCLK_APBAMASK_FREQM_Msk             (_U_(0x1) << MCLK_APBAMASK_FREQM_Pos)          /**< (MCLK_APBAMASK) FREQM APB Clock Enable Mask */
+#define MCLK_APBAMASK_FREQM                 MCLK_APBAMASK_FREQM_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_FREQM_Msk instead */
+#define MCLK_APBAMASK_PORT_Pos              12                                             /**< (MCLK_APBAMASK) PORT APB Clock Enable Position */
+#define MCLK_APBAMASK_PORT_Msk              (_U_(0x1) << MCLK_APBAMASK_PORT_Pos)           /**< (MCLK_APBAMASK) PORT APB Clock Enable Mask */
+#define MCLK_APBAMASK_PORT                  MCLK_APBAMASK_PORT_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_PORT_Msk instead */
+#define MCLK_APBAMASK_AC_Pos                13                                             /**< (MCLK_APBAMASK) AC APB Clock Enable Position */
+#define MCLK_APBAMASK_AC_Msk                (_U_(0x1) << MCLK_APBAMASK_AC_Pos)             /**< (MCLK_APBAMASK) AC APB Clock Enable Mask */
+#define MCLK_APBAMASK_AC                    MCLK_APBAMASK_AC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_AC_Msk instead */
+#define MCLK_APBAMASK_MASK                  _U_(0x3FFF)                                    /**< \deprecated (MCLK_APBAMASK) Register MASK  (Use MCLK_APBAMASK_Msk instead)  */
+#define MCLK_APBAMASK_Msk                   _U_(0x3FFF)                                    /**< (MCLK_APBAMASK) Register Mask  */
+
+
+/* -------- MCLK_APBBMASK : (MCLK Offset: 0x18) (R/W 32) APBB Mask -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IDAU_:1;                   /**< bit:      0  IDAU APB Clock Enable                    */
+    uint32_t DSU_:1;                    /**< bit:      1  DSU APB Clock Enable                     */
+    uint32_t NVMCTRL_:1;                /**< bit:      2  NVMCTRL APB Clock Enable                 */
+    uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} MCLK_APBBMASK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_APBBMASK_OFFSET                (0x18)                                        /**<  (MCLK_APBBMASK) APBB Mask  Offset */
+#define MCLK_APBBMASK_RESETVALUE            _U_(0x17)                                     /**<  (MCLK_APBBMASK) APBB Mask  Reset Value */
+
+#define MCLK_APBBMASK_IDAU_Pos              0                                              /**< (MCLK_APBBMASK) IDAU APB Clock Enable Position */
+#define MCLK_APBBMASK_IDAU_Msk              (_U_(0x1) << MCLK_APBBMASK_IDAU_Pos)           /**< (MCLK_APBBMASK) IDAU APB Clock Enable Mask */
+#define MCLK_APBBMASK_IDAU                  MCLK_APBBMASK_IDAU_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBBMASK_IDAU_Msk instead */
+#define MCLK_APBBMASK_DSU_Pos               1                                              /**< (MCLK_APBBMASK) DSU APB Clock Enable Position */
+#define MCLK_APBBMASK_DSU_Msk               (_U_(0x1) << MCLK_APBBMASK_DSU_Pos)            /**< (MCLK_APBBMASK) DSU APB Clock Enable Mask */
+#define MCLK_APBBMASK_DSU                   MCLK_APBBMASK_DSU_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBBMASK_DSU_Msk instead */
+#define MCLK_APBBMASK_NVMCTRL_Pos           2                                              /**< (MCLK_APBBMASK) NVMCTRL APB Clock Enable Position */
+#define MCLK_APBBMASK_NVMCTRL_Msk           (_U_(0x1) << MCLK_APBBMASK_NVMCTRL_Pos)        /**< (MCLK_APBBMASK) NVMCTRL APB Clock Enable Mask */
+#define MCLK_APBBMASK_NVMCTRL               MCLK_APBBMASK_NVMCTRL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBBMASK_NVMCTRL_Msk instead */
+#define MCLK_APBBMASK_MASK                  _U_(0x07)                                      /**< \deprecated (MCLK_APBBMASK) Register MASK  (Use MCLK_APBBMASK_Msk instead)  */
+#define MCLK_APBBMASK_Msk                   _U_(0x07)                                      /**< (MCLK_APBBMASK) Register Mask  */
+
+
+/* -------- MCLK_APBCMASK : (MCLK Offset: 0x1c) (R/W 32) APBC Mask -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVSYS_:1;                  /**< bit:      0  EVSYS APB Clock Enable                   */
+    uint32_t SERCOM0_:1;                /**< bit:      1  SERCOM0 APB Clock Enable                 */
+    uint32_t SERCOM1_:1;                /**< bit:      2  SERCOM1 APB Clock Enable                 */
+    uint32_t SERCOM2_:1;                /**< bit:      3  SERCOM2 APB Clock Enable                 */
+    uint32_t TC0_:1;                    /**< bit:      4  TC0 APB Clock Enable                     */
+    uint32_t TC1_:1;                    /**< bit:      5  TC1 APB Clock Enable                     */
+    uint32_t TC2_:1;                    /**< bit:      6  TC2 APB Clock Enable                     */
+    uint32_t ADC_:1;                    /**< bit:      7  ADC APB Clock Enable                     */
+    uint32_t DAC_:1;                    /**< bit:      8  DAC APB Clock Enable                     */
+    uint32_t PTC_:1;                    /**< bit:      9  PTC APB Clock Enable                     */
+    uint32_t TRNG_:1;                   /**< bit:     10  TRNG APB Clock Enable                    */
+    uint32_t CCL_:1;                    /**< bit:     11  CCL APB Clock Enable                     */
+    uint32_t OPAMP_:1;                  /**< bit:     12  OPAMP APB Clock Enable                   */
+    uint32_t :19;                       /**< bit: 13..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} MCLK_APBCMASK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_APBCMASK_OFFSET                (0x1C)                                        /**<  (MCLK_APBCMASK) APBC Mask  Offset */
+#define MCLK_APBCMASK_RESETVALUE            _U_(0x1FFF)                                   /**<  (MCLK_APBCMASK) APBC Mask  Reset Value */
+
+#define MCLK_APBCMASK_EVSYS_Pos             0                                              /**< (MCLK_APBCMASK) EVSYS APB Clock Enable Position */
+#define MCLK_APBCMASK_EVSYS_Msk             (_U_(0x1) << MCLK_APBCMASK_EVSYS_Pos)          /**< (MCLK_APBCMASK) EVSYS APB Clock Enable Mask */
+#define MCLK_APBCMASK_EVSYS                 MCLK_APBCMASK_EVSYS_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_EVSYS_Msk instead */
+#define MCLK_APBCMASK_SERCOM0_Pos           1                                              /**< (MCLK_APBCMASK) SERCOM0 APB Clock Enable Position */
+#define MCLK_APBCMASK_SERCOM0_Msk           (_U_(0x1) << MCLK_APBCMASK_SERCOM0_Pos)        /**< (MCLK_APBCMASK) SERCOM0 APB Clock Enable Mask */
+#define MCLK_APBCMASK_SERCOM0               MCLK_APBCMASK_SERCOM0_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_SERCOM0_Msk instead */
+#define MCLK_APBCMASK_SERCOM1_Pos           2                                              /**< (MCLK_APBCMASK) SERCOM1 APB Clock Enable Position */
+#define MCLK_APBCMASK_SERCOM1_Msk           (_U_(0x1) << MCLK_APBCMASK_SERCOM1_Pos)        /**< (MCLK_APBCMASK) SERCOM1 APB Clock Enable Mask */
+#define MCLK_APBCMASK_SERCOM1               MCLK_APBCMASK_SERCOM1_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_SERCOM1_Msk instead */
+#define MCLK_APBCMASK_SERCOM2_Pos           3                                              /**< (MCLK_APBCMASK) SERCOM2 APB Clock Enable Position */
+#define MCLK_APBCMASK_SERCOM2_Msk           (_U_(0x1) << MCLK_APBCMASK_SERCOM2_Pos)        /**< (MCLK_APBCMASK) SERCOM2 APB Clock Enable Mask */
+#define MCLK_APBCMASK_SERCOM2               MCLK_APBCMASK_SERCOM2_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_SERCOM2_Msk instead */
+#define MCLK_APBCMASK_TC0_Pos               4                                              /**< (MCLK_APBCMASK) TC0 APB Clock Enable Position */
+#define MCLK_APBCMASK_TC0_Msk               (_U_(0x1) << MCLK_APBCMASK_TC0_Pos)            /**< (MCLK_APBCMASK) TC0 APB Clock Enable Mask */
+#define MCLK_APBCMASK_TC0                   MCLK_APBCMASK_TC0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_TC0_Msk instead */
+#define MCLK_APBCMASK_TC1_Pos               5                                              /**< (MCLK_APBCMASK) TC1 APB Clock Enable Position */
+#define MCLK_APBCMASK_TC1_Msk               (_U_(0x1) << MCLK_APBCMASK_TC1_Pos)            /**< (MCLK_APBCMASK) TC1 APB Clock Enable Mask */
+#define MCLK_APBCMASK_TC1                   MCLK_APBCMASK_TC1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_TC1_Msk instead */
+#define MCLK_APBCMASK_TC2_Pos               6                                              /**< (MCLK_APBCMASK) TC2 APB Clock Enable Position */
+#define MCLK_APBCMASK_TC2_Msk               (_U_(0x1) << MCLK_APBCMASK_TC2_Pos)            /**< (MCLK_APBCMASK) TC2 APB Clock Enable Mask */
+#define MCLK_APBCMASK_TC2                   MCLK_APBCMASK_TC2_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_TC2_Msk instead */
+#define MCLK_APBCMASK_ADC_Pos               7                                              /**< (MCLK_APBCMASK) ADC APB Clock Enable Position */
+#define MCLK_APBCMASK_ADC_Msk               (_U_(0x1) << MCLK_APBCMASK_ADC_Pos)            /**< (MCLK_APBCMASK) ADC APB Clock Enable Mask */
+#define MCLK_APBCMASK_ADC                   MCLK_APBCMASK_ADC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_ADC_Msk instead */
+#define MCLK_APBCMASK_DAC_Pos               8                                              /**< (MCLK_APBCMASK) DAC APB Clock Enable Position */
+#define MCLK_APBCMASK_DAC_Msk               (_U_(0x1) << MCLK_APBCMASK_DAC_Pos)            /**< (MCLK_APBCMASK) DAC APB Clock Enable Mask */
+#define MCLK_APBCMASK_DAC                   MCLK_APBCMASK_DAC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_DAC_Msk instead */
+#define MCLK_APBCMASK_PTC_Pos               9                                              /**< (MCLK_APBCMASK) PTC APB Clock Enable Position */
+#define MCLK_APBCMASK_PTC_Msk               (_U_(0x1) << MCLK_APBCMASK_PTC_Pos)            /**< (MCLK_APBCMASK) PTC APB Clock Enable Mask */
+#define MCLK_APBCMASK_PTC                   MCLK_APBCMASK_PTC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_PTC_Msk instead */
+#define MCLK_APBCMASK_TRNG_Pos              10                                             /**< (MCLK_APBCMASK) TRNG APB Clock Enable Position */
+#define MCLK_APBCMASK_TRNG_Msk              (_U_(0x1) << MCLK_APBCMASK_TRNG_Pos)           /**< (MCLK_APBCMASK) TRNG APB Clock Enable Mask */
+#define MCLK_APBCMASK_TRNG                  MCLK_APBCMASK_TRNG_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_TRNG_Msk instead */
+#define MCLK_APBCMASK_CCL_Pos               11                                             /**< (MCLK_APBCMASK) CCL APB Clock Enable Position */
+#define MCLK_APBCMASK_CCL_Msk               (_U_(0x1) << MCLK_APBCMASK_CCL_Pos)            /**< (MCLK_APBCMASK) CCL APB Clock Enable Mask */
+#define MCLK_APBCMASK_CCL                   MCLK_APBCMASK_CCL_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_CCL_Msk instead */
+#define MCLK_APBCMASK_OPAMP_Pos             12                                             /**< (MCLK_APBCMASK) OPAMP APB Clock Enable Position */
+#define MCLK_APBCMASK_OPAMP_Msk             (_U_(0x1) << MCLK_APBCMASK_OPAMP_Pos)          /**< (MCLK_APBCMASK) OPAMP APB Clock Enable Mask */
+#define MCLK_APBCMASK_OPAMP                 MCLK_APBCMASK_OPAMP_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_OPAMP_Msk instead */
+#define MCLK_APBCMASK_MASK                  _U_(0x1FFF)                                    /**< \deprecated (MCLK_APBCMASK) Register MASK  (Use MCLK_APBCMASK_Msk instead)  */
+#define MCLK_APBCMASK_Msk                   _U_(0x1FFF)                                    /**< (MCLK_APBCMASK) Register Mask  */
+
+#define MCLK_APBCMASK_SERCOM_Pos            1                                              /**< (MCLK_APBCMASK Position) SERCOMx APB Clock Enable */
+#define MCLK_APBCMASK_SERCOM_Msk            (_U_(0x7) << MCLK_APBCMASK_SERCOM_Pos)         /**< (MCLK_APBCMASK Mask) SERCOM */
+#define MCLK_APBCMASK_SERCOM(value)         (MCLK_APBCMASK_SERCOM_Msk & ((value) << MCLK_APBCMASK_SERCOM_Pos))  
+#define MCLK_APBCMASK_TC_Pos                4                                              /**< (MCLK_APBCMASK Position) TCx APB Clock Enable */
+#define MCLK_APBCMASK_TC_Msk                (_U_(0x7) << MCLK_APBCMASK_TC_Pos)             /**< (MCLK_APBCMASK Mask) TC */
+#define MCLK_APBCMASK_TC(value)             (MCLK_APBCMASK_TC_Msk & ((value) << MCLK_APBCMASK_TC_Pos))  
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief MCLK hardware registers */
+typedef struct {  /* Main Clock */
+  __IO MCLK_CTRLA_Type                CTRLA;          /**< Offset: 0x00 (R/W   8) Control */
+  __IO MCLK_INTENCLR_Type             INTENCLR;       /**< Offset: 0x01 (R/W   8) Interrupt Enable Clear */
+  __IO MCLK_INTENSET_Type             INTENSET;       /**< Offset: 0x02 (R/W   8) Interrupt Enable Set */
+  __IO MCLK_INTFLAG_Type              INTFLAG;        /**< Offset: 0x03 (R/W   8) Interrupt Flag Status and Clear */
+  __IO MCLK_CPUDIV_Type               CPUDIV;         /**< Offset: 0x04 (R/W   8) CPU Clock Division */
+  __I  uint8_t                        Reserved1[11];
+  __IO MCLK_AHBMASK_Type              AHBMASK;        /**< Offset: 0x10 (R/W  32) AHB Mask */
+  __IO MCLK_APBAMASK_Type             APBAMASK;       /**< Offset: 0x14 (R/W  32) APBA Mask */
+  __IO MCLK_APBBMASK_Type             APBBMASK;       /**< Offset: 0x18 (R/W  32) APBB Mask */
+  __IO MCLK_APBCMASK_Type             APBCMASK;       /**< Offset: 0x1C (R/W  32) APBC Mask */
+} Mclk;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Main Clock */
+
+#endif /* _SAML10_MCLK_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/nvmctrl.h b/cpu/sam0_common/include/vendor/saml10/include/component/nvmctrl.h
new file mode 100644
index 0000000000..4c1f4ae268
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/nvmctrl.h
@@ -0,0 +1,1051 @@
+/**
+ * \file
+ *
+ * \brief Component description for NVMCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_NVMCTRL_COMPONENT_H_
+#define _SAML10_NVMCTRL_COMPONENT_H_
+#define _SAML10_NVMCTRL_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Non-Volatile Memory Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR NVMCTRL */
+/* ========================================================================== */
+
+#define NVMCTRL_U2802                      /**< (NVMCTRL) Module ID */
+#define REV_NVMCTRL 0x100                  /**< (NVMCTRL) Module revision */
+
+/* -------- NVMCTRL_CTRLA : (NVMCTRL Offset: 0x00) (/W 16) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t CMD:7;                     /**< bit:   0..6  Command                                  */
+    uint16_t :1;                        /**< bit:      7  Reserved */
+    uint16_t CMDEX:8;                   /**< bit:  8..15  Command Execution                        */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} NVMCTRL_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_CTRLA_OFFSET                (0x00)                                        /**<  (NVMCTRL_CTRLA) Control A  Offset */
+#define NVMCTRL_CTRLA_RESETVALUE            _U_(0x00)                                     /**<  (NVMCTRL_CTRLA) Control A  Reset Value */
+
+#define NVMCTRL_CTRLA_CMD_Pos               0                                              /**< (NVMCTRL_CTRLA) Command Position */
+#define NVMCTRL_CTRLA_CMD_Msk               (_U_(0x7F) << NVMCTRL_CTRLA_CMD_Pos)           /**< (NVMCTRL_CTRLA) Command Mask */
+#define NVMCTRL_CTRLA_CMD(value)            (NVMCTRL_CTRLA_CMD_Msk & ((value) << NVMCTRL_CTRLA_CMD_Pos))
+#define   NVMCTRL_CTRLA_CMD_ER_Val          _U_(0x2)                                       /**< (NVMCTRL_CTRLA) Erase Row - Erases the row addressed by the ADDR register.  */
+#define   NVMCTRL_CTRLA_CMD_WP_Val          _U_(0x4)                                       /**< (NVMCTRL_CTRLA) Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register.  */
+#define   NVMCTRL_CTRLA_CMD_SPRM_Val        _U_(0x42)                                      /**< (NVMCTRL_CTRLA) Sets the power reduction mode.  */
+#define   NVMCTRL_CTRLA_CMD_CPRM_Val        _U_(0x43)                                      /**< (NVMCTRL_CTRLA) Clears the power reduction mode.  */
+#define   NVMCTRL_CTRLA_CMD_PBC_Val         _U_(0x44)                                      /**< (NVMCTRL_CTRLA) Page Buffer Clear - Clears the page buffer.  */
+#define   NVMCTRL_CTRLA_CMD_INVALL_Val      _U_(0x46)                                      /**< (NVMCTRL_CTRLA) Invalidate all cache lines.  */
+#define   NVMCTRL_CTRLA_CMD_SDAL0_Val       _U_(0x4B)                                      /**< (NVMCTRL_CTRLA) Set DAL=0  */
+#define   NVMCTRL_CTRLA_CMD_SDAL1_Val       _U_(0x4C)                                      /**< (NVMCTRL_CTRLA) Set DAL=1  */
+#define NVMCTRL_CTRLA_CMD_ER                (NVMCTRL_CTRLA_CMD_ER_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Erase Row - Erases the row addressed by the ADDR register. Position  */
+#define NVMCTRL_CTRLA_CMD_WP                (NVMCTRL_CTRLA_CMD_WP_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register. Position  */
+#define NVMCTRL_CTRLA_CMD_SPRM              (NVMCTRL_CTRLA_CMD_SPRM_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Sets the power reduction mode. Position  */
+#define NVMCTRL_CTRLA_CMD_CPRM              (NVMCTRL_CTRLA_CMD_CPRM_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Clears the power reduction mode. Position  */
+#define NVMCTRL_CTRLA_CMD_PBC               (NVMCTRL_CTRLA_CMD_PBC_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Page Buffer Clear - Clears the page buffer. Position  */
+#define NVMCTRL_CTRLA_CMD_INVALL            (NVMCTRL_CTRLA_CMD_INVALL_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Invalidate all cache lines. Position  */
+#define NVMCTRL_CTRLA_CMD_SDAL0             (NVMCTRL_CTRLA_CMD_SDAL0_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Set DAL=0 Position  */
+#define NVMCTRL_CTRLA_CMD_SDAL1             (NVMCTRL_CTRLA_CMD_SDAL1_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Set DAL=1 Position  */
+#define NVMCTRL_CTRLA_CMDEX_Pos             8                                              /**< (NVMCTRL_CTRLA) Command Execution Position */
+#define NVMCTRL_CTRLA_CMDEX_Msk             (_U_(0xFF) << NVMCTRL_CTRLA_CMDEX_Pos)         /**< (NVMCTRL_CTRLA) Command Execution Mask */
+#define NVMCTRL_CTRLA_CMDEX(value)          (NVMCTRL_CTRLA_CMDEX_Msk & ((value) << NVMCTRL_CTRLA_CMDEX_Pos))
+#define   NVMCTRL_CTRLA_CMDEX_KEY_Val       _U_(0xA5)                                      /**< (NVMCTRL_CTRLA) Execution Key  */
+#define NVMCTRL_CTRLA_CMDEX_KEY             (NVMCTRL_CTRLA_CMDEX_KEY_Val << NVMCTRL_CTRLA_CMDEX_Pos)  /**< (NVMCTRL_CTRLA) Execution Key Position  */
+#define NVMCTRL_CTRLA_MASK                  _U_(0xFF7F)                                    /**< \deprecated (NVMCTRL_CTRLA) Register MASK  (Use NVMCTRL_CTRLA_Msk instead)  */
+#define NVMCTRL_CTRLA_Msk                   _U_(0xFF7F)                                    /**< (NVMCTRL_CTRLA) Register Mask  */
+
+
+/* -------- NVMCTRL_CTRLB : (NVMCTRL Offset: 0x04) (R/W 32) Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t RWS:4;                     /**< bit:   1..4  NVM Read Wait States                     */
+    uint32_t :3;                        /**< bit:   5..7  Reserved */
+    uint32_t SLEEPPRM:2;                /**< bit:   8..9  Power Reduction Mode during Sleep        */
+    uint32_t :1;                        /**< bit:     10  Reserved */
+    uint32_t FWUP:1;                    /**< bit:     11  fast wake-up                             */
+    uint32_t :4;                        /**< bit: 12..15  Reserved */
+    uint32_t READMODE:2;                /**< bit: 16..17  NVMCTRL Read Mode                        */
+    uint32_t CACHEDIS:1;                /**< bit:     18  Cache Disable                            */
+    uint32_t QWEN:1;                    /**< bit:     19  Quick Write Enable                       */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_CTRLB_OFFSET                (0x04)                                        /**<  (NVMCTRL_CTRLB) Control B  Offset */
+#define NVMCTRL_CTRLB_RESETVALUE            _U_(0x00)                                     /**<  (NVMCTRL_CTRLB) Control B  Reset Value */
+
+#define NVMCTRL_CTRLB_RWS_Pos               1                                              /**< (NVMCTRL_CTRLB) NVM Read Wait States Position */
+#define NVMCTRL_CTRLB_RWS_Msk               (_U_(0xF) << NVMCTRL_CTRLB_RWS_Pos)            /**< (NVMCTRL_CTRLB) NVM Read Wait States Mask */
+#define NVMCTRL_CTRLB_RWS(value)            (NVMCTRL_CTRLB_RWS_Msk & ((value) << NVMCTRL_CTRLB_RWS_Pos))
+#define NVMCTRL_CTRLB_SLEEPPRM_Pos          8                                              /**< (NVMCTRL_CTRLB) Power Reduction Mode during Sleep Position */
+#define NVMCTRL_CTRLB_SLEEPPRM_Msk          (_U_(0x3) << NVMCTRL_CTRLB_SLEEPPRM_Pos)       /**< (NVMCTRL_CTRLB) Power Reduction Mode during Sleep Mask */
+#define NVMCTRL_CTRLB_SLEEPPRM(value)       (NVMCTRL_CTRLB_SLEEPPRM_Msk & ((value) << NVMCTRL_CTRLB_SLEEPPRM_Pos))
+#define   NVMCTRL_CTRLB_SLEEPPRM_WAKEONACCESS_Val _U_(0x0)                                       /**< (NVMCTRL_CTRLB) NVM block enters low-power mode when entering sleep.NVM block exits low-power mode upon first access.  */
+#define   NVMCTRL_CTRLB_SLEEPPRM_WAKEUPINSTANT_Val _U_(0x1)                                       /**< (NVMCTRL_CTRLB) NVM block enters low-power mode when entering sleep.NVM block exits low-power mode when exiting sleep.  */
+#define   NVMCTRL_CTRLB_SLEEPPRM_DISABLED_Val _U_(0x3)                                       /**< (NVMCTRL_CTRLB) Auto power reduction disabled.  */
+#define NVMCTRL_CTRLB_SLEEPPRM_WAKEONACCESS (NVMCTRL_CTRLB_SLEEPPRM_WAKEONACCESS_Val << NVMCTRL_CTRLB_SLEEPPRM_Pos)  /**< (NVMCTRL_CTRLB) NVM block enters low-power mode when entering sleep.NVM block exits low-power mode upon first access. Position  */
+#define NVMCTRL_CTRLB_SLEEPPRM_WAKEUPINSTANT (NVMCTRL_CTRLB_SLEEPPRM_WAKEUPINSTANT_Val << NVMCTRL_CTRLB_SLEEPPRM_Pos)  /**< (NVMCTRL_CTRLB) NVM block enters low-power mode when entering sleep.NVM block exits low-power mode when exiting sleep. Position  */
+#define NVMCTRL_CTRLB_SLEEPPRM_DISABLED     (NVMCTRL_CTRLB_SLEEPPRM_DISABLED_Val << NVMCTRL_CTRLB_SLEEPPRM_Pos)  /**< (NVMCTRL_CTRLB) Auto power reduction disabled. Position  */
+#define NVMCTRL_CTRLB_FWUP_Pos              11                                             /**< (NVMCTRL_CTRLB) fast wake-up Position */
+#define NVMCTRL_CTRLB_FWUP_Msk              (_U_(0x1) << NVMCTRL_CTRLB_FWUP_Pos)           /**< (NVMCTRL_CTRLB) fast wake-up Mask */
+#define NVMCTRL_CTRLB_FWUP                  NVMCTRL_CTRLB_FWUP_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_CTRLB_FWUP_Msk instead */
+#define NVMCTRL_CTRLB_READMODE_Pos          16                                             /**< (NVMCTRL_CTRLB) NVMCTRL Read Mode Position */
+#define NVMCTRL_CTRLB_READMODE_Msk          (_U_(0x3) << NVMCTRL_CTRLB_READMODE_Pos)       /**< (NVMCTRL_CTRLB) NVMCTRL Read Mode Mask */
+#define NVMCTRL_CTRLB_READMODE(value)       (NVMCTRL_CTRLB_READMODE_Msk & ((value) << NVMCTRL_CTRLB_READMODE_Pos))
+#define   NVMCTRL_CTRLB_READMODE_NO_MISS_PENALTY_Val _U_(0x0)                                       /**< (NVMCTRL_CTRLB) The NVM Controller (cache system) does not insert wait states on a cache miss. Gives the best system performance.  */
+#define   NVMCTRL_CTRLB_READMODE_LOW_POWER_Val _U_(0x1)                                       /**< (NVMCTRL_CTRLB) Reduces power consumption of the cache system, but inserts a wait state each time there is a cache miss. This mode may not be relevant if CPU performance is required, as the application will be stalled and may lead to increase run time.  */
+#define   NVMCTRL_CTRLB_READMODE_DETERMINISTIC_Val _U_(0x2)                                       /**< (NVMCTRL_CTRLB) The cache system ensures that a cache hit or miss takes the same amount of time, determined by the number of programmed flash wait states. This mode can be used for real-time applications that require deterministic execution timings.  */
+#define NVMCTRL_CTRLB_READMODE_NO_MISS_PENALTY (NVMCTRL_CTRLB_READMODE_NO_MISS_PENALTY_Val << NVMCTRL_CTRLB_READMODE_Pos)  /**< (NVMCTRL_CTRLB) The NVM Controller (cache system) does not insert wait states on a cache miss. Gives the best system performance. Position  */
+#define NVMCTRL_CTRLB_READMODE_LOW_POWER    (NVMCTRL_CTRLB_READMODE_LOW_POWER_Val << NVMCTRL_CTRLB_READMODE_Pos)  /**< (NVMCTRL_CTRLB) Reduces power consumption of the cache system, but inserts a wait state each time there is a cache miss. This mode may not be relevant if CPU performance is required, as the application will be stalled and may lead to increase run time. Position  */
+#define NVMCTRL_CTRLB_READMODE_DETERMINISTIC (NVMCTRL_CTRLB_READMODE_DETERMINISTIC_Val << NVMCTRL_CTRLB_READMODE_Pos)  /**< (NVMCTRL_CTRLB) The cache system ensures that a cache hit or miss takes the same amount of time, determined by the number of programmed flash wait states. This mode can be used for real-time applications that require deterministic execution timings. Position  */
+#define NVMCTRL_CTRLB_CACHEDIS_Pos          18                                             /**< (NVMCTRL_CTRLB) Cache Disable Position */
+#define NVMCTRL_CTRLB_CACHEDIS_Msk          (_U_(0x1) << NVMCTRL_CTRLB_CACHEDIS_Pos)       /**< (NVMCTRL_CTRLB) Cache Disable Mask */
+#define NVMCTRL_CTRLB_CACHEDIS              NVMCTRL_CTRLB_CACHEDIS_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_CTRLB_CACHEDIS_Msk instead */
+#define NVMCTRL_CTRLB_QWEN_Pos              19                                             /**< (NVMCTRL_CTRLB) Quick Write Enable Position */
+#define NVMCTRL_CTRLB_QWEN_Msk              (_U_(0x1) << NVMCTRL_CTRLB_QWEN_Pos)           /**< (NVMCTRL_CTRLB) Quick Write Enable Mask */
+#define NVMCTRL_CTRLB_QWEN                  NVMCTRL_CTRLB_QWEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_CTRLB_QWEN_Msk instead */
+#define NVMCTRL_CTRLB_MASK                  _U_(0xF0B1E)                                   /**< \deprecated (NVMCTRL_CTRLB) Register MASK  (Use NVMCTRL_CTRLB_Msk instead)  */
+#define NVMCTRL_CTRLB_Msk                   _U_(0xF0B1E)                                   /**< (NVMCTRL_CTRLB) Register Mask  */
+
+
+/* -------- NVMCTRL_CTRLC : (NVMCTRL Offset: 0x08) (R/W 8) Control C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  MANW:1;                    /**< bit:      0  Manual Write                             */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} NVMCTRL_CTRLC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_CTRLC_OFFSET                (0x08)                                        /**<  (NVMCTRL_CTRLC) Control C  Offset */
+#define NVMCTRL_CTRLC_RESETVALUE            _U_(0x01)                                     /**<  (NVMCTRL_CTRLC) Control C  Reset Value */
+
+#define NVMCTRL_CTRLC_MANW_Pos              0                                              /**< (NVMCTRL_CTRLC) Manual Write Position */
+#define NVMCTRL_CTRLC_MANW_Msk              (_U_(0x1) << NVMCTRL_CTRLC_MANW_Pos)           /**< (NVMCTRL_CTRLC) Manual Write Mask */
+#define NVMCTRL_CTRLC_MANW                  NVMCTRL_CTRLC_MANW_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_CTRLC_MANW_Msk instead */
+#define NVMCTRL_CTRLC_MASK                  _U_(0x01)                                      /**< \deprecated (NVMCTRL_CTRLC) Register MASK  (Use NVMCTRL_CTRLC_Msk instead)  */
+#define NVMCTRL_CTRLC_Msk                   _U_(0x01)                                      /**< (NVMCTRL_CTRLC) Register Mask  */
+
+
+/* -------- NVMCTRL_EVCTRL : (NVMCTRL Offset: 0x0a) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  AUTOWEI:1;                 /**< bit:      0  Auto Write Event Enable                  */
+    uint8_t  AUTOWINV:1;                /**< bit:      1  Auto Write Event Polarity Inverted       */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} NVMCTRL_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_EVCTRL_OFFSET               (0x0A)                                        /**<  (NVMCTRL_EVCTRL) Event Control  Offset */
+#define NVMCTRL_EVCTRL_RESETVALUE           _U_(0x00)                                     /**<  (NVMCTRL_EVCTRL) Event Control  Reset Value */
+
+#define NVMCTRL_EVCTRL_AUTOWEI_Pos          0                                              /**< (NVMCTRL_EVCTRL) Auto Write Event Enable Position */
+#define NVMCTRL_EVCTRL_AUTOWEI_Msk          (_U_(0x1) << NVMCTRL_EVCTRL_AUTOWEI_Pos)       /**< (NVMCTRL_EVCTRL) Auto Write Event Enable Mask */
+#define NVMCTRL_EVCTRL_AUTOWEI              NVMCTRL_EVCTRL_AUTOWEI_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_EVCTRL_AUTOWEI_Msk instead */
+#define NVMCTRL_EVCTRL_AUTOWINV_Pos         1                                              /**< (NVMCTRL_EVCTRL) Auto Write Event Polarity Inverted Position */
+#define NVMCTRL_EVCTRL_AUTOWINV_Msk         (_U_(0x1) << NVMCTRL_EVCTRL_AUTOWINV_Pos)      /**< (NVMCTRL_EVCTRL) Auto Write Event Polarity Inverted Mask */
+#define NVMCTRL_EVCTRL_AUTOWINV             NVMCTRL_EVCTRL_AUTOWINV_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_EVCTRL_AUTOWINV_Msk instead */
+#define NVMCTRL_EVCTRL_MASK                 _U_(0x03)                                      /**< \deprecated (NVMCTRL_EVCTRL) Register MASK  (Use NVMCTRL_EVCTRL_Msk instead)  */
+#define NVMCTRL_EVCTRL_Msk                  _U_(0x03)                                      /**< (NVMCTRL_EVCTRL) Register Mask  */
+
+
+/* -------- NVMCTRL_INTENCLR : (NVMCTRL Offset: 0x0c) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DONE:1;                    /**< bit:      0  NVM Done Interrupt Clear                 */
+    uint8_t  PROGE:1;                   /**< bit:      1  Programming Error Status Interrupt Clear */
+    uint8_t  LOCKE:1;                   /**< bit:      2  Lock Error Status Interrupt Clear        */
+    uint8_t  NVME:1;                    /**< bit:      3  NVM Error Interrupt Clear                */
+    uint8_t  KEYE:1;                    /**< bit:      4  Key Write Error Interrupt Clear          */
+    uint8_t  NSCHK:1;                   /**< bit:      5  NS configuration change detected Interrupt Clear */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} NVMCTRL_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_INTENCLR_OFFSET             (0x0C)                                        /**<  (NVMCTRL_INTENCLR) Interrupt Enable Clear  Offset */
+#define NVMCTRL_INTENCLR_RESETVALUE         _U_(0x00)                                     /**<  (NVMCTRL_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define NVMCTRL_INTENCLR_DONE_Pos           0                                              /**< (NVMCTRL_INTENCLR) NVM Done Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_DONE_Msk           (_U_(0x1) << NVMCTRL_INTENCLR_DONE_Pos)        /**< (NVMCTRL_INTENCLR) NVM Done Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_DONE               NVMCTRL_INTENCLR_DONE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_DONE_Msk instead */
+#define NVMCTRL_INTENCLR_PROGE_Pos          1                                              /**< (NVMCTRL_INTENCLR) Programming Error Status Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_PROGE_Msk          (_U_(0x1) << NVMCTRL_INTENCLR_PROGE_Pos)       /**< (NVMCTRL_INTENCLR) Programming Error Status Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_PROGE              NVMCTRL_INTENCLR_PROGE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_PROGE_Msk instead */
+#define NVMCTRL_INTENCLR_LOCKE_Pos          2                                              /**< (NVMCTRL_INTENCLR) Lock Error Status Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_LOCKE_Msk          (_U_(0x1) << NVMCTRL_INTENCLR_LOCKE_Pos)       /**< (NVMCTRL_INTENCLR) Lock Error Status Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_LOCKE              NVMCTRL_INTENCLR_LOCKE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_LOCKE_Msk instead */
+#define NVMCTRL_INTENCLR_NVME_Pos           3                                              /**< (NVMCTRL_INTENCLR) NVM Error Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_NVME_Msk           (_U_(0x1) << NVMCTRL_INTENCLR_NVME_Pos)        /**< (NVMCTRL_INTENCLR) NVM Error Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_NVME               NVMCTRL_INTENCLR_NVME_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_NVME_Msk instead */
+#define NVMCTRL_INTENCLR_KEYE_Pos           4                                              /**< (NVMCTRL_INTENCLR) Key Write Error Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_KEYE_Msk           (_U_(0x1) << NVMCTRL_INTENCLR_KEYE_Pos)        /**< (NVMCTRL_INTENCLR) Key Write Error Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_KEYE               NVMCTRL_INTENCLR_KEYE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_KEYE_Msk instead */
+#define NVMCTRL_INTENCLR_NSCHK_Pos          5                                              /**< (NVMCTRL_INTENCLR) NS configuration change detected Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_NSCHK_Msk          (_U_(0x1) << NVMCTRL_INTENCLR_NSCHK_Pos)       /**< (NVMCTRL_INTENCLR) NS configuration change detected Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_NSCHK              NVMCTRL_INTENCLR_NSCHK_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_NSCHK_Msk instead */
+#define NVMCTRL_INTENCLR_MASK               _U_(0x3F)                                      /**< \deprecated (NVMCTRL_INTENCLR) Register MASK  (Use NVMCTRL_INTENCLR_Msk instead)  */
+#define NVMCTRL_INTENCLR_Msk                _U_(0x3F)                                      /**< (NVMCTRL_INTENCLR) Register Mask  */
+
+
+/* -------- NVMCTRL_INTENSET : (NVMCTRL Offset: 0x10) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DONE:1;                    /**< bit:      0  NVM Done Interrupt Enable                */
+    uint8_t  PROGE:1;                   /**< bit:      1  Programming Error Status Interrupt Enable */
+    uint8_t  LOCKE:1;                   /**< bit:      2  Lock Error Status Interrupt Enable       */
+    uint8_t  NVME:1;                    /**< bit:      3  NVM Error Interrupt Enable               */
+    uint8_t  KEYE:1;                    /**< bit:      4  Key Write Error Interrupt Enable         */
+    uint8_t  NSCHK:1;                   /**< bit:      5  NS configuration change detected Interrupt Enable */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} NVMCTRL_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_INTENSET_OFFSET             (0x10)                                        /**<  (NVMCTRL_INTENSET) Interrupt Enable Set  Offset */
+#define NVMCTRL_INTENSET_RESETVALUE         _U_(0x00)                                     /**<  (NVMCTRL_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define NVMCTRL_INTENSET_DONE_Pos           0                                              /**< (NVMCTRL_INTENSET) NVM Done Interrupt Enable Position */
+#define NVMCTRL_INTENSET_DONE_Msk           (_U_(0x1) << NVMCTRL_INTENSET_DONE_Pos)        /**< (NVMCTRL_INTENSET) NVM Done Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_DONE               NVMCTRL_INTENSET_DONE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_DONE_Msk instead */
+#define NVMCTRL_INTENSET_PROGE_Pos          1                                              /**< (NVMCTRL_INTENSET) Programming Error Status Interrupt Enable Position */
+#define NVMCTRL_INTENSET_PROGE_Msk          (_U_(0x1) << NVMCTRL_INTENSET_PROGE_Pos)       /**< (NVMCTRL_INTENSET) Programming Error Status Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_PROGE              NVMCTRL_INTENSET_PROGE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_PROGE_Msk instead */
+#define NVMCTRL_INTENSET_LOCKE_Pos          2                                              /**< (NVMCTRL_INTENSET) Lock Error Status Interrupt Enable Position */
+#define NVMCTRL_INTENSET_LOCKE_Msk          (_U_(0x1) << NVMCTRL_INTENSET_LOCKE_Pos)       /**< (NVMCTRL_INTENSET) Lock Error Status Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_LOCKE              NVMCTRL_INTENSET_LOCKE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_LOCKE_Msk instead */
+#define NVMCTRL_INTENSET_NVME_Pos           3                                              /**< (NVMCTRL_INTENSET) NVM Error Interrupt Enable Position */
+#define NVMCTRL_INTENSET_NVME_Msk           (_U_(0x1) << NVMCTRL_INTENSET_NVME_Pos)        /**< (NVMCTRL_INTENSET) NVM Error Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_NVME               NVMCTRL_INTENSET_NVME_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_NVME_Msk instead */
+#define NVMCTRL_INTENSET_KEYE_Pos           4                                              /**< (NVMCTRL_INTENSET) Key Write Error Interrupt Enable Position */
+#define NVMCTRL_INTENSET_KEYE_Msk           (_U_(0x1) << NVMCTRL_INTENSET_KEYE_Pos)        /**< (NVMCTRL_INTENSET) Key Write Error Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_KEYE               NVMCTRL_INTENSET_KEYE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_KEYE_Msk instead */
+#define NVMCTRL_INTENSET_NSCHK_Pos          5                                              /**< (NVMCTRL_INTENSET) NS configuration change detected Interrupt Enable Position */
+#define NVMCTRL_INTENSET_NSCHK_Msk          (_U_(0x1) << NVMCTRL_INTENSET_NSCHK_Pos)       /**< (NVMCTRL_INTENSET) NS configuration change detected Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_NSCHK              NVMCTRL_INTENSET_NSCHK_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_NSCHK_Msk instead */
+#define NVMCTRL_INTENSET_MASK               _U_(0x3F)                                      /**< \deprecated (NVMCTRL_INTENSET) Register MASK  (Use NVMCTRL_INTENSET_Msk instead)  */
+#define NVMCTRL_INTENSET_Msk                _U_(0x3F)                                      /**< (NVMCTRL_INTENSET) Register Mask  */
+
+
+/* -------- NVMCTRL_INTFLAG : (NVMCTRL Offset: 0x14) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t DONE:1;                    /**< bit:      0  NVM Done                                 */
+    __I uint8_t PROGE:1;                   /**< bit:      1  Programming Error Status                 */
+    __I uint8_t LOCKE:1;                   /**< bit:      2  Lock Error Status                        */
+    __I uint8_t NVME:1;                    /**< bit:      3  NVM Error                                */
+    __I uint8_t KEYE:1;                    /**< bit:      4  KEY Write Error                          */
+    __I uint8_t NSCHK:1;                   /**< bit:      5  NS configuration change detected         */
+    __I uint8_t :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} NVMCTRL_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_INTFLAG_OFFSET              (0x14)                                        /**<  (NVMCTRL_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define NVMCTRL_INTFLAG_RESETVALUE          _U_(0x00)                                     /**<  (NVMCTRL_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define NVMCTRL_INTFLAG_DONE_Pos            0                                              /**< (NVMCTRL_INTFLAG) NVM Done Position */
+#define NVMCTRL_INTFLAG_DONE_Msk            (_U_(0x1) << NVMCTRL_INTFLAG_DONE_Pos)         /**< (NVMCTRL_INTFLAG) NVM Done Mask */
+#define NVMCTRL_INTFLAG_DONE                NVMCTRL_INTFLAG_DONE_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_DONE_Msk instead */
+#define NVMCTRL_INTFLAG_PROGE_Pos           1                                              /**< (NVMCTRL_INTFLAG) Programming Error Status Position */
+#define NVMCTRL_INTFLAG_PROGE_Msk           (_U_(0x1) << NVMCTRL_INTFLAG_PROGE_Pos)        /**< (NVMCTRL_INTFLAG) Programming Error Status Mask */
+#define NVMCTRL_INTFLAG_PROGE               NVMCTRL_INTFLAG_PROGE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_PROGE_Msk instead */
+#define NVMCTRL_INTFLAG_LOCKE_Pos           2                                              /**< (NVMCTRL_INTFLAG) Lock Error Status Position */
+#define NVMCTRL_INTFLAG_LOCKE_Msk           (_U_(0x1) << NVMCTRL_INTFLAG_LOCKE_Pos)        /**< (NVMCTRL_INTFLAG) Lock Error Status Mask */
+#define NVMCTRL_INTFLAG_LOCKE               NVMCTRL_INTFLAG_LOCKE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_LOCKE_Msk instead */
+#define NVMCTRL_INTFLAG_NVME_Pos            3                                              /**< (NVMCTRL_INTFLAG) NVM Error Position */
+#define NVMCTRL_INTFLAG_NVME_Msk            (_U_(0x1) << NVMCTRL_INTFLAG_NVME_Pos)         /**< (NVMCTRL_INTFLAG) NVM Error Mask */
+#define NVMCTRL_INTFLAG_NVME                NVMCTRL_INTFLAG_NVME_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_NVME_Msk instead */
+#define NVMCTRL_INTFLAG_KEYE_Pos            4                                              /**< (NVMCTRL_INTFLAG) KEY Write Error Position */
+#define NVMCTRL_INTFLAG_KEYE_Msk            (_U_(0x1) << NVMCTRL_INTFLAG_KEYE_Pos)         /**< (NVMCTRL_INTFLAG) KEY Write Error Mask */
+#define NVMCTRL_INTFLAG_KEYE                NVMCTRL_INTFLAG_KEYE_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_KEYE_Msk instead */
+#define NVMCTRL_INTFLAG_NSCHK_Pos           5                                              /**< (NVMCTRL_INTFLAG) NS configuration change detected Position */
+#define NVMCTRL_INTFLAG_NSCHK_Msk           (_U_(0x1) << NVMCTRL_INTFLAG_NSCHK_Pos)        /**< (NVMCTRL_INTFLAG) NS configuration change detected Mask */
+#define NVMCTRL_INTFLAG_NSCHK               NVMCTRL_INTFLAG_NSCHK_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_NSCHK_Msk instead */
+#define NVMCTRL_INTFLAG_MASK                _U_(0x3F)                                      /**< \deprecated (NVMCTRL_INTFLAG) Register MASK  (Use NVMCTRL_INTFLAG_Msk instead)  */
+#define NVMCTRL_INTFLAG_Msk                 _U_(0x3F)                                      /**< (NVMCTRL_INTFLAG) Register Mask  */
+
+
+/* -------- NVMCTRL_STATUS : (NVMCTRL Offset: 0x18) (R/ 16) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PRM:1;                     /**< bit:      0  Power Reduction Mode                     */
+    uint16_t LOAD:1;                    /**< bit:      1  NVM Page Buffer Active Loading           */
+    uint16_t READY:1;                   /**< bit:      2  NVM Ready                                */
+    uint16_t DALFUSE:2;                 /**< bit:   3..4  Debug Access Level Fuse                  */
+    uint16_t :11;                       /**< bit:  5..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} NVMCTRL_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_STATUS_OFFSET               (0x18)                                        /**<  (NVMCTRL_STATUS) Status  Offset */
+#define NVMCTRL_STATUS_RESETVALUE           _U_(0x00)                                     /**<  (NVMCTRL_STATUS) Status  Reset Value */
+
+#define NVMCTRL_STATUS_PRM_Pos              0                                              /**< (NVMCTRL_STATUS) Power Reduction Mode Position */
+#define NVMCTRL_STATUS_PRM_Msk              (_U_(0x1) << NVMCTRL_STATUS_PRM_Pos)           /**< (NVMCTRL_STATUS) Power Reduction Mode Mask */
+#define NVMCTRL_STATUS_PRM                  NVMCTRL_STATUS_PRM_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_STATUS_PRM_Msk instead */
+#define NVMCTRL_STATUS_LOAD_Pos             1                                              /**< (NVMCTRL_STATUS) NVM Page Buffer Active Loading Position */
+#define NVMCTRL_STATUS_LOAD_Msk             (_U_(0x1) << NVMCTRL_STATUS_LOAD_Pos)          /**< (NVMCTRL_STATUS) NVM Page Buffer Active Loading Mask */
+#define NVMCTRL_STATUS_LOAD                 NVMCTRL_STATUS_LOAD_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_STATUS_LOAD_Msk instead */
+#define NVMCTRL_STATUS_READY_Pos            2                                              /**< (NVMCTRL_STATUS) NVM Ready Position */
+#define NVMCTRL_STATUS_READY_Msk            (_U_(0x1) << NVMCTRL_STATUS_READY_Pos)         /**< (NVMCTRL_STATUS) NVM Ready Mask */
+#define NVMCTRL_STATUS_READY                NVMCTRL_STATUS_READY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_STATUS_READY_Msk instead */
+#define NVMCTRL_STATUS_DALFUSE_Pos          3                                              /**< (NVMCTRL_STATUS) Debug Access Level Fuse Position */
+#define NVMCTRL_STATUS_DALFUSE_Msk          (_U_(0x3) << NVMCTRL_STATUS_DALFUSE_Pos)       /**< (NVMCTRL_STATUS) Debug Access Level Fuse Mask */
+#define NVMCTRL_STATUS_DALFUSE(value)       (NVMCTRL_STATUS_DALFUSE_Msk & ((value) << NVMCTRL_STATUS_DALFUSE_Pos))
+#define NVMCTRL_STATUS_MASK                 _U_(0x1F)                                      /**< \deprecated (NVMCTRL_STATUS) Register MASK  (Use NVMCTRL_STATUS_Msk instead)  */
+#define NVMCTRL_STATUS_Msk                  _U_(0x1F)                                      /**< (NVMCTRL_STATUS) Register Mask  */
+
+
+/* -------- NVMCTRL_ADDR : (NVMCTRL Offset: 0x1c) (R/W 32) Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t AOFFSET:16;                /**< bit:  0..15  NVM Address Offset In The Selected Array */
+    uint32_t :6;                        /**< bit: 16..21  Reserved */
+    uint32_t ARRAY:2;                   /**< bit: 22..23  Array Select                             */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_ADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_ADDR_OFFSET                 (0x1C)                                        /**<  (NVMCTRL_ADDR) Address  Offset */
+#define NVMCTRL_ADDR_RESETVALUE             _U_(0x00)                                     /**<  (NVMCTRL_ADDR) Address  Reset Value */
+
+#define NVMCTRL_ADDR_AOFFSET_Pos            0                                              /**< (NVMCTRL_ADDR) NVM Address Offset In The Selected Array Position */
+#define NVMCTRL_ADDR_AOFFSET_Msk            (_U_(0xFFFF) << NVMCTRL_ADDR_AOFFSET_Pos)      /**< (NVMCTRL_ADDR) NVM Address Offset In The Selected Array Mask */
+#define NVMCTRL_ADDR_AOFFSET(value)         (NVMCTRL_ADDR_AOFFSET_Msk & ((value) << NVMCTRL_ADDR_AOFFSET_Pos))
+#define NVMCTRL_ADDR_ARRAY_Pos              22                                             /**< (NVMCTRL_ADDR) Array Select Position */
+#define NVMCTRL_ADDR_ARRAY_Msk              (_U_(0x3) << NVMCTRL_ADDR_ARRAY_Pos)           /**< (NVMCTRL_ADDR) Array Select Mask */
+#define NVMCTRL_ADDR_ARRAY(value)           (NVMCTRL_ADDR_ARRAY_Msk & ((value) << NVMCTRL_ADDR_ARRAY_Pos))
+#define   NVMCTRL_ADDR_ARRAY_FLASH_Val      _U_(0x0)                                       /**< (NVMCTRL_ADDR) FLASH Array  */
+#define   NVMCTRL_ADDR_ARRAY_DATAFLASH_Val  _U_(0x1)                                       /**< (NVMCTRL_ADDR) DATA FLASH Array  */
+#define   NVMCTRL_ADDR_ARRAY_AUX_Val        _U_(0x2)                                       /**< (NVMCTRL_ADDR) Auxilliary Space  */
+#define   NVMCTRL_ADDR_ARRAY_RESERVED_Val   _U_(0x3)                                       /**< (NVMCTRL_ADDR) Reserved Array  */
+#define NVMCTRL_ADDR_ARRAY_FLASH            (NVMCTRL_ADDR_ARRAY_FLASH_Val << NVMCTRL_ADDR_ARRAY_Pos)  /**< (NVMCTRL_ADDR) FLASH Array Position  */
+#define NVMCTRL_ADDR_ARRAY_DATAFLASH        (NVMCTRL_ADDR_ARRAY_DATAFLASH_Val << NVMCTRL_ADDR_ARRAY_Pos)  /**< (NVMCTRL_ADDR) DATA FLASH Array Position  */
+#define NVMCTRL_ADDR_ARRAY_AUX              (NVMCTRL_ADDR_ARRAY_AUX_Val << NVMCTRL_ADDR_ARRAY_Pos)  /**< (NVMCTRL_ADDR) Auxilliary Space Position  */
+#define NVMCTRL_ADDR_ARRAY_RESERVED         (NVMCTRL_ADDR_ARRAY_RESERVED_Val << NVMCTRL_ADDR_ARRAY_Pos)  /**< (NVMCTRL_ADDR) Reserved Array Position  */
+#define NVMCTRL_ADDR_MASK                   _U_(0xC0FFFF)                                  /**< \deprecated (NVMCTRL_ADDR) Register MASK  (Use NVMCTRL_ADDR_Msk instead)  */
+#define NVMCTRL_ADDR_Msk                    _U_(0xC0FFFF)                                  /**< (NVMCTRL_ADDR) Register Mask  */
+
+
+/* -------- NVMCTRL_SULCK : (NVMCTRL Offset: 0x20) (R/W 16) Secure Unlock Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BS:1;                      /**< bit:      0  Secure Boot Region                       */
+    uint16_t AS:1;                      /**< bit:      1  Secure Application Region                */
+    uint16_t DS:1;                      /**< bit:      2  Data Secure Region                       */
+    uint16_t :5;                        /**< bit:   3..7  Reserved */
+    uint16_t SLKEY:8;                   /**< bit:  8..15  Write Key                                */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} NVMCTRL_SULCK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_SULCK_OFFSET                (0x20)                                        /**<  (NVMCTRL_SULCK) Secure Unlock Register  Offset */
+
+#define NVMCTRL_SULCK_BS_Pos                0                                              /**< (NVMCTRL_SULCK) Secure Boot Region Position */
+#define NVMCTRL_SULCK_BS_Msk                (_U_(0x1) << NVMCTRL_SULCK_BS_Pos)             /**< (NVMCTRL_SULCK) Secure Boot Region Mask */
+#define NVMCTRL_SULCK_BS                    NVMCTRL_SULCK_BS_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SULCK_BS_Msk instead */
+#define NVMCTRL_SULCK_AS_Pos                1                                              /**< (NVMCTRL_SULCK) Secure Application Region Position */
+#define NVMCTRL_SULCK_AS_Msk                (_U_(0x1) << NVMCTRL_SULCK_AS_Pos)             /**< (NVMCTRL_SULCK) Secure Application Region Mask */
+#define NVMCTRL_SULCK_AS                    NVMCTRL_SULCK_AS_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SULCK_AS_Msk instead */
+#define NVMCTRL_SULCK_DS_Pos                2                                              /**< (NVMCTRL_SULCK) Data Secure Region Position */
+#define NVMCTRL_SULCK_DS_Msk                (_U_(0x1) << NVMCTRL_SULCK_DS_Pos)             /**< (NVMCTRL_SULCK) Data Secure Region Mask */
+#define NVMCTRL_SULCK_DS                    NVMCTRL_SULCK_DS_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SULCK_DS_Msk instead */
+#define NVMCTRL_SULCK_SLKEY_Pos             8                                              /**< (NVMCTRL_SULCK) Write Key Position */
+#define NVMCTRL_SULCK_SLKEY_Msk             (_U_(0xFF) << NVMCTRL_SULCK_SLKEY_Pos)         /**< (NVMCTRL_SULCK) Write Key Mask */
+#define NVMCTRL_SULCK_SLKEY(value)          (NVMCTRL_SULCK_SLKEY_Msk & ((value) << NVMCTRL_SULCK_SLKEY_Pos))
+#define   NVMCTRL_SULCK_SLKEY_KEY_Val       _U_(0xA5)                                      /**< (NVMCTRL_SULCK) Write Key  */
+#define NVMCTRL_SULCK_SLKEY_KEY             (NVMCTRL_SULCK_SLKEY_KEY_Val << NVMCTRL_SULCK_SLKEY_Pos)  /**< (NVMCTRL_SULCK) Write Key Position  */
+#define NVMCTRL_SULCK_MASK                  _U_(0xFF07)                                    /**< \deprecated (NVMCTRL_SULCK) Register MASK  (Use NVMCTRL_SULCK_Msk instead)  */
+#define NVMCTRL_SULCK_Msk                   _U_(0xFF07)                                    /**< (NVMCTRL_SULCK) Register Mask  */
+
+
+/* -------- NVMCTRL_NSULCK : (NVMCTRL Offset: 0x22) (R/W 16) Non-Secure Unlock Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BNS:1;                     /**< bit:      0  Non-Secure Boot Region                   */
+    uint16_t ANS:1;                     /**< bit:      1  Non-Secure Application Region            */
+    uint16_t DNS:1;                     /**< bit:      2  Non-Secure Data Region                   */
+    uint16_t :5;                        /**< bit:   3..7  Reserved */
+    uint16_t NSLKEY:8;                  /**< bit:  8..15  Write Key                                */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} NVMCTRL_NSULCK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_NSULCK_OFFSET               (0x22)                                        /**<  (NVMCTRL_NSULCK) Non-Secure Unlock Register  Offset */
+
+#define NVMCTRL_NSULCK_BNS_Pos              0                                              /**< (NVMCTRL_NSULCK) Non-Secure Boot Region Position */
+#define NVMCTRL_NSULCK_BNS_Msk              (_U_(0x1) << NVMCTRL_NSULCK_BNS_Pos)           /**< (NVMCTRL_NSULCK) Non-Secure Boot Region Mask */
+#define NVMCTRL_NSULCK_BNS                  NVMCTRL_NSULCK_BNS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_NSULCK_BNS_Msk instead */
+#define NVMCTRL_NSULCK_ANS_Pos              1                                              /**< (NVMCTRL_NSULCK) Non-Secure Application Region Position */
+#define NVMCTRL_NSULCK_ANS_Msk              (_U_(0x1) << NVMCTRL_NSULCK_ANS_Pos)           /**< (NVMCTRL_NSULCK) Non-Secure Application Region Mask */
+#define NVMCTRL_NSULCK_ANS                  NVMCTRL_NSULCK_ANS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_NSULCK_ANS_Msk instead */
+#define NVMCTRL_NSULCK_DNS_Pos              2                                              /**< (NVMCTRL_NSULCK) Non-Secure Data Region Position */
+#define NVMCTRL_NSULCK_DNS_Msk              (_U_(0x1) << NVMCTRL_NSULCK_DNS_Pos)           /**< (NVMCTRL_NSULCK) Non-Secure Data Region Mask */
+#define NVMCTRL_NSULCK_DNS                  NVMCTRL_NSULCK_DNS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_NSULCK_DNS_Msk instead */
+#define NVMCTRL_NSULCK_NSLKEY_Pos           8                                              /**< (NVMCTRL_NSULCK) Write Key Position */
+#define NVMCTRL_NSULCK_NSLKEY_Msk           (_U_(0xFF) << NVMCTRL_NSULCK_NSLKEY_Pos)       /**< (NVMCTRL_NSULCK) Write Key Mask */
+#define NVMCTRL_NSULCK_NSLKEY(value)        (NVMCTRL_NSULCK_NSLKEY_Msk & ((value) << NVMCTRL_NSULCK_NSLKEY_Pos))
+#define   NVMCTRL_NSULCK_NSLKEY_KEY_Val     _U_(0xA5)                                      /**< (NVMCTRL_NSULCK) Write Key  */
+#define NVMCTRL_NSULCK_NSLKEY_KEY           (NVMCTRL_NSULCK_NSLKEY_KEY_Val << NVMCTRL_NSULCK_NSLKEY_Pos)  /**< (NVMCTRL_NSULCK) Write Key Position  */
+#define NVMCTRL_NSULCK_MASK                 _U_(0xFF07)                                    /**< \deprecated (NVMCTRL_NSULCK) Register MASK  (Use NVMCTRL_NSULCK_Msk instead)  */
+#define NVMCTRL_NSULCK_Msk                  _U_(0xFF07)                                    /**< (NVMCTRL_NSULCK) Register Mask  */
+
+
+/* -------- NVMCTRL_PARAM : (NVMCTRL Offset: 0x24) (R/W 32) NVM Parameter -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t FLASHP:16;                 /**< bit:  0..15  FLASH Pages                              */
+    uint32_t PSZ:3;                     /**< bit: 16..18  Page Size                                */
+    uint32_t :1;                        /**< bit:     19  Reserved */
+    uint32_t DFLASHP:12;                /**< bit: 20..31  DATAFLASH Pages                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_PARAM_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_PARAM_OFFSET                (0x24)                                        /**<  (NVMCTRL_PARAM) NVM Parameter  Offset */
+#define NVMCTRL_PARAM_RESETVALUE            _U_(0x00)                                     /**<  (NVMCTRL_PARAM) NVM Parameter  Reset Value */
+
+#define NVMCTRL_PARAM_FLASHP_Pos            0                                              /**< (NVMCTRL_PARAM) FLASH Pages Position */
+#define NVMCTRL_PARAM_FLASHP_Msk            (_U_(0xFFFF) << NVMCTRL_PARAM_FLASHP_Pos)      /**< (NVMCTRL_PARAM) FLASH Pages Mask */
+#define NVMCTRL_PARAM_FLASHP(value)         (NVMCTRL_PARAM_FLASHP_Msk & ((value) << NVMCTRL_PARAM_FLASHP_Pos))
+#define NVMCTRL_PARAM_PSZ_Pos               16                                             /**< (NVMCTRL_PARAM) Page Size Position */
+#define NVMCTRL_PARAM_PSZ_Msk               (_U_(0x7) << NVMCTRL_PARAM_PSZ_Pos)            /**< (NVMCTRL_PARAM) Page Size Mask */
+#define NVMCTRL_PARAM_PSZ(value)            (NVMCTRL_PARAM_PSZ_Msk & ((value) << NVMCTRL_PARAM_PSZ_Pos))
+#define   NVMCTRL_PARAM_PSZ_8_Val           _U_(0x0)                                       /**< (NVMCTRL_PARAM) 8 bytes  */
+#define   NVMCTRL_PARAM_PSZ_16_Val          _U_(0x1)                                       /**< (NVMCTRL_PARAM) 16 bytes  */
+#define   NVMCTRL_PARAM_PSZ_32_Val          _U_(0x2)                                       /**< (NVMCTRL_PARAM) 32 bytes  */
+#define   NVMCTRL_PARAM_PSZ_64_Val          _U_(0x3)                                       /**< (NVMCTRL_PARAM) 64 bytes  */
+#define   NVMCTRL_PARAM_PSZ_128_Val         _U_(0x4)                                       /**< (NVMCTRL_PARAM) 128 bytes  */
+#define   NVMCTRL_PARAM_PSZ_256_Val         _U_(0x5)                                       /**< (NVMCTRL_PARAM) 256 bytes  */
+#define   NVMCTRL_PARAM_PSZ_512_Val         _U_(0x6)                                       /**< (NVMCTRL_PARAM) 512 bytes  */
+#define   NVMCTRL_PARAM_PSZ_1024_Val        _U_(0x7)                                       /**< (NVMCTRL_PARAM) 1024 bytes  */
+#define NVMCTRL_PARAM_PSZ_8                 (NVMCTRL_PARAM_PSZ_8_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 8 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_16                (NVMCTRL_PARAM_PSZ_16_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 16 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_32                (NVMCTRL_PARAM_PSZ_32_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 32 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_64                (NVMCTRL_PARAM_PSZ_64_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 64 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_128               (NVMCTRL_PARAM_PSZ_128_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 128 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_256               (NVMCTRL_PARAM_PSZ_256_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 256 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_512               (NVMCTRL_PARAM_PSZ_512_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 512 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_1024              (NVMCTRL_PARAM_PSZ_1024_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 1024 bytes Position  */
+#define NVMCTRL_PARAM_DFLASHP_Pos           20                                             /**< (NVMCTRL_PARAM) DATAFLASH Pages Position */
+#define NVMCTRL_PARAM_DFLASHP_Msk           (_U_(0xFFF) << NVMCTRL_PARAM_DFLASHP_Pos)      /**< (NVMCTRL_PARAM) DATAFLASH Pages Mask */
+#define NVMCTRL_PARAM_DFLASHP(value)        (NVMCTRL_PARAM_DFLASHP_Msk & ((value) << NVMCTRL_PARAM_DFLASHP_Pos))
+#define NVMCTRL_PARAM_MASK                  _U_(0xFFF7FFFF)                                /**< \deprecated (NVMCTRL_PARAM) Register MASK  (Use NVMCTRL_PARAM_Msk instead)  */
+#define NVMCTRL_PARAM_Msk                   _U_(0xFFF7FFFF)                                /**< (NVMCTRL_PARAM) Register Mask  */
+
+
+/* -------- NVMCTRL_DSCC : (NVMCTRL Offset: 0x30) (/W 32) Data Scramble Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DSCKEY:30;                 /**< bit:  0..29  Data Scramble Key                        */
+    uint32_t :2;                        /**< bit: 30..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_DSCC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_DSCC_OFFSET                 (0x30)                                        /**<  (NVMCTRL_DSCC) Data Scramble Configuration  Offset */
+#define NVMCTRL_DSCC_RESETVALUE             _U_(0x00)                                     /**<  (NVMCTRL_DSCC) Data Scramble Configuration  Reset Value */
+
+#define NVMCTRL_DSCC_DSCKEY_Pos             0                                              /**< (NVMCTRL_DSCC) Data Scramble Key Position */
+#define NVMCTRL_DSCC_DSCKEY_Msk             (_U_(0x3FFFFFFF) << NVMCTRL_DSCC_DSCKEY_Pos)   /**< (NVMCTRL_DSCC) Data Scramble Key Mask */
+#define NVMCTRL_DSCC_DSCKEY(value)          (NVMCTRL_DSCC_DSCKEY_Msk & ((value) << NVMCTRL_DSCC_DSCKEY_Pos))
+#define NVMCTRL_DSCC_MASK                   _U_(0x3FFFFFFF)                                /**< \deprecated (NVMCTRL_DSCC) Register MASK  (Use NVMCTRL_DSCC_Msk instead)  */
+#define NVMCTRL_DSCC_Msk                    _U_(0x3FFFFFFF)                                /**< (NVMCTRL_DSCC) Register Mask  */
+
+
+/* -------- NVMCTRL_SECCTRL : (NVMCTRL Offset: 0x34) (R/W 32) Security Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t TAMPEEN:1;                 /**< bit:      0  Tamper Erase Enable                      */
+    uint32_t :1;                        /**< bit:      1  Reserved */
+    uint32_t SILACC:1;                  /**< bit:      2  Silent Access                            */
+    uint32_t DSCEN:1;                   /**< bit:      3  Data Scramble Enable                     */
+    uint32_t :2;                        /**< bit:   4..5  Reserved */
+    uint32_t DXN:1;                     /**< bit:      6  Data Flash is eXecute Never              */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t TEROW:3;                   /**< bit:  8..10  Tamper Rease Row                         */
+    uint32_t :13;                       /**< bit: 11..23  Reserved */
+    uint32_t KEY:8;                     /**< bit: 24..31  Write Key                                */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_SECCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_SECCTRL_OFFSET              (0x34)                                        /**<  (NVMCTRL_SECCTRL) Security Control  Offset */
+#define NVMCTRL_SECCTRL_RESETVALUE          _U_(0x30)                                     /**<  (NVMCTRL_SECCTRL) Security Control  Reset Value */
+
+#define NVMCTRL_SECCTRL_TAMPEEN_Pos         0                                              /**< (NVMCTRL_SECCTRL) Tamper Erase Enable Position */
+#define NVMCTRL_SECCTRL_TAMPEEN_Msk         (_U_(0x1) << NVMCTRL_SECCTRL_TAMPEEN_Pos)      /**< (NVMCTRL_SECCTRL) Tamper Erase Enable Mask */
+#define NVMCTRL_SECCTRL_TAMPEEN             NVMCTRL_SECCTRL_TAMPEEN_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SECCTRL_TAMPEEN_Msk instead */
+#define NVMCTRL_SECCTRL_SILACC_Pos          2                                              /**< (NVMCTRL_SECCTRL) Silent Access Position */
+#define NVMCTRL_SECCTRL_SILACC_Msk          (_U_(0x1) << NVMCTRL_SECCTRL_SILACC_Pos)       /**< (NVMCTRL_SECCTRL) Silent Access Mask */
+#define NVMCTRL_SECCTRL_SILACC              NVMCTRL_SECCTRL_SILACC_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SECCTRL_SILACC_Msk instead */
+#define NVMCTRL_SECCTRL_DSCEN_Pos           3                                              /**< (NVMCTRL_SECCTRL) Data Scramble Enable Position */
+#define NVMCTRL_SECCTRL_DSCEN_Msk           (_U_(0x1) << NVMCTRL_SECCTRL_DSCEN_Pos)        /**< (NVMCTRL_SECCTRL) Data Scramble Enable Mask */
+#define NVMCTRL_SECCTRL_DSCEN               NVMCTRL_SECCTRL_DSCEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SECCTRL_DSCEN_Msk instead */
+#define NVMCTRL_SECCTRL_DXN_Pos             6                                              /**< (NVMCTRL_SECCTRL) Data Flash is eXecute Never Position */
+#define NVMCTRL_SECCTRL_DXN_Msk             (_U_(0x1) << NVMCTRL_SECCTRL_DXN_Pos)          /**< (NVMCTRL_SECCTRL) Data Flash is eXecute Never Mask */
+#define NVMCTRL_SECCTRL_DXN                 NVMCTRL_SECCTRL_DXN_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SECCTRL_DXN_Msk instead */
+#define NVMCTRL_SECCTRL_TEROW_Pos           8                                              /**< (NVMCTRL_SECCTRL) Tamper Rease Row Position */
+#define NVMCTRL_SECCTRL_TEROW_Msk           (_U_(0x7) << NVMCTRL_SECCTRL_TEROW_Pos)        /**< (NVMCTRL_SECCTRL) Tamper Rease Row Mask */
+#define NVMCTRL_SECCTRL_TEROW(value)        (NVMCTRL_SECCTRL_TEROW_Msk & ((value) << NVMCTRL_SECCTRL_TEROW_Pos))
+#define NVMCTRL_SECCTRL_KEY_Pos             24                                             /**< (NVMCTRL_SECCTRL) Write Key Position */
+#define NVMCTRL_SECCTRL_KEY_Msk             (_U_(0xFF) << NVMCTRL_SECCTRL_KEY_Pos)         /**< (NVMCTRL_SECCTRL) Write Key Mask */
+#define NVMCTRL_SECCTRL_KEY(value)          (NVMCTRL_SECCTRL_KEY_Msk & ((value) << NVMCTRL_SECCTRL_KEY_Pos))
+#define   NVMCTRL_SECCTRL_KEY_KEY_Val       _U_(0xA5)                                      /**< (NVMCTRL_SECCTRL) Write Key  */
+#define NVMCTRL_SECCTRL_KEY_KEY             (NVMCTRL_SECCTRL_KEY_KEY_Val << NVMCTRL_SECCTRL_KEY_Pos)  /**< (NVMCTRL_SECCTRL) Write Key Position  */
+#define NVMCTRL_SECCTRL_MASK                _U_(0xFF00074D)                                /**< \deprecated (NVMCTRL_SECCTRL) Register MASK  (Use NVMCTRL_SECCTRL_Msk instead)  */
+#define NVMCTRL_SECCTRL_Msk                 _U_(0xFF00074D)                                /**< (NVMCTRL_SECCTRL) Register Mask  */
+
+
+/* -------- NVMCTRL_SCFGB : (NVMCTRL Offset: 0x38) (R/W 32) Secure Boot Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BCREN:1;                   /**< bit:      0  Boot Configuration Row Read Enable       */
+    uint32_t BCWEN:1;                   /**< bit:      1  Boot Configuration Row Write Enable      */
+    uint32_t :30;                       /**< bit:  2..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_SCFGB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_SCFGB_OFFSET                (0x38)                                        /**<  (NVMCTRL_SCFGB) Secure Boot Configuration  Offset */
+#define NVMCTRL_SCFGB_RESETVALUE            _U_(0x03)                                     /**<  (NVMCTRL_SCFGB) Secure Boot Configuration  Reset Value */
+
+#define NVMCTRL_SCFGB_BCREN_Pos             0                                              /**< (NVMCTRL_SCFGB) Boot Configuration Row Read Enable Position */
+#define NVMCTRL_SCFGB_BCREN_Msk             (_U_(0x1) << NVMCTRL_SCFGB_BCREN_Pos)          /**< (NVMCTRL_SCFGB) Boot Configuration Row Read Enable Mask */
+#define NVMCTRL_SCFGB_BCREN                 NVMCTRL_SCFGB_BCREN_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SCFGB_BCREN_Msk instead */
+#define NVMCTRL_SCFGB_BCWEN_Pos             1                                              /**< (NVMCTRL_SCFGB) Boot Configuration Row Write Enable Position */
+#define NVMCTRL_SCFGB_BCWEN_Msk             (_U_(0x1) << NVMCTRL_SCFGB_BCWEN_Pos)          /**< (NVMCTRL_SCFGB) Boot Configuration Row Write Enable Mask */
+#define NVMCTRL_SCFGB_BCWEN                 NVMCTRL_SCFGB_BCWEN_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SCFGB_BCWEN_Msk instead */
+#define NVMCTRL_SCFGB_MASK                  _U_(0x03)                                      /**< \deprecated (NVMCTRL_SCFGB) Register MASK  (Use NVMCTRL_SCFGB_Msk instead)  */
+#define NVMCTRL_SCFGB_Msk                   _U_(0x03)                                      /**< (NVMCTRL_SCFGB) Register Mask  */
+
+
+/* -------- NVMCTRL_SCFGAD : (NVMCTRL Offset: 0x3c) (R/W 32) Secure Application and Data Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t URWEN:1;                   /**< bit:      0  User Row Write Enable                    */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_SCFGAD_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_SCFGAD_OFFSET               (0x3C)                                        /**<  (NVMCTRL_SCFGAD) Secure Application and Data Configuration  Offset */
+#define NVMCTRL_SCFGAD_RESETVALUE           _U_(0x01)                                     /**<  (NVMCTRL_SCFGAD) Secure Application and Data Configuration  Reset Value */
+
+#define NVMCTRL_SCFGAD_URWEN_Pos            0                                              /**< (NVMCTRL_SCFGAD) User Row Write Enable Position */
+#define NVMCTRL_SCFGAD_URWEN_Msk            (_U_(0x1) << NVMCTRL_SCFGAD_URWEN_Pos)         /**< (NVMCTRL_SCFGAD) User Row Write Enable Mask */
+#define NVMCTRL_SCFGAD_URWEN                NVMCTRL_SCFGAD_URWEN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SCFGAD_URWEN_Msk instead */
+#define NVMCTRL_SCFGAD_MASK                 _U_(0x01)                                      /**< \deprecated (NVMCTRL_SCFGAD) Register MASK  (Use NVMCTRL_SCFGAD_Msk instead)  */
+#define NVMCTRL_SCFGAD_Msk                  _U_(0x01)                                      /**< (NVMCTRL_SCFGAD) Register Mask  */
+
+
+/* -------- NVMCTRL_NONSEC : (NVMCTRL Offset: 0x40) (R/W 32) Non-secure Write Enable -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t WRITE:1;                   /**< bit:      0  Non-secure APB alias write enable, non-secure AHB writes to non-secure regions enable */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_NONSEC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_NONSEC_OFFSET               (0x40)                                        /**<  (NVMCTRL_NONSEC) Non-secure Write Enable  Offset */
+#define NVMCTRL_NONSEC_RESETVALUE           _U_(0x01)                                     /**<  (NVMCTRL_NONSEC) Non-secure Write Enable  Reset Value */
+
+#define NVMCTRL_NONSEC_WRITE_Pos            0                                              /**< (NVMCTRL_NONSEC) Non-secure APB alias write enable, non-secure AHB writes to non-secure regions enable Position */
+#define NVMCTRL_NONSEC_WRITE_Msk            (_U_(0x1) << NVMCTRL_NONSEC_WRITE_Pos)         /**< (NVMCTRL_NONSEC) Non-secure APB alias write enable, non-secure AHB writes to non-secure regions enable Mask */
+#define NVMCTRL_NONSEC_WRITE                NVMCTRL_NONSEC_WRITE_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_NONSEC_WRITE_Msk instead */
+#define NVMCTRL_NONSEC_MASK                 _U_(0x01)                                      /**< \deprecated (NVMCTRL_NONSEC) Register MASK  (Use NVMCTRL_NONSEC_Msk instead)  */
+#define NVMCTRL_NONSEC_Msk                  _U_(0x01)                                      /**< (NVMCTRL_NONSEC) Register Mask  */
+
+
+/* -------- NVMCTRL_NSCHK : (NVMCTRL Offset: 0x44) (R/W 32) Non-secure Write Reference Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t WRITE:1;                   /**< bit:      0  Reference value to be checked against NONSEC.WRITE */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_NSCHK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_NSCHK_OFFSET                (0x44)                                        /**<  (NVMCTRL_NSCHK) Non-secure Write Reference Value  Offset */
+#define NVMCTRL_NSCHK_RESETVALUE            _U_(0x01)                                     /**<  (NVMCTRL_NSCHK) Non-secure Write Reference Value  Reset Value */
+
+#define NVMCTRL_NSCHK_WRITE_Pos             0                                              /**< (NVMCTRL_NSCHK) Reference value to be checked against NONSEC.WRITE Position */
+#define NVMCTRL_NSCHK_WRITE_Msk             (_U_(0x1) << NVMCTRL_NSCHK_WRITE_Pos)          /**< (NVMCTRL_NSCHK) Reference value to be checked against NONSEC.WRITE Mask */
+#define NVMCTRL_NSCHK_WRITE                 NVMCTRL_NSCHK_WRITE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_NSCHK_WRITE_Msk instead */
+#define NVMCTRL_NSCHK_MASK                  _U_(0x01)                                      /**< \deprecated (NVMCTRL_NSCHK) Register MASK  (Use NVMCTRL_NSCHK_Msk instead)  */
+#define NVMCTRL_NSCHK_Msk                   _U_(0x01)                                      /**< (NVMCTRL_NSCHK) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief NVMCTRL hardware registers */
+typedef struct {  /* Non-Volatile Memory Controller */
+  __O  NVMCTRL_CTRLA_Type             CTRLA;          /**< Offset: 0x00 ( /W  16) Control A */
+  __I  uint8_t                        Reserved1[2];
+  __IO NVMCTRL_CTRLB_Type             CTRLB;          /**< Offset: 0x04 (R/W  32) Control B */
+  __IO NVMCTRL_CTRLC_Type             CTRLC;          /**< Offset: 0x08 (R/W   8) Control C */
+  __I  uint8_t                        Reserved2[1];
+  __IO NVMCTRL_EVCTRL_Type            EVCTRL;         /**< Offset: 0x0A (R/W   8) Event Control */
+  __I  uint8_t                        Reserved3[1];
+  __IO NVMCTRL_INTENCLR_Type          INTENCLR;       /**< Offset: 0x0C (R/W   8) Interrupt Enable Clear */
+  __I  uint8_t                        Reserved4[3];
+  __IO NVMCTRL_INTENSET_Type          INTENSET;       /**< Offset: 0x10 (R/W   8) Interrupt Enable Set */
+  __I  uint8_t                        Reserved5[3];
+  __IO NVMCTRL_INTFLAG_Type           INTFLAG;        /**< Offset: 0x14 (R/W   8) Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved6[3];
+  __I  NVMCTRL_STATUS_Type            STATUS;         /**< Offset: 0x18 (R/   16) Status */
+  __I  uint8_t                        Reserved7[2];
+  __IO NVMCTRL_ADDR_Type              ADDR;           /**< Offset: 0x1C (R/W  32) Address */
+  __IO NVMCTRL_SULCK_Type             SULCK;          /**< Offset: 0x20 (R/W  16) Secure Unlock Register */
+  __IO NVMCTRL_NSULCK_Type            NSULCK;         /**< Offset: 0x22 (R/W  16) Non-Secure Unlock Register */
+  __IO NVMCTRL_PARAM_Type             PARAM;          /**< Offset: 0x24 (R/W  32) NVM Parameter */
+  __I  uint8_t                        Reserved8[8];
+  __O  NVMCTRL_DSCC_Type              DSCC;           /**< Offset: 0x30 ( /W  32) Data Scramble Configuration */
+  __IO NVMCTRL_SECCTRL_Type           SECCTRL;        /**< Offset: 0x34 (R/W  32) Security Control */
+  __IO NVMCTRL_SCFGB_Type             SCFGB;          /**< Offset: 0x38 (R/W  32) Secure Boot Configuration */
+  __IO NVMCTRL_SCFGAD_Type            SCFGAD;         /**< Offset: 0x3C (R/W  32) Secure Application and Data Configuration */
+  __IO NVMCTRL_NONSEC_Type            NONSEC;         /**< Offset: 0x40 (R/W  32) Non-secure Write Enable */
+  __IO NVMCTRL_NSCHK_Type             NSCHK;          /**< Offset: 0x44 (R/W  32) Non-secure Write Reference Value */
+} Nvmctrl;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+#if defined (__GNUC__) || defined (__CC_ARM)
+  #define SECTION_AUX                  __attribute__ ((section(".flash")))
+  #define SECTION_BOCOR                __attribute__ ((section(".flash")))
+  #define SECTION_DATAFLASH            __attribute__ ((section(".flash")))
+  #define SECTION_SW_CALIB             __attribute__ ((section(".flash")))
+  #define SECTION_TEMP_LOG             __attribute__ ((section(".flash")))
+  #define SECTION_USER_PAGE            __attribute__ ((section(".flash")))
+
+#elif defined(__ICCARM__)
+  #define SECTION_AUX                  @".flash"
+  #define SECTION_BOCOR                @".flash"
+  #define SECTION_DATAFLASH            @".flash"
+  #define SECTION_SW_CALIB             @".flash"
+  #define SECTION_TEMP_LOG             @".flash"
+  #define SECTION_USER_PAGE            @".flash"
+
+#endif
+  #define SECTION_NVMCTRL_AUX          SECTION_AUX          /**< \brief \deprecated Old style definition. Use SECTION_AUX instead */
+  #define SECTION_NVMCTRL_BOCOR        SECTION_BOCOR        /**< \brief \deprecated Old style definition. Use SECTION_BOCOR instead */
+  #define SECTION_NVMCTRL_DATAFLASH    SECTION_DATAFLASH    /**< \brief \deprecated Old style definition. Use SECTION_DATAFLASH instead */
+  #define SECTION_NVMCTRL_SW_CALIB     SECTION_SW_CALIB     /**< \brief \deprecated Old style definition. Use SECTION_SW_CALIB instead */
+  #define SECTION_NVMCTRL_TEMP_LOG     SECTION_TEMP_LOG     /**< \brief \deprecated Old style definition. Use SECTION_TEMP_LOG instead */
+  #define SECTION_NVMCTRL_USER         SECTION_USER_PAGE    /**< \brief \deprecated Old style definition. Use SECTION_USER_PAGE instead */
+
+/** @}  end of Non-Volatile Memory Controller */
+
+/** \addtogroup fuses_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR NON-VOLATILE FUSES */
+/* ************************************************************************** */
+#define ADC_FUSES_BIASCOMP_ADDR     SW_CALIB_ADDR
+#define ADC_FUSES_BIASCOMP_Pos      3            /**< \brief (SW_CALIB_ADDR) ADC Comparator Scaling */
+#define ADC_FUSES_BIASCOMP_Msk      (_U_(0x7) << ADC_FUSES_BIASCOMP_Pos)
+#define ADC_FUSES_BIASCOMP(value)   (ADC_FUSES_BIASCOMP_Msk & ((value) << ADC_FUSES_BIASCOMP_Pos))
+
+#define ADC_FUSES_BIASREFBUF_ADDR   SW_CALIB_ADDR
+#define ADC_FUSES_BIASREFBUF_Pos    0            /**< \brief (SW_CALIB_ADDR) ADC Bias Reference Buffer Scaling */
+#define ADC_FUSES_BIASREFBUF_Msk    (_U_(0x7) << ADC_FUSES_BIASREFBUF_Pos)
+#define ADC_FUSES_BIASREFBUF(value) (ADC_FUSES_BIASREFBUF_Msk & ((value) << ADC_FUSES_BIASREFBUF_Pos))
+
+#define FUSES_BOD33USERLEVEL_ADDR   USER_PAGE_ADDR
+#define FUSES_BOD33USERLEVEL_Pos    7            /**< \brief (USER_PAGE_ADDR) BOD33 User Level */
+#define FUSES_BOD33USERLEVEL_Msk    (_U_(0x3F) << FUSES_BOD33USERLEVEL_Pos)
+#define FUSES_BOD33USERLEVEL(value) (FUSES_BOD33USERLEVEL_Msk & ((value) << FUSES_BOD33USERLEVEL_Pos))
+
+#define FUSES_BOD33_ACTION_ADDR     USER_PAGE_ADDR
+#define FUSES_BOD33_ACTION_Pos      14           /**< \brief (USER_PAGE_ADDR) BOD33 Action */
+#define FUSES_BOD33_ACTION_Msk      (_U_(0x3) << FUSES_BOD33_ACTION_Pos)
+#define FUSES_BOD33_ACTION(value)   (FUSES_BOD33_ACTION_Msk & ((value) << FUSES_BOD33_ACTION_Pos))
+
+#define FUSES_BOD33_DIS_ADDR        USER_PAGE_ADDR
+#define FUSES_BOD33_DIS_Pos         13           /**< \brief (USER_PAGE_ADDR) BOD33 Disable */
+#define FUSES_BOD33_DIS_Msk         (_U_(0x1) << FUSES_BOD33_DIS_Pos)
+
+#define FUSES_BOD33_HYST_ADDR       (USER_PAGE_ADDR + 4)
+#define FUSES_BOD33_HYST_Pos        9            /**< \brief (USER_PAGE_ADDR) BOD33 Hysteresis */
+#define FUSES_BOD33_HYST_Msk        (_U_(0x1) << FUSES_BOD33_HYST_Pos)
+
+#define FUSES_BOOTROM_BOCORCRC_ADDR (BOCOR_ADDR + 8)
+#define FUSES_BOOTROM_BOCORCRC_Pos  0            /**< \brief (BOCOR_ADDR) CRC for BOCOR0 DWORD */
+#define FUSES_BOOTROM_BOCORCRC_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORCRC_Pos)
+#define FUSES_BOOTROM_BOCORCRC(value) (FUSES_BOOTROM_BOCORCRC_Msk & ((value) << FUSES_BOOTROM_BOCORCRC_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_0_ADDR (BOCOR_ADDR + 224)
+#define FUSES_BOOTROM_BOCORHASH_0_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 31:0 */
+#define FUSES_BOOTROM_BOCORHASH_0_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_0_Pos)
+#define FUSES_BOOTROM_BOCORHASH_0(value) (FUSES_BOOTROM_BOCORHASH_0_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_0_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_1_ADDR (BOCOR_ADDR + 228)
+#define FUSES_BOOTROM_BOCORHASH_1_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 63:32 */
+#define FUSES_BOOTROM_BOCORHASH_1_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_1_Pos)
+#define FUSES_BOOTROM_BOCORHASH_1(value) (FUSES_BOOTROM_BOCORHASH_1_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_1_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_2_ADDR (BOCOR_ADDR + 232)
+#define FUSES_BOOTROM_BOCORHASH_2_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 95:64 */
+#define FUSES_BOOTROM_BOCORHASH_2_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_2_Pos)
+#define FUSES_BOOTROM_BOCORHASH_2(value) (FUSES_BOOTROM_BOCORHASH_2_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_2_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_3_ADDR (BOCOR_ADDR + 236)
+#define FUSES_BOOTROM_BOCORHASH_3_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 127:96 */
+#define FUSES_BOOTROM_BOCORHASH_3_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_3_Pos)
+#define FUSES_BOOTROM_BOCORHASH_3(value) (FUSES_BOOTROM_BOCORHASH_3_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_3_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_4_ADDR (BOCOR_ADDR + 240)
+#define FUSES_BOOTROM_BOCORHASH_4_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 159:128 */
+#define FUSES_BOOTROM_BOCORHASH_4_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_4_Pos)
+#define FUSES_BOOTROM_BOCORHASH_4(value) (FUSES_BOOTROM_BOCORHASH_4_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_4_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_5_ADDR (BOCOR_ADDR + 244)
+#define FUSES_BOOTROM_BOCORHASH_5_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 191:160 */
+#define FUSES_BOOTROM_BOCORHASH_5_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_5_Pos)
+#define FUSES_BOOTROM_BOCORHASH_5(value) (FUSES_BOOTROM_BOCORHASH_5_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_5_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_6_ADDR (BOCOR_ADDR + 248)
+#define FUSES_BOOTROM_BOCORHASH_6_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 223:192 */
+#define FUSES_BOOTROM_BOCORHASH_6_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_6_Pos)
+#define FUSES_BOOTROM_BOCORHASH_6(value) (FUSES_BOOTROM_BOCORHASH_6_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_6_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_7_ADDR (BOCOR_ADDR + 252)
+#define FUSES_BOOTROM_BOCORHASH_7_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 255:224 */
+#define FUSES_BOOTROM_BOCORHASH_7_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_7_Pos)
+#define FUSES_BOOTROM_BOCORHASH_7(value) (FUSES_BOOTROM_BOCORHASH_7_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_7_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_0_ADDR (BOCOR_ADDR + 80)
+#define FUSES_BOOTROM_BOOTKEY_0_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 31:0 */
+#define FUSES_BOOTROM_BOOTKEY_0_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_0_Pos)
+#define FUSES_BOOTROM_BOOTKEY_0(value) (FUSES_BOOTROM_BOOTKEY_0_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_0_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_1_ADDR (BOCOR_ADDR + 84)
+#define FUSES_BOOTROM_BOOTKEY_1_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 63:32 */
+#define FUSES_BOOTROM_BOOTKEY_1_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_1_Pos)
+#define FUSES_BOOTROM_BOOTKEY_1(value) (FUSES_BOOTROM_BOOTKEY_1_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_1_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_2_ADDR (BOCOR_ADDR + 88)
+#define FUSES_BOOTROM_BOOTKEY_2_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 95:64 */
+#define FUSES_BOOTROM_BOOTKEY_2_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_2_Pos)
+#define FUSES_BOOTROM_BOOTKEY_2(value) (FUSES_BOOTROM_BOOTKEY_2_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_2_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_3_ADDR (BOCOR_ADDR + 92)
+#define FUSES_BOOTROM_BOOTKEY_3_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 127:96 */
+#define FUSES_BOOTROM_BOOTKEY_3_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_3_Pos)
+#define FUSES_BOOTROM_BOOTKEY_3(value) (FUSES_BOOTROM_BOOTKEY_3_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_3_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_4_ADDR (BOCOR_ADDR + 96)
+#define FUSES_BOOTROM_BOOTKEY_4_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 159:128 */
+#define FUSES_BOOTROM_BOOTKEY_4_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_4_Pos)
+#define FUSES_BOOTROM_BOOTKEY_4(value) (FUSES_BOOTROM_BOOTKEY_4_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_4_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_5_ADDR (BOCOR_ADDR + 100)
+#define FUSES_BOOTROM_BOOTKEY_5_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 191:160 */
+#define FUSES_BOOTROM_BOOTKEY_5_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_5_Pos)
+#define FUSES_BOOTROM_BOOTKEY_5(value) (FUSES_BOOTROM_BOOTKEY_5_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_5_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_6_ADDR (BOCOR_ADDR + 104)
+#define FUSES_BOOTROM_BOOTKEY_6_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 223:192 */
+#define FUSES_BOOTROM_BOOTKEY_6_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_6_Pos)
+#define FUSES_BOOTROM_BOOTKEY_6(value) (FUSES_BOOTROM_BOOTKEY_6_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_6_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_7_ADDR (BOCOR_ADDR + 108)
+#define FUSES_BOOTROM_BOOTKEY_7_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 255:224 */
+#define FUSES_BOOTROM_BOOTKEY_7_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_7_Pos)
+#define FUSES_BOOTROM_BOOTKEY_7(value) (FUSES_BOOTROM_BOOTKEY_7_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_7_Pos))
+
+#define FUSES_BOOTROM_BOOTOPT_ADDR  BOCOR_ADDR
+#define FUSES_BOOTROM_BOOTOPT_Pos   24           /**< \brief (BOCOR_ADDR) Boot Option */
+#define FUSES_BOOTROM_BOOTOPT_Msk   (_U_(0xFF) << FUSES_BOOTROM_BOOTOPT_Pos)
+#define FUSES_BOOTROM_BOOTOPT(value) (FUSES_BOOTROM_BOOTOPT_Msk & ((value) << FUSES_BOOTROM_BOOTOPT_Pos))
+
+#define FUSES_BOOTROM_CEKEY0_0_ADDR (BOCOR_ADDR + 16)
+#define FUSES_BOOTROM_CEKEY0_0_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 0 bits 31:0 */
+#define FUSES_BOOTROM_CEKEY0_0_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY0_0_Pos)
+#define FUSES_BOOTROM_CEKEY0_0(value) (FUSES_BOOTROM_CEKEY0_0_Msk & ((value) << FUSES_BOOTROM_CEKEY0_0_Pos))
+
+#define FUSES_BOOTROM_CEKEY0_1_ADDR (BOCOR_ADDR + 20)
+#define FUSES_BOOTROM_CEKEY0_1_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 0 bits 63:32 */
+#define FUSES_BOOTROM_CEKEY0_1_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY0_1_Pos)
+#define FUSES_BOOTROM_CEKEY0_1(value) (FUSES_BOOTROM_CEKEY0_1_Msk & ((value) << FUSES_BOOTROM_CEKEY0_1_Pos))
+
+#define FUSES_BOOTROM_CEKEY0_2_ADDR (BOCOR_ADDR + 24)
+#define FUSES_BOOTROM_CEKEY0_2_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 0 bits 95:64 */
+#define FUSES_BOOTROM_CEKEY0_2_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY0_2_Pos)
+#define FUSES_BOOTROM_CEKEY0_2(value) (FUSES_BOOTROM_CEKEY0_2_Msk & ((value) << FUSES_BOOTROM_CEKEY0_2_Pos))
+
+#define FUSES_BOOTROM_CEKEY0_3_ADDR (BOCOR_ADDR + 28)
+#define FUSES_BOOTROM_CEKEY0_3_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 0 bits 127:96 */
+#define FUSES_BOOTROM_CEKEY0_3_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY0_3_Pos)
+#define FUSES_BOOTROM_CEKEY0_3(value) (FUSES_BOOTROM_CEKEY0_3_Msk & ((value) << FUSES_BOOTROM_CEKEY0_3_Pos))
+
+#define FUSES_BOOTROM_CEKEY1_0_ADDR (BOCOR_ADDR + 32)
+#define FUSES_BOOTROM_CEKEY1_0_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 1 bits 31:0 */
+#define FUSES_BOOTROM_CEKEY1_0_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY1_0_Pos)
+#define FUSES_BOOTROM_CEKEY1_0(value) (FUSES_BOOTROM_CEKEY1_0_Msk & ((value) << FUSES_BOOTROM_CEKEY1_0_Pos))
+
+#define FUSES_BOOTROM_CEKEY1_1_ADDR (BOCOR_ADDR + 36)
+#define FUSES_BOOTROM_CEKEY1_1_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 1 bits 63:32 */
+#define FUSES_BOOTROM_CEKEY1_1_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY1_1_Pos)
+#define FUSES_BOOTROM_CEKEY1_1(value) (FUSES_BOOTROM_CEKEY1_1_Msk & ((value) << FUSES_BOOTROM_CEKEY1_1_Pos))
+
+#define FUSES_BOOTROM_CEKEY1_2_ADDR (BOCOR_ADDR + 40)
+#define FUSES_BOOTROM_CEKEY1_2_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 1 bits 95:64 */
+#define FUSES_BOOTROM_CEKEY1_2_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY1_2_Pos)
+#define FUSES_BOOTROM_CEKEY1_2(value) (FUSES_BOOTROM_CEKEY1_2_Msk & ((value) << FUSES_BOOTROM_CEKEY1_2_Pos))
+
+#define FUSES_BOOTROM_CEKEY1_3_ADDR (BOCOR_ADDR + 44)
+#define FUSES_BOOTROM_CEKEY1_3_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 1 bits 127:96 */
+#define FUSES_BOOTROM_CEKEY1_3_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY1_3_Pos)
+#define FUSES_BOOTROM_CEKEY1_3(value) (FUSES_BOOTROM_CEKEY1_3_Msk & ((value) << FUSES_BOOTROM_CEKEY1_3_Pos))
+
+#define FUSES_BOOTROM_CEKEY2_0_ADDR (BOCOR_ADDR + 48)
+#define FUSES_BOOTROM_CEKEY2_0_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 2 bits 31:0 */
+#define FUSES_BOOTROM_CEKEY2_0_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY2_0_Pos)
+#define FUSES_BOOTROM_CEKEY2_0(value) (FUSES_BOOTROM_CEKEY2_0_Msk & ((value) << FUSES_BOOTROM_CEKEY2_0_Pos))
+
+#define FUSES_BOOTROM_CEKEY2_1_ADDR (BOCOR_ADDR + 52)
+#define FUSES_BOOTROM_CEKEY2_1_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 2 bits 63:32 */
+#define FUSES_BOOTROM_CEKEY2_1_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY2_1_Pos)
+#define FUSES_BOOTROM_CEKEY2_1(value) (FUSES_BOOTROM_CEKEY2_1_Msk & ((value) << FUSES_BOOTROM_CEKEY2_1_Pos))
+
+#define FUSES_BOOTROM_CEKEY2_2_ADDR (BOCOR_ADDR + 56)
+#define FUSES_BOOTROM_CEKEY2_2_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 2 bits 95:64 */
+#define FUSES_BOOTROM_CEKEY2_2_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY2_2_Pos)
+#define FUSES_BOOTROM_CEKEY2_2(value) (FUSES_BOOTROM_CEKEY2_2_Msk & ((value) << FUSES_BOOTROM_CEKEY2_2_Pos))
+
+#define FUSES_BOOTROM_CEKEY2_3_ADDR (BOCOR_ADDR + 60)
+#define FUSES_BOOTROM_CEKEY2_3_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 2 bits 127:96 */
+#define FUSES_BOOTROM_CEKEY2_3_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY2_3_Pos)
+#define FUSES_BOOTROM_CEKEY2_3(value) (FUSES_BOOTROM_CEKEY2_3_Msk & ((value) << FUSES_BOOTROM_CEKEY2_3_Pos))
+
+#define FUSES_BOOTROM_CRCKEY_0_ADDR (BOCOR_ADDR + 64)
+#define FUSES_BOOTROM_CRCKEY_0_Pos  0            /**< \brief (BOCOR_ADDR) CRC Key bits 31:0 */
+#define FUSES_BOOTROM_CRCKEY_0_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CRCKEY_0_Pos)
+#define FUSES_BOOTROM_CRCKEY_0(value) (FUSES_BOOTROM_CRCKEY_0_Msk & ((value) << FUSES_BOOTROM_CRCKEY_0_Pos))
+
+#define FUSES_BOOTROM_CRCKEY_1_ADDR (BOCOR_ADDR + 68)
+#define FUSES_BOOTROM_CRCKEY_1_Pos  0            /**< \brief (BOCOR_ADDR) CRC Key bits 63:32 */
+#define FUSES_BOOTROM_CRCKEY_1_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CRCKEY_1_Pos)
+#define FUSES_BOOTROM_CRCKEY_1(value) (FUSES_BOOTROM_CRCKEY_1_Msk & ((value) << FUSES_BOOTROM_CRCKEY_1_Pos))
+
+#define FUSES_BOOTROM_CRCKEY_2_ADDR (BOCOR_ADDR + 72)
+#define FUSES_BOOTROM_CRCKEY_2_Pos  0            /**< \brief (BOCOR_ADDR) CRC Key bits 95:64 */
+#define FUSES_BOOTROM_CRCKEY_2_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CRCKEY_2_Pos)
+#define FUSES_BOOTROM_CRCKEY_2(value) (FUSES_BOOTROM_CRCKEY_2_Msk & ((value) << FUSES_BOOTROM_CRCKEY_2_Pos))
+
+#define FUSES_BOOTROM_CRCKEY_3_ADDR (BOCOR_ADDR + 76)
+#define FUSES_BOOTROM_CRCKEY_3_Pos  0            /**< \brief (BOCOR_ADDR) CRC Key bits 127:96 */
+#define FUSES_BOOTROM_CRCKEY_3_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CRCKEY_3_Pos)
+#define FUSES_BOOTROM_CRCKEY_3(value) (FUSES_BOOTROM_CRCKEY_3_Msk & ((value) << FUSES_BOOTROM_CRCKEY_3_Pos))
+
+#define FUSES_BOOTROM_DXN_ADDR      (USER_PAGE_ADDR + 4)
+#define FUSES_BOOTROM_DXN_Pos       12           /**< \brief (USER_PAGE_ADDR) DATA FLASH is eXecute Never */
+#define FUSES_BOOTROM_DXN_Msk       (_U_(0x1) << FUSES_BOOTROM_DXN_Pos)
+
+#define FUSES_BOOTROM_NONSECA_ADDR  (USER_PAGE_ADDR + 16)
+#define FUSES_BOOTROM_NONSECA_Pos   0            /**< \brief (USER_PAGE_ADDR) NONSEC fuses for the bridgeA peripherals */
+#define FUSES_BOOTROM_NONSECA_Msk   (_U_(0xFFFFFFFF) << FUSES_BOOTROM_NONSECA_Pos)
+#define FUSES_BOOTROM_NONSECA(value) (FUSES_BOOTROM_NONSECA_Msk & ((value) << FUSES_BOOTROM_NONSECA_Pos))
+
+#define FUSES_BOOTROM_NONSECB_ADDR  (USER_PAGE_ADDR + 20)
+#define FUSES_BOOTROM_NONSECB_Pos   0            /**< \brief (USER_PAGE_ADDR) NONSEC fuses for the bridgeB peripherals */
+#define FUSES_BOOTROM_NONSECB_Msk   (_U_(0xFFFFFFFF) << FUSES_BOOTROM_NONSECB_Pos)
+#define FUSES_BOOTROM_NONSECB(value) (FUSES_BOOTROM_NONSECB_Msk & ((value) << FUSES_BOOTROM_NONSECB_Pos))
+
+#define FUSES_BOOTROM_NONSECC_ADDR  (USER_PAGE_ADDR + 24)
+#define FUSES_BOOTROM_NONSECC_Pos   0            /**< \brief (USER_PAGE_ADDR) NONSEC fuses for the bridgeC peripherals */
+#define FUSES_BOOTROM_NONSECC_Msk   (_U_(0xFFFFFFFF) << FUSES_BOOTROM_NONSECC_Pos)
+#define FUSES_BOOTROM_NONSECC(value) (FUSES_BOOTROM_NONSECC_Msk & ((value) << FUSES_BOOTROM_NONSECC_Pos))
+
+#define FUSES_BOOTROM_ROMVERSION_ADDR (BOCOR_ADDR + 12)
+#define FUSES_BOOTROM_ROMVERSION_Pos 0            /**< \brief (BOCOR_ADDR) BOOTROM Version */
+#define FUSES_BOOTROM_ROMVERSION_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_ROMVERSION_Pos)
+#define FUSES_BOOTROM_ROMVERSION(value) (FUSES_BOOTROM_ROMVERSION_Msk & ((value) << FUSES_BOOTROM_ROMVERSION_Pos))
+
+#define FUSES_BOOTROM_RXN_ADDR      (USER_PAGE_ADDR + 4)
+#define FUSES_BOOTROM_RXN_Pos       11           /**< \brief (USER_PAGE_ADDR) RAM is eXecute Never */
+#define FUSES_BOOTROM_RXN_Msk       (_U_(0x1) << FUSES_BOOTROM_RXN_Pos)
+
+#define FUSES_BOOTROM_USERCRC_ADDR  (USER_PAGE_ADDR + 28)
+#define FUSES_BOOTROM_USERCRC_Pos   0            /**< \brief (USER_PAGE_ADDR) CRC for USER[1,2,3] DWORDS */
+#define FUSES_BOOTROM_USERCRC_Msk   (_U_(0xFFFFFFFF) << FUSES_BOOTROM_USERCRC_Pos)
+#define FUSES_BOOTROM_USERCRC(value) (FUSES_BOOTROM_USERCRC_Msk & ((value) << FUSES_BOOTROM_USERCRC_Pos))
+
+#define FUSES_DFLLULP_DIV_PL0_ADDR  SW_CALIB_ADDR
+#define FUSES_DFLLULP_DIV_PL0_Pos   6            /**< \brief (SW_CALIB_ADDR) DFLLULP DIV at PL0 */
+#define FUSES_DFLLULP_DIV_PL0_Msk   (_U_(0x7) << FUSES_DFLLULP_DIV_PL0_Pos)
+#define FUSES_DFLLULP_DIV_PL0(value) (FUSES_DFLLULP_DIV_PL0_Msk & ((value) << FUSES_DFLLULP_DIV_PL0_Pos))
+
+#define FUSES_DFLLULP_DIV_PL2_ADDR  SW_CALIB_ADDR
+#define FUSES_DFLLULP_DIV_PL2_Pos   9            /**< \brief (SW_CALIB_ADDR) DFLLULP DIV at PL2 */
+#define FUSES_DFLLULP_DIV_PL2_Msk   (_U_(0x7) << FUSES_DFLLULP_DIV_PL2_Pos)
+#define FUSES_DFLLULP_DIV_PL2(value) (FUSES_DFLLULP_DIV_PL2_Msk & ((value) << FUSES_DFLLULP_DIV_PL2_Pos))
+
+#define FUSES_HOT_ADC_VAL_PTAT_ADDR (TEMP_LOG_ADDR + 4)
+#define FUSES_HOT_ADC_VAL_PTAT_Pos  20           /**< \brief (TEMP_LOG_ADDR) 12-bit ADC conversion at hot temperature PTAT */
+#define FUSES_HOT_ADC_VAL_PTAT_Msk  (_U_(0xFFF) << FUSES_HOT_ADC_VAL_PTAT_Pos)
+#define FUSES_HOT_ADC_VAL_PTAT(value) (FUSES_HOT_ADC_VAL_PTAT_Msk & ((value) << FUSES_HOT_ADC_VAL_PTAT_Pos))
+
+#define FUSES_HOT_INT1V_VAL_ADDR    (TEMP_LOG_ADDR + 4)
+#define FUSES_HOT_INT1V_VAL_Pos     0            /**< \brief (TEMP_LOG_ADDR) 2's complement of the internal 1V reference drift at hot temperature (versus a 1.0 centered value) */
+#define FUSES_HOT_INT1V_VAL_Msk     (_U_(0xFF) << FUSES_HOT_INT1V_VAL_Pos)
+#define FUSES_HOT_INT1V_VAL(value)  (FUSES_HOT_INT1V_VAL_Msk & ((value) << FUSES_HOT_INT1V_VAL_Pos))
+
+#define FUSES_HOT_TEMP_VAL_DEC_ADDR TEMP_LOG_ADDR
+#define FUSES_HOT_TEMP_VAL_DEC_Pos  20           /**< \brief (TEMP_LOG_ADDR) Decimal part of hot temperature */
+#define FUSES_HOT_TEMP_VAL_DEC_Msk  (_U_(0xF) << FUSES_HOT_TEMP_VAL_DEC_Pos)
+#define FUSES_HOT_TEMP_VAL_DEC(value) (FUSES_HOT_TEMP_VAL_DEC_Msk & ((value) << FUSES_HOT_TEMP_VAL_DEC_Pos))
+
+#define FUSES_HOT_TEMP_VAL_INT_ADDR TEMP_LOG_ADDR
+#define FUSES_HOT_TEMP_VAL_INT_Pos  12           /**< \brief (TEMP_LOG_ADDR) Integer part of hot temperature in oC */
+#define FUSES_HOT_TEMP_VAL_INT_Msk  (_U_(0xFF) << FUSES_HOT_TEMP_VAL_INT_Pos)
+#define FUSES_HOT_TEMP_VAL_INT(value) (FUSES_HOT_TEMP_VAL_INT_Msk & ((value) << FUSES_HOT_TEMP_VAL_INT_Pos))
+
+#define FUSES_ROOM_ADC_VAL_PTAT_ADDR (TEMP_LOG_ADDR + 4)
+#define FUSES_ROOM_ADC_VAL_PTAT_Pos 8            /**< \brief (TEMP_LOG_ADDR) 12-bit ADC conversion at room temperature PTAT */
+#define FUSES_ROOM_ADC_VAL_PTAT_Msk (_U_(0xFFF) << FUSES_ROOM_ADC_VAL_PTAT_Pos)
+#define FUSES_ROOM_ADC_VAL_PTAT(value) (FUSES_ROOM_ADC_VAL_PTAT_Msk & ((value) << FUSES_ROOM_ADC_VAL_PTAT_Pos))
+
+#define FUSES_ROOM_INT1V_VAL_ADDR   TEMP_LOG_ADDR
+#define FUSES_ROOM_INT1V_VAL_Pos    24           /**< \brief (TEMP_LOG_ADDR) 2's complement of the internal 1V reference drift at room temperature (versus a 1.0 centered value) */
+#define FUSES_ROOM_INT1V_VAL_Msk    (_U_(0xFF) << FUSES_ROOM_INT1V_VAL_Pos)
+#define FUSES_ROOM_INT1V_VAL(value) (FUSES_ROOM_INT1V_VAL_Msk & ((value) << FUSES_ROOM_INT1V_VAL_Pos))
+
+#define FUSES_ROOM_TEMP_VAL_DEC_ADDR TEMP_LOG_ADDR
+#define FUSES_ROOM_TEMP_VAL_DEC_Pos 8            /**< \brief (TEMP_LOG_ADDR) Decimal part of room temperature */
+#define FUSES_ROOM_TEMP_VAL_DEC_Msk (_U_(0xF) << FUSES_ROOM_TEMP_VAL_DEC_Pos)
+#define FUSES_ROOM_TEMP_VAL_DEC(value) (FUSES_ROOM_TEMP_VAL_DEC_Msk & ((value) << FUSES_ROOM_TEMP_VAL_DEC_Pos))
+
+#define FUSES_ROOM_TEMP_VAL_INT_ADDR TEMP_LOG_ADDR
+#define FUSES_ROOM_TEMP_VAL_INT_Pos 0            /**< \brief (TEMP_LOG_ADDR) Integer part of room temperature in oC */
+#define FUSES_ROOM_TEMP_VAL_INT_Msk (_U_(0xFF) << FUSES_ROOM_TEMP_VAL_INT_Pos)
+#define FUSES_ROOM_TEMP_VAL_INT(value) (FUSES_ROOM_TEMP_VAL_INT_Msk & ((value) << FUSES_ROOM_TEMP_VAL_INT_Pos))
+
+#define NVMCTRL_FUSES_BCREN_ADDR    (BOCOR_ADDR + 4)
+#define NVMCTRL_FUSES_BCREN_Pos     17           /**< \brief (BOCOR_ADDR) Boot Configuration Read Enable */
+#define NVMCTRL_FUSES_BCREN_Msk     (_U_(0x1) << NVMCTRL_FUSES_BCREN_Pos)
+
+#define NVMCTRL_FUSES_BCWEN_ADDR    (BOCOR_ADDR + 4)
+#define NVMCTRL_FUSES_BCWEN_Pos     16           /**< \brief (BOCOR_ADDR) Boot Configuration Write Enable */
+#define NVMCTRL_FUSES_BCWEN_Msk     (_U_(0x1) << NVMCTRL_FUSES_BCWEN_Pos)
+
+#define NVMCTRL_FUSES_NSULCK_ADDR   USER_PAGE_ADDR
+#define NVMCTRL_FUSES_NSULCK_Pos    3            /**< \brief (USER_PAGE_ADDR) NVM Non-Secure Region Locks */
+#define NVMCTRL_FUSES_NSULCK_Msk    (_U_(0x7) << NVMCTRL_FUSES_NSULCK_Pos)
+#define NVMCTRL_FUSES_NSULCK(value) (NVMCTRL_FUSES_NSULCK_Msk & ((value) << NVMCTRL_FUSES_NSULCK_Pos))
+
+#define NVMCTRL_FUSES_SULCK_ADDR    USER_PAGE_ADDR
+#define NVMCTRL_FUSES_SULCK_Pos     0            /**< \brief (USER_PAGE_ADDR) NVM Secure Region Locks */
+#define NVMCTRL_FUSES_SULCK_Msk     (_U_(0x7) << NVMCTRL_FUSES_SULCK_Pos)
+#define NVMCTRL_FUSES_SULCK(value)  (NVMCTRL_FUSES_SULCK_Msk & ((value) << NVMCTRL_FUSES_SULCK_Pos))
+
+#define NVMCTRL_FUSES_URWEN_ADDR    (USER_PAGE_ADDR + 12)
+#define NVMCTRL_FUSES_URWEN_Pos     0            /**< \brief (USER_PAGE_ADDR) User Row Write Enable */
+#define NVMCTRL_FUSES_URWEN_Msk     (_U_(0x1) << NVMCTRL_FUSES_URWEN_Pos)
+
+#define WDT_FUSES_ALWAYSON_ADDR     USER_PAGE_ADDR
+#define WDT_FUSES_ALWAYSON_Pos      27           /**< \brief (USER_PAGE_ADDR) WDT Always On */
+#define WDT_FUSES_ALWAYSON_Msk      (_U_(0x1) << WDT_FUSES_ALWAYSON_Pos)
+
+#define WDT_FUSES_ENABLE_ADDR       USER_PAGE_ADDR
+#define WDT_FUSES_ENABLE_Pos        26           /**< \brief (USER_PAGE_ADDR) WDT Enable */
+#define WDT_FUSES_ENABLE_Msk        (_U_(0x1) << WDT_FUSES_ENABLE_Pos)
+
+#define WDT_FUSES_EWOFFSET_ADDR     (USER_PAGE_ADDR + 4)
+#define WDT_FUSES_EWOFFSET_Pos      4            /**< \brief (USER_PAGE_ADDR) WDT Early Warning Offset */
+#define WDT_FUSES_EWOFFSET_Msk      (_U_(0xF) << WDT_FUSES_EWOFFSET_Pos)
+#define WDT_FUSES_EWOFFSET(value)   (WDT_FUSES_EWOFFSET_Msk & ((value) << WDT_FUSES_EWOFFSET_Pos))
+
+#define WDT_FUSES_PER_ADDR          USER_PAGE_ADDR
+#define WDT_FUSES_PER_Pos           28           /**< \brief (USER_PAGE_ADDR) WDT Period */
+#define WDT_FUSES_PER_Msk           (_U_(0xF) << WDT_FUSES_PER_Pos)
+#define WDT_FUSES_PER(value)        (WDT_FUSES_PER_Msk & ((value) << WDT_FUSES_PER_Pos))
+
+#define WDT_FUSES_RUNSTDBY_ADDR     USER_PAGE_ADDR
+#define WDT_FUSES_RUNSTDBY_Pos      25           /**< \brief (USER_PAGE_ADDR) WDT Run During Standby */
+#define WDT_FUSES_RUNSTDBY_Msk      (_U_(0x1) << WDT_FUSES_RUNSTDBY_Pos)
+
+#define WDT_FUSES_WEN_ADDR          (USER_PAGE_ADDR + 4)
+#define WDT_FUSES_WEN_Pos           8            /**< \brief (USER_PAGE_ADDR) WDT Window Mode Enable */
+#define WDT_FUSES_WEN_Msk           (_U_(0x1) << WDT_FUSES_WEN_Pos)
+
+#define WDT_FUSES_WINDOW_ADDR       (USER_PAGE_ADDR + 4)
+#define WDT_FUSES_WINDOW_Pos        0            /**< \brief (USER_PAGE_ADDR) WDT Window */
+#define WDT_FUSES_WINDOW_Msk        (_U_(0xF) << WDT_FUSES_WINDOW_Pos)
+#define WDT_FUSES_WINDOW(value)     (WDT_FUSES_WINDOW_Msk & ((value) << WDT_FUSES_WINDOW_Pos))
+
+/** @}  end of Peripheral Software API */
+
+#endif /* _SAML10_NVMCTRL_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/opamp.h b/cpu/sam0_common/include/vendor/saml10/include/component/opamp.h
new file mode 100644
index 0000000000..e7b79389f0
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/opamp.h
@@ -0,0 +1,227 @@
+/**
+ * \file
+ *
+ * \brief Component description for OPAMP
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_OPAMP_COMPONENT_H_
+#define _SAML10_OPAMP_COMPONENT_H_
+#define _SAML10_OPAMP_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Operational Amplifier
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR OPAMP */
+/* ========================================================================== */
+
+#define OPAMP_U2237                      /**< (OPAMP) Module ID */
+#define REV_OPAMP 0x200                  /**< (OPAMP) Module revision */
+
+/* -------- OPAMP_CTRLA : (OPAMP Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint8_t  :5;                        /**< bit:   2..6  Reserved */
+    uint8_t  LPMUX:1;                   /**< bit:      7  Low-Power Mux                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OPAMP_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OPAMP_CTRLA_OFFSET                  (0x00)                                        /**<  (OPAMP_CTRLA) Control A  Offset */
+#define OPAMP_CTRLA_RESETVALUE              _U_(0x00)                                     /**<  (OPAMP_CTRLA) Control A  Reset Value */
+
+#define OPAMP_CTRLA_SWRST_Pos               0                                              /**< (OPAMP_CTRLA) Software Reset Position */
+#define OPAMP_CTRLA_SWRST_Msk               (_U_(0x1) << OPAMP_CTRLA_SWRST_Pos)            /**< (OPAMP_CTRLA) Software Reset Mask */
+#define OPAMP_CTRLA_SWRST                   OPAMP_CTRLA_SWRST_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_CTRLA_SWRST_Msk instead */
+#define OPAMP_CTRLA_ENABLE_Pos              1                                              /**< (OPAMP_CTRLA) Enable Position */
+#define OPAMP_CTRLA_ENABLE_Msk              (_U_(0x1) << OPAMP_CTRLA_ENABLE_Pos)           /**< (OPAMP_CTRLA) Enable Mask */
+#define OPAMP_CTRLA_ENABLE                  OPAMP_CTRLA_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_CTRLA_ENABLE_Msk instead */
+#define OPAMP_CTRLA_LPMUX_Pos               7                                              /**< (OPAMP_CTRLA) Low-Power Mux Position */
+#define OPAMP_CTRLA_LPMUX_Msk               (_U_(0x1) << OPAMP_CTRLA_LPMUX_Pos)            /**< (OPAMP_CTRLA) Low-Power Mux Mask */
+#define OPAMP_CTRLA_LPMUX                   OPAMP_CTRLA_LPMUX_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_CTRLA_LPMUX_Msk instead */
+#define OPAMP_CTRLA_MASK                    _U_(0x83)                                      /**< \deprecated (OPAMP_CTRLA) Register MASK  (Use OPAMP_CTRLA_Msk instead)  */
+#define OPAMP_CTRLA_Msk                     _U_(0x83)                                      /**< (OPAMP_CTRLA) Register Mask  */
+
+
+/* -------- OPAMP_STATUS : (OPAMP Offset: 0x02) (R/ 8) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  READY0:1;                  /**< bit:      0  OPAMP 0 Ready                            */
+    uint8_t  READY1:1;                  /**< bit:      1  OPAMP 1 Ready                            */
+    uint8_t  READY2:1;                  /**< bit:      2  OPAMP 2 Ready                            */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  READY:3;                   /**< bit:   0..2  OPAMP 2 Ready                            */
+    uint8_t  :5;                        /**< bit:   3..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} OPAMP_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OPAMP_STATUS_OFFSET                 (0x02)                                        /**<  (OPAMP_STATUS) Status  Offset */
+#define OPAMP_STATUS_RESETVALUE             _U_(0x00)                                     /**<  (OPAMP_STATUS) Status  Reset Value */
+
+#define OPAMP_STATUS_READY0_Pos             0                                              /**< (OPAMP_STATUS) OPAMP 0 Ready Position */
+#define OPAMP_STATUS_READY0_Msk             (_U_(0x1) << OPAMP_STATUS_READY0_Pos)          /**< (OPAMP_STATUS) OPAMP 0 Ready Mask */
+#define OPAMP_STATUS_READY0                 OPAMP_STATUS_READY0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_STATUS_READY0_Msk instead */
+#define OPAMP_STATUS_READY1_Pos             1                                              /**< (OPAMP_STATUS) OPAMP 1 Ready Position */
+#define OPAMP_STATUS_READY1_Msk             (_U_(0x1) << OPAMP_STATUS_READY1_Pos)          /**< (OPAMP_STATUS) OPAMP 1 Ready Mask */
+#define OPAMP_STATUS_READY1                 OPAMP_STATUS_READY1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_STATUS_READY1_Msk instead */
+#define OPAMP_STATUS_READY2_Pos             2                                              /**< (OPAMP_STATUS) OPAMP 2 Ready Position */
+#define OPAMP_STATUS_READY2_Msk             (_U_(0x1) << OPAMP_STATUS_READY2_Pos)          /**< (OPAMP_STATUS) OPAMP 2 Ready Mask */
+#define OPAMP_STATUS_READY2                 OPAMP_STATUS_READY2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_STATUS_READY2_Msk instead */
+#define OPAMP_STATUS_MASK                   _U_(0x07)                                      /**< \deprecated (OPAMP_STATUS) Register MASK  (Use OPAMP_STATUS_Msk instead)  */
+#define OPAMP_STATUS_Msk                    _U_(0x07)                                      /**< (OPAMP_STATUS) Register Mask  */
+
+#define OPAMP_STATUS_READY_Pos              0                                              /**< (OPAMP_STATUS Position) OPAMP 2 Ready */
+#define OPAMP_STATUS_READY_Msk              (_U_(0x7) << OPAMP_STATUS_READY_Pos)           /**< (OPAMP_STATUS Mask) READY */
+#define OPAMP_STATUS_READY(value)           (OPAMP_STATUS_READY_Msk & ((value) << OPAMP_STATUS_READY_Pos))  
+
+/* -------- OPAMP_OPAMPCTRL : (OPAMP Offset: 0x04) (R/W 32) OPAMP n Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Operational Amplifier Enable             */
+    uint32_t ANAOUT:1;                  /**< bit:      2  Analog Output                            */
+    uint32_t BIAS:2;                    /**< bit:   3..4  Bias Selection                           */
+    uint32_t RES2VCC:1;                 /**< bit:      5  Resistor ladder To VCC                   */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint32_t ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+    uint32_t RES2OUT:1;                 /**< bit:      8  Resistor ladder To Output                */
+    uint32_t RES1EN:1;                  /**< bit:      9  Resistor 1 Enable                        */
+    uint32_t RES1MUX:3;                 /**< bit: 10..12  Resistor 1 Mux                           */
+    uint32_t POTMUX:3;                  /**< bit: 13..15  Potentiometer Selection                  */
+    uint32_t MUXPOS:4;                  /**< bit: 16..19  Positive Input Mux Selection             */
+    uint32_t MUXNEG:4;                  /**< bit: 20..23  Negative Input Mux Selection             */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OPAMP_OPAMPCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OPAMP_OPAMPCTRL_OFFSET              (0x04)                                        /**<  (OPAMP_OPAMPCTRL) OPAMP n Control  Offset */
+#define OPAMP_OPAMPCTRL_RESETVALUE          _U_(0x00)                                     /**<  (OPAMP_OPAMPCTRL) OPAMP n Control  Reset Value */
+
+#define OPAMP_OPAMPCTRL_ENABLE_Pos          1                                              /**< (OPAMP_OPAMPCTRL) Operational Amplifier Enable Position */
+#define OPAMP_OPAMPCTRL_ENABLE_Msk          (_U_(0x1) << OPAMP_OPAMPCTRL_ENABLE_Pos)       /**< (OPAMP_OPAMPCTRL) Operational Amplifier Enable Mask */
+#define OPAMP_OPAMPCTRL_ENABLE              OPAMP_OPAMPCTRL_ENABLE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_ENABLE_Msk instead */
+#define OPAMP_OPAMPCTRL_ANAOUT_Pos          2                                              /**< (OPAMP_OPAMPCTRL) Analog Output Position */
+#define OPAMP_OPAMPCTRL_ANAOUT_Msk          (_U_(0x1) << OPAMP_OPAMPCTRL_ANAOUT_Pos)       /**< (OPAMP_OPAMPCTRL) Analog Output Mask */
+#define OPAMP_OPAMPCTRL_ANAOUT              OPAMP_OPAMPCTRL_ANAOUT_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_ANAOUT_Msk instead */
+#define OPAMP_OPAMPCTRL_BIAS_Pos            3                                              /**< (OPAMP_OPAMPCTRL) Bias Selection Position */
+#define OPAMP_OPAMPCTRL_BIAS_Msk            (_U_(0x3) << OPAMP_OPAMPCTRL_BIAS_Pos)         /**< (OPAMP_OPAMPCTRL) Bias Selection Mask */
+#define OPAMP_OPAMPCTRL_BIAS(value)         (OPAMP_OPAMPCTRL_BIAS_Msk & ((value) << OPAMP_OPAMPCTRL_BIAS_Pos))
+#define OPAMP_OPAMPCTRL_RES2VCC_Pos         5                                              /**< (OPAMP_OPAMPCTRL) Resistor ladder To VCC Position */
+#define OPAMP_OPAMPCTRL_RES2VCC_Msk         (_U_(0x1) << OPAMP_OPAMPCTRL_RES2VCC_Pos)      /**< (OPAMP_OPAMPCTRL) Resistor ladder To VCC Mask */
+#define OPAMP_OPAMPCTRL_RES2VCC             OPAMP_OPAMPCTRL_RES2VCC_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_RES2VCC_Msk instead */
+#define OPAMP_OPAMPCTRL_RUNSTDBY_Pos        6                                              /**< (OPAMP_OPAMPCTRL) Run in Standby Position */
+#define OPAMP_OPAMPCTRL_RUNSTDBY_Msk        (_U_(0x1) << OPAMP_OPAMPCTRL_RUNSTDBY_Pos)     /**< (OPAMP_OPAMPCTRL) Run in Standby Mask */
+#define OPAMP_OPAMPCTRL_RUNSTDBY            OPAMP_OPAMPCTRL_RUNSTDBY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_RUNSTDBY_Msk instead */
+#define OPAMP_OPAMPCTRL_ONDEMAND_Pos        7                                              /**< (OPAMP_OPAMPCTRL) On Demand Control Position */
+#define OPAMP_OPAMPCTRL_ONDEMAND_Msk        (_U_(0x1) << OPAMP_OPAMPCTRL_ONDEMAND_Pos)     /**< (OPAMP_OPAMPCTRL) On Demand Control Mask */
+#define OPAMP_OPAMPCTRL_ONDEMAND            OPAMP_OPAMPCTRL_ONDEMAND_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_ONDEMAND_Msk instead */
+#define OPAMP_OPAMPCTRL_RES2OUT_Pos         8                                              /**< (OPAMP_OPAMPCTRL) Resistor ladder To Output Position */
+#define OPAMP_OPAMPCTRL_RES2OUT_Msk         (_U_(0x1) << OPAMP_OPAMPCTRL_RES2OUT_Pos)      /**< (OPAMP_OPAMPCTRL) Resistor ladder To Output Mask */
+#define OPAMP_OPAMPCTRL_RES2OUT             OPAMP_OPAMPCTRL_RES2OUT_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_RES2OUT_Msk instead */
+#define OPAMP_OPAMPCTRL_RES1EN_Pos          9                                              /**< (OPAMP_OPAMPCTRL) Resistor 1 Enable Position */
+#define OPAMP_OPAMPCTRL_RES1EN_Msk          (_U_(0x1) << OPAMP_OPAMPCTRL_RES1EN_Pos)       /**< (OPAMP_OPAMPCTRL) Resistor 1 Enable Mask */
+#define OPAMP_OPAMPCTRL_RES1EN              OPAMP_OPAMPCTRL_RES1EN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_RES1EN_Msk instead */
+#define OPAMP_OPAMPCTRL_RES1MUX_Pos         10                                             /**< (OPAMP_OPAMPCTRL) Resistor 1 Mux Position */
+#define OPAMP_OPAMPCTRL_RES1MUX_Msk         (_U_(0x7) << OPAMP_OPAMPCTRL_RES1MUX_Pos)      /**< (OPAMP_OPAMPCTRL) Resistor 1 Mux Mask */
+#define OPAMP_OPAMPCTRL_RES1MUX(value)      (OPAMP_OPAMPCTRL_RES1MUX_Msk & ((value) << OPAMP_OPAMPCTRL_RES1MUX_Pos))
+#define OPAMP_OPAMPCTRL_POTMUX_Pos          13                                             /**< (OPAMP_OPAMPCTRL) Potentiometer Selection Position */
+#define OPAMP_OPAMPCTRL_POTMUX_Msk          (_U_(0x7) << OPAMP_OPAMPCTRL_POTMUX_Pos)       /**< (OPAMP_OPAMPCTRL) Potentiometer Selection Mask */
+#define OPAMP_OPAMPCTRL_POTMUX(value)       (OPAMP_OPAMPCTRL_POTMUX_Msk & ((value) << OPAMP_OPAMPCTRL_POTMUX_Pos))
+#define OPAMP_OPAMPCTRL_MUXPOS_Pos          16                                             /**< (OPAMP_OPAMPCTRL) Positive Input Mux Selection Position */
+#define OPAMP_OPAMPCTRL_MUXPOS_Msk          (_U_(0xF) << OPAMP_OPAMPCTRL_MUXPOS_Pos)       /**< (OPAMP_OPAMPCTRL) Positive Input Mux Selection Mask */
+#define OPAMP_OPAMPCTRL_MUXPOS(value)       (OPAMP_OPAMPCTRL_MUXPOS_Msk & ((value) << OPAMP_OPAMPCTRL_MUXPOS_Pos))
+#define OPAMP_OPAMPCTRL_MUXNEG_Pos          20                                             /**< (OPAMP_OPAMPCTRL) Negative Input Mux Selection Position */
+#define OPAMP_OPAMPCTRL_MUXNEG_Msk          (_U_(0xF) << OPAMP_OPAMPCTRL_MUXNEG_Pos)       /**< (OPAMP_OPAMPCTRL) Negative Input Mux Selection Mask */
+#define OPAMP_OPAMPCTRL_MUXNEG(value)       (OPAMP_OPAMPCTRL_MUXNEG_Msk & ((value) << OPAMP_OPAMPCTRL_MUXNEG_Pos))
+#define OPAMP_OPAMPCTRL_MASK                _U_(0xFFFFFE)                                  /**< \deprecated (OPAMP_OPAMPCTRL) Register MASK  (Use OPAMP_OPAMPCTRL_Msk instead)  */
+#define OPAMP_OPAMPCTRL_Msk                 _U_(0xFFFFFE)                                  /**< (OPAMP_OPAMPCTRL) Register Mask  */
+
+
+/* -------- OPAMP_RESCTRL : (OPAMP Offset: 0x10) (R/W 8) Resister Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RES2OUT:1;                 /**< bit:      0  Resistor ladder To Output                */
+    uint8_t  RES1EN:1;                  /**< bit:      1  Resistor 1 Enable                        */
+    uint8_t  RES1MUX:1;                 /**< bit:      2  Resistor 1 Mux                           */
+    uint8_t  POTMUX:3;                  /**< bit:   3..5  Potentiometer Selection                  */
+    uint8_t  REFBUFLEVEL:2;             /**< bit:   6..7  Reference output voltage level select    */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OPAMP_RESCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OPAMP_RESCTRL_OFFSET                (0x10)                                        /**<  (OPAMP_RESCTRL) Resister Control  Offset */
+#define OPAMP_RESCTRL_RESETVALUE            _U_(0x00)                                     /**<  (OPAMP_RESCTRL) Resister Control  Reset Value */
+
+#define OPAMP_RESCTRL_RES2OUT_Pos           0                                              /**< (OPAMP_RESCTRL) Resistor ladder To Output Position */
+#define OPAMP_RESCTRL_RES2OUT_Msk           (_U_(0x1) << OPAMP_RESCTRL_RES2OUT_Pos)        /**< (OPAMP_RESCTRL) Resistor ladder To Output Mask */
+#define OPAMP_RESCTRL_RES2OUT               OPAMP_RESCTRL_RES2OUT_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_RESCTRL_RES2OUT_Msk instead */
+#define OPAMP_RESCTRL_RES1EN_Pos            1                                              /**< (OPAMP_RESCTRL) Resistor 1 Enable Position */
+#define OPAMP_RESCTRL_RES1EN_Msk            (_U_(0x1) << OPAMP_RESCTRL_RES1EN_Pos)         /**< (OPAMP_RESCTRL) Resistor 1 Enable Mask */
+#define OPAMP_RESCTRL_RES1EN                OPAMP_RESCTRL_RES1EN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_RESCTRL_RES1EN_Msk instead */
+#define OPAMP_RESCTRL_RES1MUX_Pos           2                                              /**< (OPAMP_RESCTRL) Resistor 1 Mux Position */
+#define OPAMP_RESCTRL_RES1MUX_Msk           (_U_(0x1) << OPAMP_RESCTRL_RES1MUX_Pos)        /**< (OPAMP_RESCTRL) Resistor 1 Mux Mask */
+#define OPAMP_RESCTRL_RES1MUX               OPAMP_RESCTRL_RES1MUX_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_RESCTRL_RES1MUX_Msk instead */
+#define OPAMP_RESCTRL_POTMUX_Pos            3                                              /**< (OPAMP_RESCTRL) Potentiometer Selection Position */
+#define OPAMP_RESCTRL_POTMUX_Msk            (_U_(0x7) << OPAMP_RESCTRL_POTMUX_Pos)         /**< (OPAMP_RESCTRL) Potentiometer Selection Mask */
+#define OPAMP_RESCTRL_POTMUX(value)         (OPAMP_RESCTRL_POTMUX_Msk & ((value) << OPAMP_RESCTRL_POTMUX_Pos))
+#define OPAMP_RESCTRL_REFBUFLEVEL_Pos       6                                              /**< (OPAMP_RESCTRL) Reference output voltage level select Position */
+#define OPAMP_RESCTRL_REFBUFLEVEL_Msk       (_U_(0x3) << OPAMP_RESCTRL_REFBUFLEVEL_Pos)    /**< (OPAMP_RESCTRL) Reference output voltage level select Mask */
+#define OPAMP_RESCTRL_REFBUFLEVEL(value)    (OPAMP_RESCTRL_REFBUFLEVEL_Msk & ((value) << OPAMP_RESCTRL_REFBUFLEVEL_Pos))
+#define OPAMP_RESCTRL_MASK                  _U_(0xFF)                                      /**< \deprecated (OPAMP_RESCTRL) Register MASK  (Use OPAMP_RESCTRL_Msk instead)  */
+#define OPAMP_RESCTRL_Msk                   _U_(0xFF)                                      /**< (OPAMP_RESCTRL) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief OPAMP hardware registers */
+typedef struct {  /* Operational Amplifier */
+  __IO OPAMP_CTRLA_Type               CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __I  uint8_t                        Reserved1[1];
+  __I  OPAMP_STATUS_Type              STATUS;         /**< Offset: 0x02 (R/    8) Status */
+  __I  uint8_t                        Reserved2[1];
+  __IO OPAMP_OPAMPCTRL_Type           OPAMPCTRL[3];   /**< Offset: 0x04 (R/W  32) OPAMP n Control */
+  __IO OPAMP_RESCTRL_Type             RESCTRL;        /**< Offset: 0x10 (R/W   8) Resister Control */
+} Opamp;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Operational Amplifier */
+
+#endif /* _SAML10_OPAMP_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/osc32kctrl.h b/cpu/sam0_common/include/vendor/saml10/include/component/osc32kctrl.h
new file mode 100644
index 0000000000..2e443ec131
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/osc32kctrl.h
@@ -0,0 +1,344 @@
+/**
+ * \file
+ *
+ * \brief Component description for OSC32KCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_OSC32KCTRL_COMPONENT_H_
+#define _SAML10_OSC32KCTRL_COMPONENT_H_
+#define _SAML10_OSC32KCTRL_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 32k Oscillators Control
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR OSC32KCTRL */
+/* ========================================================================== */
+
+#define OSC32KCTRL_U2246                      /**< (OSC32KCTRL) Module ID */
+#define REV_OSC32KCTRL 0x400                  /**< (OSC32KCTRL) Module revision */
+
+/* -------- OSC32KCTRL_INTENCLR : (OSC32KCTRL Offset: 0x00) (R/W 32) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSC32KRDY:1;              /**< bit:      0  XOSC32K Ready Interrupt Enable           */
+    uint32_t :1;                        /**< bit:      1  Reserved */
+    uint32_t CLKFAIL:1;                 /**< bit:      2  XOSC32K Clock Failure Detector Interrupt Enable */
+    uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_INTENCLR_OFFSET          (0x00)                                        /**<  (OSC32KCTRL_INTENCLR) Interrupt Enable Clear  Offset */
+#define OSC32KCTRL_INTENCLR_RESETVALUE      _U_(0x00)                                     /**<  (OSC32KCTRL_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define OSC32KCTRL_INTENCLR_XOSC32KRDY_Pos  0                                              /**< (OSC32KCTRL_INTENCLR) XOSC32K Ready Interrupt Enable Position */
+#define OSC32KCTRL_INTENCLR_XOSC32KRDY_Msk  (_U_(0x1) << OSC32KCTRL_INTENCLR_XOSC32KRDY_Pos)  /**< (OSC32KCTRL_INTENCLR) XOSC32K Ready Interrupt Enable Mask */
+#define OSC32KCTRL_INTENCLR_XOSC32KRDY      OSC32KCTRL_INTENCLR_XOSC32KRDY_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTENCLR_XOSC32KRDY_Msk instead */
+#define OSC32KCTRL_INTENCLR_CLKFAIL_Pos     2                                              /**< (OSC32KCTRL_INTENCLR) XOSC32K Clock Failure Detector Interrupt Enable Position */
+#define OSC32KCTRL_INTENCLR_CLKFAIL_Msk     (_U_(0x1) << OSC32KCTRL_INTENCLR_CLKFAIL_Pos)  /**< (OSC32KCTRL_INTENCLR) XOSC32K Clock Failure Detector Interrupt Enable Mask */
+#define OSC32KCTRL_INTENCLR_CLKFAIL         OSC32KCTRL_INTENCLR_CLKFAIL_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTENCLR_CLKFAIL_Msk instead */
+#define OSC32KCTRL_INTENCLR_MASK            _U_(0x05)                                      /**< \deprecated (OSC32KCTRL_INTENCLR) Register MASK  (Use OSC32KCTRL_INTENCLR_Msk instead)  */
+#define OSC32KCTRL_INTENCLR_Msk             _U_(0x05)                                      /**< (OSC32KCTRL_INTENCLR) Register Mask  */
+
+
+/* -------- OSC32KCTRL_INTENSET : (OSC32KCTRL Offset: 0x04) (R/W 32) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSC32KRDY:1;              /**< bit:      0  XOSC32K Ready Interrupt Enable           */
+    uint32_t :1;                        /**< bit:      1  Reserved */
+    uint32_t CLKFAIL:1;                 /**< bit:      2  XOSC32K Clock Failure Detector Interrupt Enable */
+    uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_INTENSET_OFFSET          (0x04)                                        /**<  (OSC32KCTRL_INTENSET) Interrupt Enable Set  Offset */
+#define OSC32KCTRL_INTENSET_RESETVALUE      _U_(0x00)                                     /**<  (OSC32KCTRL_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define OSC32KCTRL_INTENSET_XOSC32KRDY_Pos  0                                              /**< (OSC32KCTRL_INTENSET) XOSC32K Ready Interrupt Enable Position */
+#define OSC32KCTRL_INTENSET_XOSC32KRDY_Msk  (_U_(0x1) << OSC32KCTRL_INTENSET_XOSC32KRDY_Pos)  /**< (OSC32KCTRL_INTENSET) XOSC32K Ready Interrupt Enable Mask */
+#define OSC32KCTRL_INTENSET_XOSC32KRDY      OSC32KCTRL_INTENSET_XOSC32KRDY_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTENSET_XOSC32KRDY_Msk instead */
+#define OSC32KCTRL_INTENSET_CLKFAIL_Pos     2                                              /**< (OSC32KCTRL_INTENSET) XOSC32K Clock Failure Detector Interrupt Enable Position */
+#define OSC32KCTRL_INTENSET_CLKFAIL_Msk     (_U_(0x1) << OSC32KCTRL_INTENSET_CLKFAIL_Pos)  /**< (OSC32KCTRL_INTENSET) XOSC32K Clock Failure Detector Interrupt Enable Mask */
+#define OSC32KCTRL_INTENSET_CLKFAIL         OSC32KCTRL_INTENSET_CLKFAIL_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTENSET_CLKFAIL_Msk instead */
+#define OSC32KCTRL_INTENSET_MASK            _U_(0x05)                                      /**< \deprecated (OSC32KCTRL_INTENSET) Register MASK  (Use OSC32KCTRL_INTENSET_Msk instead)  */
+#define OSC32KCTRL_INTENSET_Msk             _U_(0x05)                                      /**< (OSC32KCTRL_INTENSET) Register Mask  */
+
+
+/* -------- OSC32KCTRL_INTFLAG : (OSC32KCTRL Offset: 0x08) (R/W 32) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t XOSC32KRDY:1;              /**< bit:      0  XOSC32K Ready                            */
+    __I uint32_t :1;                        /**< bit:      1  Reserved */
+    __I uint32_t CLKFAIL:1;                 /**< bit:      2  XOSC32K Clock Failure Detector           */
+    __I uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_INTFLAG_OFFSET           (0x08)                                        /**<  (OSC32KCTRL_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define OSC32KCTRL_INTFLAG_RESETVALUE       _U_(0x00)                                     /**<  (OSC32KCTRL_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define OSC32KCTRL_INTFLAG_XOSC32KRDY_Pos   0                                              /**< (OSC32KCTRL_INTFLAG) XOSC32K Ready Position */
+#define OSC32KCTRL_INTFLAG_XOSC32KRDY_Msk   (_U_(0x1) << OSC32KCTRL_INTFLAG_XOSC32KRDY_Pos)  /**< (OSC32KCTRL_INTFLAG) XOSC32K Ready Mask */
+#define OSC32KCTRL_INTFLAG_XOSC32KRDY       OSC32KCTRL_INTFLAG_XOSC32KRDY_Msk              /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTFLAG_XOSC32KRDY_Msk instead */
+#define OSC32KCTRL_INTFLAG_CLKFAIL_Pos      2                                              /**< (OSC32KCTRL_INTFLAG) XOSC32K Clock Failure Detector Position */
+#define OSC32KCTRL_INTFLAG_CLKFAIL_Msk      (_U_(0x1) << OSC32KCTRL_INTFLAG_CLKFAIL_Pos)   /**< (OSC32KCTRL_INTFLAG) XOSC32K Clock Failure Detector Mask */
+#define OSC32KCTRL_INTFLAG_CLKFAIL          OSC32KCTRL_INTFLAG_CLKFAIL_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTFLAG_CLKFAIL_Msk instead */
+#define OSC32KCTRL_INTFLAG_MASK             _U_(0x05)                                      /**< \deprecated (OSC32KCTRL_INTFLAG) Register MASK  (Use OSC32KCTRL_INTFLAG_Msk instead)  */
+#define OSC32KCTRL_INTFLAG_Msk              _U_(0x05)                                      /**< (OSC32KCTRL_INTFLAG) Register Mask  */
+
+
+/* -------- OSC32KCTRL_STATUS : (OSC32KCTRL Offset: 0x0c) (R/ 32) Power and Clocks Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSC32KRDY:1;              /**< bit:      0  XOSC32K Ready                            */
+    uint32_t :1;                        /**< bit:      1  Reserved */
+    uint32_t CLKFAIL:1;                 /**< bit:      2  XOSC32K Clock Failure Detector           */
+    uint32_t CLKSW:1;                   /**< bit:      3  XOSC32K Clock switch                     */
+    uint32_t ULP32KSW:1;                /**< bit:      4  OSCULP32K Clock Switch                   */
+    uint32_t :27;                       /**< bit:  5..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_STATUS_OFFSET            (0x0C)                                        /**<  (OSC32KCTRL_STATUS) Power and Clocks Status  Offset */
+#define OSC32KCTRL_STATUS_RESETVALUE        _U_(0x00)                                     /**<  (OSC32KCTRL_STATUS) Power and Clocks Status  Reset Value */
+
+#define OSC32KCTRL_STATUS_XOSC32KRDY_Pos    0                                              /**< (OSC32KCTRL_STATUS) XOSC32K Ready Position */
+#define OSC32KCTRL_STATUS_XOSC32KRDY_Msk    (_U_(0x1) << OSC32KCTRL_STATUS_XOSC32KRDY_Pos)  /**< (OSC32KCTRL_STATUS) XOSC32K Ready Mask */
+#define OSC32KCTRL_STATUS_XOSC32KRDY        OSC32KCTRL_STATUS_XOSC32KRDY_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_STATUS_XOSC32KRDY_Msk instead */
+#define OSC32KCTRL_STATUS_CLKFAIL_Pos       2                                              /**< (OSC32KCTRL_STATUS) XOSC32K Clock Failure Detector Position */
+#define OSC32KCTRL_STATUS_CLKFAIL_Msk       (_U_(0x1) << OSC32KCTRL_STATUS_CLKFAIL_Pos)    /**< (OSC32KCTRL_STATUS) XOSC32K Clock Failure Detector Mask */
+#define OSC32KCTRL_STATUS_CLKFAIL           OSC32KCTRL_STATUS_CLKFAIL_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_STATUS_CLKFAIL_Msk instead */
+#define OSC32KCTRL_STATUS_CLKSW_Pos         3                                              /**< (OSC32KCTRL_STATUS) XOSC32K Clock switch Position */
+#define OSC32KCTRL_STATUS_CLKSW_Msk         (_U_(0x1) << OSC32KCTRL_STATUS_CLKSW_Pos)      /**< (OSC32KCTRL_STATUS) XOSC32K Clock switch Mask */
+#define OSC32KCTRL_STATUS_CLKSW             OSC32KCTRL_STATUS_CLKSW_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_STATUS_CLKSW_Msk instead */
+#define OSC32KCTRL_STATUS_ULP32KSW_Pos      4                                              /**< (OSC32KCTRL_STATUS) OSCULP32K Clock Switch Position */
+#define OSC32KCTRL_STATUS_ULP32KSW_Msk      (_U_(0x1) << OSC32KCTRL_STATUS_ULP32KSW_Pos)   /**< (OSC32KCTRL_STATUS) OSCULP32K Clock Switch Mask */
+#define OSC32KCTRL_STATUS_ULP32KSW          OSC32KCTRL_STATUS_ULP32KSW_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_STATUS_ULP32KSW_Msk instead */
+#define OSC32KCTRL_STATUS_MASK              _U_(0x1D)                                      /**< \deprecated (OSC32KCTRL_STATUS) Register MASK  (Use OSC32KCTRL_STATUS_Msk instead)  */
+#define OSC32KCTRL_STATUS_Msk               _U_(0x1D)                                      /**< (OSC32KCTRL_STATUS) Register Mask  */
+
+
+/* -------- OSC32KCTRL_RTCCTRL : (OSC32KCTRL Offset: 0x10) (R/W 8) RTC Clock Selection -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RTCSEL:3;                  /**< bit:   0..2  RTC Clock Selection                      */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSC32KCTRL_RTCCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_RTCCTRL_OFFSET           (0x10)                                        /**<  (OSC32KCTRL_RTCCTRL) RTC Clock Selection  Offset */
+#define OSC32KCTRL_RTCCTRL_RESETVALUE       _U_(0x00)                                     /**<  (OSC32KCTRL_RTCCTRL) RTC Clock Selection  Reset Value */
+
+#define OSC32KCTRL_RTCCTRL_RTCSEL_Pos       0                                              /**< (OSC32KCTRL_RTCCTRL) RTC Clock Selection Position */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_Msk       (_U_(0x7) << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)    /**< (OSC32KCTRL_RTCCTRL) RTC Clock Selection Mask */
+#define OSC32KCTRL_RTCCTRL_RTCSEL(value)    (OSC32KCTRL_RTCCTRL_RTCSEL_Msk & ((value) << OSC32KCTRL_RTCCTRL_RTCSEL_Pos))
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_ULP1K_Val _U_(0x0)                                       /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32kHz internal ULP oscillator  */
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_ULP32K_Val _U_(0x1)                                       /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32kHz internal ULP oscillator  */
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_OSC1K_Val _U_(0x2)                                       /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32.768kHz internal oscillator  */
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_OSC32K_Val _U_(0x3)                                       /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32.768kHz internal oscillator  */
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_XOSC1K_Val _U_(0x4)                                       /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32.768kHz internal oscillator  */
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_XOSC32K_Val _U_(0x5)                                       /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32.768kHz external crystal oscillator  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_ULP1K     (OSC32KCTRL_RTCCTRL_RTCSEL_ULP1K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32kHz internal ULP oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_ULP32K    (OSC32KCTRL_RTCCTRL_RTCSEL_ULP32K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32kHz internal ULP oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_OSC1K     (OSC32KCTRL_RTCCTRL_RTCSEL_OSC1K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32.768kHz internal oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_OSC32K    (OSC32KCTRL_RTCCTRL_RTCSEL_OSC32K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32.768kHz internal oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_XOSC1K    (OSC32KCTRL_RTCCTRL_RTCSEL_XOSC1K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32.768kHz internal oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_XOSC32K   (OSC32KCTRL_RTCCTRL_RTCSEL_XOSC32K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32.768kHz external crystal oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_MASK             _U_(0x07)                                      /**< \deprecated (OSC32KCTRL_RTCCTRL) Register MASK  (Use OSC32KCTRL_RTCCTRL_Msk instead)  */
+#define OSC32KCTRL_RTCCTRL_Msk              _U_(0x07)                                      /**< (OSC32KCTRL_RTCCTRL) Register Mask  */
+
+
+/* -------- OSC32KCTRL_XOSC32K : (OSC32KCTRL Offset: 0x14) (R/W 16) 32kHz External Crystal Oscillator (XOSC32K) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t :1;                        /**< bit:      0  Reserved */
+    uint16_t ENABLE:1;                  /**< bit:      1  Oscillator Enable                        */
+    uint16_t XTALEN:1;                  /**< bit:      2  Crystal Oscillator Enable                */
+    uint16_t EN32K:1;                   /**< bit:      3  32kHz Output Enable                      */
+    uint16_t EN1K:1;                    /**< bit:      4  1kHz Output Enable                       */
+    uint16_t :1;                        /**< bit:      5  Reserved */
+    uint16_t RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint16_t ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+    uint16_t STARTUP:3;                 /**< bit:  8..10  Oscillator Start-Up Time                 */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t WRTLOCK:1;                 /**< bit:     12  Write Lock                               */
+    uint16_t :3;                        /**< bit: 13..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_XOSC32K_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_XOSC32K_OFFSET           (0x14)                                        /**<  (OSC32KCTRL_XOSC32K) 32kHz External Crystal Oscillator (XOSC32K) Control  Offset */
+#define OSC32KCTRL_XOSC32K_RESETVALUE       _U_(0x80)                                     /**<  (OSC32KCTRL_XOSC32K) 32kHz External Crystal Oscillator (XOSC32K) Control  Reset Value */
+
+#define OSC32KCTRL_XOSC32K_ENABLE_Pos       1                                              /**< (OSC32KCTRL_XOSC32K) Oscillator Enable Position */
+#define OSC32KCTRL_XOSC32K_ENABLE_Msk       (_U_(0x1) << OSC32KCTRL_XOSC32K_ENABLE_Pos)    /**< (OSC32KCTRL_XOSC32K) Oscillator Enable Mask */
+#define OSC32KCTRL_XOSC32K_ENABLE           OSC32KCTRL_XOSC32K_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_ENABLE_Msk instead */
+#define OSC32KCTRL_XOSC32K_XTALEN_Pos       2                                              /**< (OSC32KCTRL_XOSC32K) Crystal Oscillator Enable Position */
+#define OSC32KCTRL_XOSC32K_XTALEN_Msk       (_U_(0x1) << OSC32KCTRL_XOSC32K_XTALEN_Pos)    /**< (OSC32KCTRL_XOSC32K) Crystal Oscillator Enable Mask */
+#define OSC32KCTRL_XOSC32K_XTALEN           OSC32KCTRL_XOSC32K_XTALEN_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_XTALEN_Msk instead */
+#define OSC32KCTRL_XOSC32K_EN32K_Pos        3                                              /**< (OSC32KCTRL_XOSC32K) 32kHz Output Enable Position */
+#define OSC32KCTRL_XOSC32K_EN32K_Msk        (_U_(0x1) << OSC32KCTRL_XOSC32K_EN32K_Pos)     /**< (OSC32KCTRL_XOSC32K) 32kHz Output Enable Mask */
+#define OSC32KCTRL_XOSC32K_EN32K            OSC32KCTRL_XOSC32K_EN32K_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_EN32K_Msk instead */
+#define OSC32KCTRL_XOSC32K_EN1K_Pos         4                                              /**< (OSC32KCTRL_XOSC32K) 1kHz Output Enable Position */
+#define OSC32KCTRL_XOSC32K_EN1K_Msk         (_U_(0x1) << OSC32KCTRL_XOSC32K_EN1K_Pos)      /**< (OSC32KCTRL_XOSC32K) 1kHz Output Enable Mask */
+#define OSC32KCTRL_XOSC32K_EN1K             OSC32KCTRL_XOSC32K_EN1K_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_EN1K_Msk instead */
+#define OSC32KCTRL_XOSC32K_RUNSTDBY_Pos     6                                              /**< (OSC32KCTRL_XOSC32K) Run in Standby Position */
+#define OSC32KCTRL_XOSC32K_RUNSTDBY_Msk     (_U_(0x1) << OSC32KCTRL_XOSC32K_RUNSTDBY_Pos)  /**< (OSC32KCTRL_XOSC32K) Run in Standby Mask */
+#define OSC32KCTRL_XOSC32K_RUNSTDBY         OSC32KCTRL_XOSC32K_RUNSTDBY_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_RUNSTDBY_Msk instead */
+#define OSC32KCTRL_XOSC32K_ONDEMAND_Pos     7                                              /**< (OSC32KCTRL_XOSC32K) On Demand Control Position */
+#define OSC32KCTRL_XOSC32K_ONDEMAND_Msk     (_U_(0x1) << OSC32KCTRL_XOSC32K_ONDEMAND_Pos)  /**< (OSC32KCTRL_XOSC32K) On Demand Control Mask */
+#define OSC32KCTRL_XOSC32K_ONDEMAND         OSC32KCTRL_XOSC32K_ONDEMAND_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_ONDEMAND_Msk instead */
+#define OSC32KCTRL_XOSC32K_STARTUP_Pos      8                                              /**< (OSC32KCTRL_XOSC32K) Oscillator Start-Up Time Position */
+#define OSC32KCTRL_XOSC32K_STARTUP_Msk      (_U_(0x7) << OSC32KCTRL_XOSC32K_STARTUP_Pos)   /**< (OSC32KCTRL_XOSC32K) Oscillator Start-Up Time Mask */
+#define OSC32KCTRL_XOSC32K_STARTUP(value)   (OSC32KCTRL_XOSC32K_STARTUP_Msk & ((value) << OSC32KCTRL_XOSC32K_STARTUP_Pos))
+#define OSC32KCTRL_XOSC32K_WRTLOCK_Pos      12                                             /**< (OSC32KCTRL_XOSC32K) Write Lock Position */
+#define OSC32KCTRL_XOSC32K_WRTLOCK_Msk      (_U_(0x1) << OSC32KCTRL_XOSC32K_WRTLOCK_Pos)   /**< (OSC32KCTRL_XOSC32K) Write Lock Mask */
+#define OSC32KCTRL_XOSC32K_WRTLOCK          OSC32KCTRL_XOSC32K_WRTLOCK_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_WRTLOCK_Msk instead */
+#define OSC32KCTRL_XOSC32K_MASK             _U_(0x17DE)                                    /**< \deprecated (OSC32KCTRL_XOSC32K) Register MASK  (Use OSC32KCTRL_XOSC32K_Msk instead)  */
+#define OSC32KCTRL_XOSC32K_Msk              _U_(0x17DE)                                    /**< (OSC32KCTRL_XOSC32K) Register Mask  */
+
+
+/* -------- OSC32KCTRL_CFDCTRL : (OSC32KCTRL Offset: 0x16) (R/W 8) Clock Failure Detector Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CFDEN:1;                   /**< bit:      0  Clock Failure Detector Enable            */
+    uint8_t  SWBACK:1;                  /**< bit:      1  Clock Switch Back                        */
+    uint8_t  CFDPRESC:1;                /**< bit:      2  Clock Failure Detector Prescaler         */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSC32KCTRL_CFDCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_CFDCTRL_OFFSET           (0x16)                                        /**<  (OSC32KCTRL_CFDCTRL) Clock Failure Detector Control  Offset */
+#define OSC32KCTRL_CFDCTRL_RESETVALUE       _U_(0x00)                                     /**<  (OSC32KCTRL_CFDCTRL) Clock Failure Detector Control  Reset Value */
+
+#define OSC32KCTRL_CFDCTRL_CFDEN_Pos        0                                              /**< (OSC32KCTRL_CFDCTRL) Clock Failure Detector Enable Position */
+#define OSC32KCTRL_CFDCTRL_CFDEN_Msk        (_U_(0x1) << OSC32KCTRL_CFDCTRL_CFDEN_Pos)     /**< (OSC32KCTRL_CFDCTRL) Clock Failure Detector Enable Mask */
+#define OSC32KCTRL_CFDCTRL_CFDEN            OSC32KCTRL_CFDCTRL_CFDEN_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_CFDCTRL_CFDEN_Msk instead */
+#define OSC32KCTRL_CFDCTRL_SWBACK_Pos       1                                              /**< (OSC32KCTRL_CFDCTRL) Clock Switch Back Position */
+#define OSC32KCTRL_CFDCTRL_SWBACK_Msk       (_U_(0x1) << OSC32KCTRL_CFDCTRL_SWBACK_Pos)    /**< (OSC32KCTRL_CFDCTRL) Clock Switch Back Mask */
+#define OSC32KCTRL_CFDCTRL_SWBACK           OSC32KCTRL_CFDCTRL_SWBACK_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_CFDCTRL_SWBACK_Msk instead */
+#define OSC32KCTRL_CFDCTRL_CFDPRESC_Pos     2                                              /**< (OSC32KCTRL_CFDCTRL) Clock Failure Detector Prescaler Position */
+#define OSC32KCTRL_CFDCTRL_CFDPRESC_Msk     (_U_(0x1) << OSC32KCTRL_CFDCTRL_CFDPRESC_Pos)  /**< (OSC32KCTRL_CFDCTRL) Clock Failure Detector Prescaler Mask */
+#define OSC32KCTRL_CFDCTRL_CFDPRESC         OSC32KCTRL_CFDCTRL_CFDPRESC_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_CFDCTRL_CFDPRESC_Msk instead */
+#define OSC32KCTRL_CFDCTRL_MASK             _U_(0x07)                                      /**< \deprecated (OSC32KCTRL_CFDCTRL) Register MASK  (Use OSC32KCTRL_CFDCTRL_Msk instead)  */
+#define OSC32KCTRL_CFDCTRL_Msk              _U_(0x07)                                      /**< (OSC32KCTRL_CFDCTRL) Register Mask  */
+
+
+/* -------- OSC32KCTRL_EVCTRL : (OSC32KCTRL Offset: 0x17) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CFDEO:1;                   /**< bit:      0  Clock Failure Detector Event Output Enable */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSC32KCTRL_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_EVCTRL_OFFSET            (0x17)                                        /**<  (OSC32KCTRL_EVCTRL) Event Control  Offset */
+#define OSC32KCTRL_EVCTRL_RESETVALUE        _U_(0x00)                                     /**<  (OSC32KCTRL_EVCTRL) Event Control  Reset Value */
+
+#define OSC32KCTRL_EVCTRL_CFDEO_Pos         0                                              /**< (OSC32KCTRL_EVCTRL) Clock Failure Detector Event Output Enable Position */
+#define OSC32KCTRL_EVCTRL_CFDEO_Msk         (_U_(0x1) << OSC32KCTRL_EVCTRL_CFDEO_Pos)      /**< (OSC32KCTRL_EVCTRL) Clock Failure Detector Event Output Enable Mask */
+#define OSC32KCTRL_EVCTRL_CFDEO             OSC32KCTRL_EVCTRL_CFDEO_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_EVCTRL_CFDEO_Msk instead */
+#define OSC32KCTRL_EVCTRL_MASK              _U_(0x01)                                      /**< \deprecated (OSC32KCTRL_EVCTRL) Register MASK  (Use OSC32KCTRL_EVCTRL_Msk instead)  */
+#define OSC32KCTRL_EVCTRL_Msk               _U_(0x01)                                      /**< (OSC32KCTRL_EVCTRL) Register Mask  */
+
+
+/* -------- OSC32KCTRL_OSCULP32K : (OSC32KCTRL Offset: 0x1c) (R/W 32) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :5;                        /**< bit:   0..4  Reserved */
+    uint32_t ULP32KSW:1;                /**< bit:      5  OSCULP32K Clock Switch Enable            */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t CALIB:5;                   /**< bit:  8..12  Oscillator Calibration                   */
+    uint32_t :2;                        /**< bit: 13..14  Reserved */
+    uint32_t WRTLOCK:1;                 /**< bit:     15  Write Lock                               */
+    uint32_t :16;                       /**< bit: 16..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_OSCULP32K_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_OSCULP32K_OFFSET         (0x1C)                                        /**<  (OSC32KCTRL_OSCULP32K) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control  Offset */
+#define OSC32KCTRL_OSCULP32K_RESETVALUE     _U_(0x00)                                     /**<  (OSC32KCTRL_OSCULP32K) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control  Reset Value */
+
+#define OSC32KCTRL_OSCULP32K_ULP32KSW_Pos   5                                              /**< (OSC32KCTRL_OSCULP32K) OSCULP32K Clock Switch Enable Position */
+#define OSC32KCTRL_OSCULP32K_ULP32KSW_Msk   (_U_(0x1) << OSC32KCTRL_OSCULP32K_ULP32KSW_Pos)  /**< (OSC32KCTRL_OSCULP32K) OSCULP32K Clock Switch Enable Mask */
+#define OSC32KCTRL_OSCULP32K_ULP32KSW       OSC32KCTRL_OSCULP32K_ULP32KSW_Msk              /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_OSCULP32K_ULP32KSW_Msk instead */
+#define OSC32KCTRL_OSCULP32K_CALIB_Pos      8                                              /**< (OSC32KCTRL_OSCULP32K) Oscillator Calibration Position */
+#define OSC32KCTRL_OSCULP32K_CALIB_Msk      (_U_(0x1F) << OSC32KCTRL_OSCULP32K_CALIB_Pos)  /**< (OSC32KCTRL_OSCULP32K) Oscillator Calibration Mask */
+#define OSC32KCTRL_OSCULP32K_CALIB(value)   (OSC32KCTRL_OSCULP32K_CALIB_Msk & ((value) << OSC32KCTRL_OSCULP32K_CALIB_Pos))
+#define OSC32KCTRL_OSCULP32K_WRTLOCK_Pos    15                                             /**< (OSC32KCTRL_OSCULP32K) Write Lock Position */
+#define OSC32KCTRL_OSCULP32K_WRTLOCK_Msk    (_U_(0x1) << OSC32KCTRL_OSCULP32K_WRTLOCK_Pos)  /**< (OSC32KCTRL_OSCULP32K) Write Lock Mask */
+#define OSC32KCTRL_OSCULP32K_WRTLOCK        OSC32KCTRL_OSCULP32K_WRTLOCK_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_OSCULP32K_WRTLOCK_Msk instead */
+#define OSC32KCTRL_OSCULP32K_MASK           _U_(0x9F20)                                    /**< \deprecated (OSC32KCTRL_OSCULP32K) Register MASK  (Use OSC32KCTRL_OSCULP32K_Msk instead)  */
+#define OSC32KCTRL_OSCULP32K_Msk            _U_(0x9F20)                                    /**< (OSC32KCTRL_OSCULP32K) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief OSC32KCTRL hardware registers */
+typedef struct {  /* 32k Oscillators Control */
+  __IO OSC32KCTRL_INTENCLR_Type       INTENCLR;       /**< Offset: 0x00 (R/W  32) Interrupt Enable Clear */
+  __IO OSC32KCTRL_INTENSET_Type       INTENSET;       /**< Offset: 0x04 (R/W  32) Interrupt Enable Set */
+  __IO OSC32KCTRL_INTFLAG_Type        INTFLAG;        /**< Offset: 0x08 (R/W  32) Interrupt Flag Status and Clear */
+  __I  OSC32KCTRL_STATUS_Type         STATUS;         /**< Offset: 0x0C (R/   32) Power and Clocks Status */
+  __IO OSC32KCTRL_RTCCTRL_Type        RTCCTRL;        /**< Offset: 0x10 (R/W   8) RTC Clock Selection */
+  __I  uint8_t                        Reserved1[3];
+  __IO OSC32KCTRL_XOSC32K_Type        XOSC32K;        /**< Offset: 0x14 (R/W  16) 32kHz External Crystal Oscillator (XOSC32K) Control */
+  __IO OSC32KCTRL_CFDCTRL_Type        CFDCTRL;        /**< Offset: 0x16 (R/W   8) Clock Failure Detector Control */
+  __IO OSC32KCTRL_EVCTRL_Type         EVCTRL;         /**< Offset: 0x17 (R/W   8) Event Control */
+  __I  uint8_t                        Reserved2[4];
+  __IO OSC32KCTRL_OSCULP32K_Type      OSCULP32K;      /**< Offset: 0x1C (R/W  32) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control */
+} Osc32kctrl;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of 32k Oscillators Control */
+
+#endif /* _SAML10_OSC32KCTRL_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/oscctrl.h b/cpu/sam0_common/include/vendor/saml10/include/component/oscctrl.h
new file mode 100644
index 0000000000..b74fa0f9f2
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/oscctrl.h
@@ -0,0 +1,878 @@
+/**
+ * \file
+ *
+ * \brief Component description for OSCCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_OSCCTRL_COMPONENT_H_
+#define _SAML10_OSCCTRL_COMPONENT_H_
+#define _SAML10_OSCCTRL_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Oscillators Control
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR OSCCTRL */
+/* ========================================================================== */
+
+#define OSCCTRL_U2119                      /**< (OSCCTRL) Module ID */
+#define REV_OSCCTRL 0x400                  /**< (OSCCTRL) Module revision */
+
+/* -------- OSCCTRL_EVCTRL : (OSCCTRL Offset: 0x00) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CFDEO:1;                   /**< bit:      0  Clock Failure Detector Event Output Enable */
+    uint8_t  TUNEEI:1;                  /**< bit:      1  Tune Event Input Enable                  */
+    uint8_t  TUNEINV:1;                 /**< bit:      2  Tune Event Input Invert                  */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_EVCTRL_OFFSET               (0x00)                                        /**<  (OSCCTRL_EVCTRL) Event Control  Offset */
+#define OSCCTRL_EVCTRL_RESETVALUE           _U_(0x00)                                     /**<  (OSCCTRL_EVCTRL) Event Control  Reset Value */
+
+#define OSCCTRL_EVCTRL_CFDEO_Pos            0                                              /**< (OSCCTRL_EVCTRL) Clock Failure Detector Event Output Enable Position */
+#define OSCCTRL_EVCTRL_CFDEO_Msk            (_U_(0x1) << OSCCTRL_EVCTRL_CFDEO_Pos)         /**< (OSCCTRL_EVCTRL) Clock Failure Detector Event Output Enable Mask */
+#define OSCCTRL_EVCTRL_CFDEO                OSCCTRL_EVCTRL_CFDEO_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_EVCTRL_CFDEO_Msk instead */
+#define OSCCTRL_EVCTRL_TUNEEI_Pos           1                                              /**< (OSCCTRL_EVCTRL) Tune Event Input Enable Position */
+#define OSCCTRL_EVCTRL_TUNEEI_Msk           (_U_(0x1) << OSCCTRL_EVCTRL_TUNEEI_Pos)        /**< (OSCCTRL_EVCTRL) Tune Event Input Enable Mask */
+#define OSCCTRL_EVCTRL_TUNEEI               OSCCTRL_EVCTRL_TUNEEI_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_EVCTRL_TUNEEI_Msk instead */
+#define OSCCTRL_EVCTRL_TUNEINV_Pos          2                                              /**< (OSCCTRL_EVCTRL) Tune Event Input Invert Position */
+#define OSCCTRL_EVCTRL_TUNEINV_Msk          (_U_(0x1) << OSCCTRL_EVCTRL_TUNEINV_Pos)       /**< (OSCCTRL_EVCTRL) Tune Event Input Invert Mask */
+#define OSCCTRL_EVCTRL_TUNEINV              OSCCTRL_EVCTRL_TUNEINV_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_EVCTRL_TUNEINV_Msk instead */
+#define OSCCTRL_EVCTRL_MASK                 _U_(0x07)                                      /**< \deprecated (OSCCTRL_EVCTRL) Register MASK  (Use OSCCTRL_EVCTRL_Msk instead)  */
+#define OSCCTRL_EVCTRL_Msk                  _U_(0x07)                                      /**< (OSCCTRL_EVCTRL) Register Mask  */
+
+
+/* -------- OSCCTRL_INTENCLR : (OSCCTRL Offset: 0x04) (R/W 32) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSCRDY:1;                 /**< bit:      0  XOSC Ready Interrupt Enable              */
+    uint32_t XOSCFAIL:1;                /**< bit:      1  XOSC Clock Failure Detector Interrupt Enable */
+    uint32_t :2;                        /**< bit:   2..3  Reserved */
+    uint32_t OSC16MRDY:1;               /**< bit:      4  OSC16M Ready Interrupt Enable            */
+    uint32_t :3;                        /**< bit:   5..7  Reserved */
+    uint32_t DFLLULPRDY:1;              /**< bit:      8  DFLLULP Ready interrupt Enable           */
+    uint32_t DFLLULPLOCK:1;             /**< bit:      9  DFLLULP Lock Interrupt Enable            */
+    uint32_t DFLLULPNOLOCK:1;           /**< bit:     10  DFLLULP No Lock Interrupt Enable         */
+    uint32_t :5;                        /**< bit: 11..15  Reserved */
+    uint32_t DPLLLCKR:1;                /**< bit:     16  DPLL Lock Rise Interrupt Enable          */
+    uint32_t DPLLLCKF:1;                /**< bit:     17  DPLL Lock Fall Interrupt Enable          */
+    uint32_t DPLLLTO:1;                 /**< bit:     18  DPLL Lock Timeout Interrupt Enable       */
+    uint32_t DPLLLDRTO:1;               /**< bit:     19  DPLL Loop Divider Ratio Update Complete Interrupt Enable */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_INTENCLR_OFFSET             (0x04)                                        /**<  (OSCCTRL_INTENCLR) Interrupt Enable Clear  Offset */
+#define OSCCTRL_INTENCLR_RESETVALUE         _U_(0x00)                                     /**<  (OSCCTRL_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define OSCCTRL_INTENCLR_XOSCRDY_Pos        0                                              /**< (OSCCTRL_INTENCLR) XOSC Ready Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_XOSCRDY_Msk        (_U_(0x1) << OSCCTRL_INTENCLR_XOSCRDY_Pos)     /**< (OSCCTRL_INTENCLR) XOSC Ready Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_XOSCRDY            OSCCTRL_INTENCLR_XOSCRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_XOSCRDY_Msk instead */
+#define OSCCTRL_INTENCLR_XOSCFAIL_Pos       1                                              /**< (OSCCTRL_INTENCLR) XOSC Clock Failure Detector Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_XOSCFAIL_Msk       (_U_(0x1) << OSCCTRL_INTENCLR_XOSCFAIL_Pos)    /**< (OSCCTRL_INTENCLR) XOSC Clock Failure Detector Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_XOSCFAIL           OSCCTRL_INTENCLR_XOSCFAIL_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_XOSCFAIL_Msk instead */
+#define OSCCTRL_INTENCLR_OSC16MRDY_Pos      4                                              /**< (OSCCTRL_INTENCLR) OSC16M Ready Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_OSC16MRDY_Msk      (_U_(0x1) << OSCCTRL_INTENCLR_OSC16MRDY_Pos)   /**< (OSCCTRL_INTENCLR) OSC16M Ready Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_OSC16MRDY          OSCCTRL_INTENCLR_OSC16MRDY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_OSC16MRDY_Msk instead */
+#define OSCCTRL_INTENCLR_DFLLULPRDY_Pos     8                                              /**< (OSCCTRL_INTENCLR) DFLLULP Ready interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DFLLULPRDY_Msk     (_U_(0x1) << OSCCTRL_INTENCLR_DFLLULPRDY_Pos)  /**< (OSCCTRL_INTENCLR) DFLLULP Ready interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DFLLULPRDY         OSCCTRL_INTENCLR_DFLLULPRDY_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DFLLULPRDY_Msk instead */
+#define OSCCTRL_INTENCLR_DFLLULPLOCK_Pos    9                                              /**< (OSCCTRL_INTENCLR) DFLLULP Lock Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DFLLULPLOCK_Msk    (_U_(0x1) << OSCCTRL_INTENCLR_DFLLULPLOCK_Pos)  /**< (OSCCTRL_INTENCLR) DFLLULP Lock Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DFLLULPLOCK        OSCCTRL_INTENCLR_DFLLULPLOCK_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DFLLULPLOCK_Msk instead */
+#define OSCCTRL_INTENCLR_DFLLULPNOLOCK_Pos  10                                             /**< (OSCCTRL_INTENCLR) DFLLULP No Lock Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DFLLULPNOLOCK_Msk  (_U_(0x1) << OSCCTRL_INTENCLR_DFLLULPNOLOCK_Pos)  /**< (OSCCTRL_INTENCLR) DFLLULP No Lock Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DFLLULPNOLOCK      OSCCTRL_INTENCLR_DFLLULPNOLOCK_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DFLLULPNOLOCK_Msk instead */
+#define OSCCTRL_INTENCLR_DPLLLCKR_Pos       16                                             /**< (OSCCTRL_INTENCLR) DPLL Lock Rise Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DPLLLCKR_Msk       (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLCKR_Pos)    /**< (OSCCTRL_INTENCLR) DPLL Lock Rise Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DPLLLCKR           OSCCTRL_INTENCLR_DPLLLCKR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLCKR_Msk instead */
+#define OSCCTRL_INTENCLR_DPLLLCKF_Pos       17                                             /**< (OSCCTRL_INTENCLR) DPLL Lock Fall Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DPLLLCKF_Msk       (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLCKF_Pos)    /**< (OSCCTRL_INTENCLR) DPLL Lock Fall Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DPLLLCKF           OSCCTRL_INTENCLR_DPLLLCKF_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLCKF_Msk instead */
+#define OSCCTRL_INTENCLR_DPLLLTO_Pos        18                                             /**< (OSCCTRL_INTENCLR) DPLL Lock Timeout Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DPLLLTO_Msk        (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLTO_Pos)     /**< (OSCCTRL_INTENCLR) DPLL Lock Timeout Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DPLLLTO            OSCCTRL_INTENCLR_DPLLLTO_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLTO_Msk instead */
+#define OSCCTRL_INTENCLR_DPLLLDRTO_Pos      19                                             /**< (OSCCTRL_INTENCLR) DPLL Loop Divider Ratio Update Complete Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DPLLLDRTO_Msk      (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLDRTO_Pos)   /**< (OSCCTRL_INTENCLR) DPLL Loop Divider Ratio Update Complete Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DPLLLDRTO          OSCCTRL_INTENCLR_DPLLLDRTO_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLDRTO_Msk instead */
+#define OSCCTRL_INTENCLR_MASK               _U_(0xF0713)                                   /**< \deprecated (OSCCTRL_INTENCLR) Register MASK  (Use OSCCTRL_INTENCLR_Msk instead)  */
+#define OSCCTRL_INTENCLR_Msk                _U_(0xF0713)                                   /**< (OSCCTRL_INTENCLR) Register Mask  */
+
+
+/* -------- OSCCTRL_INTENSET : (OSCCTRL Offset: 0x08) (R/W 32) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSCRDY:1;                 /**< bit:      0  XOSC Ready Interrupt Enable              */
+    uint32_t XOSCFAIL:1;                /**< bit:      1  XOSC Clock Failure Detector Interrupt Enable */
+    uint32_t :2;                        /**< bit:   2..3  Reserved */
+    uint32_t OSC16MRDY:1;               /**< bit:      4  OSC16M Ready Interrupt Enable            */
+    uint32_t :3;                        /**< bit:   5..7  Reserved */
+    uint32_t DFLLULPRDY:1;              /**< bit:      8  DFLLULP Ready interrupt Enable           */
+    uint32_t DFLLULPLOCK:1;             /**< bit:      9  DFLLULP Lock Interrupt Enable            */
+    uint32_t DFLLULPNOLOCK:1;           /**< bit:     10  DFLLULP No Lock Interrupt Enable         */
+    uint32_t :5;                        /**< bit: 11..15  Reserved */
+    uint32_t DPLLLCKR:1;                /**< bit:     16  DPLL Lock Rise Interrupt Enable          */
+    uint32_t DPLLLCKF:1;                /**< bit:     17  DPLL Lock Fall Interrupt Enable          */
+    uint32_t DPLLLTO:1;                 /**< bit:     18  DPLL Lock Timeout Interrupt Enable       */
+    uint32_t DPLLLDRTO:1;               /**< bit:     19  DPLL Loop Divider Ratio Update Complete Interrupt Enable */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_INTENSET_OFFSET             (0x08)                                        /**<  (OSCCTRL_INTENSET) Interrupt Enable Set  Offset */
+#define OSCCTRL_INTENSET_RESETVALUE         _U_(0x00)                                     /**<  (OSCCTRL_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define OSCCTRL_INTENSET_XOSCRDY_Pos        0                                              /**< (OSCCTRL_INTENSET) XOSC Ready Interrupt Enable Position */
+#define OSCCTRL_INTENSET_XOSCRDY_Msk        (_U_(0x1) << OSCCTRL_INTENSET_XOSCRDY_Pos)     /**< (OSCCTRL_INTENSET) XOSC Ready Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_XOSCRDY            OSCCTRL_INTENSET_XOSCRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_XOSCRDY_Msk instead */
+#define OSCCTRL_INTENSET_XOSCFAIL_Pos       1                                              /**< (OSCCTRL_INTENSET) XOSC Clock Failure Detector Interrupt Enable Position */
+#define OSCCTRL_INTENSET_XOSCFAIL_Msk       (_U_(0x1) << OSCCTRL_INTENSET_XOSCFAIL_Pos)    /**< (OSCCTRL_INTENSET) XOSC Clock Failure Detector Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_XOSCFAIL           OSCCTRL_INTENSET_XOSCFAIL_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_XOSCFAIL_Msk instead */
+#define OSCCTRL_INTENSET_OSC16MRDY_Pos      4                                              /**< (OSCCTRL_INTENSET) OSC16M Ready Interrupt Enable Position */
+#define OSCCTRL_INTENSET_OSC16MRDY_Msk      (_U_(0x1) << OSCCTRL_INTENSET_OSC16MRDY_Pos)   /**< (OSCCTRL_INTENSET) OSC16M Ready Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_OSC16MRDY          OSCCTRL_INTENSET_OSC16MRDY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_OSC16MRDY_Msk instead */
+#define OSCCTRL_INTENSET_DFLLULPRDY_Pos     8                                              /**< (OSCCTRL_INTENSET) DFLLULP Ready interrupt Enable Position */
+#define OSCCTRL_INTENSET_DFLLULPRDY_Msk     (_U_(0x1) << OSCCTRL_INTENSET_DFLLULPRDY_Pos)  /**< (OSCCTRL_INTENSET) DFLLULP Ready interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DFLLULPRDY         OSCCTRL_INTENSET_DFLLULPRDY_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DFLLULPRDY_Msk instead */
+#define OSCCTRL_INTENSET_DFLLULPLOCK_Pos    9                                              /**< (OSCCTRL_INTENSET) DFLLULP Lock Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DFLLULPLOCK_Msk    (_U_(0x1) << OSCCTRL_INTENSET_DFLLULPLOCK_Pos)  /**< (OSCCTRL_INTENSET) DFLLULP Lock Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DFLLULPLOCK        OSCCTRL_INTENSET_DFLLULPLOCK_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DFLLULPLOCK_Msk instead */
+#define OSCCTRL_INTENSET_DFLLULPNOLOCK_Pos  10                                             /**< (OSCCTRL_INTENSET) DFLLULP No Lock Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DFLLULPNOLOCK_Msk  (_U_(0x1) << OSCCTRL_INTENSET_DFLLULPNOLOCK_Pos)  /**< (OSCCTRL_INTENSET) DFLLULP No Lock Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DFLLULPNOLOCK      OSCCTRL_INTENSET_DFLLULPNOLOCK_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DFLLULPNOLOCK_Msk instead */
+#define OSCCTRL_INTENSET_DPLLLCKR_Pos       16                                             /**< (OSCCTRL_INTENSET) DPLL Lock Rise Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DPLLLCKR_Msk       (_U_(0x1) << OSCCTRL_INTENSET_DPLLLCKR_Pos)    /**< (OSCCTRL_INTENSET) DPLL Lock Rise Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DPLLLCKR           OSCCTRL_INTENSET_DPLLLCKR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLCKR_Msk instead */
+#define OSCCTRL_INTENSET_DPLLLCKF_Pos       17                                             /**< (OSCCTRL_INTENSET) DPLL Lock Fall Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DPLLLCKF_Msk       (_U_(0x1) << OSCCTRL_INTENSET_DPLLLCKF_Pos)    /**< (OSCCTRL_INTENSET) DPLL Lock Fall Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DPLLLCKF           OSCCTRL_INTENSET_DPLLLCKF_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLCKF_Msk instead */
+#define OSCCTRL_INTENSET_DPLLLTO_Pos        18                                             /**< (OSCCTRL_INTENSET) DPLL Lock Timeout Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DPLLLTO_Msk        (_U_(0x1) << OSCCTRL_INTENSET_DPLLLTO_Pos)     /**< (OSCCTRL_INTENSET) DPLL Lock Timeout Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DPLLLTO            OSCCTRL_INTENSET_DPLLLTO_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLTO_Msk instead */
+#define OSCCTRL_INTENSET_DPLLLDRTO_Pos      19                                             /**< (OSCCTRL_INTENSET) DPLL Loop Divider Ratio Update Complete Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DPLLLDRTO_Msk      (_U_(0x1) << OSCCTRL_INTENSET_DPLLLDRTO_Pos)   /**< (OSCCTRL_INTENSET) DPLL Loop Divider Ratio Update Complete Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DPLLLDRTO          OSCCTRL_INTENSET_DPLLLDRTO_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLDRTO_Msk instead */
+#define OSCCTRL_INTENSET_MASK               _U_(0xF0713)                                   /**< \deprecated (OSCCTRL_INTENSET) Register MASK  (Use OSCCTRL_INTENSET_Msk instead)  */
+#define OSCCTRL_INTENSET_Msk                _U_(0xF0713)                                   /**< (OSCCTRL_INTENSET) Register Mask  */
+
+
+/* -------- OSCCTRL_INTFLAG : (OSCCTRL Offset: 0x0c) (R/W 32) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t XOSCRDY:1;                 /**< bit:      0  XOSC Ready                               */
+    __I uint32_t XOSCFAIL:1;                /**< bit:      1  XOSC Clock Failure Detector              */
+    __I uint32_t :2;                        /**< bit:   2..3  Reserved */
+    __I uint32_t OSC16MRDY:1;               /**< bit:      4  OSC16M Ready                             */
+    __I uint32_t :3;                        /**< bit:   5..7  Reserved */
+    __I uint32_t DFLLULPRDY:1;              /**< bit:      8  DFLLULP Ready                            */
+    __I uint32_t DFLLULPLOCK:1;             /**< bit:      9  DFLLULP Lock                             */
+    __I uint32_t DFLLULPNOLOCK:1;           /**< bit:     10  DFLLULP No Lock                          */
+    __I uint32_t :5;                        /**< bit: 11..15  Reserved */
+    __I uint32_t DPLLLCKR:1;                /**< bit:     16  DPLL Lock Rise                           */
+    __I uint32_t DPLLLCKF:1;                /**< bit:     17  DPLL Lock Fall                           */
+    __I uint32_t DPLLLTO:1;                 /**< bit:     18  DPLL Lock Timeout                        */
+    __I uint32_t DPLLLDRTO:1;               /**< bit:     19  DPLL Loop Divider Ratio Update Complete  */
+    __I uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_INTFLAG_OFFSET              (0x0C)                                        /**<  (OSCCTRL_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define OSCCTRL_INTFLAG_RESETVALUE          _U_(0x00)                                     /**<  (OSCCTRL_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define OSCCTRL_INTFLAG_XOSCRDY_Pos         0                                              /**< (OSCCTRL_INTFLAG) XOSC Ready Position */
+#define OSCCTRL_INTFLAG_XOSCRDY_Msk         (_U_(0x1) << OSCCTRL_INTFLAG_XOSCRDY_Pos)      /**< (OSCCTRL_INTFLAG) XOSC Ready Mask */
+#define OSCCTRL_INTFLAG_XOSCRDY             OSCCTRL_INTFLAG_XOSCRDY_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_XOSCRDY_Msk instead */
+#define OSCCTRL_INTFLAG_XOSCFAIL_Pos        1                                              /**< (OSCCTRL_INTFLAG) XOSC Clock Failure Detector Position */
+#define OSCCTRL_INTFLAG_XOSCFAIL_Msk        (_U_(0x1) << OSCCTRL_INTFLAG_XOSCFAIL_Pos)     /**< (OSCCTRL_INTFLAG) XOSC Clock Failure Detector Mask */
+#define OSCCTRL_INTFLAG_XOSCFAIL            OSCCTRL_INTFLAG_XOSCFAIL_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_XOSCFAIL_Msk instead */
+#define OSCCTRL_INTFLAG_OSC16MRDY_Pos       4                                              /**< (OSCCTRL_INTFLAG) OSC16M Ready Position */
+#define OSCCTRL_INTFLAG_OSC16MRDY_Msk       (_U_(0x1) << OSCCTRL_INTFLAG_OSC16MRDY_Pos)    /**< (OSCCTRL_INTFLAG) OSC16M Ready Mask */
+#define OSCCTRL_INTFLAG_OSC16MRDY           OSCCTRL_INTFLAG_OSC16MRDY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_OSC16MRDY_Msk instead */
+#define OSCCTRL_INTFLAG_DFLLULPRDY_Pos      8                                              /**< (OSCCTRL_INTFLAG) DFLLULP Ready Position */
+#define OSCCTRL_INTFLAG_DFLLULPRDY_Msk      (_U_(0x1) << OSCCTRL_INTFLAG_DFLLULPRDY_Pos)   /**< (OSCCTRL_INTFLAG) DFLLULP Ready Mask */
+#define OSCCTRL_INTFLAG_DFLLULPRDY          OSCCTRL_INTFLAG_DFLLULPRDY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DFLLULPRDY_Msk instead */
+#define OSCCTRL_INTFLAG_DFLLULPLOCK_Pos     9                                              /**< (OSCCTRL_INTFLAG) DFLLULP Lock Position */
+#define OSCCTRL_INTFLAG_DFLLULPLOCK_Msk     (_U_(0x1) << OSCCTRL_INTFLAG_DFLLULPLOCK_Pos)  /**< (OSCCTRL_INTFLAG) DFLLULP Lock Mask */
+#define OSCCTRL_INTFLAG_DFLLULPLOCK         OSCCTRL_INTFLAG_DFLLULPLOCK_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DFLLULPLOCK_Msk instead */
+#define OSCCTRL_INTFLAG_DFLLULPNOLOCK_Pos   10                                             /**< (OSCCTRL_INTFLAG) DFLLULP No Lock Position */
+#define OSCCTRL_INTFLAG_DFLLULPNOLOCK_Msk   (_U_(0x1) << OSCCTRL_INTFLAG_DFLLULPNOLOCK_Pos)  /**< (OSCCTRL_INTFLAG) DFLLULP No Lock Mask */
+#define OSCCTRL_INTFLAG_DFLLULPNOLOCK       OSCCTRL_INTFLAG_DFLLULPNOLOCK_Msk              /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DFLLULPNOLOCK_Msk instead */
+#define OSCCTRL_INTFLAG_DPLLLCKR_Pos        16                                             /**< (OSCCTRL_INTFLAG) DPLL Lock Rise Position */
+#define OSCCTRL_INTFLAG_DPLLLCKR_Msk        (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLCKR_Pos)     /**< (OSCCTRL_INTFLAG) DPLL Lock Rise Mask */
+#define OSCCTRL_INTFLAG_DPLLLCKR            OSCCTRL_INTFLAG_DPLLLCKR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLCKR_Msk instead */
+#define OSCCTRL_INTFLAG_DPLLLCKF_Pos        17                                             /**< (OSCCTRL_INTFLAG) DPLL Lock Fall Position */
+#define OSCCTRL_INTFLAG_DPLLLCKF_Msk        (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLCKF_Pos)     /**< (OSCCTRL_INTFLAG) DPLL Lock Fall Mask */
+#define OSCCTRL_INTFLAG_DPLLLCKF            OSCCTRL_INTFLAG_DPLLLCKF_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLCKF_Msk instead */
+#define OSCCTRL_INTFLAG_DPLLLTO_Pos         18                                             /**< (OSCCTRL_INTFLAG) DPLL Lock Timeout Position */
+#define OSCCTRL_INTFLAG_DPLLLTO_Msk         (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLTO_Pos)      /**< (OSCCTRL_INTFLAG) DPLL Lock Timeout Mask */
+#define OSCCTRL_INTFLAG_DPLLLTO             OSCCTRL_INTFLAG_DPLLLTO_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLTO_Msk instead */
+#define OSCCTRL_INTFLAG_DPLLLDRTO_Pos       19                                             /**< (OSCCTRL_INTFLAG) DPLL Loop Divider Ratio Update Complete Position */
+#define OSCCTRL_INTFLAG_DPLLLDRTO_Msk       (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLDRTO_Pos)    /**< (OSCCTRL_INTFLAG) DPLL Loop Divider Ratio Update Complete Mask */
+#define OSCCTRL_INTFLAG_DPLLLDRTO           OSCCTRL_INTFLAG_DPLLLDRTO_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLDRTO_Msk instead */
+#define OSCCTRL_INTFLAG_MASK                _U_(0xF0713)                                   /**< \deprecated (OSCCTRL_INTFLAG) Register MASK  (Use OSCCTRL_INTFLAG_Msk instead)  */
+#define OSCCTRL_INTFLAG_Msk                 _U_(0xF0713)                                   /**< (OSCCTRL_INTFLAG) Register Mask  */
+
+
+/* -------- OSCCTRL_STATUS : (OSCCTRL Offset: 0x10) (R/ 32) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSCRDY:1;                 /**< bit:      0  XOSC Ready                               */
+    uint32_t XOSCFAIL:1;                /**< bit:      1  XOSC Clock Failure Detector              */
+    uint32_t XOSCCKSW:1;                /**< bit:      2  XOSC Clock Switch                        */
+    uint32_t :1;                        /**< bit:      3  Reserved */
+    uint32_t OSC16MRDY:1;               /**< bit:      4  OSC16M Ready                             */
+    uint32_t :3;                        /**< bit:   5..7  Reserved */
+    uint32_t DFLLULPRDY:1;              /**< bit:      8  DFLLULP Ready                            */
+    uint32_t DFLLULPLOCK:1;             /**< bit:      9  DFLLULP Lock                             */
+    uint32_t DFLLULPNOLOCK:1;           /**< bit:     10  DFLLULP No Lock                          */
+    uint32_t :5;                        /**< bit: 11..15  Reserved */
+    uint32_t DPLLLCKR:1;                /**< bit:     16  DPLL Lock Rise                           */
+    uint32_t DPLLLCKF:1;                /**< bit:     17  DPLL Lock Fall                           */
+    uint32_t DPLLTO:1;                  /**< bit:     18  DPLL Lock Timeout                        */
+    uint32_t DPLLLDRTO:1;               /**< bit:     19  DPLL Loop Divider Ratio Update Complete  */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_STATUS_OFFSET               (0x10)                                        /**<  (OSCCTRL_STATUS) Status  Offset */
+#define OSCCTRL_STATUS_RESETVALUE           _U_(0x00)                                     /**<  (OSCCTRL_STATUS) Status  Reset Value */
+
+#define OSCCTRL_STATUS_XOSCRDY_Pos          0                                              /**< (OSCCTRL_STATUS) XOSC Ready Position */
+#define OSCCTRL_STATUS_XOSCRDY_Msk          (_U_(0x1) << OSCCTRL_STATUS_XOSCRDY_Pos)       /**< (OSCCTRL_STATUS) XOSC Ready Mask */
+#define OSCCTRL_STATUS_XOSCRDY              OSCCTRL_STATUS_XOSCRDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_XOSCRDY_Msk instead */
+#define OSCCTRL_STATUS_XOSCFAIL_Pos         1                                              /**< (OSCCTRL_STATUS) XOSC Clock Failure Detector Position */
+#define OSCCTRL_STATUS_XOSCFAIL_Msk         (_U_(0x1) << OSCCTRL_STATUS_XOSCFAIL_Pos)      /**< (OSCCTRL_STATUS) XOSC Clock Failure Detector Mask */
+#define OSCCTRL_STATUS_XOSCFAIL             OSCCTRL_STATUS_XOSCFAIL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_XOSCFAIL_Msk instead */
+#define OSCCTRL_STATUS_XOSCCKSW_Pos         2                                              /**< (OSCCTRL_STATUS) XOSC Clock Switch Position */
+#define OSCCTRL_STATUS_XOSCCKSW_Msk         (_U_(0x1) << OSCCTRL_STATUS_XOSCCKSW_Pos)      /**< (OSCCTRL_STATUS) XOSC Clock Switch Mask */
+#define OSCCTRL_STATUS_XOSCCKSW             OSCCTRL_STATUS_XOSCCKSW_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_XOSCCKSW_Msk instead */
+#define OSCCTRL_STATUS_OSC16MRDY_Pos        4                                              /**< (OSCCTRL_STATUS) OSC16M Ready Position */
+#define OSCCTRL_STATUS_OSC16MRDY_Msk        (_U_(0x1) << OSCCTRL_STATUS_OSC16MRDY_Pos)     /**< (OSCCTRL_STATUS) OSC16M Ready Mask */
+#define OSCCTRL_STATUS_OSC16MRDY            OSCCTRL_STATUS_OSC16MRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_OSC16MRDY_Msk instead */
+#define OSCCTRL_STATUS_DFLLULPRDY_Pos       8                                              /**< (OSCCTRL_STATUS) DFLLULP Ready Position */
+#define OSCCTRL_STATUS_DFLLULPRDY_Msk       (_U_(0x1) << OSCCTRL_STATUS_DFLLULPRDY_Pos)    /**< (OSCCTRL_STATUS) DFLLULP Ready Mask */
+#define OSCCTRL_STATUS_DFLLULPRDY           OSCCTRL_STATUS_DFLLULPRDY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DFLLULPRDY_Msk instead */
+#define OSCCTRL_STATUS_DFLLULPLOCK_Pos      9                                              /**< (OSCCTRL_STATUS) DFLLULP Lock Position */
+#define OSCCTRL_STATUS_DFLLULPLOCK_Msk      (_U_(0x1) << OSCCTRL_STATUS_DFLLULPLOCK_Pos)   /**< (OSCCTRL_STATUS) DFLLULP Lock Mask */
+#define OSCCTRL_STATUS_DFLLULPLOCK          OSCCTRL_STATUS_DFLLULPLOCK_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DFLLULPLOCK_Msk instead */
+#define OSCCTRL_STATUS_DFLLULPNOLOCK_Pos    10                                             /**< (OSCCTRL_STATUS) DFLLULP No Lock Position */
+#define OSCCTRL_STATUS_DFLLULPNOLOCK_Msk    (_U_(0x1) << OSCCTRL_STATUS_DFLLULPNOLOCK_Pos)  /**< (OSCCTRL_STATUS) DFLLULP No Lock Mask */
+#define OSCCTRL_STATUS_DFLLULPNOLOCK        OSCCTRL_STATUS_DFLLULPNOLOCK_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DFLLULPNOLOCK_Msk instead */
+#define OSCCTRL_STATUS_DPLLLCKR_Pos         16                                             /**< (OSCCTRL_STATUS) DPLL Lock Rise Position */
+#define OSCCTRL_STATUS_DPLLLCKR_Msk         (_U_(0x1) << OSCCTRL_STATUS_DPLLLCKR_Pos)      /**< (OSCCTRL_STATUS) DPLL Lock Rise Mask */
+#define OSCCTRL_STATUS_DPLLLCKR             OSCCTRL_STATUS_DPLLLCKR_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLLCKR_Msk instead */
+#define OSCCTRL_STATUS_DPLLLCKF_Pos         17                                             /**< (OSCCTRL_STATUS) DPLL Lock Fall Position */
+#define OSCCTRL_STATUS_DPLLLCKF_Msk         (_U_(0x1) << OSCCTRL_STATUS_DPLLLCKF_Pos)      /**< (OSCCTRL_STATUS) DPLL Lock Fall Mask */
+#define OSCCTRL_STATUS_DPLLLCKF             OSCCTRL_STATUS_DPLLLCKF_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLLCKF_Msk instead */
+#define OSCCTRL_STATUS_DPLLTO_Pos           18                                             /**< (OSCCTRL_STATUS) DPLL Lock Timeout Position */
+#define OSCCTRL_STATUS_DPLLTO_Msk           (_U_(0x1) << OSCCTRL_STATUS_DPLLTO_Pos)        /**< (OSCCTRL_STATUS) DPLL Lock Timeout Mask */
+#define OSCCTRL_STATUS_DPLLTO               OSCCTRL_STATUS_DPLLTO_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLTO_Msk instead */
+#define OSCCTRL_STATUS_DPLLLDRTO_Pos        19                                             /**< (OSCCTRL_STATUS) DPLL Loop Divider Ratio Update Complete Position */
+#define OSCCTRL_STATUS_DPLLLDRTO_Msk        (_U_(0x1) << OSCCTRL_STATUS_DPLLLDRTO_Pos)     /**< (OSCCTRL_STATUS) DPLL Loop Divider Ratio Update Complete Mask */
+#define OSCCTRL_STATUS_DPLLLDRTO            OSCCTRL_STATUS_DPLLLDRTO_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLLDRTO_Msk instead */
+#define OSCCTRL_STATUS_MASK                 _U_(0xF0717)                                   /**< \deprecated (OSCCTRL_STATUS) Register MASK  (Use OSCCTRL_STATUS_Msk instead)  */
+#define OSCCTRL_STATUS_Msk                  _U_(0xF0717)                                   /**< (OSCCTRL_STATUS) Register Mask  */
+
+
+/* -------- OSCCTRL_XOSCCTRL : (OSCCTRL Offset: 0x14) (R/W 16) External Multipurpose Crystal Oscillator (XOSC) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t :1;                        /**< bit:      0  Reserved */
+    uint16_t ENABLE:1;                  /**< bit:      1  Oscillator Enable                        */
+    uint16_t XTALEN:1;                  /**< bit:      2  Crystal Oscillator Enable                */
+    uint16_t CFDEN:1;                   /**< bit:      3  Clock Failure Detector Enable            */
+    uint16_t SWBEN:1;                   /**< bit:      4  Xosc Clock Switch Enable                 */
+    uint16_t :1;                        /**< bit:      5  Reserved */
+    uint16_t RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint16_t ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+    uint16_t GAIN:3;                    /**< bit:  8..10  Oscillator Gain                          */
+    uint16_t AMPGC:1;                   /**< bit:     11  Automatic Amplitude Gain Control         */
+    uint16_t STARTUP:4;                 /**< bit: 12..15  Start-Up Time                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} OSCCTRL_XOSCCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_XOSCCTRL_OFFSET             (0x14)                                        /**<  (OSCCTRL_XOSCCTRL) External Multipurpose Crystal Oscillator (XOSC) Control  Offset */
+#define OSCCTRL_XOSCCTRL_RESETVALUE         _U_(0x80)                                     /**<  (OSCCTRL_XOSCCTRL) External Multipurpose Crystal Oscillator (XOSC) Control  Reset Value */
+
+#define OSCCTRL_XOSCCTRL_ENABLE_Pos         1                                              /**< (OSCCTRL_XOSCCTRL) Oscillator Enable Position */
+#define OSCCTRL_XOSCCTRL_ENABLE_Msk         (_U_(0x1) << OSCCTRL_XOSCCTRL_ENABLE_Pos)      /**< (OSCCTRL_XOSCCTRL) Oscillator Enable Mask */
+#define OSCCTRL_XOSCCTRL_ENABLE             OSCCTRL_XOSCCTRL_ENABLE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_ENABLE_Msk instead */
+#define OSCCTRL_XOSCCTRL_XTALEN_Pos         2                                              /**< (OSCCTRL_XOSCCTRL) Crystal Oscillator Enable Position */
+#define OSCCTRL_XOSCCTRL_XTALEN_Msk         (_U_(0x1) << OSCCTRL_XOSCCTRL_XTALEN_Pos)      /**< (OSCCTRL_XOSCCTRL) Crystal Oscillator Enable Mask */
+#define OSCCTRL_XOSCCTRL_XTALEN             OSCCTRL_XOSCCTRL_XTALEN_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_XTALEN_Msk instead */
+#define OSCCTRL_XOSCCTRL_CFDEN_Pos          3                                              /**< (OSCCTRL_XOSCCTRL) Clock Failure Detector Enable Position */
+#define OSCCTRL_XOSCCTRL_CFDEN_Msk          (_U_(0x1) << OSCCTRL_XOSCCTRL_CFDEN_Pos)       /**< (OSCCTRL_XOSCCTRL) Clock Failure Detector Enable Mask */
+#define OSCCTRL_XOSCCTRL_CFDEN              OSCCTRL_XOSCCTRL_CFDEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_CFDEN_Msk instead */
+#define OSCCTRL_XOSCCTRL_SWBEN_Pos          4                                              /**< (OSCCTRL_XOSCCTRL) Xosc Clock Switch Enable Position */
+#define OSCCTRL_XOSCCTRL_SWBEN_Msk          (_U_(0x1) << OSCCTRL_XOSCCTRL_SWBEN_Pos)       /**< (OSCCTRL_XOSCCTRL) Xosc Clock Switch Enable Mask */
+#define OSCCTRL_XOSCCTRL_SWBEN              OSCCTRL_XOSCCTRL_SWBEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_SWBEN_Msk instead */
+#define OSCCTRL_XOSCCTRL_RUNSTDBY_Pos       6                                              /**< (OSCCTRL_XOSCCTRL) Run in Standby Position */
+#define OSCCTRL_XOSCCTRL_RUNSTDBY_Msk       (_U_(0x1) << OSCCTRL_XOSCCTRL_RUNSTDBY_Pos)    /**< (OSCCTRL_XOSCCTRL) Run in Standby Mask */
+#define OSCCTRL_XOSCCTRL_RUNSTDBY           OSCCTRL_XOSCCTRL_RUNSTDBY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_RUNSTDBY_Msk instead */
+#define OSCCTRL_XOSCCTRL_ONDEMAND_Pos       7                                              /**< (OSCCTRL_XOSCCTRL) On Demand Control Position */
+#define OSCCTRL_XOSCCTRL_ONDEMAND_Msk       (_U_(0x1) << OSCCTRL_XOSCCTRL_ONDEMAND_Pos)    /**< (OSCCTRL_XOSCCTRL) On Demand Control Mask */
+#define OSCCTRL_XOSCCTRL_ONDEMAND           OSCCTRL_XOSCCTRL_ONDEMAND_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_ONDEMAND_Msk instead */
+#define OSCCTRL_XOSCCTRL_GAIN_Pos           8                                              /**< (OSCCTRL_XOSCCTRL) Oscillator Gain Position */
+#define OSCCTRL_XOSCCTRL_GAIN_Msk           (_U_(0x7) << OSCCTRL_XOSCCTRL_GAIN_Pos)        /**< (OSCCTRL_XOSCCTRL) Oscillator Gain Mask */
+#define OSCCTRL_XOSCCTRL_GAIN(value)        (OSCCTRL_XOSCCTRL_GAIN_Msk & ((value) << OSCCTRL_XOSCCTRL_GAIN_Pos))
+#define OSCCTRL_XOSCCTRL_AMPGC_Pos          11                                             /**< (OSCCTRL_XOSCCTRL) Automatic Amplitude Gain Control Position */
+#define OSCCTRL_XOSCCTRL_AMPGC_Msk          (_U_(0x1) << OSCCTRL_XOSCCTRL_AMPGC_Pos)       /**< (OSCCTRL_XOSCCTRL) Automatic Amplitude Gain Control Mask */
+#define OSCCTRL_XOSCCTRL_AMPGC              OSCCTRL_XOSCCTRL_AMPGC_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_AMPGC_Msk instead */
+#define OSCCTRL_XOSCCTRL_STARTUP_Pos        12                                             /**< (OSCCTRL_XOSCCTRL) Start-Up Time Position */
+#define OSCCTRL_XOSCCTRL_STARTUP_Msk        (_U_(0xF) << OSCCTRL_XOSCCTRL_STARTUP_Pos)     /**< (OSCCTRL_XOSCCTRL) Start-Up Time Mask */
+#define OSCCTRL_XOSCCTRL_STARTUP(value)     (OSCCTRL_XOSCCTRL_STARTUP_Msk & ((value) << OSCCTRL_XOSCCTRL_STARTUP_Pos))
+#define OSCCTRL_XOSCCTRL_MASK               _U_(0xFFDE)                                    /**< \deprecated (OSCCTRL_XOSCCTRL) Register MASK  (Use OSCCTRL_XOSCCTRL_Msk instead)  */
+#define OSCCTRL_XOSCCTRL_Msk                _U_(0xFFDE)                                    /**< (OSCCTRL_XOSCCTRL) Register Mask  */
+
+
+/* -------- OSCCTRL_CFDPRESC : (OSCCTRL Offset: 0x16) (R/W 8) Clock Failure Detector Prescaler -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CFDPRESC:3;                /**< bit:   0..2  Clock Failure Detector Prescaler         */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_CFDPRESC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_CFDPRESC_OFFSET             (0x16)                                        /**<  (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler  Offset */
+#define OSCCTRL_CFDPRESC_RESETVALUE         _U_(0x00)                                     /**<  (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler  Reset Value */
+
+#define OSCCTRL_CFDPRESC_CFDPRESC_Pos       0                                              /**< (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler Position */
+#define OSCCTRL_CFDPRESC_CFDPRESC_Msk       (_U_(0x7) << OSCCTRL_CFDPRESC_CFDPRESC_Pos)    /**< (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler Mask */
+#define OSCCTRL_CFDPRESC_CFDPRESC(value)    (OSCCTRL_CFDPRESC_CFDPRESC_Msk & ((value) << OSCCTRL_CFDPRESC_CFDPRESC_Pos))
+#define OSCCTRL_CFDPRESC_MASK               _U_(0x07)                                      /**< \deprecated (OSCCTRL_CFDPRESC) Register MASK  (Use OSCCTRL_CFDPRESC_Msk instead)  */
+#define OSCCTRL_CFDPRESC_Msk                _U_(0x07)                                      /**< (OSCCTRL_CFDPRESC) Register Mask  */
+
+
+/* -------- OSCCTRL_OSC16MCTRL : (OSCCTRL Offset: 0x18) (R/W 8) 16MHz Internal Oscillator (OSC16M) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :1;                        /**< bit:      0  Reserved */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Oscillator Enable                        */
+    uint8_t  FSEL:2;                    /**< bit:   2..3  Oscillator Frequency Selection           */
+    uint8_t  :2;                        /**< bit:   4..5  Reserved */
+    uint8_t  RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint8_t  ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_OSC16MCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_OSC16MCTRL_OFFSET           (0x18)                                        /**<  (OSCCTRL_OSC16MCTRL) 16MHz Internal Oscillator (OSC16M) Control  Offset */
+#define OSCCTRL_OSC16MCTRL_RESETVALUE       _U_(0x82)                                     /**<  (OSCCTRL_OSC16MCTRL) 16MHz Internal Oscillator (OSC16M) Control  Reset Value */
+
+#define OSCCTRL_OSC16MCTRL_ENABLE_Pos       1                                              /**< (OSCCTRL_OSC16MCTRL) Oscillator Enable Position */
+#define OSCCTRL_OSC16MCTRL_ENABLE_Msk       (_U_(0x1) << OSCCTRL_OSC16MCTRL_ENABLE_Pos)    /**< (OSCCTRL_OSC16MCTRL) Oscillator Enable Mask */
+#define OSCCTRL_OSC16MCTRL_ENABLE           OSCCTRL_OSC16MCTRL_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_OSC16MCTRL_ENABLE_Msk instead */
+#define OSCCTRL_OSC16MCTRL_FSEL_Pos         2                                              /**< (OSCCTRL_OSC16MCTRL) Oscillator Frequency Selection Position */
+#define OSCCTRL_OSC16MCTRL_FSEL_Msk         (_U_(0x3) << OSCCTRL_OSC16MCTRL_FSEL_Pos)      /**< (OSCCTRL_OSC16MCTRL) Oscillator Frequency Selection Mask */
+#define OSCCTRL_OSC16MCTRL_FSEL(value)      (OSCCTRL_OSC16MCTRL_FSEL_Msk & ((value) << OSCCTRL_OSC16MCTRL_FSEL_Pos))
+#define   OSCCTRL_OSC16MCTRL_FSEL_4_Val     _U_(0x0)                                       /**< (OSCCTRL_OSC16MCTRL) 4MHz  */
+#define   OSCCTRL_OSC16MCTRL_FSEL_8_Val     _U_(0x1)                                       /**< (OSCCTRL_OSC16MCTRL) 8MHz  */
+#define   OSCCTRL_OSC16MCTRL_FSEL_12_Val    _U_(0x2)                                       /**< (OSCCTRL_OSC16MCTRL) 12MHz  */
+#define   OSCCTRL_OSC16MCTRL_FSEL_16_Val    _U_(0x3)                                       /**< (OSCCTRL_OSC16MCTRL) 16MHz  */
+#define OSCCTRL_OSC16MCTRL_FSEL_4           (OSCCTRL_OSC16MCTRL_FSEL_4_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos)  /**< (OSCCTRL_OSC16MCTRL) 4MHz Position  */
+#define OSCCTRL_OSC16MCTRL_FSEL_8           (OSCCTRL_OSC16MCTRL_FSEL_8_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos)  /**< (OSCCTRL_OSC16MCTRL) 8MHz Position  */
+#define OSCCTRL_OSC16MCTRL_FSEL_12          (OSCCTRL_OSC16MCTRL_FSEL_12_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos)  /**< (OSCCTRL_OSC16MCTRL) 12MHz Position  */
+#define OSCCTRL_OSC16MCTRL_FSEL_16          (OSCCTRL_OSC16MCTRL_FSEL_16_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos)  /**< (OSCCTRL_OSC16MCTRL) 16MHz Position  */
+#define OSCCTRL_OSC16MCTRL_RUNSTDBY_Pos     6                                              /**< (OSCCTRL_OSC16MCTRL) Run in Standby Position */
+#define OSCCTRL_OSC16MCTRL_RUNSTDBY_Msk     (_U_(0x1) << OSCCTRL_OSC16MCTRL_RUNSTDBY_Pos)  /**< (OSCCTRL_OSC16MCTRL) Run in Standby Mask */
+#define OSCCTRL_OSC16MCTRL_RUNSTDBY         OSCCTRL_OSC16MCTRL_RUNSTDBY_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_OSC16MCTRL_RUNSTDBY_Msk instead */
+#define OSCCTRL_OSC16MCTRL_ONDEMAND_Pos     7                                              /**< (OSCCTRL_OSC16MCTRL) On Demand Control Position */
+#define OSCCTRL_OSC16MCTRL_ONDEMAND_Msk     (_U_(0x1) << OSCCTRL_OSC16MCTRL_ONDEMAND_Pos)  /**< (OSCCTRL_OSC16MCTRL) On Demand Control Mask */
+#define OSCCTRL_OSC16MCTRL_ONDEMAND         OSCCTRL_OSC16MCTRL_ONDEMAND_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_OSC16MCTRL_ONDEMAND_Msk instead */
+#define OSCCTRL_OSC16MCTRL_MASK             _U_(0xCE)                                      /**< \deprecated (OSCCTRL_OSC16MCTRL) Register MASK  (Use OSCCTRL_OSC16MCTRL_Msk instead)  */
+#define OSCCTRL_OSC16MCTRL_Msk              _U_(0xCE)                                      /**< (OSCCTRL_OSC16MCTRL) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPCTRL : (OSCCTRL Offset: 0x1c) (R/W 16) DFLLULP Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t :1;                        /**< bit:      0  Reserved */
+    uint16_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint16_t :1;                        /**< bit:      2  Reserved */
+    uint16_t BINSE:1;                   /**< bit:      3  Binary Search Enable                     */
+    uint16_t SAFE:1;                    /**< bit:      4  Tuner Safe Mode                          */
+    uint16_t DITHER:1;                  /**< bit:      5  Tuner Dither Mode                        */
+    uint16_t RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint16_t ONDEMAND:1;                /**< bit:      7  On Demand                                */
+    uint16_t DIV:3;                     /**< bit:  8..10  Division Factor                          */
+    uint16_t :5;                        /**< bit: 11..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPCTRL_OFFSET          (0x1C)                                        /**<  (OSCCTRL_DFLLULPCTRL) DFLLULP Control  Offset */
+#define OSCCTRL_DFLLULPCTRL_RESETVALUE      _U_(0x504)                                    /**<  (OSCCTRL_DFLLULPCTRL) DFLLULP Control  Reset Value */
+
+#define OSCCTRL_DFLLULPCTRL_ENABLE_Pos      1                                              /**< (OSCCTRL_DFLLULPCTRL) Enable Position */
+#define OSCCTRL_DFLLULPCTRL_ENABLE_Msk      (_U_(0x1) << OSCCTRL_DFLLULPCTRL_ENABLE_Pos)   /**< (OSCCTRL_DFLLULPCTRL) Enable Mask */
+#define OSCCTRL_DFLLULPCTRL_ENABLE          OSCCTRL_DFLLULPCTRL_ENABLE_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_ENABLE_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_BINSE_Pos       3                                              /**< (OSCCTRL_DFLLULPCTRL) Binary Search Enable Position */
+#define OSCCTRL_DFLLULPCTRL_BINSE_Msk       (_U_(0x1) << OSCCTRL_DFLLULPCTRL_BINSE_Pos)    /**< (OSCCTRL_DFLLULPCTRL) Binary Search Enable Mask */
+#define OSCCTRL_DFLLULPCTRL_BINSE           OSCCTRL_DFLLULPCTRL_BINSE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_BINSE_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_SAFE_Pos        4                                              /**< (OSCCTRL_DFLLULPCTRL) Tuner Safe Mode Position */
+#define OSCCTRL_DFLLULPCTRL_SAFE_Msk        (_U_(0x1) << OSCCTRL_DFLLULPCTRL_SAFE_Pos)     /**< (OSCCTRL_DFLLULPCTRL) Tuner Safe Mode Mask */
+#define OSCCTRL_DFLLULPCTRL_SAFE            OSCCTRL_DFLLULPCTRL_SAFE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_SAFE_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_DITHER_Pos      5                                              /**< (OSCCTRL_DFLLULPCTRL) Tuner Dither Mode Position */
+#define OSCCTRL_DFLLULPCTRL_DITHER_Msk      (_U_(0x1) << OSCCTRL_DFLLULPCTRL_DITHER_Pos)   /**< (OSCCTRL_DFLLULPCTRL) Tuner Dither Mode Mask */
+#define OSCCTRL_DFLLULPCTRL_DITHER          OSCCTRL_DFLLULPCTRL_DITHER_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_DITHER_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_RUNSTDBY_Pos    6                                              /**< (OSCCTRL_DFLLULPCTRL) Run in Standby Position */
+#define OSCCTRL_DFLLULPCTRL_RUNSTDBY_Msk    (_U_(0x1) << OSCCTRL_DFLLULPCTRL_RUNSTDBY_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Run in Standby Mask */
+#define OSCCTRL_DFLLULPCTRL_RUNSTDBY        OSCCTRL_DFLLULPCTRL_RUNSTDBY_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_RUNSTDBY_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_ONDEMAND_Pos    7                                              /**< (OSCCTRL_DFLLULPCTRL) On Demand Position */
+#define OSCCTRL_DFLLULPCTRL_ONDEMAND_Msk    (_U_(0x1) << OSCCTRL_DFLLULPCTRL_ONDEMAND_Pos)  /**< (OSCCTRL_DFLLULPCTRL) On Demand Mask */
+#define OSCCTRL_DFLLULPCTRL_ONDEMAND        OSCCTRL_DFLLULPCTRL_ONDEMAND_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_ONDEMAND_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_DIV_Pos         8                                              /**< (OSCCTRL_DFLLULPCTRL) Division Factor Position */
+#define OSCCTRL_DFLLULPCTRL_DIV_Msk         (_U_(0x7) << OSCCTRL_DFLLULPCTRL_DIV_Pos)      /**< (OSCCTRL_DFLLULPCTRL) Division Factor Mask */
+#define OSCCTRL_DFLLULPCTRL_DIV(value)      (OSCCTRL_DFLLULPCTRL_DIV_Msk & ((value) << OSCCTRL_DFLLULPCTRL_DIV_Pos))
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV1_Val  _U_(0x0)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 1  */
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV2_Val  _U_(0x1)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 2  */
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV4_Val  _U_(0x2)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 4  */
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV8_Val  _U_(0x3)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 8  */
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV16_Val _U_(0x4)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 16  */
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV32_Val _U_(0x5)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 32  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV1        (OSCCTRL_DFLLULPCTRL_DIV_DIV1_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 1 Position  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV2        (OSCCTRL_DFLLULPCTRL_DIV_DIV2_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 2 Position  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV4        (OSCCTRL_DFLLULPCTRL_DIV_DIV4_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 4 Position  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV8        (OSCCTRL_DFLLULPCTRL_DIV_DIV8_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 8 Position  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV16       (OSCCTRL_DFLLULPCTRL_DIV_DIV16_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 16 Position  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV32       (OSCCTRL_DFLLULPCTRL_DIV_DIV32_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 32 Position  */
+#define OSCCTRL_DFLLULPCTRL_MASK            _U_(0x7FA)                                     /**< \deprecated (OSCCTRL_DFLLULPCTRL) Register MASK  (Use OSCCTRL_DFLLULPCTRL_Msk instead)  */
+#define OSCCTRL_DFLLULPCTRL_Msk             _U_(0x7FA)                                     /**< (OSCCTRL_DFLLULPCTRL) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPDITHER : (OSCCTRL Offset: 0x1e) (R/W 8) DFLLULP Dither Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  STEP:3;                    /**< bit:   0..2  Dither Step                              */
+    uint8_t  :1;                        /**< bit:      3  Reserved */
+    uint8_t  PER:3;                     /**< bit:   4..6  Dither Period                            */
+    uint8_t  :1;                        /**< bit:      7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPDITHER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPDITHER_OFFSET        (0x1E)                                        /**<  (OSCCTRL_DFLLULPDITHER) DFLLULP Dither Control  Offset */
+#define OSCCTRL_DFLLULPDITHER_RESETVALUE    _U_(0x00)                                     /**<  (OSCCTRL_DFLLULPDITHER) DFLLULP Dither Control  Reset Value */
+
+#define OSCCTRL_DFLLULPDITHER_STEP_Pos      0                                              /**< (OSCCTRL_DFLLULPDITHER) Dither Step Position */
+#define OSCCTRL_DFLLULPDITHER_STEP_Msk      (_U_(0x7) << OSCCTRL_DFLLULPDITHER_STEP_Pos)   /**< (OSCCTRL_DFLLULPDITHER) Dither Step Mask */
+#define OSCCTRL_DFLLULPDITHER_STEP(value)   (OSCCTRL_DFLLULPDITHER_STEP_Msk & ((value) << OSCCTRL_DFLLULPDITHER_STEP_Pos))
+#define   OSCCTRL_DFLLULPDITHER_STEP_STEP1_Val _U_(0x0)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 1  */
+#define   OSCCTRL_DFLLULPDITHER_STEP_STEP2_Val _U_(0x1)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 2  */
+#define   OSCCTRL_DFLLULPDITHER_STEP_STEP4_Val _U_(0x2)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 4  */
+#define   OSCCTRL_DFLLULPDITHER_STEP_STEP8_Val _U_(0x3)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 8  */
+#define OSCCTRL_DFLLULPDITHER_STEP_STEP1    (OSCCTRL_DFLLULPDITHER_STEP_STEP1_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 1 Position  */
+#define OSCCTRL_DFLLULPDITHER_STEP_STEP2    (OSCCTRL_DFLLULPDITHER_STEP_STEP2_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 2 Position  */
+#define OSCCTRL_DFLLULPDITHER_STEP_STEP4    (OSCCTRL_DFLLULPDITHER_STEP_STEP4_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 4 Position  */
+#define OSCCTRL_DFLLULPDITHER_STEP_STEP8    (OSCCTRL_DFLLULPDITHER_STEP_STEP8_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 8 Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_Pos       4                                              /**< (OSCCTRL_DFLLULPDITHER) Dither Period Position */
+#define OSCCTRL_DFLLULPDITHER_PER_Msk       (_U_(0x7) << OSCCTRL_DFLLULPDITHER_PER_Pos)    /**< (OSCCTRL_DFLLULPDITHER) Dither Period Mask */
+#define OSCCTRL_DFLLULPDITHER_PER(value)    (OSCCTRL_DFLLULPDITHER_PER_Msk & ((value) << OSCCTRL_DFLLULPDITHER_PER_Pos))
+#define   OSCCTRL_DFLLULPDITHER_PER_PER1_Val _U_(0x0)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 1 Reference Clock Period  */
+#define   OSCCTRL_DFLLULPDITHER_PER_PER2_Val _U_(0x1)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 2 Reference Clock Period  */
+#define   OSCCTRL_DFLLULPDITHER_PER_PER4_Val _U_(0x2)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 4 Reference Clock Period  */
+#define   OSCCTRL_DFLLULPDITHER_PER_PER8_Val _U_(0x3)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 8 Reference Clock Period  */
+#define   OSCCTRL_DFLLULPDITHER_PER_PER16_Val _U_(0x4)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 16 Reference Clock Period  */
+#define   OSCCTRL_DFLLULPDITHER_PER_PER32_Val _U_(0x5)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 32 Reference Clock Period  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER1      (OSCCTRL_DFLLULPDITHER_PER_PER1_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 1 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER2      (OSCCTRL_DFLLULPDITHER_PER_PER2_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 2 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER4      (OSCCTRL_DFLLULPDITHER_PER_PER4_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 4 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER8      (OSCCTRL_DFLLULPDITHER_PER_PER8_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 8 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER16     (OSCCTRL_DFLLULPDITHER_PER_PER16_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 16 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER32     (OSCCTRL_DFLLULPDITHER_PER_PER32_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 32 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_MASK          _U_(0x77)                                      /**< \deprecated (OSCCTRL_DFLLULPDITHER) Register MASK  (Use OSCCTRL_DFLLULPDITHER_Msk instead)  */
+#define OSCCTRL_DFLLULPDITHER_Msk           _U_(0x77)                                      /**< (OSCCTRL_DFLLULPDITHER) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPRREQ : (OSCCTRL Offset: 0x1f) (R/W 8) DFLLULP Read Request -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :7;                        /**< bit:   0..6  Reserved */
+    uint8_t  RREQ:1;                    /**< bit:      7  Read Request                             */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPRREQ_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPRREQ_OFFSET          (0x1F)                                        /**<  (OSCCTRL_DFLLULPRREQ) DFLLULP Read Request  Offset */
+#define OSCCTRL_DFLLULPRREQ_RESETVALUE      _U_(0x00)                                     /**<  (OSCCTRL_DFLLULPRREQ) DFLLULP Read Request  Reset Value */
+
+#define OSCCTRL_DFLLULPRREQ_RREQ_Pos        7                                              /**< (OSCCTRL_DFLLULPRREQ) Read Request Position */
+#define OSCCTRL_DFLLULPRREQ_RREQ_Msk        (_U_(0x1) << OSCCTRL_DFLLULPRREQ_RREQ_Pos)     /**< (OSCCTRL_DFLLULPRREQ) Read Request Mask */
+#define OSCCTRL_DFLLULPRREQ_RREQ            OSCCTRL_DFLLULPRREQ_RREQ_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPRREQ_RREQ_Msk instead */
+#define OSCCTRL_DFLLULPRREQ_MASK            _U_(0x80)                                      /**< \deprecated (OSCCTRL_DFLLULPRREQ) Register MASK  (Use OSCCTRL_DFLLULPRREQ_Msk instead)  */
+#define OSCCTRL_DFLLULPRREQ_Msk             _U_(0x80)                                      /**< (OSCCTRL_DFLLULPRREQ) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPDLY : (OSCCTRL Offset: 0x20) (R/W 32) DFLLULP Delay Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DELAY:8;                   /**< bit:   0..7  Delay Value                              */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPDLY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPDLY_OFFSET           (0x20)                                        /**<  (OSCCTRL_DFLLULPDLY) DFLLULP Delay Value  Offset */
+#define OSCCTRL_DFLLULPDLY_RESETVALUE       _U_(0x80)                                     /**<  (OSCCTRL_DFLLULPDLY) DFLLULP Delay Value  Reset Value */
+
+#define OSCCTRL_DFLLULPDLY_DELAY_Pos        0                                              /**< (OSCCTRL_DFLLULPDLY) Delay Value Position */
+#define OSCCTRL_DFLLULPDLY_DELAY_Msk        (_U_(0xFF) << OSCCTRL_DFLLULPDLY_DELAY_Pos)    /**< (OSCCTRL_DFLLULPDLY) Delay Value Mask */
+#define OSCCTRL_DFLLULPDLY_DELAY(value)     (OSCCTRL_DFLLULPDLY_DELAY_Msk & ((value) << OSCCTRL_DFLLULPDLY_DELAY_Pos))
+#define OSCCTRL_DFLLULPDLY_MASK             _U_(0xFF)                                      /**< \deprecated (OSCCTRL_DFLLULPDLY) Register MASK  (Use OSCCTRL_DFLLULPDLY_Msk instead)  */
+#define OSCCTRL_DFLLULPDLY_Msk              _U_(0xFF)                                      /**< (OSCCTRL_DFLLULPDLY) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPRATIO : (OSCCTRL Offset: 0x24) (R/W 32) DFLLULP Target Ratio -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t RATIO:11;                  /**< bit:  0..10  Target Tuner Ratio                       */
+    uint32_t :21;                       /**< bit: 11..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPRATIO_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPRATIO_OFFSET         (0x24)                                        /**<  (OSCCTRL_DFLLULPRATIO) DFLLULP Target Ratio  Offset */
+#define OSCCTRL_DFLLULPRATIO_RESETVALUE     _U_(0x00)                                     /**<  (OSCCTRL_DFLLULPRATIO) DFLLULP Target Ratio  Reset Value */
+
+#define OSCCTRL_DFLLULPRATIO_RATIO_Pos      0                                              /**< (OSCCTRL_DFLLULPRATIO) Target Tuner Ratio Position */
+#define OSCCTRL_DFLLULPRATIO_RATIO_Msk      (_U_(0x7FF) << OSCCTRL_DFLLULPRATIO_RATIO_Pos)  /**< (OSCCTRL_DFLLULPRATIO) Target Tuner Ratio Mask */
+#define OSCCTRL_DFLLULPRATIO_RATIO(value)   (OSCCTRL_DFLLULPRATIO_RATIO_Msk & ((value) << OSCCTRL_DFLLULPRATIO_RATIO_Pos))
+#define OSCCTRL_DFLLULPRATIO_MASK           _U_(0x7FF)                                     /**< \deprecated (OSCCTRL_DFLLULPRATIO) Register MASK  (Use OSCCTRL_DFLLULPRATIO_Msk instead)  */
+#define OSCCTRL_DFLLULPRATIO_Msk            _U_(0x7FF)                                     /**< (OSCCTRL_DFLLULPRATIO) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPSYNCBUSY : (OSCCTRL Offset: 0x28) (R/ 32) DFLLULP Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Bit Synchronization Busy          */
+    uint32_t TUNE:1;                    /**< bit:      2  Tune Bit Synchronization Busy            */
+    uint32_t DELAY:1;                   /**< bit:      3  Delay Register Synchronization Busy      */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPSYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPSYNCBUSY_OFFSET      (0x28)                                        /**<  (OSCCTRL_DFLLULPSYNCBUSY) DFLLULP Synchronization Busy  Offset */
+#define OSCCTRL_DFLLULPSYNCBUSY_RESETVALUE  _U_(0x00)                                     /**<  (OSCCTRL_DFLLULPSYNCBUSY) DFLLULP Synchronization Busy  Reset Value */
+
+#define OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Pos  1                                              /**< (OSCCTRL_DFLLULPSYNCBUSY) Enable Bit Synchronization Busy Position */
+#define OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Msk  (_U_(0x1) << OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Pos)  /**< (OSCCTRL_DFLLULPSYNCBUSY) Enable Bit Synchronization Busy Mask */
+#define OSCCTRL_DFLLULPSYNCBUSY_ENABLE      OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Msk instead */
+#define OSCCTRL_DFLLULPSYNCBUSY_TUNE_Pos    2                                              /**< (OSCCTRL_DFLLULPSYNCBUSY) Tune Bit Synchronization Busy Position */
+#define OSCCTRL_DFLLULPSYNCBUSY_TUNE_Msk    (_U_(0x1) << OSCCTRL_DFLLULPSYNCBUSY_TUNE_Pos)  /**< (OSCCTRL_DFLLULPSYNCBUSY) Tune Bit Synchronization Busy Mask */
+#define OSCCTRL_DFLLULPSYNCBUSY_TUNE        OSCCTRL_DFLLULPSYNCBUSY_TUNE_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPSYNCBUSY_TUNE_Msk instead */
+#define OSCCTRL_DFLLULPSYNCBUSY_DELAY_Pos   3                                              /**< (OSCCTRL_DFLLULPSYNCBUSY) Delay Register Synchronization Busy Position */
+#define OSCCTRL_DFLLULPSYNCBUSY_DELAY_Msk   (_U_(0x1) << OSCCTRL_DFLLULPSYNCBUSY_DELAY_Pos)  /**< (OSCCTRL_DFLLULPSYNCBUSY) Delay Register Synchronization Busy Mask */
+#define OSCCTRL_DFLLULPSYNCBUSY_DELAY       OSCCTRL_DFLLULPSYNCBUSY_DELAY_Msk              /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPSYNCBUSY_DELAY_Msk instead */
+#define OSCCTRL_DFLLULPSYNCBUSY_MASK        _U_(0x0E)                                      /**< \deprecated (OSCCTRL_DFLLULPSYNCBUSY) Register MASK  (Use OSCCTRL_DFLLULPSYNCBUSY_Msk instead)  */
+#define OSCCTRL_DFLLULPSYNCBUSY_Msk         _U_(0x0E)                                      /**< (OSCCTRL_DFLLULPSYNCBUSY) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLCTRLA : (OSCCTRL Offset: 0x2c) (R/W 8) DPLL Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :1;                        /**< bit:      0  Reserved */
+    uint8_t  ENABLE:1;                  /**< bit:      1  DPLL Enable                              */
+    uint8_t  :4;                        /**< bit:   2..5  Reserved */
+    uint8_t  RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint8_t  ONDEMAND:1;                /**< bit:      7  On Demand Clock Activation               */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLCTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLCTRLA_OFFSET            (0x2C)                                        /**<  (OSCCTRL_DPLLCTRLA) DPLL Control A  Offset */
+#define OSCCTRL_DPLLCTRLA_RESETVALUE        _U_(0x80)                                     /**<  (OSCCTRL_DPLLCTRLA) DPLL Control A  Reset Value */
+
+#define OSCCTRL_DPLLCTRLA_ENABLE_Pos        1                                              /**< (OSCCTRL_DPLLCTRLA) DPLL Enable Position */
+#define OSCCTRL_DPLLCTRLA_ENABLE_Msk        (_U_(0x1) << OSCCTRL_DPLLCTRLA_ENABLE_Pos)     /**< (OSCCTRL_DPLLCTRLA) DPLL Enable Mask */
+#define OSCCTRL_DPLLCTRLA_ENABLE            OSCCTRL_DPLLCTRLA_ENABLE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLA_ENABLE_Msk instead */
+#define OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos      6                                              /**< (OSCCTRL_DPLLCTRLA) Run in Standby Position */
+#define OSCCTRL_DPLLCTRLA_RUNSTDBY_Msk      (_U_(0x1) << OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos)   /**< (OSCCTRL_DPLLCTRLA) Run in Standby Mask */
+#define OSCCTRL_DPLLCTRLA_RUNSTDBY          OSCCTRL_DPLLCTRLA_RUNSTDBY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLA_RUNSTDBY_Msk instead */
+#define OSCCTRL_DPLLCTRLA_ONDEMAND_Pos      7                                              /**< (OSCCTRL_DPLLCTRLA) On Demand Clock Activation Position */
+#define OSCCTRL_DPLLCTRLA_ONDEMAND_Msk      (_U_(0x1) << OSCCTRL_DPLLCTRLA_ONDEMAND_Pos)   /**< (OSCCTRL_DPLLCTRLA) On Demand Clock Activation Mask */
+#define OSCCTRL_DPLLCTRLA_ONDEMAND          OSCCTRL_DPLLCTRLA_ONDEMAND_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLA_ONDEMAND_Msk instead */
+#define OSCCTRL_DPLLCTRLA_MASK              _U_(0xC2)                                      /**< \deprecated (OSCCTRL_DPLLCTRLA) Register MASK  (Use OSCCTRL_DPLLCTRLA_Msk instead)  */
+#define OSCCTRL_DPLLCTRLA_Msk               _U_(0xC2)                                      /**< (OSCCTRL_DPLLCTRLA) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLRATIO : (OSCCTRL Offset: 0x30) (R/W 32) DPLL Ratio Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t LDR:12;                    /**< bit:  0..11  Loop Divider Ratio                       */
+    uint32_t :4;                        /**< bit: 12..15  Reserved */
+    uint32_t LDRFRAC:4;                 /**< bit: 16..19  Loop Divider Ratio Fractional Part       */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLRATIO_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLRATIO_OFFSET            (0x30)                                        /**<  (OSCCTRL_DPLLRATIO) DPLL Ratio Control  Offset */
+#define OSCCTRL_DPLLRATIO_RESETVALUE        _U_(0x00)                                     /**<  (OSCCTRL_DPLLRATIO) DPLL Ratio Control  Reset Value */
+
+#define OSCCTRL_DPLLRATIO_LDR_Pos           0                                              /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Position */
+#define OSCCTRL_DPLLRATIO_LDR_Msk           (_U_(0xFFF) << OSCCTRL_DPLLRATIO_LDR_Pos)      /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Mask */
+#define OSCCTRL_DPLLRATIO_LDR(value)        (OSCCTRL_DPLLRATIO_LDR_Msk & ((value) << OSCCTRL_DPLLRATIO_LDR_Pos))
+#define OSCCTRL_DPLLRATIO_LDRFRAC_Pos       16                                             /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Fractional Part Position */
+#define OSCCTRL_DPLLRATIO_LDRFRAC_Msk       (_U_(0xF) << OSCCTRL_DPLLRATIO_LDRFRAC_Pos)    /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Fractional Part Mask */
+#define OSCCTRL_DPLLRATIO_LDRFRAC(value)    (OSCCTRL_DPLLRATIO_LDRFRAC_Msk & ((value) << OSCCTRL_DPLLRATIO_LDRFRAC_Pos))
+#define OSCCTRL_DPLLRATIO_MASK              _U_(0xF0FFF)                                   /**< \deprecated (OSCCTRL_DPLLRATIO) Register MASK  (Use OSCCTRL_DPLLRATIO_Msk instead)  */
+#define OSCCTRL_DPLLRATIO_Msk               _U_(0xF0FFF)                                   /**< (OSCCTRL_DPLLRATIO) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLCTRLB : (OSCCTRL Offset: 0x34) (R/W 32) DPLL Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t FILTER:2;                  /**< bit:   0..1  Proportional Integral Filter Selection   */
+    uint32_t LPEN:1;                    /**< bit:      2  Low-Power Enable                         */
+    uint32_t WUF:1;                     /**< bit:      3  Wake Up Fast                             */
+    uint32_t REFCLK:2;                  /**< bit:   4..5  Reference Clock Selection                */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t LTIME:3;                   /**< bit:  8..10  Lock Time                                */
+    uint32_t :1;                        /**< bit:     11  Reserved */
+    uint32_t LBYPASS:1;                 /**< bit:     12  Lock Bypass                              */
+    uint32_t :3;                        /**< bit: 13..15  Reserved */
+    uint32_t DIV:11;                    /**< bit: 16..26  Clock Divider                            */
+    uint32_t :5;                        /**< bit: 27..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLCTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLCTRLB_OFFSET            (0x34)                                        /**<  (OSCCTRL_DPLLCTRLB) DPLL Control B  Offset */
+#define OSCCTRL_DPLLCTRLB_RESETVALUE        _U_(0x00)                                     /**<  (OSCCTRL_DPLLCTRLB) DPLL Control B  Reset Value */
+
+#define OSCCTRL_DPLLCTRLB_FILTER_Pos        0                                              /**< (OSCCTRL_DPLLCTRLB) Proportional Integral Filter Selection Position */
+#define OSCCTRL_DPLLCTRLB_FILTER_Msk        (_U_(0x3) << OSCCTRL_DPLLCTRLB_FILTER_Pos)     /**< (OSCCTRL_DPLLCTRLB) Proportional Integral Filter Selection Mask */
+#define OSCCTRL_DPLLCTRLB_FILTER(value)     (OSCCTRL_DPLLCTRLB_FILTER_Msk & ((value) << OSCCTRL_DPLLCTRLB_FILTER_Pos))
+#define   OSCCTRL_DPLLCTRLB_FILTER_Default_Val _U_(0x0)                                       /**< (OSCCTRL_DPLLCTRLB) Default Filter Mode  */
+#define   OSCCTRL_DPLLCTRLB_FILTER_LBFILT_Val _U_(0x1)                                       /**< (OSCCTRL_DPLLCTRLB) Low Bandwidth Filter  */
+#define   OSCCTRL_DPLLCTRLB_FILTER_HBFILT_Val _U_(0x2)                                       /**< (OSCCTRL_DPLLCTRLB) High Bandwidth Filter  */
+#define   OSCCTRL_DPLLCTRLB_FILTER_HDFILT_Val _U_(0x3)                                       /**< (OSCCTRL_DPLLCTRLB) High Damping Filter  */
+#define OSCCTRL_DPLLCTRLB_FILTER_Default    (OSCCTRL_DPLLCTRLB_FILTER_Default_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos)  /**< (OSCCTRL_DPLLCTRLB) Default Filter Mode Position  */
+#define OSCCTRL_DPLLCTRLB_FILTER_LBFILT     (OSCCTRL_DPLLCTRLB_FILTER_LBFILT_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos)  /**< (OSCCTRL_DPLLCTRLB) Low Bandwidth Filter Position  */
+#define OSCCTRL_DPLLCTRLB_FILTER_HBFILT     (OSCCTRL_DPLLCTRLB_FILTER_HBFILT_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos)  /**< (OSCCTRL_DPLLCTRLB) High Bandwidth Filter Position  */
+#define OSCCTRL_DPLLCTRLB_FILTER_HDFILT     (OSCCTRL_DPLLCTRLB_FILTER_HDFILT_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos)  /**< (OSCCTRL_DPLLCTRLB) High Damping Filter Position  */
+#define OSCCTRL_DPLLCTRLB_LPEN_Pos          2                                              /**< (OSCCTRL_DPLLCTRLB) Low-Power Enable Position */
+#define OSCCTRL_DPLLCTRLB_LPEN_Msk          (_U_(0x1) << OSCCTRL_DPLLCTRLB_LPEN_Pos)       /**< (OSCCTRL_DPLLCTRLB) Low-Power Enable Mask */
+#define OSCCTRL_DPLLCTRLB_LPEN              OSCCTRL_DPLLCTRLB_LPEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLB_LPEN_Msk instead */
+#define OSCCTRL_DPLLCTRLB_WUF_Pos           3                                              /**< (OSCCTRL_DPLLCTRLB) Wake Up Fast Position */
+#define OSCCTRL_DPLLCTRLB_WUF_Msk           (_U_(0x1) << OSCCTRL_DPLLCTRLB_WUF_Pos)        /**< (OSCCTRL_DPLLCTRLB) Wake Up Fast Mask */
+#define OSCCTRL_DPLLCTRLB_WUF               OSCCTRL_DPLLCTRLB_WUF_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLB_WUF_Msk instead */
+#define OSCCTRL_DPLLCTRLB_REFCLK_Pos        4                                              /**< (OSCCTRL_DPLLCTRLB) Reference Clock Selection Position */
+#define OSCCTRL_DPLLCTRLB_REFCLK_Msk        (_U_(0x3) << OSCCTRL_DPLLCTRLB_REFCLK_Pos)     /**< (OSCCTRL_DPLLCTRLB) Reference Clock Selection Mask */
+#define OSCCTRL_DPLLCTRLB_REFCLK(value)     (OSCCTRL_DPLLCTRLB_REFCLK_Msk & ((value) << OSCCTRL_DPLLCTRLB_REFCLK_Pos))
+#define   OSCCTRL_DPLLCTRLB_REFCLK_XOSC32K_Val _U_(0x0)                                       /**< (OSCCTRL_DPLLCTRLB) XOSC32K Clock Reference  */
+#define   OSCCTRL_DPLLCTRLB_REFCLK_XOSC_Val _U_(0x1)                                       /**< (OSCCTRL_DPLLCTRLB) XOSC Clock Reference  */
+#define   OSCCTRL_DPLLCTRLB_REFCLK_GCLK_Val _U_(0x2)                                       /**< (OSCCTRL_DPLLCTRLB) GCLK Clock Reference  */
+#define OSCCTRL_DPLLCTRLB_REFCLK_XOSC32K    (OSCCTRL_DPLLCTRLB_REFCLK_XOSC32K_Val << OSCCTRL_DPLLCTRLB_REFCLK_Pos)  /**< (OSCCTRL_DPLLCTRLB) XOSC32K Clock Reference Position  */
+#define OSCCTRL_DPLLCTRLB_REFCLK_XOSC       (OSCCTRL_DPLLCTRLB_REFCLK_XOSC_Val << OSCCTRL_DPLLCTRLB_REFCLK_Pos)  /**< (OSCCTRL_DPLLCTRLB) XOSC Clock Reference Position  */
+#define OSCCTRL_DPLLCTRLB_REFCLK_GCLK       (OSCCTRL_DPLLCTRLB_REFCLK_GCLK_Val << OSCCTRL_DPLLCTRLB_REFCLK_Pos)  /**< (OSCCTRL_DPLLCTRLB) GCLK Clock Reference Position  */
+#define OSCCTRL_DPLLCTRLB_LTIME_Pos         8                                              /**< (OSCCTRL_DPLLCTRLB) Lock Time Position */
+#define OSCCTRL_DPLLCTRLB_LTIME_Msk         (_U_(0x7) << OSCCTRL_DPLLCTRLB_LTIME_Pos)      /**< (OSCCTRL_DPLLCTRLB) Lock Time Mask */
+#define OSCCTRL_DPLLCTRLB_LTIME(value)      (OSCCTRL_DPLLCTRLB_LTIME_Msk & ((value) << OSCCTRL_DPLLCTRLB_LTIME_Pos))
+#define   OSCCTRL_DPLLCTRLB_LTIME_Default_Val _U_(0x0)                                       /**< (OSCCTRL_DPLLCTRLB) No time-out. Automatic lock  */
+#define   OSCCTRL_DPLLCTRLB_LTIME_8MS_Val   _U_(0x4)                                       /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 8 ms  */
+#define   OSCCTRL_DPLLCTRLB_LTIME_9MS_Val   _U_(0x5)                                       /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 9 ms  */
+#define   OSCCTRL_DPLLCTRLB_LTIME_10MS_Val  _U_(0x6)                                       /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 10 ms  */
+#define   OSCCTRL_DPLLCTRLB_LTIME_11MS_Val  _U_(0x7)                                       /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 11 ms  */
+#define OSCCTRL_DPLLCTRLB_LTIME_Default     (OSCCTRL_DPLLCTRLB_LTIME_Default_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos)  /**< (OSCCTRL_DPLLCTRLB) No time-out. Automatic lock Position  */
+#define OSCCTRL_DPLLCTRLB_LTIME_8MS         (OSCCTRL_DPLLCTRLB_LTIME_8MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos)  /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 8 ms Position  */
+#define OSCCTRL_DPLLCTRLB_LTIME_9MS         (OSCCTRL_DPLLCTRLB_LTIME_9MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos)  /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 9 ms Position  */
+#define OSCCTRL_DPLLCTRLB_LTIME_10MS        (OSCCTRL_DPLLCTRLB_LTIME_10MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos)  /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 10 ms Position  */
+#define OSCCTRL_DPLLCTRLB_LTIME_11MS        (OSCCTRL_DPLLCTRLB_LTIME_11MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos)  /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 11 ms Position  */
+#define OSCCTRL_DPLLCTRLB_LBYPASS_Pos       12                                             /**< (OSCCTRL_DPLLCTRLB) Lock Bypass Position */
+#define OSCCTRL_DPLLCTRLB_LBYPASS_Msk       (_U_(0x1) << OSCCTRL_DPLLCTRLB_LBYPASS_Pos)    /**< (OSCCTRL_DPLLCTRLB) Lock Bypass Mask */
+#define OSCCTRL_DPLLCTRLB_LBYPASS           OSCCTRL_DPLLCTRLB_LBYPASS_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLB_LBYPASS_Msk instead */
+#define OSCCTRL_DPLLCTRLB_DIV_Pos           16                                             /**< (OSCCTRL_DPLLCTRLB) Clock Divider Position */
+#define OSCCTRL_DPLLCTRLB_DIV_Msk           (_U_(0x7FF) << OSCCTRL_DPLLCTRLB_DIV_Pos)      /**< (OSCCTRL_DPLLCTRLB) Clock Divider Mask */
+#define OSCCTRL_DPLLCTRLB_DIV(value)        (OSCCTRL_DPLLCTRLB_DIV_Msk & ((value) << OSCCTRL_DPLLCTRLB_DIV_Pos))
+#define OSCCTRL_DPLLCTRLB_MASK              _U_(0x7FF173F)                                 /**< \deprecated (OSCCTRL_DPLLCTRLB) Register MASK  (Use OSCCTRL_DPLLCTRLB_Msk instead)  */
+#define OSCCTRL_DPLLCTRLB_Msk               _U_(0x7FF173F)                                 /**< (OSCCTRL_DPLLCTRLB) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLPRESC : (OSCCTRL Offset: 0x38) (R/W 8) DPLL Prescaler -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PRESC:2;                   /**< bit:   0..1  Output Clock Prescaler                   */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLPRESC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLPRESC_OFFSET            (0x38)                                        /**<  (OSCCTRL_DPLLPRESC) DPLL Prescaler  Offset */
+#define OSCCTRL_DPLLPRESC_RESETVALUE        _U_(0x00)                                     /**<  (OSCCTRL_DPLLPRESC) DPLL Prescaler  Reset Value */
+
+#define OSCCTRL_DPLLPRESC_PRESC_Pos         0                                              /**< (OSCCTRL_DPLLPRESC) Output Clock Prescaler Position */
+#define OSCCTRL_DPLLPRESC_PRESC_Msk         (_U_(0x3) << OSCCTRL_DPLLPRESC_PRESC_Pos)      /**< (OSCCTRL_DPLLPRESC) Output Clock Prescaler Mask */
+#define OSCCTRL_DPLLPRESC_PRESC(value)      (OSCCTRL_DPLLPRESC_PRESC_Msk & ((value) << OSCCTRL_DPLLPRESC_PRESC_Pos))
+#define   OSCCTRL_DPLLPRESC_PRESC_DIV1_Val  _U_(0x0)                                       /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 1  */
+#define   OSCCTRL_DPLLPRESC_PRESC_DIV2_Val  _U_(0x1)                                       /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 2  */
+#define   OSCCTRL_DPLLPRESC_PRESC_DIV4_Val  _U_(0x2)                                       /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 4  */
+#define OSCCTRL_DPLLPRESC_PRESC_DIV1        (OSCCTRL_DPLLPRESC_PRESC_DIV1_Val << OSCCTRL_DPLLPRESC_PRESC_Pos)  /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 1 Position  */
+#define OSCCTRL_DPLLPRESC_PRESC_DIV2        (OSCCTRL_DPLLPRESC_PRESC_DIV2_Val << OSCCTRL_DPLLPRESC_PRESC_Pos)  /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 2 Position  */
+#define OSCCTRL_DPLLPRESC_PRESC_DIV4        (OSCCTRL_DPLLPRESC_PRESC_DIV4_Val << OSCCTRL_DPLLPRESC_PRESC_Pos)  /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 4 Position  */
+#define OSCCTRL_DPLLPRESC_MASK              _U_(0x03)                                      /**< \deprecated (OSCCTRL_DPLLPRESC) Register MASK  (Use OSCCTRL_DPLLPRESC_Msk instead)  */
+#define OSCCTRL_DPLLPRESC_Msk               _U_(0x03)                                      /**< (OSCCTRL_DPLLPRESC) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLSYNCBUSY : (OSCCTRL Offset: 0x3c) (R/ 8) DPLL Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :1;                        /**< bit:      0  Reserved */
+    uint8_t  ENABLE:1;                  /**< bit:      1  DPLL Enable Synchronization Status       */
+    uint8_t  DPLLRATIO:1;               /**< bit:      2  DPLL Loop Divider Ratio Synchronization Status */
+    uint8_t  DPLLPRESC:1;               /**< bit:      3  DPLL Prescaler Synchronization Status    */
+    uint8_t  :4;                        /**< bit:   4..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLSYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLSYNCBUSY_OFFSET         (0x3C)                                        /**<  (OSCCTRL_DPLLSYNCBUSY) DPLL Synchronization Busy  Offset */
+#define OSCCTRL_DPLLSYNCBUSY_RESETVALUE     _U_(0x00)                                     /**<  (OSCCTRL_DPLLSYNCBUSY) DPLL Synchronization Busy  Reset Value */
+
+#define OSCCTRL_DPLLSYNCBUSY_ENABLE_Pos     1                                              /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Enable Synchronization Status Position */
+#define OSCCTRL_DPLLSYNCBUSY_ENABLE_Msk     (_U_(0x1) << OSCCTRL_DPLLSYNCBUSY_ENABLE_Pos)  /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Enable Synchronization Status Mask */
+#define OSCCTRL_DPLLSYNCBUSY_ENABLE         OSCCTRL_DPLLSYNCBUSY_ENABLE_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSYNCBUSY_ENABLE_Msk instead */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Pos  2                                              /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Loop Divider Ratio Synchronization Status Position */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Msk  (_U_(0x1) << OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Pos)  /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Loop Divider Ratio Synchronization Status Mask */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLRATIO      OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Msk instead */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Pos  3                                              /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Prescaler Synchronization Status Position */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Msk  (_U_(0x1) << OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Pos)  /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Prescaler Synchronization Status Mask */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLPRESC      OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Msk instead */
+#define OSCCTRL_DPLLSYNCBUSY_MASK           _U_(0x0E)                                      /**< \deprecated (OSCCTRL_DPLLSYNCBUSY) Register MASK  (Use OSCCTRL_DPLLSYNCBUSY_Msk instead)  */
+#define OSCCTRL_DPLLSYNCBUSY_Msk            _U_(0x0E)                                      /**< (OSCCTRL_DPLLSYNCBUSY) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLSTATUS : (OSCCTRL Offset: 0x40) (R/ 8) DPLL Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  LOCK:1;                    /**< bit:      0  DPLL Lock                                */
+    uint8_t  CLKRDY:1;                  /**< bit:      1  DPLL Clock Ready                         */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLSTATUS_OFFSET           (0x40)                                        /**<  (OSCCTRL_DPLLSTATUS) DPLL Status  Offset */
+#define OSCCTRL_DPLLSTATUS_RESETVALUE       _U_(0x00)                                     /**<  (OSCCTRL_DPLLSTATUS) DPLL Status  Reset Value */
+
+#define OSCCTRL_DPLLSTATUS_LOCK_Pos         0                                              /**< (OSCCTRL_DPLLSTATUS) DPLL Lock Position */
+#define OSCCTRL_DPLLSTATUS_LOCK_Msk         (_U_(0x1) << OSCCTRL_DPLLSTATUS_LOCK_Pos)      /**< (OSCCTRL_DPLLSTATUS) DPLL Lock Mask */
+#define OSCCTRL_DPLLSTATUS_LOCK             OSCCTRL_DPLLSTATUS_LOCK_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSTATUS_LOCK_Msk instead */
+#define OSCCTRL_DPLLSTATUS_CLKRDY_Pos       1                                              /**< (OSCCTRL_DPLLSTATUS) DPLL Clock Ready Position */
+#define OSCCTRL_DPLLSTATUS_CLKRDY_Msk       (_U_(0x1) << OSCCTRL_DPLLSTATUS_CLKRDY_Pos)    /**< (OSCCTRL_DPLLSTATUS) DPLL Clock Ready Mask */
+#define OSCCTRL_DPLLSTATUS_CLKRDY           OSCCTRL_DPLLSTATUS_CLKRDY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSTATUS_CLKRDY_Msk instead */
+#define OSCCTRL_DPLLSTATUS_MASK             _U_(0x03)                                      /**< \deprecated (OSCCTRL_DPLLSTATUS) Register MASK  (Use OSCCTRL_DPLLSTATUS_Msk instead)  */
+#define OSCCTRL_DPLLSTATUS_Msk              _U_(0x03)                                      /**< (OSCCTRL_DPLLSTATUS) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief OSCCTRL hardware registers */
+typedef struct {  /* Oscillators Control */
+  __IO OSCCTRL_EVCTRL_Type            EVCTRL;         /**< Offset: 0x00 (R/W   8) Event Control */
+  __I  uint8_t                        Reserved1[3];
+  __IO OSCCTRL_INTENCLR_Type          INTENCLR;       /**< Offset: 0x04 (R/W  32) Interrupt Enable Clear */
+  __IO OSCCTRL_INTENSET_Type          INTENSET;       /**< Offset: 0x08 (R/W  32) Interrupt Enable Set */
+  __IO OSCCTRL_INTFLAG_Type           INTFLAG;        /**< Offset: 0x0C (R/W  32) Interrupt Flag Status and Clear */
+  __I  OSCCTRL_STATUS_Type            STATUS;         /**< Offset: 0x10 (R/   32) Status */
+  __IO OSCCTRL_XOSCCTRL_Type          XOSCCTRL;       /**< Offset: 0x14 (R/W  16) External Multipurpose Crystal Oscillator (XOSC) Control */
+  __IO OSCCTRL_CFDPRESC_Type          CFDPRESC;       /**< Offset: 0x16 (R/W   8) Clock Failure Detector Prescaler */
+  __I  uint8_t                        Reserved2[1];
+  __IO OSCCTRL_OSC16MCTRL_Type        OSC16MCTRL;     /**< Offset: 0x18 (R/W   8) 16MHz Internal Oscillator (OSC16M) Control */
+  __I  uint8_t                        Reserved3[3];
+  __IO OSCCTRL_DFLLULPCTRL_Type       DFLLULPCTRL;    /**< Offset: 0x1C (R/W  16) DFLLULP Control */
+  __IO OSCCTRL_DFLLULPDITHER_Type     DFLLULPDITHER;  /**< Offset: 0x1E (R/W   8) DFLLULP Dither Control */
+  __IO OSCCTRL_DFLLULPRREQ_Type       DFLLULPRREQ;    /**< Offset: 0x1F (R/W   8) DFLLULP Read Request */
+  __IO OSCCTRL_DFLLULPDLY_Type        DFLLULPDLY;     /**< Offset: 0x20 (R/W  32) DFLLULP Delay Value */
+  __IO OSCCTRL_DFLLULPRATIO_Type      DFLLULPRATIO;   /**< Offset: 0x24 (R/W  32) DFLLULP Target Ratio */
+  __I  OSCCTRL_DFLLULPSYNCBUSY_Type   DFLLULPSYNCBUSY; /**< Offset: 0x28 (R/   32) DFLLULP Synchronization Busy */
+  __IO OSCCTRL_DPLLCTRLA_Type         DPLLCTRLA;      /**< Offset: 0x2C (R/W   8) DPLL Control A */
+  __I  uint8_t                        Reserved4[3];
+  __IO OSCCTRL_DPLLRATIO_Type         DPLLRATIO;      /**< Offset: 0x30 (R/W  32) DPLL Ratio Control */
+  __IO OSCCTRL_DPLLCTRLB_Type         DPLLCTRLB;      /**< Offset: 0x34 (R/W  32) DPLL Control B */
+  __IO OSCCTRL_DPLLPRESC_Type         DPLLPRESC;      /**< Offset: 0x38 (R/W   8) DPLL Prescaler */
+  __I  uint8_t                        Reserved5[3];
+  __I  OSCCTRL_DPLLSYNCBUSY_Type      DPLLSYNCBUSY;   /**< Offset: 0x3C (R/    8) DPLL Synchronization Busy */
+  __I  uint8_t                        Reserved6[3];
+  __I  OSCCTRL_DPLLSTATUS_Type        DPLLSTATUS;     /**< Offset: 0x40 (R/    8) DPLL Status */
+} Oscctrl;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Oscillators Control */
+
+#endif /* _SAML10_OSCCTRL_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/pac.h b/cpu/sam0_common/include/vendor/saml10/include/component/pac.h
new file mode 100644
index 0000000000..4983e8eea4
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/pac.h
@@ -0,0 +1,966 @@
+/**
+ * \file
+ *
+ * \brief Component description for PAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_PAC_COMPONENT_H_
+#define _SAML10_PAC_COMPONENT_H_
+#define _SAML10_PAC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Peripheral Access Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR PAC */
+/* ========================================================================== */
+
+#define PAC_U2120                      /**< (PAC) Module ID */
+#define REV_PAC 0x200                  /**< (PAC) Module revision */
+
+/* -------- PAC_WRCTRL : (PAC Offset: 0x00) (R/W 32) Write control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PERID:16;                  /**< bit:  0..15  Peripheral identifier                    */
+    uint32_t KEY:8;                     /**< bit: 16..23  Peripheral access control key            */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_WRCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_WRCTRL_OFFSET                   (0x00)                                        /**<  (PAC_WRCTRL) Write control  Offset */
+#define PAC_WRCTRL_RESETVALUE               _U_(0x00)                                     /**<  (PAC_WRCTRL) Write control  Reset Value */
+
+#define PAC_WRCTRL_PERID_Pos                0                                              /**< (PAC_WRCTRL) Peripheral identifier Position */
+#define PAC_WRCTRL_PERID_Msk                (_U_(0xFFFF) << PAC_WRCTRL_PERID_Pos)          /**< (PAC_WRCTRL) Peripheral identifier Mask */
+#define PAC_WRCTRL_PERID(value)             (PAC_WRCTRL_PERID_Msk & ((value) << PAC_WRCTRL_PERID_Pos))
+#define PAC_WRCTRL_KEY_Pos                  16                                             /**< (PAC_WRCTRL) Peripheral access control key Position */
+#define PAC_WRCTRL_KEY_Msk                  (_U_(0xFF) << PAC_WRCTRL_KEY_Pos)              /**< (PAC_WRCTRL) Peripheral access control key Mask */
+#define PAC_WRCTRL_KEY(value)               (PAC_WRCTRL_KEY_Msk & ((value) << PAC_WRCTRL_KEY_Pos))
+#define   PAC_WRCTRL_KEY_OFF_Val            _U_(0x0)                                       /**< (PAC_WRCTRL) No action  */
+#define   PAC_WRCTRL_KEY_CLR_Val            _U_(0x1)                                       /**< (PAC_WRCTRL) Clear protection  */
+#define   PAC_WRCTRL_KEY_SET_Val            _U_(0x2)                                       /**< (PAC_WRCTRL) Set protection  */
+#define   PAC_WRCTRL_KEY_SETLCK_Val         _U_(0x3)                                       /**< (PAC_WRCTRL) Set and lock protection  */
+#define   PAC_WRCTRL_KEY_SETSEC_Val         _U_(0x4)                                       /**< (PAC_WRCTRL) Set IP secure  */
+#define   PAC_WRCTRL_KEY_SETNONSEC_Val      _U_(0x5)                                       /**< (PAC_WRCTRL) Set IP non-secure  */
+#define   PAC_WRCTRL_KEY_SECLOCK_Val        _U_(0x6)                                       /**< (PAC_WRCTRL) Lock IP security value  */
+#define PAC_WRCTRL_KEY_OFF                  (PAC_WRCTRL_KEY_OFF_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) No action Position  */
+#define PAC_WRCTRL_KEY_CLR                  (PAC_WRCTRL_KEY_CLR_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Clear protection Position  */
+#define PAC_WRCTRL_KEY_SET                  (PAC_WRCTRL_KEY_SET_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Set protection Position  */
+#define PAC_WRCTRL_KEY_SETLCK               (PAC_WRCTRL_KEY_SETLCK_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Set and lock protection Position  */
+#define PAC_WRCTRL_KEY_SETSEC               (PAC_WRCTRL_KEY_SETSEC_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Set IP secure Position  */
+#define PAC_WRCTRL_KEY_SETNONSEC            (PAC_WRCTRL_KEY_SETNONSEC_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Set IP non-secure Position  */
+#define PAC_WRCTRL_KEY_SECLOCK              (PAC_WRCTRL_KEY_SECLOCK_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Lock IP security value Position  */
+#define PAC_WRCTRL_MASK                     _U_(0xFFFFFF)                                  /**< \deprecated (PAC_WRCTRL) Register MASK  (Use PAC_WRCTRL_Msk instead)  */
+#define PAC_WRCTRL_Msk                      _U_(0xFFFFFF)                                  /**< (PAC_WRCTRL) Register Mask  */
+
+
+/* -------- PAC_EVCTRL : (PAC Offset: 0x04) (R/W 8) Event control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ERREO:1;                   /**< bit:      0  Peripheral acess error event output      */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PAC_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_EVCTRL_OFFSET                   (0x04)                                        /**<  (PAC_EVCTRL) Event control  Offset */
+#define PAC_EVCTRL_RESETVALUE               _U_(0x00)                                     /**<  (PAC_EVCTRL) Event control  Reset Value */
+
+#define PAC_EVCTRL_ERREO_Pos                0                                              /**< (PAC_EVCTRL) Peripheral acess error event output Position */
+#define PAC_EVCTRL_ERREO_Msk                (_U_(0x1) << PAC_EVCTRL_ERREO_Pos)             /**< (PAC_EVCTRL) Peripheral acess error event output Mask */
+#define PAC_EVCTRL_ERREO                    PAC_EVCTRL_ERREO_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_EVCTRL_ERREO_Msk instead */
+#define PAC_EVCTRL_MASK                     _U_(0x01)                                      /**< \deprecated (PAC_EVCTRL) Register MASK  (Use PAC_EVCTRL_Msk instead)  */
+#define PAC_EVCTRL_Msk                      _U_(0x01)                                      /**< (PAC_EVCTRL) Register Mask  */
+
+
+/* -------- PAC_INTENCLR : (PAC Offset: 0x08) (R/W 8) Interrupt enable clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ERR:1;                     /**< bit:      0  Peripheral access error interrupt disable */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PAC_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTENCLR_OFFSET                 (0x08)                                        /**<  (PAC_INTENCLR) Interrupt enable clear  Offset */
+#define PAC_INTENCLR_RESETVALUE             _U_(0x00)                                     /**<  (PAC_INTENCLR) Interrupt enable clear  Reset Value */
+
+#define PAC_INTENCLR_ERR_Pos                0                                              /**< (PAC_INTENCLR) Peripheral access error interrupt disable Position */
+#define PAC_INTENCLR_ERR_Msk                (_U_(0x1) << PAC_INTENCLR_ERR_Pos)             /**< (PAC_INTENCLR) Peripheral access error interrupt disable Mask */
+#define PAC_INTENCLR_ERR                    PAC_INTENCLR_ERR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTENCLR_ERR_Msk instead */
+#define PAC_INTENCLR_MASK                   _U_(0x01)                                      /**< \deprecated (PAC_INTENCLR) Register MASK  (Use PAC_INTENCLR_Msk instead)  */
+#define PAC_INTENCLR_Msk                    _U_(0x01)                                      /**< (PAC_INTENCLR) Register Mask  */
+
+
+/* -------- PAC_INTENSET : (PAC Offset: 0x09) (R/W 8) Interrupt enable set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ERR:1;                     /**< bit:      0  Peripheral access error interrupt enable */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PAC_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTENSET_OFFSET                 (0x09)                                        /**<  (PAC_INTENSET) Interrupt enable set  Offset */
+#define PAC_INTENSET_RESETVALUE             _U_(0x00)                                     /**<  (PAC_INTENSET) Interrupt enable set  Reset Value */
+
+#define PAC_INTENSET_ERR_Pos                0                                              /**< (PAC_INTENSET) Peripheral access error interrupt enable Position */
+#define PAC_INTENSET_ERR_Msk                (_U_(0x1) << PAC_INTENSET_ERR_Pos)             /**< (PAC_INTENSET) Peripheral access error interrupt enable Mask */
+#define PAC_INTENSET_ERR                    PAC_INTENSET_ERR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTENSET_ERR_Msk instead */
+#define PAC_INTENSET_MASK                   _U_(0x01)                                      /**< \deprecated (PAC_INTENSET) Register MASK  (Use PAC_INTENSET_Msk instead)  */
+#define PAC_INTENSET_Msk                    _U_(0x01)                                      /**< (PAC_INTENSET) Register Mask  */
+
+
+/* -------- PAC_INTFLAGAHB : (PAC Offset: 0x10) (R/W 32) Bridge interrupt flag status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t FLASH_:1;                  /**< bit:      0  FLASH                                    */
+    __I uint32_t HPB0_:1;                   /**< bit:      1  HPB0                                     */
+    __I uint32_t HPB1_:1;                   /**< bit:      2  HPB1                                     */
+    __I uint32_t HPB2_:1;                   /**< bit:      3  HPB2                                     */
+    __I uint32_t HSRAMCPU_:1;               /**< bit:      4  HSRAMCPU                                 */
+    __I uint32_t HSRAMDMAC_:1;              /**< bit:      5  HSRAMDMAC                                */
+    __I uint32_t HSRAMDSU_:1;               /**< bit:      6  HSRAMDSU                                 */
+    __I uint32_t :25;                       /**< bit:  7..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_INTFLAGAHB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTFLAGAHB_OFFSET               (0x10)                                        /**<  (PAC_INTFLAGAHB) Bridge interrupt flag status  Offset */
+#define PAC_INTFLAGAHB_RESETVALUE           _U_(0x00)                                     /**<  (PAC_INTFLAGAHB) Bridge interrupt flag status  Reset Value */
+
+#define PAC_INTFLAGAHB_FLASH_Pos            0                                              /**< (PAC_INTFLAGAHB) FLASH Position */
+#define PAC_INTFLAGAHB_FLASH_Msk            (_U_(0x1) << PAC_INTFLAGAHB_FLASH_Pos)         /**< (PAC_INTFLAGAHB) FLASH Mask */
+#define PAC_INTFLAGAHB_FLASH                PAC_INTFLAGAHB_FLASH_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_FLASH_Msk instead */
+#define PAC_INTFLAGAHB_HPB0_Pos             1                                              /**< (PAC_INTFLAGAHB) HPB0 Position */
+#define PAC_INTFLAGAHB_HPB0_Msk             (_U_(0x1) << PAC_INTFLAGAHB_HPB0_Pos)          /**< (PAC_INTFLAGAHB) HPB0 Mask */
+#define PAC_INTFLAGAHB_HPB0                 PAC_INTFLAGAHB_HPB0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HPB0_Msk instead */
+#define PAC_INTFLAGAHB_HPB1_Pos             2                                              /**< (PAC_INTFLAGAHB) HPB1 Position */
+#define PAC_INTFLAGAHB_HPB1_Msk             (_U_(0x1) << PAC_INTFLAGAHB_HPB1_Pos)          /**< (PAC_INTFLAGAHB) HPB1 Mask */
+#define PAC_INTFLAGAHB_HPB1                 PAC_INTFLAGAHB_HPB1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HPB1_Msk instead */
+#define PAC_INTFLAGAHB_HPB2_Pos             3                                              /**< (PAC_INTFLAGAHB) HPB2 Position */
+#define PAC_INTFLAGAHB_HPB2_Msk             (_U_(0x1) << PAC_INTFLAGAHB_HPB2_Pos)          /**< (PAC_INTFLAGAHB) HPB2 Mask */
+#define PAC_INTFLAGAHB_HPB2                 PAC_INTFLAGAHB_HPB2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HPB2_Msk instead */
+#define PAC_INTFLAGAHB_HSRAMCPU_Pos         4                                              /**< (PAC_INTFLAGAHB) HSRAMCPU Position */
+#define PAC_INTFLAGAHB_HSRAMCPU_Msk         (_U_(0x1) << PAC_INTFLAGAHB_HSRAMCPU_Pos)      /**< (PAC_INTFLAGAHB) HSRAMCPU Mask */
+#define PAC_INTFLAGAHB_HSRAMCPU             PAC_INTFLAGAHB_HSRAMCPU_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HSRAMCPU_Msk instead */
+#define PAC_INTFLAGAHB_HSRAMDMAC_Pos        5                                              /**< (PAC_INTFLAGAHB) HSRAMDMAC Position */
+#define PAC_INTFLAGAHB_HSRAMDMAC_Msk        (_U_(0x1) << PAC_INTFLAGAHB_HSRAMDMAC_Pos)     /**< (PAC_INTFLAGAHB) HSRAMDMAC Mask */
+#define PAC_INTFLAGAHB_HSRAMDMAC            PAC_INTFLAGAHB_HSRAMDMAC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HSRAMDMAC_Msk instead */
+#define PAC_INTFLAGAHB_HSRAMDSU_Pos         6                                              /**< (PAC_INTFLAGAHB) HSRAMDSU Position */
+#define PAC_INTFLAGAHB_HSRAMDSU_Msk         (_U_(0x1) << PAC_INTFLAGAHB_HSRAMDSU_Pos)      /**< (PAC_INTFLAGAHB) HSRAMDSU Mask */
+#define PAC_INTFLAGAHB_HSRAMDSU             PAC_INTFLAGAHB_HSRAMDSU_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HSRAMDSU_Msk instead */
+#define PAC_INTFLAGAHB_MASK                 _U_(0x7F)                                      /**< \deprecated (PAC_INTFLAGAHB) Register MASK  (Use PAC_INTFLAGAHB_Msk instead)  */
+#define PAC_INTFLAGAHB_Msk                  _U_(0x7F)                                      /**< (PAC_INTFLAGAHB) Register Mask  */
+
+#define PAC_INTFLAGAHB_HPB_Pos              1                                              /**< (PAC_INTFLAGAHB Position) HPBx */
+#define PAC_INTFLAGAHB_HPB_Msk              (_U_(0x7) << PAC_INTFLAGAHB_HPB_Pos)           /**< (PAC_INTFLAGAHB Mask) HPB */
+#define PAC_INTFLAGAHB_HPB(value)           (PAC_INTFLAGAHB_HPB_Msk & ((value) << PAC_INTFLAGAHB_HPB_Pos))  
+
+/* -------- PAC_INTFLAGA : (PAC Offset: 0x14) (R/W 32) Peripheral interrupt flag status - Bridge A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t PAC_:1;                    /**< bit:      0  PAC                                      */
+    __I uint32_t PM_:1;                     /**< bit:      1  PM                                       */
+    __I uint32_t MCLK_:1;                   /**< bit:      2  MCLK                                     */
+    __I uint32_t RSTC_:1;                   /**< bit:      3  RSTC                                     */
+    __I uint32_t OSCCTRL_:1;                /**< bit:      4  OSCCTRL                                  */
+    __I uint32_t OSC32KCTRL_:1;             /**< bit:      5  OSC32KCTRL                               */
+    __I uint32_t SUPC_:1;                   /**< bit:      6  SUPC                                     */
+    __I uint32_t GCLK_:1;                   /**< bit:      7  GCLK                                     */
+    __I uint32_t WDT_:1;                    /**< bit:      8  WDT                                      */
+    __I uint32_t RTC_:1;                    /**< bit:      9  RTC                                      */
+    __I uint32_t EIC_:1;                    /**< bit:     10  EIC                                      */
+    __I uint32_t FREQM_:1;                  /**< bit:     11  FREQM                                    */
+    __I uint32_t PORT_:1;                   /**< bit:     12  PORT                                     */
+    __I uint32_t AC_:1;                     /**< bit:     13  AC                                       */
+    __I uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_INTFLAGA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTFLAGA_OFFSET                 (0x14)                                        /**<  (PAC_INTFLAGA) Peripheral interrupt flag status - Bridge A  Offset */
+#define PAC_INTFLAGA_RESETVALUE             _U_(0x00)                                     /**<  (PAC_INTFLAGA) Peripheral interrupt flag status - Bridge A  Reset Value */
+
+#define PAC_INTFLAGA_PAC_Pos                0                                              /**< (PAC_INTFLAGA) PAC Position */
+#define PAC_INTFLAGA_PAC_Msk                (_U_(0x1) << PAC_INTFLAGA_PAC_Pos)             /**< (PAC_INTFLAGA) PAC Mask */
+#define PAC_INTFLAGA_PAC                    PAC_INTFLAGA_PAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_PAC_Msk instead */
+#define PAC_INTFLAGA_PM_Pos                 1                                              /**< (PAC_INTFLAGA) PM Position */
+#define PAC_INTFLAGA_PM_Msk                 (_U_(0x1) << PAC_INTFLAGA_PM_Pos)              /**< (PAC_INTFLAGA) PM Mask */
+#define PAC_INTFLAGA_PM                     PAC_INTFLAGA_PM_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_PM_Msk instead */
+#define PAC_INTFLAGA_MCLK_Pos               2                                              /**< (PAC_INTFLAGA) MCLK Position */
+#define PAC_INTFLAGA_MCLK_Msk               (_U_(0x1) << PAC_INTFLAGA_MCLK_Pos)            /**< (PAC_INTFLAGA) MCLK Mask */
+#define PAC_INTFLAGA_MCLK                   PAC_INTFLAGA_MCLK_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_MCLK_Msk instead */
+#define PAC_INTFLAGA_RSTC_Pos               3                                              /**< (PAC_INTFLAGA) RSTC Position */
+#define PAC_INTFLAGA_RSTC_Msk               (_U_(0x1) << PAC_INTFLAGA_RSTC_Pos)            /**< (PAC_INTFLAGA) RSTC Mask */
+#define PAC_INTFLAGA_RSTC                   PAC_INTFLAGA_RSTC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_RSTC_Msk instead */
+#define PAC_INTFLAGA_OSCCTRL_Pos            4                                              /**< (PAC_INTFLAGA) OSCCTRL Position */
+#define PAC_INTFLAGA_OSCCTRL_Msk            (_U_(0x1) << PAC_INTFLAGA_OSCCTRL_Pos)         /**< (PAC_INTFLAGA) OSCCTRL Mask */
+#define PAC_INTFLAGA_OSCCTRL                PAC_INTFLAGA_OSCCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_OSCCTRL_Msk instead */
+#define PAC_INTFLAGA_OSC32KCTRL_Pos         5                                              /**< (PAC_INTFLAGA) OSC32KCTRL Position */
+#define PAC_INTFLAGA_OSC32KCTRL_Msk         (_U_(0x1) << PAC_INTFLAGA_OSC32KCTRL_Pos)      /**< (PAC_INTFLAGA) OSC32KCTRL Mask */
+#define PAC_INTFLAGA_OSC32KCTRL             PAC_INTFLAGA_OSC32KCTRL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_OSC32KCTRL_Msk instead */
+#define PAC_INTFLAGA_SUPC_Pos               6                                              /**< (PAC_INTFLAGA) SUPC Position */
+#define PAC_INTFLAGA_SUPC_Msk               (_U_(0x1) << PAC_INTFLAGA_SUPC_Pos)            /**< (PAC_INTFLAGA) SUPC Mask */
+#define PAC_INTFLAGA_SUPC                   PAC_INTFLAGA_SUPC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_SUPC_Msk instead */
+#define PAC_INTFLAGA_GCLK_Pos               7                                              /**< (PAC_INTFLAGA) GCLK Position */
+#define PAC_INTFLAGA_GCLK_Msk               (_U_(0x1) << PAC_INTFLAGA_GCLK_Pos)            /**< (PAC_INTFLAGA) GCLK Mask */
+#define PAC_INTFLAGA_GCLK                   PAC_INTFLAGA_GCLK_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_GCLK_Msk instead */
+#define PAC_INTFLAGA_WDT_Pos                8                                              /**< (PAC_INTFLAGA) WDT Position */
+#define PAC_INTFLAGA_WDT_Msk                (_U_(0x1) << PAC_INTFLAGA_WDT_Pos)             /**< (PAC_INTFLAGA) WDT Mask */
+#define PAC_INTFLAGA_WDT                    PAC_INTFLAGA_WDT_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_WDT_Msk instead */
+#define PAC_INTFLAGA_RTC_Pos                9                                              /**< (PAC_INTFLAGA) RTC Position */
+#define PAC_INTFLAGA_RTC_Msk                (_U_(0x1) << PAC_INTFLAGA_RTC_Pos)             /**< (PAC_INTFLAGA) RTC Mask */
+#define PAC_INTFLAGA_RTC                    PAC_INTFLAGA_RTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_RTC_Msk instead */
+#define PAC_INTFLAGA_EIC_Pos                10                                             /**< (PAC_INTFLAGA) EIC Position */
+#define PAC_INTFLAGA_EIC_Msk                (_U_(0x1) << PAC_INTFLAGA_EIC_Pos)             /**< (PAC_INTFLAGA) EIC Mask */
+#define PAC_INTFLAGA_EIC                    PAC_INTFLAGA_EIC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_EIC_Msk instead */
+#define PAC_INTFLAGA_FREQM_Pos              11                                             /**< (PAC_INTFLAGA) FREQM Position */
+#define PAC_INTFLAGA_FREQM_Msk              (_U_(0x1) << PAC_INTFLAGA_FREQM_Pos)           /**< (PAC_INTFLAGA) FREQM Mask */
+#define PAC_INTFLAGA_FREQM                  PAC_INTFLAGA_FREQM_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_FREQM_Msk instead */
+#define PAC_INTFLAGA_PORT_Pos               12                                             /**< (PAC_INTFLAGA) PORT Position */
+#define PAC_INTFLAGA_PORT_Msk               (_U_(0x1) << PAC_INTFLAGA_PORT_Pos)            /**< (PAC_INTFLAGA) PORT Mask */
+#define PAC_INTFLAGA_PORT                   PAC_INTFLAGA_PORT_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_PORT_Msk instead */
+#define PAC_INTFLAGA_AC_Pos                 13                                             /**< (PAC_INTFLAGA) AC Position */
+#define PAC_INTFLAGA_AC_Msk                 (_U_(0x1) << PAC_INTFLAGA_AC_Pos)              /**< (PAC_INTFLAGA) AC Mask */
+#define PAC_INTFLAGA_AC                     PAC_INTFLAGA_AC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_AC_Msk instead */
+#define PAC_INTFLAGA_MASK                   _U_(0x3FFF)                                    /**< \deprecated (PAC_INTFLAGA) Register MASK  (Use PAC_INTFLAGA_Msk instead)  */
+#define PAC_INTFLAGA_Msk                    _U_(0x3FFF)                                    /**< (PAC_INTFLAGA) Register Mask  */
+
+
+/* -------- PAC_INTFLAGB : (PAC Offset: 0x18) (R/W 32) Peripheral interrupt flag status - Bridge B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t IDAU_:1;                   /**< bit:      0  IDAU                                     */
+    __I uint32_t DSU_:1;                    /**< bit:      1  DSU                                      */
+    __I uint32_t NVMCTRL_:1;                /**< bit:      2  NVMCTRL                                  */
+    __I uint32_t DMAC_:1;                   /**< bit:      3  DMAC                                     */
+    __I uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_INTFLAGB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTFLAGB_OFFSET                 (0x18)                                        /**<  (PAC_INTFLAGB) Peripheral interrupt flag status - Bridge B  Offset */
+#define PAC_INTFLAGB_RESETVALUE             _U_(0x00)                                     /**<  (PAC_INTFLAGB) Peripheral interrupt flag status - Bridge B  Reset Value */
+
+#define PAC_INTFLAGB_IDAU_Pos               0                                              /**< (PAC_INTFLAGB) IDAU Position */
+#define PAC_INTFLAGB_IDAU_Msk               (_U_(0x1) << PAC_INTFLAGB_IDAU_Pos)            /**< (PAC_INTFLAGB) IDAU Mask */
+#define PAC_INTFLAGB_IDAU                   PAC_INTFLAGB_IDAU_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGB_IDAU_Msk instead */
+#define PAC_INTFLAGB_DSU_Pos                1                                              /**< (PAC_INTFLAGB) DSU Position */
+#define PAC_INTFLAGB_DSU_Msk                (_U_(0x1) << PAC_INTFLAGB_DSU_Pos)             /**< (PAC_INTFLAGB) DSU Mask */
+#define PAC_INTFLAGB_DSU                    PAC_INTFLAGB_DSU_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGB_DSU_Msk instead */
+#define PAC_INTFLAGB_NVMCTRL_Pos            2                                              /**< (PAC_INTFLAGB) NVMCTRL Position */
+#define PAC_INTFLAGB_NVMCTRL_Msk            (_U_(0x1) << PAC_INTFLAGB_NVMCTRL_Pos)         /**< (PAC_INTFLAGB) NVMCTRL Mask */
+#define PAC_INTFLAGB_NVMCTRL                PAC_INTFLAGB_NVMCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGB_NVMCTRL_Msk instead */
+#define PAC_INTFLAGB_DMAC_Pos               3                                              /**< (PAC_INTFLAGB) DMAC Position */
+#define PAC_INTFLAGB_DMAC_Msk               (_U_(0x1) << PAC_INTFLAGB_DMAC_Pos)            /**< (PAC_INTFLAGB) DMAC Mask */
+#define PAC_INTFLAGB_DMAC                   PAC_INTFLAGB_DMAC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGB_DMAC_Msk instead */
+#define PAC_INTFLAGB_MASK                   _U_(0x0F)                                      /**< \deprecated (PAC_INTFLAGB) Register MASK  (Use PAC_INTFLAGB_Msk instead)  */
+#define PAC_INTFLAGB_Msk                    _U_(0x0F)                                      /**< (PAC_INTFLAGB) Register Mask  */
+
+
+/* -------- PAC_INTFLAGC : (PAC Offset: 0x1c) (R/W 32) Peripheral interrupt flag status - Bridge C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t EVSYS_:1;                  /**< bit:      0  EVSYS                                    */
+    __I uint32_t SERCOM0_:1;                /**< bit:      1  SERCOM0                                  */
+    __I uint32_t SERCOM1_:1;                /**< bit:      2  SERCOM1                                  */
+    __I uint32_t SERCOM2_:1;                /**< bit:      3  SERCOM2                                  */
+    __I uint32_t TC0_:1;                    /**< bit:      4  TC0                                      */
+    __I uint32_t TC1_:1;                    /**< bit:      5  TC1                                      */
+    __I uint32_t TC2_:1;                    /**< bit:      6  TC2                                      */
+    __I uint32_t ADC_:1;                    /**< bit:      7  ADC                                      */
+    __I uint32_t DAC_:1;                    /**< bit:      8  DAC                                      */
+    __I uint32_t PTC_:1;                    /**< bit:      9  PTC                                      */
+    __I uint32_t TRNG_:1;                   /**< bit:     10  TRNG                                     */
+    __I uint32_t CCL_:1;                    /**< bit:     11  CCL                                      */
+    __I uint32_t OPAMP_:1;                  /**< bit:     12  OPAMP                                    */
+    __I uint32_t TRAM_:1;                   /**< bit:     13  TRAM                                     */
+    __I uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_INTFLAGC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTFLAGC_OFFSET                 (0x1C)                                        /**<  (PAC_INTFLAGC) Peripheral interrupt flag status - Bridge C  Offset */
+#define PAC_INTFLAGC_RESETVALUE             _U_(0x00)                                     /**<  (PAC_INTFLAGC) Peripheral interrupt flag status - Bridge C  Reset Value */
+
+#define PAC_INTFLAGC_EVSYS_Pos              0                                              /**< (PAC_INTFLAGC) EVSYS Position */
+#define PAC_INTFLAGC_EVSYS_Msk              (_U_(0x1) << PAC_INTFLAGC_EVSYS_Pos)           /**< (PAC_INTFLAGC) EVSYS Mask */
+#define PAC_INTFLAGC_EVSYS                  PAC_INTFLAGC_EVSYS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_EVSYS_Msk instead */
+#define PAC_INTFLAGC_SERCOM0_Pos            1                                              /**< (PAC_INTFLAGC) SERCOM0 Position */
+#define PAC_INTFLAGC_SERCOM0_Msk            (_U_(0x1) << PAC_INTFLAGC_SERCOM0_Pos)         /**< (PAC_INTFLAGC) SERCOM0 Mask */
+#define PAC_INTFLAGC_SERCOM0                PAC_INTFLAGC_SERCOM0_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_SERCOM0_Msk instead */
+#define PAC_INTFLAGC_SERCOM1_Pos            2                                              /**< (PAC_INTFLAGC) SERCOM1 Position */
+#define PAC_INTFLAGC_SERCOM1_Msk            (_U_(0x1) << PAC_INTFLAGC_SERCOM1_Pos)         /**< (PAC_INTFLAGC) SERCOM1 Mask */
+#define PAC_INTFLAGC_SERCOM1                PAC_INTFLAGC_SERCOM1_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_SERCOM1_Msk instead */
+#define PAC_INTFLAGC_SERCOM2_Pos            3                                              /**< (PAC_INTFLAGC) SERCOM2 Position */
+#define PAC_INTFLAGC_SERCOM2_Msk            (_U_(0x1) << PAC_INTFLAGC_SERCOM2_Pos)         /**< (PAC_INTFLAGC) SERCOM2 Mask */
+#define PAC_INTFLAGC_SERCOM2                PAC_INTFLAGC_SERCOM2_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_SERCOM2_Msk instead */
+#define PAC_INTFLAGC_TC0_Pos                4                                              /**< (PAC_INTFLAGC) TC0 Position */
+#define PAC_INTFLAGC_TC0_Msk                (_U_(0x1) << PAC_INTFLAGC_TC0_Pos)             /**< (PAC_INTFLAGC) TC0 Mask */
+#define PAC_INTFLAGC_TC0                    PAC_INTFLAGC_TC0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_TC0_Msk instead */
+#define PAC_INTFLAGC_TC1_Pos                5                                              /**< (PAC_INTFLAGC) TC1 Position */
+#define PAC_INTFLAGC_TC1_Msk                (_U_(0x1) << PAC_INTFLAGC_TC1_Pos)             /**< (PAC_INTFLAGC) TC1 Mask */
+#define PAC_INTFLAGC_TC1                    PAC_INTFLAGC_TC1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_TC1_Msk instead */
+#define PAC_INTFLAGC_TC2_Pos                6                                              /**< (PAC_INTFLAGC) TC2 Position */
+#define PAC_INTFLAGC_TC2_Msk                (_U_(0x1) << PAC_INTFLAGC_TC2_Pos)             /**< (PAC_INTFLAGC) TC2 Mask */
+#define PAC_INTFLAGC_TC2                    PAC_INTFLAGC_TC2_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_TC2_Msk instead */
+#define PAC_INTFLAGC_ADC_Pos                7                                              /**< (PAC_INTFLAGC) ADC Position */
+#define PAC_INTFLAGC_ADC_Msk                (_U_(0x1) << PAC_INTFLAGC_ADC_Pos)             /**< (PAC_INTFLAGC) ADC Mask */
+#define PAC_INTFLAGC_ADC                    PAC_INTFLAGC_ADC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_ADC_Msk instead */
+#define PAC_INTFLAGC_DAC_Pos                8                                              /**< (PAC_INTFLAGC) DAC Position */
+#define PAC_INTFLAGC_DAC_Msk                (_U_(0x1) << PAC_INTFLAGC_DAC_Pos)             /**< (PAC_INTFLAGC) DAC Mask */
+#define PAC_INTFLAGC_DAC                    PAC_INTFLAGC_DAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_DAC_Msk instead */
+#define PAC_INTFLAGC_PTC_Pos                9                                              /**< (PAC_INTFLAGC) PTC Position */
+#define PAC_INTFLAGC_PTC_Msk                (_U_(0x1) << PAC_INTFLAGC_PTC_Pos)             /**< (PAC_INTFLAGC) PTC Mask */
+#define PAC_INTFLAGC_PTC                    PAC_INTFLAGC_PTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_PTC_Msk instead */
+#define PAC_INTFLAGC_TRNG_Pos               10                                             /**< (PAC_INTFLAGC) TRNG Position */
+#define PAC_INTFLAGC_TRNG_Msk               (_U_(0x1) << PAC_INTFLAGC_TRNG_Pos)            /**< (PAC_INTFLAGC) TRNG Mask */
+#define PAC_INTFLAGC_TRNG                   PAC_INTFLAGC_TRNG_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_TRNG_Msk instead */
+#define PAC_INTFLAGC_CCL_Pos                11                                             /**< (PAC_INTFLAGC) CCL Position */
+#define PAC_INTFLAGC_CCL_Msk                (_U_(0x1) << PAC_INTFLAGC_CCL_Pos)             /**< (PAC_INTFLAGC) CCL Mask */
+#define PAC_INTFLAGC_CCL                    PAC_INTFLAGC_CCL_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_CCL_Msk instead */
+#define PAC_INTFLAGC_OPAMP_Pos              12                                             /**< (PAC_INTFLAGC) OPAMP Position */
+#define PAC_INTFLAGC_OPAMP_Msk              (_U_(0x1) << PAC_INTFLAGC_OPAMP_Pos)           /**< (PAC_INTFLAGC) OPAMP Mask */
+#define PAC_INTFLAGC_OPAMP                  PAC_INTFLAGC_OPAMP_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_OPAMP_Msk instead */
+#define PAC_INTFLAGC_TRAM_Pos               13                                             /**< (PAC_INTFLAGC) TRAM Position */
+#define PAC_INTFLAGC_TRAM_Msk               (_U_(0x1) << PAC_INTFLAGC_TRAM_Pos)            /**< (PAC_INTFLAGC) TRAM Mask */
+#define PAC_INTFLAGC_TRAM                   PAC_INTFLAGC_TRAM_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_TRAM_Msk instead */
+#define PAC_INTFLAGC_MASK                   _U_(0x3FFF)                                    /**< \deprecated (PAC_INTFLAGC) Register MASK  (Use PAC_INTFLAGC_Msk instead)  */
+#define PAC_INTFLAGC_Msk                    _U_(0x3FFF)                                    /**< (PAC_INTFLAGC) Register Mask  */
+
+#define PAC_INTFLAGC_SERCOM_Pos             1                                              /**< (PAC_INTFLAGC Position) SERCOMx */
+#define PAC_INTFLAGC_SERCOM_Msk             (_U_(0x7) << PAC_INTFLAGC_SERCOM_Pos)          /**< (PAC_INTFLAGC Mask) SERCOM */
+#define PAC_INTFLAGC_SERCOM(value)          (PAC_INTFLAGC_SERCOM_Msk & ((value) << PAC_INTFLAGC_SERCOM_Pos))  
+#define PAC_INTFLAGC_TC_Pos                 4                                              /**< (PAC_INTFLAGC Position) TCx */
+#define PAC_INTFLAGC_TC_Msk                 (_U_(0x7) << PAC_INTFLAGC_TC_Pos)              /**< (PAC_INTFLAGC Mask) TC */
+#define PAC_INTFLAGC_TC(value)              (PAC_INTFLAGC_TC_Msk & ((value) << PAC_INTFLAGC_TC_Pos))  
+
+/* -------- PAC_STATUSA : (PAC Offset: 0x34) (R/ 32) Peripheral write protection status - Bridge A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PAC_:1;                    /**< bit:      0  PAC APB Protect Enable                   */
+    uint32_t PM_:1;                     /**< bit:      1  PM APB Protect Enable                    */
+    uint32_t MCLK_:1;                   /**< bit:      2  MCLK APB Protect Enable                  */
+    uint32_t RSTC_:1;                   /**< bit:      3  RSTC APB Protect Enable                  */
+    uint32_t OSCCTRL_:1;                /**< bit:      4  OSCCTRL APB Protect Enable               */
+    uint32_t OSC32KCTRL_:1;             /**< bit:      5  OSC32KCTRL APB Protect Enable            */
+    uint32_t SUPC_:1;                   /**< bit:      6  SUPC APB Protect Enable                  */
+    uint32_t GCLK_:1;                   /**< bit:      7  GCLK APB Protect Enable                  */
+    uint32_t WDT_:1;                    /**< bit:      8  WDT APB Protect Enable                   */
+    uint32_t RTC_:1;                    /**< bit:      9  RTC APB Protect Enable                   */
+    uint32_t EIC_:1;                    /**< bit:     10  EIC APB Protect Enable                   */
+    uint32_t FREQM_:1;                  /**< bit:     11  FREQM APB Protect Enable                 */
+    uint32_t PORT_:1;                   /**< bit:     12  PORT APB Protect Enable                  */
+    uint32_t AC_:1;                     /**< bit:     13  AC APB Protect Enable                    */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_STATUSA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_STATUSA_OFFSET                  (0x34)                                        /**<  (PAC_STATUSA) Peripheral write protection status - Bridge A  Offset */
+#define PAC_STATUSA_RESETVALUE              _U_(0xC000)                                   /**<  (PAC_STATUSA) Peripheral write protection status - Bridge A  Reset Value */
+
+#define PAC_STATUSA_PAC_Pos                 0                                              /**< (PAC_STATUSA) PAC APB Protect Enable Position */
+#define PAC_STATUSA_PAC_Msk                 (_U_(0x1) << PAC_STATUSA_PAC_Pos)              /**< (PAC_STATUSA) PAC APB Protect Enable Mask */
+#define PAC_STATUSA_PAC                     PAC_STATUSA_PAC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_PAC_Msk instead */
+#define PAC_STATUSA_PM_Pos                  1                                              /**< (PAC_STATUSA) PM APB Protect Enable Position */
+#define PAC_STATUSA_PM_Msk                  (_U_(0x1) << PAC_STATUSA_PM_Pos)               /**< (PAC_STATUSA) PM APB Protect Enable Mask */
+#define PAC_STATUSA_PM                      PAC_STATUSA_PM_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_PM_Msk instead */
+#define PAC_STATUSA_MCLK_Pos                2                                              /**< (PAC_STATUSA) MCLK APB Protect Enable Position */
+#define PAC_STATUSA_MCLK_Msk                (_U_(0x1) << PAC_STATUSA_MCLK_Pos)             /**< (PAC_STATUSA) MCLK APB Protect Enable Mask */
+#define PAC_STATUSA_MCLK                    PAC_STATUSA_MCLK_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_MCLK_Msk instead */
+#define PAC_STATUSA_RSTC_Pos                3                                              /**< (PAC_STATUSA) RSTC APB Protect Enable Position */
+#define PAC_STATUSA_RSTC_Msk                (_U_(0x1) << PAC_STATUSA_RSTC_Pos)             /**< (PAC_STATUSA) RSTC APB Protect Enable Mask */
+#define PAC_STATUSA_RSTC                    PAC_STATUSA_RSTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_RSTC_Msk instead */
+#define PAC_STATUSA_OSCCTRL_Pos             4                                              /**< (PAC_STATUSA) OSCCTRL APB Protect Enable Position */
+#define PAC_STATUSA_OSCCTRL_Msk             (_U_(0x1) << PAC_STATUSA_OSCCTRL_Pos)          /**< (PAC_STATUSA) OSCCTRL APB Protect Enable Mask */
+#define PAC_STATUSA_OSCCTRL                 PAC_STATUSA_OSCCTRL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_OSCCTRL_Msk instead */
+#define PAC_STATUSA_OSC32KCTRL_Pos          5                                              /**< (PAC_STATUSA) OSC32KCTRL APB Protect Enable Position */
+#define PAC_STATUSA_OSC32KCTRL_Msk          (_U_(0x1) << PAC_STATUSA_OSC32KCTRL_Pos)       /**< (PAC_STATUSA) OSC32KCTRL APB Protect Enable Mask */
+#define PAC_STATUSA_OSC32KCTRL              PAC_STATUSA_OSC32KCTRL_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_OSC32KCTRL_Msk instead */
+#define PAC_STATUSA_SUPC_Pos                6                                              /**< (PAC_STATUSA) SUPC APB Protect Enable Position */
+#define PAC_STATUSA_SUPC_Msk                (_U_(0x1) << PAC_STATUSA_SUPC_Pos)             /**< (PAC_STATUSA) SUPC APB Protect Enable Mask */
+#define PAC_STATUSA_SUPC                    PAC_STATUSA_SUPC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_SUPC_Msk instead */
+#define PAC_STATUSA_GCLK_Pos                7                                              /**< (PAC_STATUSA) GCLK APB Protect Enable Position */
+#define PAC_STATUSA_GCLK_Msk                (_U_(0x1) << PAC_STATUSA_GCLK_Pos)             /**< (PAC_STATUSA) GCLK APB Protect Enable Mask */
+#define PAC_STATUSA_GCLK                    PAC_STATUSA_GCLK_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_GCLK_Msk instead */
+#define PAC_STATUSA_WDT_Pos                 8                                              /**< (PAC_STATUSA) WDT APB Protect Enable Position */
+#define PAC_STATUSA_WDT_Msk                 (_U_(0x1) << PAC_STATUSA_WDT_Pos)              /**< (PAC_STATUSA) WDT APB Protect Enable Mask */
+#define PAC_STATUSA_WDT                     PAC_STATUSA_WDT_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_WDT_Msk instead */
+#define PAC_STATUSA_RTC_Pos                 9                                              /**< (PAC_STATUSA) RTC APB Protect Enable Position */
+#define PAC_STATUSA_RTC_Msk                 (_U_(0x1) << PAC_STATUSA_RTC_Pos)              /**< (PAC_STATUSA) RTC APB Protect Enable Mask */
+#define PAC_STATUSA_RTC                     PAC_STATUSA_RTC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_RTC_Msk instead */
+#define PAC_STATUSA_EIC_Pos                 10                                             /**< (PAC_STATUSA) EIC APB Protect Enable Position */
+#define PAC_STATUSA_EIC_Msk                 (_U_(0x1) << PAC_STATUSA_EIC_Pos)              /**< (PAC_STATUSA) EIC APB Protect Enable Mask */
+#define PAC_STATUSA_EIC                     PAC_STATUSA_EIC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_EIC_Msk instead */
+#define PAC_STATUSA_FREQM_Pos               11                                             /**< (PAC_STATUSA) FREQM APB Protect Enable Position */
+#define PAC_STATUSA_FREQM_Msk               (_U_(0x1) << PAC_STATUSA_FREQM_Pos)            /**< (PAC_STATUSA) FREQM APB Protect Enable Mask */
+#define PAC_STATUSA_FREQM                   PAC_STATUSA_FREQM_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_FREQM_Msk instead */
+#define PAC_STATUSA_PORT_Pos                12                                             /**< (PAC_STATUSA) PORT APB Protect Enable Position */
+#define PAC_STATUSA_PORT_Msk                (_U_(0x1) << PAC_STATUSA_PORT_Pos)             /**< (PAC_STATUSA) PORT APB Protect Enable Mask */
+#define PAC_STATUSA_PORT                    PAC_STATUSA_PORT_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_PORT_Msk instead */
+#define PAC_STATUSA_AC_Pos                  13                                             /**< (PAC_STATUSA) AC APB Protect Enable Position */
+#define PAC_STATUSA_AC_Msk                  (_U_(0x1) << PAC_STATUSA_AC_Pos)               /**< (PAC_STATUSA) AC APB Protect Enable Mask */
+#define PAC_STATUSA_AC                      PAC_STATUSA_AC_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_AC_Msk instead */
+#define PAC_STATUSA_MASK                    _U_(0x3FFF)                                    /**< \deprecated (PAC_STATUSA) Register MASK  (Use PAC_STATUSA_Msk instead)  */
+#define PAC_STATUSA_Msk                     _U_(0x3FFF)                                    /**< (PAC_STATUSA) Register Mask  */
+
+
+/* -------- PAC_STATUSB : (PAC Offset: 0x38) (R/ 32) Peripheral write protection status - Bridge B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IDAU_:1;                   /**< bit:      0  IDAU APB Protect Enable                  */
+    uint32_t DSU_:1;                    /**< bit:      1  DSU APB Protect Enable                   */
+    uint32_t NVMCTRL_:1;                /**< bit:      2  NVMCTRL APB Protect Enable               */
+    uint32_t DMAC_:1;                   /**< bit:      3  DMAC APB Protect Enable                  */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_STATUSB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_STATUSB_OFFSET                  (0x38)                                        /**<  (PAC_STATUSB) Peripheral write protection status - Bridge B  Offset */
+#define PAC_STATUSB_RESETVALUE              _U_(0x02)                                     /**<  (PAC_STATUSB) Peripheral write protection status - Bridge B  Reset Value */
+
+#define PAC_STATUSB_IDAU_Pos                0                                              /**< (PAC_STATUSB) IDAU APB Protect Enable Position */
+#define PAC_STATUSB_IDAU_Msk                (_U_(0x1) << PAC_STATUSB_IDAU_Pos)             /**< (PAC_STATUSB) IDAU APB Protect Enable Mask */
+#define PAC_STATUSB_IDAU                    PAC_STATUSB_IDAU_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSB_IDAU_Msk instead */
+#define PAC_STATUSB_DSU_Pos                 1                                              /**< (PAC_STATUSB) DSU APB Protect Enable Position */
+#define PAC_STATUSB_DSU_Msk                 (_U_(0x1) << PAC_STATUSB_DSU_Pos)              /**< (PAC_STATUSB) DSU APB Protect Enable Mask */
+#define PAC_STATUSB_DSU                     PAC_STATUSB_DSU_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSB_DSU_Msk instead */
+#define PAC_STATUSB_NVMCTRL_Pos             2                                              /**< (PAC_STATUSB) NVMCTRL APB Protect Enable Position */
+#define PAC_STATUSB_NVMCTRL_Msk             (_U_(0x1) << PAC_STATUSB_NVMCTRL_Pos)          /**< (PAC_STATUSB) NVMCTRL APB Protect Enable Mask */
+#define PAC_STATUSB_NVMCTRL                 PAC_STATUSB_NVMCTRL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSB_NVMCTRL_Msk instead */
+#define PAC_STATUSB_DMAC_Pos                3                                              /**< (PAC_STATUSB) DMAC APB Protect Enable Position */
+#define PAC_STATUSB_DMAC_Msk                (_U_(0x1) << PAC_STATUSB_DMAC_Pos)             /**< (PAC_STATUSB) DMAC APB Protect Enable Mask */
+#define PAC_STATUSB_DMAC                    PAC_STATUSB_DMAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSB_DMAC_Msk instead */
+#define PAC_STATUSB_MASK                    _U_(0x0F)                                      /**< \deprecated (PAC_STATUSB) Register MASK  (Use PAC_STATUSB_Msk instead)  */
+#define PAC_STATUSB_Msk                     _U_(0x0F)                                      /**< (PAC_STATUSB) Register Mask  */
+
+
+/* -------- PAC_STATUSC : (PAC Offset: 0x3c) (R/ 32) Peripheral write protection status - Bridge C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVSYS_:1;                  /**< bit:      0  EVSYS APB Protect Enable                 */
+    uint32_t SERCOM0_:1;                /**< bit:      1  SERCOM0 APB Protect Enable               */
+    uint32_t SERCOM1_:1;                /**< bit:      2  SERCOM1 APB Protect Enable               */
+    uint32_t SERCOM2_:1;                /**< bit:      3  SERCOM2 APB Protect Enable               */
+    uint32_t TC0_:1;                    /**< bit:      4  TC0 APB Protect Enable                   */
+    uint32_t TC1_:1;                    /**< bit:      5  TC1 APB Protect Enable                   */
+    uint32_t TC2_:1;                    /**< bit:      6  TC2 APB Protect Enable                   */
+    uint32_t ADC_:1;                    /**< bit:      7  ADC APB Protect Enable                   */
+    uint32_t DAC_:1;                    /**< bit:      8  DAC APB Protect Enable                   */
+    uint32_t PTC_:1;                    /**< bit:      9  PTC APB Protect Enable                   */
+    uint32_t TRNG_:1;                   /**< bit:     10  TRNG APB Protect Enable                  */
+    uint32_t CCL_:1;                    /**< bit:     11  CCL APB Protect Enable                   */
+    uint32_t OPAMP_:1;                  /**< bit:     12  OPAMP APB Protect Enable                 */
+    uint32_t TRAM_:1;                   /**< bit:     13  TRAM APB Protect Enable                  */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_STATUSC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_STATUSC_OFFSET                  (0x3C)                                        /**<  (PAC_STATUSC) Peripheral write protection status - Bridge C  Offset */
+#define PAC_STATUSC_RESETVALUE              _U_(0x00)                                     /**<  (PAC_STATUSC) Peripheral write protection status - Bridge C  Reset Value */
+
+#define PAC_STATUSC_EVSYS_Pos               0                                              /**< (PAC_STATUSC) EVSYS APB Protect Enable Position */
+#define PAC_STATUSC_EVSYS_Msk               (_U_(0x1) << PAC_STATUSC_EVSYS_Pos)            /**< (PAC_STATUSC) EVSYS APB Protect Enable Mask */
+#define PAC_STATUSC_EVSYS                   PAC_STATUSC_EVSYS_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_EVSYS_Msk instead */
+#define PAC_STATUSC_SERCOM0_Pos             1                                              /**< (PAC_STATUSC) SERCOM0 APB Protect Enable Position */
+#define PAC_STATUSC_SERCOM0_Msk             (_U_(0x1) << PAC_STATUSC_SERCOM0_Pos)          /**< (PAC_STATUSC) SERCOM0 APB Protect Enable Mask */
+#define PAC_STATUSC_SERCOM0                 PAC_STATUSC_SERCOM0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_SERCOM0_Msk instead */
+#define PAC_STATUSC_SERCOM1_Pos             2                                              /**< (PAC_STATUSC) SERCOM1 APB Protect Enable Position */
+#define PAC_STATUSC_SERCOM1_Msk             (_U_(0x1) << PAC_STATUSC_SERCOM1_Pos)          /**< (PAC_STATUSC) SERCOM1 APB Protect Enable Mask */
+#define PAC_STATUSC_SERCOM1                 PAC_STATUSC_SERCOM1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_SERCOM1_Msk instead */
+#define PAC_STATUSC_SERCOM2_Pos             3                                              /**< (PAC_STATUSC) SERCOM2 APB Protect Enable Position */
+#define PAC_STATUSC_SERCOM2_Msk             (_U_(0x1) << PAC_STATUSC_SERCOM2_Pos)          /**< (PAC_STATUSC) SERCOM2 APB Protect Enable Mask */
+#define PAC_STATUSC_SERCOM2                 PAC_STATUSC_SERCOM2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_SERCOM2_Msk instead */
+#define PAC_STATUSC_TC0_Pos                 4                                              /**< (PAC_STATUSC) TC0 APB Protect Enable Position */
+#define PAC_STATUSC_TC0_Msk                 (_U_(0x1) << PAC_STATUSC_TC0_Pos)              /**< (PAC_STATUSC) TC0 APB Protect Enable Mask */
+#define PAC_STATUSC_TC0                     PAC_STATUSC_TC0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_TC0_Msk instead */
+#define PAC_STATUSC_TC1_Pos                 5                                              /**< (PAC_STATUSC) TC1 APB Protect Enable Position */
+#define PAC_STATUSC_TC1_Msk                 (_U_(0x1) << PAC_STATUSC_TC1_Pos)              /**< (PAC_STATUSC) TC1 APB Protect Enable Mask */
+#define PAC_STATUSC_TC1                     PAC_STATUSC_TC1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_TC1_Msk instead */
+#define PAC_STATUSC_TC2_Pos                 6                                              /**< (PAC_STATUSC) TC2 APB Protect Enable Position */
+#define PAC_STATUSC_TC2_Msk                 (_U_(0x1) << PAC_STATUSC_TC2_Pos)              /**< (PAC_STATUSC) TC2 APB Protect Enable Mask */
+#define PAC_STATUSC_TC2                     PAC_STATUSC_TC2_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_TC2_Msk instead */
+#define PAC_STATUSC_ADC_Pos                 7                                              /**< (PAC_STATUSC) ADC APB Protect Enable Position */
+#define PAC_STATUSC_ADC_Msk                 (_U_(0x1) << PAC_STATUSC_ADC_Pos)              /**< (PAC_STATUSC) ADC APB Protect Enable Mask */
+#define PAC_STATUSC_ADC                     PAC_STATUSC_ADC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_ADC_Msk instead */
+#define PAC_STATUSC_DAC_Pos                 8                                              /**< (PAC_STATUSC) DAC APB Protect Enable Position */
+#define PAC_STATUSC_DAC_Msk                 (_U_(0x1) << PAC_STATUSC_DAC_Pos)              /**< (PAC_STATUSC) DAC APB Protect Enable Mask */
+#define PAC_STATUSC_DAC                     PAC_STATUSC_DAC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_DAC_Msk instead */
+#define PAC_STATUSC_PTC_Pos                 9                                              /**< (PAC_STATUSC) PTC APB Protect Enable Position */
+#define PAC_STATUSC_PTC_Msk                 (_U_(0x1) << PAC_STATUSC_PTC_Pos)              /**< (PAC_STATUSC) PTC APB Protect Enable Mask */
+#define PAC_STATUSC_PTC                     PAC_STATUSC_PTC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_PTC_Msk instead */
+#define PAC_STATUSC_TRNG_Pos                10                                             /**< (PAC_STATUSC) TRNG APB Protect Enable Position */
+#define PAC_STATUSC_TRNG_Msk                (_U_(0x1) << PAC_STATUSC_TRNG_Pos)             /**< (PAC_STATUSC) TRNG APB Protect Enable Mask */
+#define PAC_STATUSC_TRNG                    PAC_STATUSC_TRNG_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_TRNG_Msk instead */
+#define PAC_STATUSC_CCL_Pos                 11                                             /**< (PAC_STATUSC) CCL APB Protect Enable Position */
+#define PAC_STATUSC_CCL_Msk                 (_U_(0x1) << PAC_STATUSC_CCL_Pos)              /**< (PAC_STATUSC) CCL APB Protect Enable Mask */
+#define PAC_STATUSC_CCL                     PAC_STATUSC_CCL_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_CCL_Msk instead */
+#define PAC_STATUSC_OPAMP_Pos               12                                             /**< (PAC_STATUSC) OPAMP APB Protect Enable Position */
+#define PAC_STATUSC_OPAMP_Msk               (_U_(0x1) << PAC_STATUSC_OPAMP_Pos)            /**< (PAC_STATUSC) OPAMP APB Protect Enable Mask */
+#define PAC_STATUSC_OPAMP                   PAC_STATUSC_OPAMP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_OPAMP_Msk instead */
+#define PAC_STATUSC_TRAM_Pos                13                                             /**< (PAC_STATUSC) TRAM APB Protect Enable Position */
+#define PAC_STATUSC_TRAM_Msk                (_U_(0x1) << PAC_STATUSC_TRAM_Pos)             /**< (PAC_STATUSC) TRAM APB Protect Enable Mask */
+#define PAC_STATUSC_TRAM                    PAC_STATUSC_TRAM_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_TRAM_Msk instead */
+#define PAC_STATUSC_MASK                    _U_(0x3FFF)                                    /**< \deprecated (PAC_STATUSC) Register MASK  (Use PAC_STATUSC_Msk instead)  */
+#define PAC_STATUSC_Msk                     _U_(0x3FFF)                                    /**< (PAC_STATUSC) Register Mask  */
+
+#define PAC_STATUSC_SERCOM_Pos              1                                              /**< (PAC_STATUSC Position) SERCOMx APB Protect Enable */
+#define PAC_STATUSC_SERCOM_Msk              (_U_(0x7) << PAC_STATUSC_SERCOM_Pos)           /**< (PAC_STATUSC Mask) SERCOM */
+#define PAC_STATUSC_SERCOM(value)           (PAC_STATUSC_SERCOM_Msk & ((value) << PAC_STATUSC_SERCOM_Pos))  
+#define PAC_STATUSC_TC_Pos                  4                                              /**< (PAC_STATUSC Position) TCx APB Protect Enable */
+#define PAC_STATUSC_TC_Msk                  (_U_(0x7) << PAC_STATUSC_TC_Pos)               /**< (PAC_STATUSC Mask) TC */
+#define PAC_STATUSC_TC(value)               (PAC_STATUSC_TC_Msk & ((value) << PAC_STATUSC_TC_Pos))  
+
+/* -------- PAC_NONSECA : (PAC Offset: 0x54) (R/ 32) Peripheral non-secure status - Bridge A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PAC_:1;                    /**< bit:      0  PAC Non-Secure                           */
+    uint32_t PM_:1;                     /**< bit:      1  PM Non-Secure                            */
+    uint32_t MCLK_:1;                   /**< bit:      2  MCLK Non-Secure                          */
+    uint32_t RSTC_:1;                   /**< bit:      3  RSTC Non-Secure                          */
+    uint32_t OSCCTRL_:1;                /**< bit:      4  OSCCTRL Non-Secure                       */
+    uint32_t OSC32KCTRL_:1;             /**< bit:      5  OSC32KCTRL Non-Secure                    */
+    uint32_t SUPC_:1;                   /**< bit:      6  SUPC Non-Secure                          */
+    uint32_t GCLK_:1;                   /**< bit:      7  GCLK Non-Secure                          */
+    uint32_t WDT_:1;                    /**< bit:      8  WDT Non-Secure                           */
+    uint32_t RTC_:1;                    /**< bit:      9  RTC Non-Secure                           */
+    uint32_t EIC_:1;                    /**< bit:     10  EIC Non-Secure                           */
+    uint32_t FREQM_:1;                  /**< bit:     11  FREQM Non-Secure                         */
+    uint32_t PORT_:1;                   /**< bit:     12  PORT Non-Secure                          */
+    uint32_t AC_:1;                     /**< bit:     13  AC Non-Secure                            */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_NONSECA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_NONSECA_OFFSET                  (0x54)                                        /**<  (PAC_NONSECA) Peripheral non-secure status - Bridge A  Offset */
+#define PAC_NONSECA_RESETVALUE              _U_(0x00)                                     /**<  (PAC_NONSECA) Peripheral non-secure status - Bridge A  Reset Value */
+
+#define PAC_NONSECA_PAC_Pos                 0                                              /**< (PAC_NONSECA) PAC Non-Secure Position */
+#define PAC_NONSECA_PAC_Msk                 (_U_(0x1) << PAC_NONSECA_PAC_Pos)              /**< (PAC_NONSECA) PAC Non-Secure Mask */
+#define PAC_NONSECA_PAC                     PAC_NONSECA_PAC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_PAC_Msk instead */
+#define PAC_NONSECA_PM_Pos                  1                                              /**< (PAC_NONSECA) PM Non-Secure Position */
+#define PAC_NONSECA_PM_Msk                  (_U_(0x1) << PAC_NONSECA_PM_Pos)               /**< (PAC_NONSECA) PM Non-Secure Mask */
+#define PAC_NONSECA_PM                      PAC_NONSECA_PM_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_PM_Msk instead */
+#define PAC_NONSECA_MCLK_Pos                2                                              /**< (PAC_NONSECA) MCLK Non-Secure Position */
+#define PAC_NONSECA_MCLK_Msk                (_U_(0x1) << PAC_NONSECA_MCLK_Pos)             /**< (PAC_NONSECA) MCLK Non-Secure Mask */
+#define PAC_NONSECA_MCLK                    PAC_NONSECA_MCLK_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_MCLK_Msk instead */
+#define PAC_NONSECA_RSTC_Pos                3                                              /**< (PAC_NONSECA) RSTC Non-Secure Position */
+#define PAC_NONSECA_RSTC_Msk                (_U_(0x1) << PAC_NONSECA_RSTC_Pos)             /**< (PAC_NONSECA) RSTC Non-Secure Mask */
+#define PAC_NONSECA_RSTC                    PAC_NONSECA_RSTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_RSTC_Msk instead */
+#define PAC_NONSECA_OSCCTRL_Pos             4                                              /**< (PAC_NONSECA) OSCCTRL Non-Secure Position */
+#define PAC_NONSECA_OSCCTRL_Msk             (_U_(0x1) << PAC_NONSECA_OSCCTRL_Pos)          /**< (PAC_NONSECA) OSCCTRL Non-Secure Mask */
+#define PAC_NONSECA_OSCCTRL                 PAC_NONSECA_OSCCTRL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_OSCCTRL_Msk instead */
+#define PAC_NONSECA_OSC32KCTRL_Pos          5                                              /**< (PAC_NONSECA) OSC32KCTRL Non-Secure Position */
+#define PAC_NONSECA_OSC32KCTRL_Msk          (_U_(0x1) << PAC_NONSECA_OSC32KCTRL_Pos)       /**< (PAC_NONSECA) OSC32KCTRL Non-Secure Mask */
+#define PAC_NONSECA_OSC32KCTRL              PAC_NONSECA_OSC32KCTRL_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_OSC32KCTRL_Msk instead */
+#define PAC_NONSECA_SUPC_Pos                6                                              /**< (PAC_NONSECA) SUPC Non-Secure Position */
+#define PAC_NONSECA_SUPC_Msk                (_U_(0x1) << PAC_NONSECA_SUPC_Pos)             /**< (PAC_NONSECA) SUPC Non-Secure Mask */
+#define PAC_NONSECA_SUPC                    PAC_NONSECA_SUPC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_SUPC_Msk instead */
+#define PAC_NONSECA_GCLK_Pos                7                                              /**< (PAC_NONSECA) GCLK Non-Secure Position */
+#define PAC_NONSECA_GCLK_Msk                (_U_(0x1) << PAC_NONSECA_GCLK_Pos)             /**< (PAC_NONSECA) GCLK Non-Secure Mask */
+#define PAC_NONSECA_GCLK                    PAC_NONSECA_GCLK_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_GCLK_Msk instead */
+#define PAC_NONSECA_WDT_Pos                 8                                              /**< (PAC_NONSECA) WDT Non-Secure Position */
+#define PAC_NONSECA_WDT_Msk                 (_U_(0x1) << PAC_NONSECA_WDT_Pos)              /**< (PAC_NONSECA) WDT Non-Secure Mask */
+#define PAC_NONSECA_WDT                     PAC_NONSECA_WDT_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_WDT_Msk instead */
+#define PAC_NONSECA_RTC_Pos                 9                                              /**< (PAC_NONSECA) RTC Non-Secure Position */
+#define PAC_NONSECA_RTC_Msk                 (_U_(0x1) << PAC_NONSECA_RTC_Pos)              /**< (PAC_NONSECA) RTC Non-Secure Mask */
+#define PAC_NONSECA_RTC                     PAC_NONSECA_RTC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_RTC_Msk instead */
+#define PAC_NONSECA_EIC_Pos                 10                                             /**< (PAC_NONSECA) EIC Non-Secure Position */
+#define PAC_NONSECA_EIC_Msk                 (_U_(0x1) << PAC_NONSECA_EIC_Pos)              /**< (PAC_NONSECA) EIC Non-Secure Mask */
+#define PAC_NONSECA_EIC                     PAC_NONSECA_EIC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_EIC_Msk instead */
+#define PAC_NONSECA_FREQM_Pos               11                                             /**< (PAC_NONSECA) FREQM Non-Secure Position */
+#define PAC_NONSECA_FREQM_Msk               (_U_(0x1) << PAC_NONSECA_FREQM_Pos)            /**< (PAC_NONSECA) FREQM Non-Secure Mask */
+#define PAC_NONSECA_FREQM                   PAC_NONSECA_FREQM_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_FREQM_Msk instead */
+#define PAC_NONSECA_PORT_Pos                12                                             /**< (PAC_NONSECA) PORT Non-Secure Position */
+#define PAC_NONSECA_PORT_Msk                (_U_(0x1) << PAC_NONSECA_PORT_Pos)             /**< (PAC_NONSECA) PORT Non-Secure Mask */
+#define PAC_NONSECA_PORT                    PAC_NONSECA_PORT_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_PORT_Msk instead */
+#define PAC_NONSECA_AC_Pos                  13                                             /**< (PAC_NONSECA) AC Non-Secure Position */
+#define PAC_NONSECA_AC_Msk                  (_U_(0x1) << PAC_NONSECA_AC_Pos)               /**< (PAC_NONSECA) AC Non-Secure Mask */
+#define PAC_NONSECA_AC                      PAC_NONSECA_AC_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_AC_Msk instead */
+#define PAC_NONSECA_MASK                    _U_(0x3FFF)                                    /**< \deprecated (PAC_NONSECA) Register MASK  (Use PAC_NONSECA_Msk instead)  */
+#define PAC_NONSECA_Msk                     _U_(0x3FFF)                                    /**< (PAC_NONSECA) Register Mask  */
+
+
+/* -------- PAC_NONSECB : (PAC Offset: 0x58) (R/ 32) Peripheral non-secure status - Bridge B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IDAU_:1;                   /**< bit:      0  IDAU Non-Secure                          */
+    uint32_t DSU_:1;                    /**< bit:      1  DSU Non-Secure                           */
+    uint32_t NVMCTRL_:1;                /**< bit:      2  NVMCTRL Non-Secure                       */
+    uint32_t DMAC_:1;                   /**< bit:      3  DMAC Non-Secure                          */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_NONSECB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_NONSECB_OFFSET                  (0x58)                                        /**<  (PAC_NONSECB) Peripheral non-secure status - Bridge B  Offset */
+#define PAC_NONSECB_RESETVALUE              _U_(0x02)                                     /**<  (PAC_NONSECB) Peripheral non-secure status - Bridge B  Reset Value */
+
+#define PAC_NONSECB_IDAU_Pos                0                                              /**< (PAC_NONSECB) IDAU Non-Secure Position */
+#define PAC_NONSECB_IDAU_Msk                (_U_(0x1) << PAC_NONSECB_IDAU_Pos)             /**< (PAC_NONSECB) IDAU Non-Secure Mask */
+#define PAC_NONSECB_IDAU                    PAC_NONSECB_IDAU_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECB_IDAU_Msk instead */
+#define PAC_NONSECB_DSU_Pos                 1                                              /**< (PAC_NONSECB) DSU Non-Secure Position */
+#define PAC_NONSECB_DSU_Msk                 (_U_(0x1) << PAC_NONSECB_DSU_Pos)              /**< (PAC_NONSECB) DSU Non-Secure Mask */
+#define PAC_NONSECB_DSU                     PAC_NONSECB_DSU_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECB_DSU_Msk instead */
+#define PAC_NONSECB_NVMCTRL_Pos             2                                              /**< (PAC_NONSECB) NVMCTRL Non-Secure Position */
+#define PAC_NONSECB_NVMCTRL_Msk             (_U_(0x1) << PAC_NONSECB_NVMCTRL_Pos)          /**< (PAC_NONSECB) NVMCTRL Non-Secure Mask */
+#define PAC_NONSECB_NVMCTRL                 PAC_NONSECB_NVMCTRL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECB_NVMCTRL_Msk instead */
+#define PAC_NONSECB_DMAC_Pos                3                                              /**< (PAC_NONSECB) DMAC Non-Secure Position */
+#define PAC_NONSECB_DMAC_Msk                (_U_(0x1) << PAC_NONSECB_DMAC_Pos)             /**< (PAC_NONSECB) DMAC Non-Secure Mask */
+#define PAC_NONSECB_DMAC                    PAC_NONSECB_DMAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECB_DMAC_Msk instead */
+#define PAC_NONSECB_MASK                    _U_(0x0F)                                      /**< \deprecated (PAC_NONSECB) Register MASK  (Use PAC_NONSECB_Msk instead)  */
+#define PAC_NONSECB_Msk                     _U_(0x0F)                                      /**< (PAC_NONSECB) Register Mask  */
+
+
+/* -------- PAC_NONSECC : (PAC Offset: 0x5c) (R/ 32) Peripheral non-secure status - Bridge C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVSYS_:1;                  /**< bit:      0  EVSYS Non-Secure                         */
+    uint32_t SERCOM0_:1;                /**< bit:      1  SERCOM0 Non-Secure                       */
+    uint32_t SERCOM1_:1;                /**< bit:      2  SERCOM1 Non-Secure                       */
+    uint32_t SERCOM2_:1;                /**< bit:      3  SERCOM2 Non-Secure                       */
+    uint32_t TC0_:1;                    /**< bit:      4  TC0 Non-Secure                           */
+    uint32_t TC1_:1;                    /**< bit:      5  TC1 Non-Secure                           */
+    uint32_t TC2_:1;                    /**< bit:      6  TC2 Non-Secure                           */
+    uint32_t ADC_:1;                    /**< bit:      7  ADC Non-Secure                           */
+    uint32_t DAC_:1;                    /**< bit:      8  DAC Non-Secure                           */
+    uint32_t PTC_:1;                    /**< bit:      9  PTC Non-Secure                           */
+    uint32_t TRNG_:1;                   /**< bit:     10  TRNG Non-Secure                          */
+    uint32_t CCL_:1;                    /**< bit:     11  CCL Non-Secure                           */
+    uint32_t OPAMP_:1;                  /**< bit:     12  OPAMP Non-Secure                         */
+    uint32_t TRAM_:1;                   /**< bit:     13  TRAM Non-Secure                          */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_NONSECC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_NONSECC_OFFSET                  (0x5C)                                        /**<  (PAC_NONSECC) Peripheral non-secure status - Bridge C  Offset */
+#define PAC_NONSECC_RESETVALUE              _U_(0x00)                                     /**<  (PAC_NONSECC) Peripheral non-secure status - Bridge C  Reset Value */
+
+#define PAC_NONSECC_EVSYS_Pos               0                                              /**< (PAC_NONSECC) EVSYS Non-Secure Position */
+#define PAC_NONSECC_EVSYS_Msk               (_U_(0x1) << PAC_NONSECC_EVSYS_Pos)            /**< (PAC_NONSECC) EVSYS Non-Secure Mask */
+#define PAC_NONSECC_EVSYS                   PAC_NONSECC_EVSYS_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_EVSYS_Msk instead */
+#define PAC_NONSECC_SERCOM0_Pos             1                                              /**< (PAC_NONSECC) SERCOM0 Non-Secure Position */
+#define PAC_NONSECC_SERCOM0_Msk             (_U_(0x1) << PAC_NONSECC_SERCOM0_Pos)          /**< (PAC_NONSECC) SERCOM0 Non-Secure Mask */
+#define PAC_NONSECC_SERCOM0                 PAC_NONSECC_SERCOM0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_SERCOM0_Msk instead */
+#define PAC_NONSECC_SERCOM1_Pos             2                                              /**< (PAC_NONSECC) SERCOM1 Non-Secure Position */
+#define PAC_NONSECC_SERCOM1_Msk             (_U_(0x1) << PAC_NONSECC_SERCOM1_Pos)          /**< (PAC_NONSECC) SERCOM1 Non-Secure Mask */
+#define PAC_NONSECC_SERCOM1                 PAC_NONSECC_SERCOM1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_SERCOM1_Msk instead */
+#define PAC_NONSECC_SERCOM2_Pos             3                                              /**< (PAC_NONSECC) SERCOM2 Non-Secure Position */
+#define PAC_NONSECC_SERCOM2_Msk             (_U_(0x1) << PAC_NONSECC_SERCOM2_Pos)          /**< (PAC_NONSECC) SERCOM2 Non-Secure Mask */
+#define PAC_NONSECC_SERCOM2                 PAC_NONSECC_SERCOM2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_SERCOM2_Msk instead */
+#define PAC_NONSECC_TC0_Pos                 4                                              /**< (PAC_NONSECC) TC0 Non-Secure Position */
+#define PAC_NONSECC_TC0_Msk                 (_U_(0x1) << PAC_NONSECC_TC0_Pos)              /**< (PAC_NONSECC) TC0 Non-Secure Mask */
+#define PAC_NONSECC_TC0                     PAC_NONSECC_TC0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_TC0_Msk instead */
+#define PAC_NONSECC_TC1_Pos                 5                                              /**< (PAC_NONSECC) TC1 Non-Secure Position */
+#define PAC_NONSECC_TC1_Msk                 (_U_(0x1) << PAC_NONSECC_TC1_Pos)              /**< (PAC_NONSECC) TC1 Non-Secure Mask */
+#define PAC_NONSECC_TC1                     PAC_NONSECC_TC1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_TC1_Msk instead */
+#define PAC_NONSECC_TC2_Pos                 6                                              /**< (PAC_NONSECC) TC2 Non-Secure Position */
+#define PAC_NONSECC_TC2_Msk                 (_U_(0x1) << PAC_NONSECC_TC2_Pos)              /**< (PAC_NONSECC) TC2 Non-Secure Mask */
+#define PAC_NONSECC_TC2                     PAC_NONSECC_TC2_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_TC2_Msk instead */
+#define PAC_NONSECC_ADC_Pos                 7                                              /**< (PAC_NONSECC) ADC Non-Secure Position */
+#define PAC_NONSECC_ADC_Msk                 (_U_(0x1) << PAC_NONSECC_ADC_Pos)              /**< (PAC_NONSECC) ADC Non-Secure Mask */
+#define PAC_NONSECC_ADC                     PAC_NONSECC_ADC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_ADC_Msk instead */
+#define PAC_NONSECC_DAC_Pos                 8                                              /**< (PAC_NONSECC) DAC Non-Secure Position */
+#define PAC_NONSECC_DAC_Msk                 (_U_(0x1) << PAC_NONSECC_DAC_Pos)              /**< (PAC_NONSECC) DAC Non-Secure Mask */
+#define PAC_NONSECC_DAC                     PAC_NONSECC_DAC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_DAC_Msk instead */
+#define PAC_NONSECC_PTC_Pos                 9                                              /**< (PAC_NONSECC) PTC Non-Secure Position */
+#define PAC_NONSECC_PTC_Msk                 (_U_(0x1) << PAC_NONSECC_PTC_Pos)              /**< (PAC_NONSECC) PTC Non-Secure Mask */
+#define PAC_NONSECC_PTC                     PAC_NONSECC_PTC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_PTC_Msk instead */
+#define PAC_NONSECC_TRNG_Pos                10                                             /**< (PAC_NONSECC) TRNG Non-Secure Position */
+#define PAC_NONSECC_TRNG_Msk                (_U_(0x1) << PAC_NONSECC_TRNG_Pos)             /**< (PAC_NONSECC) TRNG Non-Secure Mask */
+#define PAC_NONSECC_TRNG                    PAC_NONSECC_TRNG_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_TRNG_Msk instead */
+#define PAC_NONSECC_CCL_Pos                 11                                             /**< (PAC_NONSECC) CCL Non-Secure Position */
+#define PAC_NONSECC_CCL_Msk                 (_U_(0x1) << PAC_NONSECC_CCL_Pos)              /**< (PAC_NONSECC) CCL Non-Secure Mask */
+#define PAC_NONSECC_CCL                     PAC_NONSECC_CCL_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_CCL_Msk instead */
+#define PAC_NONSECC_OPAMP_Pos               12                                             /**< (PAC_NONSECC) OPAMP Non-Secure Position */
+#define PAC_NONSECC_OPAMP_Msk               (_U_(0x1) << PAC_NONSECC_OPAMP_Pos)            /**< (PAC_NONSECC) OPAMP Non-Secure Mask */
+#define PAC_NONSECC_OPAMP                   PAC_NONSECC_OPAMP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_OPAMP_Msk instead */
+#define PAC_NONSECC_TRAM_Pos                13                                             /**< (PAC_NONSECC) TRAM Non-Secure Position */
+#define PAC_NONSECC_TRAM_Msk                (_U_(0x1) << PAC_NONSECC_TRAM_Pos)             /**< (PAC_NONSECC) TRAM Non-Secure Mask */
+#define PAC_NONSECC_TRAM                    PAC_NONSECC_TRAM_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_TRAM_Msk instead */
+#define PAC_NONSECC_MASK                    _U_(0x3FFF)                                    /**< \deprecated (PAC_NONSECC) Register MASK  (Use PAC_NONSECC_Msk instead)  */
+#define PAC_NONSECC_Msk                     _U_(0x3FFF)                                    /**< (PAC_NONSECC) Register Mask  */
+
+#define PAC_NONSECC_SERCOM_Pos              1                                              /**< (PAC_NONSECC Position) SERCOMx Non-Secure */
+#define PAC_NONSECC_SERCOM_Msk              (_U_(0x7) << PAC_NONSECC_SERCOM_Pos)           /**< (PAC_NONSECC Mask) SERCOM */
+#define PAC_NONSECC_SERCOM(value)           (PAC_NONSECC_SERCOM_Msk & ((value) << PAC_NONSECC_SERCOM_Pos))  
+#define PAC_NONSECC_TC_Pos                  4                                              /**< (PAC_NONSECC Position) TCx Non-Secure */
+#define PAC_NONSECC_TC_Msk                  (_U_(0x7) << PAC_NONSECC_TC_Pos)               /**< (PAC_NONSECC Mask) TC */
+#define PAC_NONSECC_TC(value)               (PAC_NONSECC_TC_Msk & ((value) << PAC_NONSECC_TC_Pos))  
+
+/* -------- PAC_SECLOCKA : (PAC Offset: 0x74) (R/ 32) Peripheral secure status locked - Bridge A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PAC_:1;                    /**< bit:      0  PAC Secure Status Locked                 */
+    uint32_t PM_:1;                     /**< bit:      1  PM Secure Status Locked                  */
+    uint32_t MCLK_:1;                   /**< bit:      2  MCLK Secure Status Locked                */
+    uint32_t RSTC_:1;                   /**< bit:      3  RSTC Secure Status Locked                */
+    uint32_t OSCCTRL_:1;                /**< bit:      4  OSCCTRL Secure Status Locked             */
+    uint32_t OSC32KCTRL_:1;             /**< bit:      5  OSC32KCTRL Secure Status Locked          */
+    uint32_t SUPC_:1;                   /**< bit:      6  SUPC Secure Status Locked                */
+    uint32_t GCLK_:1;                   /**< bit:      7  GCLK Secure Status Locked                */
+    uint32_t WDT_:1;                    /**< bit:      8  WDT Secure Status Locked                 */
+    uint32_t RTC_:1;                    /**< bit:      9  RTC Secure Status Locked                 */
+    uint32_t EIC_:1;                    /**< bit:     10  EIC Secure Status Locked                 */
+    uint32_t FREQM_:1;                  /**< bit:     11  FREQM Secure Status Locked               */
+    uint32_t PORT_:1;                   /**< bit:     12  PORT Secure Status Locked                */
+    uint32_t AC_:1;                     /**< bit:     13  AC Secure Status Locked                  */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_SECLOCKA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_SECLOCKA_OFFSET                 (0x74)                                        /**<  (PAC_SECLOCKA) Peripheral secure status locked - Bridge A  Offset */
+#define PAC_SECLOCKA_RESETVALUE             _U_(0x00)                                     /**<  (PAC_SECLOCKA) Peripheral secure status locked - Bridge A  Reset Value */
+
+#define PAC_SECLOCKA_PAC_Pos                0                                              /**< (PAC_SECLOCKA) PAC Secure Status Locked Position */
+#define PAC_SECLOCKA_PAC_Msk                (_U_(0x1) << PAC_SECLOCKA_PAC_Pos)             /**< (PAC_SECLOCKA) PAC Secure Status Locked Mask */
+#define PAC_SECLOCKA_PAC                    PAC_SECLOCKA_PAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_PAC_Msk instead */
+#define PAC_SECLOCKA_PM_Pos                 1                                              /**< (PAC_SECLOCKA) PM Secure Status Locked Position */
+#define PAC_SECLOCKA_PM_Msk                 (_U_(0x1) << PAC_SECLOCKA_PM_Pos)              /**< (PAC_SECLOCKA) PM Secure Status Locked Mask */
+#define PAC_SECLOCKA_PM                     PAC_SECLOCKA_PM_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_PM_Msk instead */
+#define PAC_SECLOCKA_MCLK_Pos               2                                              /**< (PAC_SECLOCKA) MCLK Secure Status Locked Position */
+#define PAC_SECLOCKA_MCLK_Msk               (_U_(0x1) << PAC_SECLOCKA_MCLK_Pos)            /**< (PAC_SECLOCKA) MCLK Secure Status Locked Mask */
+#define PAC_SECLOCKA_MCLK                   PAC_SECLOCKA_MCLK_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_MCLK_Msk instead */
+#define PAC_SECLOCKA_RSTC_Pos               3                                              /**< (PAC_SECLOCKA) RSTC Secure Status Locked Position */
+#define PAC_SECLOCKA_RSTC_Msk               (_U_(0x1) << PAC_SECLOCKA_RSTC_Pos)            /**< (PAC_SECLOCKA) RSTC Secure Status Locked Mask */
+#define PAC_SECLOCKA_RSTC                   PAC_SECLOCKA_RSTC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_RSTC_Msk instead */
+#define PAC_SECLOCKA_OSCCTRL_Pos            4                                              /**< (PAC_SECLOCKA) OSCCTRL Secure Status Locked Position */
+#define PAC_SECLOCKA_OSCCTRL_Msk            (_U_(0x1) << PAC_SECLOCKA_OSCCTRL_Pos)         /**< (PAC_SECLOCKA) OSCCTRL Secure Status Locked Mask */
+#define PAC_SECLOCKA_OSCCTRL                PAC_SECLOCKA_OSCCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_OSCCTRL_Msk instead */
+#define PAC_SECLOCKA_OSC32KCTRL_Pos         5                                              /**< (PAC_SECLOCKA) OSC32KCTRL Secure Status Locked Position */
+#define PAC_SECLOCKA_OSC32KCTRL_Msk         (_U_(0x1) << PAC_SECLOCKA_OSC32KCTRL_Pos)      /**< (PAC_SECLOCKA) OSC32KCTRL Secure Status Locked Mask */
+#define PAC_SECLOCKA_OSC32KCTRL             PAC_SECLOCKA_OSC32KCTRL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_OSC32KCTRL_Msk instead */
+#define PAC_SECLOCKA_SUPC_Pos               6                                              /**< (PAC_SECLOCKA) SUPC Secure Status Locked Position */
+#define PAC_SECLOCKA_SUPC_Msk               (_U_(0x1) << PAC_SECLOCKA_SUPC_Pos)            /**< (PAC_SECLOCKA) SUPC Secure Status Locked Mask */
+#define PAC_SECLOCKA_SUPC                   PAC_SECLOCKA_SUPC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_SUPC_Msk instead */
+#define PAC_SECLOCKA_GCLK_Pos               7                                              /**< (PAC_SECLOCKA) GCLK Secure Status Locked Position */
+#define PAC_SECLOCKA_GCLK_Msk               (_U_(0x1) << PAC_SECLOCKA_GCLK_Pos)            /**< (PAC_SECLOCKA) GCLK Secure Status Locked Mask */
+#define PAC_SECLOCKA_GCLK                   PAC_SECLOCKA_GCLK_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_GCLK_Msk instead */
+#define PAC_SECLOCKA_WDT_Pos                8                                              /**< (PAC_SECLOCKA) WDT Secure Status Locked Position */
+#define PAC_SECLOCKA_WDT_Msk                (_U_(0x1) << PAC_SECLOCKA_WDT_Pos)             /**< (PAC_SECLOCKA) WDT Secure Status Locked Mask */
+#define PAC_SECLOCKA_WDT                    PAC_SECLOCKA_WDT_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_WDT_Msk instead */
+#define PAC_SECLOCKA_RTC_Pos                9                                              /**< (PAC_SECLOCKA) RTC Secure Status Locked Position */
+#define PAC_SECLOCKA_RTC_Msk                (_U_(0x1) << PAC_SECLOCKA_RTC_Pos)             /**< (PAC_SECLOCKA) RTC Secure Status Locked Mask */
+#define PAC_SECLOCKA_RTC                    PAC_SECLOCKA_RTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_RTC_Msk instead */
+#define PAC_SECLOCKA_EIC_Pos                10                                             /**< (PAC_SECLOCKA) EIC Secure Status Locked Position */
+#define PAC_SECLOCKA_EIC_Msk                (_U_(0x1) << PAC_SECLOCKA_EIC_Pos)             /**< (PAC_SECLOCKA) EIC Secure Status Locked Mask */
+#define PAC_SECLOCKA_EIC                    PAC_SECLOCKA_EIC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_EIC_Msk instead */
+#define PAC_SECLOCKA_FREQM_Pos              11                                             /**< (PAC_SECLOCKA) FREQM Secure Status Locked Position */
+#define PAC_SECLOCKA_FREQM_Msk              (_U_(0x1) << PAC_SECLOCKA_FREQM_Pos)           /**< (PAC_SECLOCKA) FREQM Secure Status Locked Mask */
+#define PAC_SECLOCKA_FREQM                  PAC_SECLOCKA_FREQM_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_FREQM_Msk instead */
+#define PAC_SECLOCKA_PORT_Pos               12                                             /**< (PAC_SECLOCKA) PORT Secure Status Locked Position */
+#define PAC_SECLOCKA_PORT_Msk               (_U_(0x1) << PAC_SECLOCKA_PORT_Pos)            /**< (PAC_SECLOCKA) PORT Secure Status Locked Mask */
+#define PAC_SECLOCKA_PORT                   PAC_SECLOCKA_PORT_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_PORT_Msk instead */
+#define PAC_SECLOCKA_AC_Pos                 13                                             /**< (PAC_SECLOCKA) AC Secure Status Locked Position */
+#define PAC_SECLOCKA_AC_Msk                 (_U_(0x1) << PAC_SECLOCKA_AC_Pos)              /**< (PAC_SECLOCKA) AC Secure Status Locked Mask */
+#define PAC_SECLOCKA_AC                     PAC_SECLOCKA_AC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_AC_Msk instead */
+#define PAC_SECLOCKA_MASK                   _U_(0x3FFF)                                    /**< \deprecated (PAC_SECLOCKA) Register MASK  (Use PAC_SECLOCKA_Msk instead)  */
+#define PAC_SECLOCKA_Msk                    _U_(0x3FFF)                                    /**< (PAC_SECLOCKA) Register Mask  */
+
+
+/* -------- PAC_SECLOCKB : (PAC Offset: 0x78) (R/ 32) Peripheral secure status locked - Bridge B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IDAU_:1;                   /**< bit:      0  IDAU Secure Status Locked                */
+    uint32_t DSU_:1;                    /**< bit:      1  DSU Secure Status Locked                 */
+    uint32_t NVMCTRL_:1;                /**< bit:      2  NVMCTRL Secure Status Locked             */
+    uint32_t DMAC_:1;                   /**< bit:      3  DMAC Secure Status Locked                */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_SECLOCKB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_SECLOCKB_OFFSET                 (0x78)                                        /**<  (PAC_SECLOCKB) Peripheral secure status locked - Bridge B  Offset */
+#define PAC_SECLOCKB_RESETVALUE             _U_(0x03)                                     /**<  (PAC_SECLOCKB) Peripheral secure status locked - Bridge B  Reset Value */
+
+#define PAC_SECLOCKB_IDAU_Pos               0                                              /**< (PAC_SECLOCKB) IDAU Secure Status Locked Position */
+#define PAC_SECLOCKB_IDAU_Msk               (_U_(0x1) << PAC_SECLOCKB_IDAU_Pos)            /**< (PAC_SECLOCKB) IDAU Secure Status Locked Mask */
+#define PAC_SECLOCKB_IDAU                   PAC_SECLOCKB_IDAU_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKB_IDAU_Msk instead */
+#define PAC_SECLOCKB_DSU_Pos                1                                              /**< (PAC_SECLOCKB) DSU Secure Status Locked Position */
+#define PAC_SECLOCKB_DSU_Msk                (_U_(0x1) << PAC_SECLOCKB_DSU_Pos)             /**< (PAC_SECLOCKB) DSU Secure Status Locked Mask */
+#define PAC_SECLOCKB_DSU                    PAC_SECLOCKB_DSU_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKB_DSU_Msk instead */
+#define PAC_SECLOCKB_NVMCTRL_Pos            2                                              /**< (PAC_SECLOCKB) NVMCTRL Secure Status Locked Position */
+#define PAC_SECLOCKB_NVMCTRL_Msk            (_U_(0x1) << PAC_SECLOCKB_NVMCTRL_Pos)         /**< (PAC_SECLOCKB) NVMCTRL Secure Status Locked Mask */
+#define PAC_SECLOCKB_NVMCTRL                PAC_SECLOCKB_NVMCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKB_NVMCTRL_Msk instead */
+#define PAC_SECLOCKB_DMAC_Pos               3                                              /**< (PAC_SECLOCKB) DMAC Secure Status Locked Position */
+#define PAC_SECLOCKB_DMAC_Msk               (_U_(0x1) << PAC_SECLOCKB_DMAC_Pos)            /**< (PAC_SECLOCKB) DMAC Secure Status Locked Mask */
+#define PAC_SECLOCKB_DMAC                   PAC_SECLOCKB_DMAC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKB_DMAC_Msk instead */
+#define PAC_SECLOCKB_MASK                   _U_(0x0F)                                      /**< \deprecated (PAC_SECLOCKB) Register MASK  (Use PAC_SECLOCKB_Msk instead)  */
+#define PAC_SECLOCKB_Msk                    _U_(0x0F)                                      /**< (PAC_SECLOCKB) Register Mask  */
+
+
+/* -------- PAC_SECLOCKC : (PAC Offset: 0x7c) (R/ 32) Peripheral secure status locked - Bridge C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVSYS_:1;                  /**< bit:      0  EVSYS Secure Status Locked               */
+    uint32_t SERCOM0_:1;                /**< bit:      1  SERCOM0 Secure Status Locked             */
+    uint32_t SERCOM1_:1;                /**< bit:      2  SERCOM1 Secure Status Locked             */
+    uint32_t SERCOM2_:1;                /**< bit:      3  SERCOM2 Secure Status Locked             */
+    uint32_t TC0_:1;                    /**< bit:      4  TC0 Secure Status Locked                 */
+    uint32_t TC1_:1;                    /**< bit:      5  TC1 Secure Status Locked                 */
+    uint32_t TC2_:1;                    /**< bit:      6  TC2 Secure Status Locked                 */
+    uint32_t ADC_:1;                    /**< bit:      7  ADC Secure Status Locked                 */
+    uint32_t DAC_:1;                    /**< bit:      8  DAC Secure Status Locked                 */
+    uint32_t PTC_:1;                    /**< bit:      9  PTC Secure Status Locked                 */
+    uint32_t TRNG_:1;                   /**< bit:     10  TRNG Secure Status Locked                */
+    uint32_t CCL_:1;                    /**< bit:     11  CCL Secure Status Locked                 */
+    uint32_t OPAMP_:1;                  /**< bit:     12  OPAMP Secure Status Locked               */
+    uint32_t TRAM_:1;                   /**< bit:     13  TRAM Secure Status Locked                */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_SECLOCKC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_SECLOCKC_OFFSET                 (0x7C)                                        /**<  (PAC_SECLOCKC) Peripheral secure status locked - Bridge C  Offset */
+#define PAC_SECLOCKC_RESETVALUE             _U_(0x00)                                     /**<  (PAC_SECLOCKC) Peripheral secure status locked - Bridge C  Reset Value */
+
+#define PAC_SECLOCKC_EVSYS_Pos              0                                              /**< (PAC_SECLOCKC) EVSYS Secure Status Locked Position */
+#define PAC_SECLOCKC_EVSYS_Msk              (_U_(0x1) << PAC_SECLOCKC_EVSYS_Pos)           /**< (PAC_SECLOCKC) EVSYS Secure Status Locked Mask */
+#define PAC_SECLOCKC_EVSYS                  PAC_SECLOCKC_EVSYS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_EVSYS_Msk instead */
+#define PAC_SECLOCKC_SERCOM0_Pos            1                                              /**< (PAC_SECLOCKC) SERCOM0 Secure Status Locked Position */
+#define PAC_SECLOCKC_SERCOM0_Msk            (_U_(0x1) << PAC_SECLOCKC_SERCOM0_Pos)         /**< (PAC_SECLOCKC) SERCOM0 Secure Status Locked Mask */
+#define PAC_SECLOCKC_SERCOM0                PAC_SECLOCKC_SERCOM0_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_SERCOM0_Msk instead */
+#define PAC_SECLOCKC_SERCOM1_Pos            2                                              /**< (PAC_SECLOCKC) SERCOM1 Secure Status Locked Position */
+#define PAC_SECLOCKC_SERCOM1_Msk            (_U_(0x1) << PAC_SECLOCKC_SERCOM1_Pos)         /**< (PAC_SECLOCKC) SERCOM1 Secure Status Locked Mask */
+#define PAC_SECLOCKC_SERCOM1                PAC_SECLOCKC_SERCOM1_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_SERCOM1_Msk instead */
+#define PAC_SECLOCKC_SERCOM2_Pos            3                                              /**< (PAC_SECLOCKC) SERCOM2 Secure Status Locked Position */
+#define PAC_SECLOCKC_SERCOM2_Msk            (_U_(0x1) << PAC_SECLOCKC_SERCOM2_Pos)         /**< (PAC_SECLOCKC) SERCOM2 Secure Status Locked Mask */
+#define PAC_SECLOCKC_SERCOM2                PAC_SECLOCKC_SERCOM2_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_SERCOM2_Msk instead */
+#define PAC_SECLOCKC_TC0_Pos                4                                              /**< (PAC_SECLOCKC) TC0 Secure Status Locked Position */
+#define PAC_SECLOCKC_TC0_Msk                (_U_(0x1) << PAC_SECLOCKC_TC0_Pos)             /**< (PAC_SECLOCKC) TC0 Secure Status Locked Mask */
+#define PAC_SECLOCKC_TC0                    PAC_SECLOCKC_TC0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_TC0_Msk instead */
+#define PAC_SECLOCKC_TC1_Pos                5                                              /**< (PAC_SECLOCKC) TC1 Secure Status Locked Position */
+#define PAC_SECLOCKC_TC1_Msk                (_U_(0x1) << PAC_SECLOCKC_TC1_Pos)             /**< (PAC_SECLOCKC) TC1 Secure Status Locked Mask */
+#define PAC_SECLOCKC_TC1                    PAC_SECLOCKC_TC1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_TC1_Msk instead */
+#define PAC_SECLOCKC_TC2_Pos                6                                              /**< (PAC_SECLOCKC) TC2 Secure Status Locked Position */
+#define PAC_SECLOCKC_TC2_Msk                (_U_(0x1) << PAC_SECLOCKC_TC2_Pos)             /**< (PAC_SECLOCKC) TC2 Secure Status Locked Mask */
+#define PAC_SECLOCKC_TC2                    PAC_SECLOCKC_TC2_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_TC2_Msk instead */
+#define PAC_SECLOCKC_ADC_Pos                7                                              /**< (PAC_SECLOCKC) ADC Secure Status Locked Position */
+#define PAC_SECLOCKC_ADC_Msk                (_U_(0x1) << PAC_SECLOCKC_ADC_Pos)             /**< (PAC_SECLOCKC) ADC Secure Status Locked Mask */
+#define PAC_SECLOCKC_ADC                    PAC_SECLOCKC_ADC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_ADC_Msk instead */
+#define PAC_SECLOCKC_DAC_Pos                8                                              /**< (PAC_SECLOCKC) DAC Secure Status Locked Position */
+#define PAC_SECLOCKC_DAC_Msk                (_U_(0x1) << PAC_SECLOCKC_DAC_Pos)             /**< (PAC_SECLOCKC) DAC Secure Status Locked Mask */
+#define PAC_SECLOCKC_DAC                    PAC_SECLOCKC_DAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_DAC_Msk instead */
+#define PAC_SECLOCKC_PTC_Pos                9                                              /**< (PAC_SECLOCKC) PTC Secure Status Locked Position */
+#define PAC_SECLOCKC_PTC_Msk                (_U_(0x1) << PAC_SECLOCKC_PTC_Pos)             /**< (PAC_SECLOCKC) PTC Secure Status Locked Mask */
+#define PAC_SECLOCKC_PTC                    PAC_SECLOCKC_PTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_PTC_Msk instead */
+#define PAC_SECLOCKC_TRNG_Pos               10                                             /**< (PAC_SECLOCKC) TRNG Secure Status Locked Position */
+#define PAC_SECLOCKC_TRNG_Msk               (_U_(0x1) << PAC_SECLOCKC_TRNG_Pos)            /**< (PAC_SECLOCKC) TRNG Secure Status Locked Mask */
+#define PAC_SECLOCKC_TRNG                   PAC_SECLOCKC_TRNG_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_TRNG_Msk instead */
+#define PAC_SECLOCKC_CCL_Pos                11                                             /**< (PAC_SECLOCKC) CCL Secure Status Locked Position */
+#define PAC_SECLOCKC_CCL_Msk                (_U_(0x1) << PAC_SECLOCKC_CCL_Pos)             /**< (PAC_SECLOCKC) CCL Secure Status Locked Mask */
+#define PAC_SECLOCKC_CCL                    PAC_SECLOCKC_CCL_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_CCL_Msk instead */
+#define PAC_SECLOCKC_OPAMP_Pos              12                                             /**< (PAC_SECLOCKC) OPAMP Secure Status Locked Position */
+#define PAC_SECLOCKC_OPAMP_Msk              (_U_(0x1) << PAC_SECLOCKC_OPAMP_Pos)           /**< (PAC_SECLOCKC) OPAMP Secure Status Locked Mask */
+#define PAC_SECLOCKC_OPAMP                  PAC_SECLOCKC_OPAMP_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_OPAMP_Msk instead */
+#define PAC_SECLOCKC_TRAM_Pos               13                                             /**< (PAC_SECLOCKC) TRAM Secure Status Locked Position */
+#define PAC_SECLOCKC_TRAM_Msk               (_U_(0x1) << PAC_SECLOCKC_TRAM_Pos)            /**< (PAC_SECLOCKC) TRAM Secure Status Locked Mask */
+#define PAC_SECLOCKC_TRAM                   PAC_SECLOCKC_TRAM_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_TRAM_Msk instead */
+#define PAC_SECLOCKC_MASK                   _U_(0x3FFF)                                    /**< \deprecated (PAC_SECLOCKC) Register MASK  (Use PAC_SECLOCKC_Msk instead)  */
+#define PAC_SECLOCKC_Msk                    _U_(0x3FFF)                                    /**< (PAC_SECLOCKC) Register Mask  */
+
+#define PAC_SECLOCKC_SERCOM_Pos             1                                              /**< (PAC_SECLOCKC Position) SERCOMx Secure Status Locked */
+#define PAC_SECLOCKC_SERCOM_Msk             (_U_(0x7) << PAC_SECLOCKC_SERCOM_Pos)          /**< (PAC_SECLOCKC Mask) SERCOM */
+#define PAC_SECLOCKC_SERCOM(value)          (PAC_SECLOCKC_SERCOM_Msk & ((value) << PAC_SECLOCKC_SERCOM_Pos))  
+#define PAC_SECLOCKC_TC_Pos                 4                                              /**< (PAC_SECLOCKC Position) TCx Secure Status Locked */
+#define PAC_SECLOCKC_TC_Msk                 (_U_(0x7) << PAC_SECLOCKC_TC_Pos)              /**< (PAC_SECLOCKC Mask) TC */
+#define PAC_SECLOCKC_TC(value)              (PAC_SECLOCKC_TC_Msk & ((value) << PAC_SECLOCKC_TC_Pos))  
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief PAC hardware registers */
+typedef struct {  /* Peripheral Access Controller */
+  __IO PAC_WRCTRL_Type                WRCTRL;         /**< Offset: 0x00 (R/W  32) Write control */
+  __IO PAC_EVCTRL_Type                EVCTRL;         /**< Offset: 0x04 (R/W   8) Event control */
+  __I  uint8_t                        Reserved1[3];
+  __IO PAC_INTENCLR_Type              INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt enable clear */
+  __IO PAC_INTENSET_Type              INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt enable set */
+  __I  uint8_t                        Reserved2[6];
+  __IO PAC_INTFLAGAHB_Type            INTFLAGAHB;     /**< Offset: 0x10 (R/W  32) Bridge interrupt flag status */
+  __IO PAC_INTFLAGA_Type              INTFLAGA;       /**< Offset: 0x14 (R/W  32) Peripheral interrupt flag status - Bridge A */
+  __IO PAC_INTFLAGB_Type              INTFLAGB;       /**< Offset: 0x18 (R/W  32) Peripheral interrupt flag status - Bridge B */
+  __IO PAC_INTFLAGC_Type              INTFLAGC;       /**< Offset: 0x1C (R/W  32) Peripheral interrupt flag status - Bridge C */
+  __I  uint8_t                        Reserved3[20];
+  __I  PAC_STATUSA_Type               STATUSA;        /**< Offset: 0x34 (R/   32) Peripheral write protection status - Bridge A */
+  __I  PAC_STATUSB_Type               STATUSB;        /**< Offset: 0x38 (R/   32) Peripheral write protection status - Bridge B */
+  __I  PAC_STATUSC_Type               STATUSC;        /**< Offset: 0x3C (R/   32) Peripheral write protection status - Bridge C */
+  __I  uint8_t                        Reserved4[20];
+  __I  PAC_NONSECA_Type               NONSECA;        /**< Offset: 0x54 (R/   32) Peripheral non-secure status - Bridge A */
+  __I  PAC_NONSECB_Type               NONSECB;        /**< Offset: 0x58 (R/   32) Peripheral non-secure status - Bridge B */
+  __I  PAC_NONSECC_Type               NONSECC;        /**< Offset: 0x5C (R/   32) Peripheral non-secure status - Bridge C */
+  __I  uint8_t                        Reserved5[20];
+  __I  PAC_SECLOCKA_Type              SECLOCKA;       /**< Offset: 0x74 (R/   32) Peripheral secure status locked - Bridge A */
+  __I  PAC_SECLOCKB_Type              SECLOCKB;       /**< Offset: 0x78 (R/   32) Peripheral secure status locked - Bridge B */
+  __I  PAC_SECLOCKC_Type              SECLOCKC;       /**< Offset: 0x7C (R/   32) Peripheral secure status locked - Bridge C */
+} Pac;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Access Controller */
+
+#endif /* _SAML10_PAC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/pm.h b/cpu/sam0_common/include/vendor/saml10/include/component/pm.h
new file mode 100644
index 0000000000..864bd172c5
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/pm.h
@@ -0,0 +1,266 @@
+/**
+ * \file
+ *
+ * \brief Component description for PM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_PM_COMPONENT_H_
+#define _SAML10_PM_COMPONENT_H_
+#define _SAML10_PM_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Power Manager
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR PM */
+/* ========================================================================== */
+
+#define PM_U2240                      /**< (PM) Module ID */
+#define REV_PM 0x310                  /**< (PM) Module revision */
+
+/* -------- PM_SLEEPCFG : (PM Offset: 0x01) (R/W 8) Sleep Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SLEEPMODE:3;               /**< bit:   0..2  Sleep Mode                               */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_SLEEPCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_SLEEPCFG_OFFSET                  (0x01)                                        /**<  (PM_SLEEPCFG) Sleep Configuration  Offset */
+#define PM_SLEEPCFG_RESETVALUE              _U_(0x02)                                     /**<  (PM_SLEEPCFG) Sleep Configuration  Reset Value */
+
+#define PM_SLEEPCFG_SLEEPMODE_Pos           0                                              /**< (PM_SLEEPCFG) Sleep Mode Position */
+#define PM_SLEEPCFG_SLEEPMODE_Msk           (_U_(0x7) << PM_SLEEPCFG_SLEEPMODE_Pos)        /**< (PM_SLEEPCFG) Sleep Mode Mask */
+#define PM_SLEEPCFG_SLEEPMODE(value)        (PM_SLEEPCFG_SLEEPMODE_Msk & ((value) << PM_SLEEPCFG_SLEEPMODE_Pos))
+#define   PM_SLEEPCFG_SLEEPMODE_IDLE_Val    _U_(0x2)                                       /**< (PM_SLEEPCFG) CPU, AHB, APB clocks are OFF  */
+#define   PM_SLEEPCFG_SLEEPMODE_STANDBY_Val _U_(0x4)                                       /**< (PM_SLEEPCFG) All Clocks are OFF  */
+#define   PM_SLEEPCFG_SLEEPMODE_OFF_Val     _U_(0x6)                                       /**< (PM_SLEEPCFG) All power domains are powered OFF  */
+#define PM_SLEEPCFG_SLEEPMODE_IDLE          (PM_SLEEPCFG_SLEEPMODE_IDLE_Val << PM_SLEEPCFG_SLEEPMODE_Pos)  /**< (PM_SLEEPCFG) CPU, AHB, APB clocks are OFF Position  */
+#define PM_SLEEPCFG_SLEEPMODE_STANDBY       (PM_SLEEPCFG_SLEEPMODE_STANDBY_Val << PM_SLEEPCFG_SLEEPMODE_Pos)  /**< (PM_SLEEPCFG) All Clocks are OFF Position  */
+#define PM_SLEEPCFG_SLEEPMODE_OFF           (PM_SLEEPCFG_SLEEPMODE_OFF_Val << PM_SLEEPCFG_SLEEPMODE_Pos)  /**< (PM_SLEEPCFG) All power domains are powered OFF Position  */
+#define PM_SLEEPCFG_MASK                    _U_(0x07)                                      /**< \deprecated (PM_SLEEPCFG) Register MASK  (Use PM_SLEEPCFG_Msk instead)  */
+#define PM_SLEEPCFG_Msk                     _U_(0x07)                                      /**< (PM_SLEEPCFG) Register Mask  */
+
+
+/* -------- PM_PLCFG : (PM Offset: 0x02) (R/W 8) Performance Level Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PLSEL:2;                   /**< bit:   0..1  Performance Level Select                 */
+    uint8_t  :5;                        /**< bit:   2..6  Reserved */
+    uint8_t  PLDIS:1;                   /**< bit:      7  Performance Level Disable                */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_PLCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_PLCFG_OFFSET                     (0x02)                                        /**<  (PM_PLCFG) Performance Level Configuration  Offset */
+#define PM_PLCFG_RESETVALUE                 _U_(0x00)                                     /**<  (PM_PLCFG) Performance Level Configuration  Reset Value */
+
+#define PM_PLCFG_PLSEL_Pos                  0                                              /**< (PM_PLCFG) Performance Level Select Position */
+#define PM_PLCFG_PLSEL_Msk                  (_U_(0x3) << PM_PLCFG_PLSEL_Pos)               /**< (PM_PLCFG) Performance Level Select Mask */
+#define PM_PLCFG_PLSEL(value)               (PM_PLCFG_PLSEL_Msk & ((value) << PM_PLCFG_PLSEL_Pos))
+#define   PM_PLCFG_PLSEL_PL0_Val            _U_(0x0)                                       /**< (PM_PLCFG) Performance Level 0  */
+#define   PM_PLCFG_PLSEL_PL2_Val            _U_(0x2)                                       /**< (PM_PLCFG) Performance Level 2  */
+#define PM_PLCFG_PLSEL_PL0                  (PM_PLCFG_PLSEL_PL0_Val << PM_PLCFG_PLSEL_Pos)  /**< (PM_PLCFG) Performance Level 0 Position  */
+#define PM_PLCFG_PLSEL_PL2                  (PM_PLCFG_PLSEL_PL2_Val << PM_PLCFG_PLSEL_Pos)  /**< (PM_PLCFG) Performance Level 2 Position  */
+#define PM_PLCFG_PLDIS_Pos                  7                                              /**< (PM_PLCFG) Performance Level Disable Position */
+#define PM_PLCFG_PLDIS_Msk                  (_U_(0x1) << PM_PLCFG_PLDIS_Pos)               /**< (PM_PLCFG) Performance Level Disable Mask */
+#define PM_PLCFG_PLDIS                      PM_PLCFG_PLDIS_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_PLCFG_PLDIS_Msk instead */
+#define PM_PLCFG_MASK                       _U_(0x83)                                      /**< \deprecated (PM_PLCFG) Register MASK  (Use PM_PLCFG_Msk instead)  */
+#define PM_PLCFG_Msk                        _U_(0x83)                                      /**< (PM_PLCFG) Register Mask  */
+
+
+/* -------- PM_PWCFG : (PM Offset: 0x03) (R/W 8) Power Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RAMPSWC:2;                 /**< bit:   0..1  RAM Power Switch Configuration           */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_PWCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_PWCFG_OFFSET                     (0x03)                                        /**<  (PM_PWCFG) Power Configuration  Offset */
+#define PM_PWCFG_RESETVALUE                 _U_(0x00)                                     /**<  (PM_PWCFG) Power Configuration  Reset Value */
+
+#define PM_PWCFG_RAMPSWC_Pos                0                                              /**< (PM_PWCFG) RAM Power Switch Configuration Position */
+#define PM_PWCFG_RAMPSWC_Msk                (_U_(0x3) << PM_PWCFG_RAMPSWC_Pos)             /**< (PM_PWCFG) RAM Power Switch Configuration Mask */
+#define PM_PWCFG_RAMPSWC(value)             (PM_PWCFG_RAMPSWC_Msk & ((value) << PM_PWCFG_RAMPSWC_Pos))
+#define   PM_PWCFG_RAMPSWC_16KB_Val         _U_(0x0)                                       /**< (PM_PWCFG) 16KB Available  */
+#define   PM_PWCFG_RAMPSWC_12KB_Val         _U_(0x1)                                       /**< (PM_PWCFG) 12KB Available  */
+#define   PM_PWCFG_RAMPSWC_8KB_Val          _U_(0x2)                                       /**< (PM_PWCFG) 8KB Available  */
+#define   PM_PWCFG_RAMPSWC_4KB_Val          _U_(0x3)                                       /**< (PM_PWCFG) 4KB Available  */
+#define PM_PWCFG_RAMPSWC_16KB               (PM_PWCFG_RAMPSWC_16KB_Val << PM_PWCFG_RAMPSWC_Pos)  /**< (PM_PWCFG) 16KB Available Position  */
+#define PM_PWCFG_RAMPSWC_12KB               (PM_PWCFG_RAMPSWC_12KB_Val << PM_PWCFG_RAMPSWC_Pos)  /**< (PM_PWCFG) 12KB Available Position  */
+#define PM_PWCFG_RAMPSWC_8KB                (PM_PWCFG_RAMPSWC_8KB_Val << PM_PWCFG_RAMPSWC_Pos)  /**< (PM_PWCFG) 8KB Available Position  */
+#define PM_PWCFG_RAMPSWC_4KB                (PM_PWCFG_RAMPSWC_4KB_Val << PM_PWCFG_RAMPSWC_Pos)  /**< (PM_PWCFG) 4KB Available Position  */
+#define PM_PWCFG_MASK                       _U_(0x03)                                      /**< \deprecated (PM_PWCFG) Register MASK  (Use PM_PWCFG_Msk instead)  */
+#define PM_PWCFG_Msk                        _U_(0x03)                                      /**< (PM_PWCFG) Register Mask  */
+
+
+/* -------- PM_INTENCLR : (PM Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PLRDY:1;                   /**< bit:      0  Performance Level Interrupt Enable       */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_INTENCLR_OFFSET                  (0x04)                                        /**<  (PM_INTENCLR) Interrupt Enable Clear  Offset */
+#define PM_INTENCLR_RESETVALUE              _U_(0x00)                                     /**<  (PM_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define PM_INTENCLR_PLRDY_Pos               0                                              /**< (PM_INTENCLR) Performance Level Interrupt Enable Position */
+#define PM_INTENCLR_PLRDY_Msk               (_U_(0x1) << PM_INTENCLR_PLRDY_Pos)            /**< (PM_INTENCLR) Performance Level Interrupt Enable Mask */
+#define PM_INTENCLR_PLRDY                   PM_INTENCLR_PLRDY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_INTENCLR_PLRDY_Msk instead */
+#define PM_INTENCLR_MASK                    _U_(0x01)                                      /**< \deprecated (PM_INTENCLR) Register MASK  (Use PM_INTENCLR_Msk instead)  */
+#define PM_INTENCLR_Msk                     _U_(0x01)                                      /**< (PM_INTENCLR) Register Mask  */
+
+
+/* -------- PM_INTENSET : (PM Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PLRDY:1;                   /**< bit:      0  Performance Level Ready interrupt Enable */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_INTENSET_OFFSET                  (0x05)                                        /**<  (PM_INTENSET) Interrupt Enable Set  Offset */
+#define PM_INTENSET_RESETVALUE              _U_(0x00)                                     /**<  (PM_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define PM_INTENSET_PLRDY_Pos               0                                              /**< (PM_INTENSET) Performance Level Ready interrupt Enable Position */
+#define PM_INTENSET_PLRDY_Msk               (_U_(0x1) << PM_INTENSET_PLRDY_Pos)            /**< (PM_INTENSET) Performance Level Ready interrupt Enable Mask */
+#define PM_INTENSET_PLRDY                   PM_INTENSET_PLRDY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_INTENSET_PLRDY_Msk instead */
+#define PM_INTENSET_MASK                    _U_(0x01)                                      /**< \deprecated (PM_INTENSET) Register MASK  (Use PM_INTENSET_Msk instead)  */
+#define PM_INTENSET_Msk                     _U_(0x01)                                      /**< (PM_INTENSET) Register Mask  */
+
+
+/* -------- PM_INTFLAG : (PM Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t PLRDY:1;                   /**< bit:      0  Performance Level Ready                  */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_INTFLAG_OFFSET                   (0x06)                                        /**<  (PM_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define PM_INTFLAG_RESETVALUE               _U_(0x00)                                     /**<  (PM_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define PM_INTFLAG_PLRDY_Pos                0                                              /**< (PM_INTFLAG) Performance Level Ready Position */
+#define PM_INTFLAG_PLRDY_Msk                (_U_(0x1) << PM_INTFLAG_PLRDY_Pos)             /**< (PM_INTFLAG) Performance Level Ready Mask */
+#define PM_INTFLAG_PLRDY                    PM_INTFLAG_PLRDY_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_INTFLAG_PLRDY_Msk instead */
+#define PM_INTFLAG_MASK                     _U_(0x01)                                      /**< \deprecated (PM_INTFLAG) Register MASK  (Use PM_INTFLAG_Msk instead)  */
+#define PM_INTFLAG_Msk                      _U_(0x01)                                      /**< (PM_INTFLAG) Register Mask  */
+
+
+/* -------- PM_STDBYCFG : (PM Offset: 0x08) (R/W 16) Standby Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PDCFG:1;                   /**< bit:      0  Power Domain Configuration               */
+    uint16_t :3;                        /**< bit:   1..3  Reserved */
+    uint16_t DPGPDSW:1;                 /**< bit:      4  Dynamic Power Gating for PDSW            */
+    uint16_t :1;                        /**< bit:      5  Reserved */
+    uint16_t VREGSMOD:2;                /**< bit:   6..7  Voltage Regulator Standby mode           */
+    uint16_t :2;                        /**< bit:   8..9  Reserved */
+    uint16_t BBIASHS:1;                 /**< bit:     10  Back Bias for HSRAM                      */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t BBIASTR:1;                 /**< bit:     12  Back Bias for Trust RAM                  */
+    uint16_t :3;                        /**< bit: 13..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} PM_STDBYCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_STDBYCFG_OFFSET                  (0x08)                                        /**<  (PM_STDBYCFG) Standby Configuration  Offset */
+#define PM_STDBYCFG_RESETVALUE              _U_(0x00)                                     /**<  (PM_STDBYCFG) Standby Configuration  Reset Value */
+
+#define PM_STDBYCFG_PDCFG_Pos               0                                              /**< (PM_STDBYCFG) Power Domain Configuration Position */
+#define PM_STDBYCFG_PDCFG_Msk               (_U_(0x1) << PM_STDBYCFG_PDCFG_Pos)            /**< (PM_STDBYCFG) Power Domain Configuration Mask */
+#define PM_STDBYCFG_PDCFG                   PM_STDBYCFG_PDCFG_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_STDBYCFG_PDCFG_Msk instead */
+#define   PM_STDBYCFG_PDCFG_DEFAULT_Val     _U_(0x0)                                       /**< (PM_STDBYCFG) PDSW power domain switching is handled by hardware.  */
+#define   PM_STDBYCFG_PDCFG_PDSW_Val        _U_(0x1)                                       /**< (PM_STDBYCFG) PDSW is forced ACTIVE.  */
+#define PM_STDBYCFG_PDCFG_DEFAULT           (PM_STDBYCFG_PDCFG_DEFAULT_Val << PM_STDBYCFG_PDCFG_Pos)  /**< (PM_STDBYCFG) PDSW power domain switching is handled by hardware. Position  */
+#define PM_STDBYCFG_PDCFG_PDSW              (PM_STDBYCFG_PDCFG_PDSW_Val << PM_STDBYCFG_PDCFG_Pos)  /**< (PM_STDBYCFG) PDSW is forced ACTIVE. Position  */
+#define PM_STDBYCFG_DPGPDSW_Pos             4                                              /**< (PM_STDBYCFG) Dynamic Power Gating for PDSW Position */
+#define PM_STDBYCFG_DPGPDSW_Msk             (_U_(0x1) << PM_STDBYCFG_DPGPDSW_Pos)          /**< (PM_STDBYCFG) Dynamic Power Gating for PDSW Mask */
+#define PM_STDBYCFG_DPGPDSW                 PM_STDBYCFG_DPGPDSW_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_STDBYCFG_DPGPDSW_Msk instead */
+#define   PM_STDBYCFG_DPGPDSW_0_Val         _U_(0x0)                                       /**< (PM_STDBYCFG) Dynamic Power Gating disabled  */
+#define   PM_STDBYCFG_DPGPDSW_1_Val         _U_(0x1)                                       /**< (PM_STDBYCFG) Dynamic Power Gating enabled  */
+#define PM_STDBYCFG_DPGPDSW_0               (PM_STDBYCFG_DPGPDSW_0_Val << PM_STDBYCFG_DPGPDSW_Pos)  /**< (PM_STDBYCFG) Dynamic Power Gating disabled Position  */
+#define PM_STDBYCFG_DPGPDSW_1               (PM_STDBYCFG_DPGPDSW_1_Val << PM_STDBYCFG_DPGPDSW_Pos)  /**< (PM_STDBYCFG) Dynamic Power Gating enabled Position  */
+#define PM_STDBYCFG_VREGSMOD_Pos            6                                              /**< (PM_STDBYCFG) Voltage Regulator Standby mode Position */
+#define PM_STDBYCFG_VREGSMOD_Msk            (_U_(0x3) << PM_STDBYCFG_VREGSMOD_Pos)         /**< (PM_STDBYCFG) Voltage Regulator Standby mode Mask */
+#define PM_STDBYCFG_VREGSMOD(value)         (PM_STDBYCFG_VREGSMOD_Msk & ((value) << PM_STDBYCFG_VREGSMOD_Pos))
+#define   PM_STDBYCFG_VREGSMOD_AUTO_Val     _U_(0x0)                                       /**< (PM_STDBYCFG) Automatic mode  */
+#define   PM_STDBYCFG_VREGSMOD_PERFORMANCE_Val _U_(0x1)                                       /**< (PM_STDBYCFG) Performance oriented  */
+#define   PM_STDBYCFG_VREGSMOD_LP_Val       _U_(0x2)                                       /**< (PM_STDBYCFG) Low Power oriented  */
+#define PM_STDBYCFG_VREGSMOD_AUTO           (PM_STDBYCFG_VREGSMOD_AUTO_Val << PM_STDBYCFG_VREGSMOD_Pos)  /**< (PM_STDBYCFG) Automatic mode Position  */
+#define PM_STDBYCFG_VREGSMOD_PERFORMANCE    (PM_STDBYCFG_VREGSMOD_PERFORMANCE_Val << PM_STDBYCFG_VREGSMOD_Pos)  /**< (PM_STDBYCFG) Performance oriented Position  */
+#define PM_STDBYCFG_VREGSMOD_LP             (PM_STDBYCFG_VREGSMOD_LP_Val << PM_STDBYCFG_VREGSMOD_Pos)  /**< (PM_STDBYCFG) Low Power oriented Position  */
+#define PM_STDBYCFG_BBIASHS_Pos             10                                             /**< (PM_STDBYCFG) Back Bias for HSRAM Position */
+#define PM_STDBYCFG_BBIASHS_Msk             (_U_(0x1) << PM_STDBYCFG_BBIASHS_Pos)          /**< (PM_STDBYCFG) Back Bias for HSRAM Mask */
+#define PM_STDBYCFG_BBIASHS                 PM_STDBYCFG_BBIASHS_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_STDBYCFG_BBIASHS_Msk instead */
+#define PM_STDBYCFG_BBIASTR_Pos             12                                             /**< (PM_STDBYCFG) Back Bias for Trust RAM Position */
+#define PM_STDBYCFG_BBIASTR_Msk             (_U_(0x1) << PM_STDBYCFG_BBIASTR_Pos)          /**< (PM_STDBYCFG) Back Bias for Trust RAM Mask */
+#define PM_STDBYCFG_BBIASTR                 PM_STDBYCFG_BBIASTR_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_STDBYCFG_BBIASTR_Msk instead */
+#define PM_STDBYCFG_MASK                    _U_(0x14D1)                                    /**< \deprecated (PM_STDBYCFG) Register MASK  (Use PM_STDBYCFG_Msk instead)  */
+#define PM_STDBYCFG_Msk                     _U_(0x14D1)                                    /**< (PM_STDBYCFG) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief PM hardware registers */
+typedef struct {  /* Power Manager */
+  __I  uint8_t                        Reserved1[1];
+  __IO PM_SLEEPCFG_Type               SLEEPCFG;       /**< Offset: 0x01 (R/W   8) Sleep Configuration */
+  __IO PM_PLCFG_Type                  PLCFG;          /**< Offset: 0x02 (R/W   8) Performance Level Configuration */
+  __IO PM_PWCFG_Type                  PWCFG;          /**< Offset: 0x03 (R/W   8) Power Configuration */
+  __IO PM_INTENCLR_Type               INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO PM_INTENSET_Type               INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO PM_INTFLAG_Type                INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved2[1];
+  __IO PM_STDBYCFG_Type               STDBYCFG;       /**< Offset: 0x08 (R/W  16) Standby Configuration */
+} Pm;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Power Manager */
+
+#endif /* _SAML10_PM_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/port.h b/cpu/sam0_common/include/vendor/saml10/include/component/port.h
new file mode 100644
index 0000000000..862e7d4cd8
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/port.h
@@ -0,0 +1,566 @@
+/**
+ * \file
+ *
+ * \brief Component description for PORT
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_PORT_COMPONENT_H_
+#define _SAML10_PORT_COMPONENT_H_
+#define _SAML10_PORT_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Port Module
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR PORT */
+/* ========================================================================== */
+
+#define PORT_U2210                      /**< (PORT) Module ID */
+#define REV_PORT 0x300                  /**< (PORT) Module revision */
+
+/* -------- PORT_DIR : (PORT Offset: 0x00) (R/W 32) Data Direction -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DIR:32;                    /**< bit:  0..31  Port Data Direction                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_DIR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_DIR_OFFSET                     (0x00)                                        /**<  (PORT_DIR) Data Direction  Offset */
+#define PORT_DIR_RESETVALUE                 _U_(0x00)                                     /**<  (PORT_DIR) Data Direction  Reset Value */
+
+#define PORT_DIR_DIR_Pos                    0                                              /**< (PORT_DIR) Port Data Direction Position */
+#define PORT_DIR_DIR_Msk                    (_U_(0xFFFFFFFF) << PORT_DIR_DIR_Pos)          /**< (PORT_DIR) Port Data Direction Mask */
+#define PORT_DIR_DIR(value)                 (PORT_DIR_DIR_Msk & ((value) << PORT_DIR_DIR_Pos))
+#define PORT_DIR_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_DIR) Register MASK  (Use PORT_DIR_Msk instead)  */
+#define PORT_DIR_Msk                        _U_(0xFFFFFFFF)                                /**< (PORT_DIR) Register Mask  */
+
+
+/* -------- PORT_DIRCLR : (PORT Offset: 0x04) (R/W 32) Data Direction Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DIRCLR:32;                 /**< bit:  0..31  Port Data Direction Clear                */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_DIRCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_DIRCLR_OFFSET                  (0x04)                                        /**<  (PORT_DIRCLR) Data Direction Clear  Offset */
+#define PORT_DIRCLR_RESETVALUE              _U_(0x00)                                     /**<  (PORT_DIRCLR) Data Direction Clear  Reset Value */
+
+#define PORT_DIRCLR_DIRCLR_Pos              0                                              /**< (PORT_DIRCLR) Port Data Direction Clear Position */
+#define PORT_DIRCLR_DIRCLR_Msk              (_U_(0xFFFFFFFF) << PORT_DIRCLR_DIRCLR_Pos)    /**< (PORT_DIRCLR) Port Data Direction Clear Mask */
+#define PORT_DIRCLR_DIRCLR(value)           (PORT_DIRCLR_DIRCLR_Msk & ((value) << PORT_DIRCLR_DIRCLR_Pos))
+#define PORT_DIRCLR_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_DIRCLR) Register MASK  (Use PORT_DIRCLR_Msk instead)  */
+#define PORT_DIRCLR_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_DIRCLR) Register Mask  */
+
+
+/* -------- PORT_DIRSET : (PORT Offset: 0x08) (R/W 32) Data Direction Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DIRSET:32;                 /**< bit:  0..31  Port Data Direction Set                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_DIRSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_DIRSET_OFFSET                  (0x08)                                        /**<  (PORT_DIRSET) Data Direction Set  Offset */
+#define PORT_DIRSET_RESETVALUE              _U_(0x00)                                     /**<  (PORT_DIRSET) Data Direction Set  Reset Value */
+
+#define PORT_DIRSET_DIRSET_Pos              0                                              /**< (PORT_DIRSET) Port Data Direction Set Position */
+#define PORT_DIRSET_DIRSET_Msk              (_U_(0xFFFFFFFF) << PORT_DIRSET_DIRSET_Pos)    /**< (PORT_DIRSET) Port Data Direction Set Mask */
+#define PORT_DIRSET_DIRSET(value)           (PORT_DIRSET_DIRSET_Msk & ((value) << PORT_DIRSET_DIRSET_Pos))
+#define PORT_DIRSET_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_DIRSET) Register MASK  (Use PORT_DIRSET_Msk instead)  */
+#define PORT_DIRSET_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_DIRSET) Register Mask  */
+
+
+/* -------- PORT_DIRTGL : (PORT Offset: 0x0c) (R/W 32) Data Direction Toggle -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DIRTGL:32;                 /**< bit:  0..31  Port Data Direction Toggle               */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_DIRTGL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_DIRTGL_OFFSET                  (0x0C)                                        /**<  (PORT_DIRTGL) Data Direction Toggle  Offset */
+#define PORT_DIRTGL_RESETVALUE              _U_(0x00)                                     /**<  (PORT_DIRTGL) Data Direction Toggle  Reset Value */
+
+#define PORT_DIRTGL_DIRTGL_Pos              0                                              /**< (PORT_DIRTGL) Port Data Direction Toggle Position */
+#define PORT_DIRTGL_DIRTGL_Msk              (_U_(0xFFFFFFFF) << PORT_DIRTGL_DIRTGL_Pos)    /**< (PORT_DIRTGL) Port Data Direction Toggle Mask */
+#define PORT_DIRTGL_DIRTGL(value)           (PORT_DIRTGL_DIRTGL_Msk & ((value) << PORT_DIRTGL_DIRTGL_Pos))
+#define PORT_DIRTGL_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_DIRTGL) Register MASK  (Use PORT_DIRTGL_Msk instead)  */
+#define PORT_DIRTGL_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_DIRTGL) Register Mask  */
+
+
+/* -------- PORT_OUT : (PORT Offset: 0x10) (R/W 32) Data Output Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t OUT:32;                    /**< bit:  0..31  PORT Data Output Value                   */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_OUT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_OUT_OFFSET                     (0x10)                                        /**<  (PORT_OUT) Data Output Value  Offset */
+#define PORT_OUT_RESETVALUE                 _U_(0x00)                                     /**<  (PORT_OUT) Data Output Value  Reset Value */
+
+#define PORT_OUT_OUT_Pos                    0                                              /**< (PORT_OUT) PORT Data Output Value Position */
+#define PORT_OUT_OUT_Msk                    (_U_(0xFFFFFFFF) << PORT_OUT_OUT_Pos)          /**< (PORT_OUT) PORT Data Output Value Mask */
+#define PORT_OUT_OUT(value)                 (PORT_OUT_OUT_Msk & ((value) << PORT_OUT_OUT_Pos))
+#define PORT_OUT_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_OUT) Register MASK  (Use PORT_OUT_Msk instead)  */
+#define PORT_OUT_Msk                        _U_(0xFFFFFFFF)                                /**< (PORT_OUT) Register Mask  */
+
+
+/* -------- PORT_OUTCLR : (PORT Offset: 0x14) (R/W 32) Data Output Value Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t OUTCLR:32;                 /**< bit:  0..31  PORT Data Output Value Clear             */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_OUTCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_OUTCLR_OFFSET                  (0x14)                                        /**<  (PORT_OUTCLR) Data Output Value Clear  Offset */
+#define PORT_OUTCLR_RESETVALUE              _U_(0x00)                                     /**<  (PORT_OUTCLR) Data Output Value Clear  Reset Value */
+
+#define PORT_OUTCLR_OUTCLR_Pos              0                                              /**< (PORT_OUTCLR) PORT Data Output Value Clear Position */
+#define PORT_OUTCLR_OUTCLR_Msk              (_U_(0xFFFFFFFF) << PORT_OUTCLR_OUTCLR_Pos)    /**< (PORT_OUTCLR) PORT Data Output Value Clear Mask */
+#define PORT_OUTCLR_OUTCLR(value)           (PORT_OUTCLR_OUTCLR_Msk & ((value) << PORT_OUTCLR_OUTCLR_Pos))
+#define PORT_OUTCLR_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_OUTCLR) Register MASK  (Use PORT_OUTCLR_Msk instead)  */
+#define PORT_OUTCLR_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_OUTCLR) Register Mask  */
+
+
+/* -------- PORT_OUTSET : (PORT Offset: 0x18) (R/W 32) Data Output Value Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t OUTSET:32;                 /**< bit:  0..31  PORT Data Output Value Set               */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_OUTSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_OUTSET_OFFSET                  (0x18)                                        /**<  (PORT_OUTSET) Data Output Value Set  Offset */
+#define PORT_OUTSET_RESETVALUE              _U_(0x00)                                     /**<  (PORT_OUTSET) Data Output Value Set  Reset Value */
+
+#define PORT_OUTSET_OUTSET_Pos              0                                              /**< (PORT_OUTSET) PORT Data Output Value Set Position */
+#define PORT_OUTSET_OUTSET_Msk              (_U_(0xFFFFFFFF) << PORT_OUTSET_OUTSET_Pos)    /**< (PORT_OUTSET) PORT Data Output Value Set Mask */
+#define PORT_OUTSET_OUTSET(value)           (PORT_OUTSET_OUTSET_Msk & ((value) << PORT_OUTSET_OUTSET_Pos))
+#define PORT_OUTSET_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_OUTSET) Register MASK  (Use PORT_OUTSET_Msk instead)  */
+#define PORT_OUTSET_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_OUTSET) Register Mask  */
+
+
+/* -------- PORT_OUTTGL : (PORT Offset: 0x1c) (R/W 32) Data Output Value Toggle -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t OUTTGL:32;                 /**< bit:  0..31  PORT Data Output Value Toggle            */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_OUTTGL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_OUTTGL_OFFSET                  (0x1C)                                        /**<  (PORT_OUTTGL) Data Output Value Toggle  Offset */
+#define PORT_OUTTGL_RESETVALUE              _U_(0x00)                                     /**<  (PORT_OUTTGL) Data Output Value Toggle  Reset Value */
+
+#define PORT_OUTTGL_OUTTGL_Pos              0                                              /**< (PORT_OUTTGL) PORT Data Output Value Toggle Position */
+#define PORT_OUTTGL_OUTTGL_Msk              (_U_(0xFFFFFFFF) << PORT_OUTTGL_OUTTGL_Pos)    /**< (PORT_OUTTGL) PORT Data Output Value Toggle Mask */
+#define PORT_OUTTGL_OUTTGL(value)           (PORT_OUTTGL_OUTTGL_Msk & ((value) << PORT_OUTTGL_OUTTGL_Pos))
+#define PORT_OUTTGL_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_OUTTGL) Register MASK  (Use PORT_OUTTGL_Msk instead)  */
+#define PORT_OUTTGL_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_OUTTGL) Register Mask  */
+
+
+/* -------- PORT_IN : (PORT Offset: 0x20) (R/ 32) Data Input Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IN:32;                     /**< bit:  0..31  PORT Data Input Value                    */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_IN_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_IN_OFFSET                      (0x20)                                        /**<  (PORT_IN) Data Input Value  Offset */
+#define PORT_IN_RESETVALUE                  _U_(0x00)                                     /**<  (PORT_IN) Data Input Value  Reset Value */
+
+#define PORT_IN_IN_Pos                      0                                              /**< (PORT_IN) PORT Data Input Value Position */
+#define PORT_IN_IN_Msk                      (_U_(0xFFFFFFFF) << PORT_IN_IN_Pos)            /**< (PORT_IN) PORT Data Input Value Mask */
+#define PORT_IN_IN(value)                   (PORT_IN_IN_Msk & ((value) << PORT_IN_IN_Pos))
+#define PORT_IN_MASK                        _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_IN) Register MASK  (Use PORT_IN_Msk instead)  */
+#define PORT_IN_Msk                         _U_(0xFFFFFFFF)                                /**< (PORT_IN) Register Mask  */
+
+
+/* -------- PORT_CTRL : (PORT Offset: 0x24) (R/W 32) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SAMPLING:32;               /**< bit:  0..31  Input Sampling Mode                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_CTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_CTRL_OFFSET                    (0x24)                                        /**<  (PORT_CTRL) Control  Offset */
+#define PORT_CTRL_RESETVALUE                _U_(0x00)                                     /**<  (PORT_CTRL) Control  Reset Value */
+
+#define PORT_CTRL_SAMPLING_Pos              0                                              /**< (PORT_CTRL) Input Sampling Mode Position */
+#define PORT_CTRL_SAMPLING_Msk              (_U_(0xFFFFFFFF) << PORT_CTRL_SAMPLING_Pos)    /**< (PORT_CTRL) Input Sampling Mode Mask */
+#define PORT_CTRL_SAMPLING(value)           (PORT_CTRL_SAMPLING_Msk & ((value) << PORT_CTRL_SAMPLING_Pos))
+#define PORT_CTRL_MASK                      _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_CTRL) Register MASK  (Use PORT_CTRL_Msk instead)  */
+#define PORT_CTRL_Msk                       _U_(0xFFFFFFFF)                                /**< (PORT_CTRL) Register Mask  */
+
+
+/* -------- PORT_WRCONFIG : (PORT Offset: 0x28) (/W 32) Write Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PINMASK:16;                /**< bit:  0..15  Pin Mask for Multiple Pin Configuration  */
+    uint32_t PMUXEN:1;                  /**< bit:     16  Peripheral Multiplexer Enable            */
+    uint32_t INEN:1;                    /**< bit:     17  Input Enable                             */
+    uint32_t PULLEN:1;                  /**< bit:     18  Pull Enable                              */
+    uint32_t :3;                        /**< bit: 19..21  Reserved */
+    uint32_t DRVSTR:1;                  /**< bit:     22  Output Driver Strength Selection         */
+    uint32_t :1;                        /**< bit:     23  Reserved */
+    uint32_t PMUX:4;                    /**< bit: 24..27  Peripheral Multiplexing                  */
+    uint32_t WRPMUX:1;                  /**< bit:     28  Write PMUX                               */
+    uint32_t :1;                        /**< bit:     29  Reserved */
+    uint32_t WRPINCFG:1;                /**< bit:     30  Write PINCFG                             */
+    uint32_t HWSEL:1;                   /**< bit:     31  Half-Word Select                         */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_WRCONFIG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_WRCONFIG_OFFSET                (0x28)                                        /**<  (PORT_WRCONFIG) Write Configuration  Offset */
+#define PORT_WRCONFIG_RESETVALUE            _U_(0x00)                                     /**<  (PORT_WRCONFIG) Write Configuration  Reset Value */
+
+#define PORT_WRCONFIG_PINMASK_Pos           0                                              /**< (PORT_WRCONFIG) Pin Mask for Multiple Pin Configuration Position */
+#define PORT_WRCONFIG_PINMASK_Msk           (_U_(0xFFFF) << PORT_WRCONFIG_PINMASK_Pos)     /**< (PORT_WRCONFIG) Pin Mask for Multiple Pin Configuration Mask */
+#define PORT_WRCONFIG_PINMASK(value)        (PORT_WRCONFIG_PINMASK_Msk & ((value) << PORT_WRCONFIG_PINMASK_Pos))
+#define PORT_WRCONFIG_PMUXEN_Pos            16                                             /**< (PORT_WRCONFIG) Peripheral Multiplexer Enable Position */
+#define PORT_WRCONFIG_PMUXEN_Msk            (_U_(0x1) << PORT_WRCONFIG_PMUXEN_Pos)         /**< (PORT_WRCONFIG) Peripheral Multiplexer Enable Mask */
+#define PORT_WRCONFIG_PMUXEN                PORT_WRCONFIG_PMUXEN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_PMUXEN_Msk instead */
+#define PORT_WRCONFIG_INEN_Pos              17                                             /**< (PORT_WRCONFIG) Input Enable Position */
+#define PORT_WRCONFIG_INEN_Msk              (_U_(0x1) << PORT_WRCONFIG_INEN_Pos)           /**< (PORT_WRCONFIG) Input Enable Mask */
+#define PORT_WRCONFIG_INEN                  PORT_WRCONFIG_INEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_INEN_Msk instead */
+#define PORT_WRCONFIG_PULLEN_Pos            18                                             /**< (PORT_WRCONFIG) Pull Enable Position */
+#define PORT_WRCONFIG_PULLEN_Msk            (_U_(0x1) << PORT_WRCONFIG_PULLEN_Pos)         /**< (PORT_WRCONFIG) Pull Enable Mask */
+#define PORT_WRCONFIG_PULLEN                PORT_WRCONFIG_PULLEN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_PULLEN_Msk instead */
+#define PORT_WRCONFIG_DRVSTR_Pos            22                                             /**< (PORT_WRCONFIG) Output Driver Strength Selection Position */
+#define PORT_WRCONFIG_DRVSTR_Msk            (_U_(0x1) << PORT_WRCONFIG_DRVSTR_Pos)         /**< (PORT_WRCONFIG) Output Driver Strength Selection Mask */
+#define PORT_WRCONFIG_DRVSTR                PORT_WRCONFIG_DRVSTR_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_DRVSTR_Msk instead */
+#define PORT_WRCONFIG_PMUX_Pos              24                                             /**< (PORT_WRCONFIG) Peripheral Multiplexing Position */
+#define PORT_WRCONFIG_PMUX_Msk              (_U_(0xF) << PORT_WRCONFIG_PMUX_Pos)           /**< (PORT_WRCONFIG) Peripheral Multiplexing Mask */
+#define PORT_WRCONFIG_PMUX(value)           (PORT_WRCONFIG_PMUX_Msk & ((value) << PORT_WRCONFIG_PMUX_Pos))
+#define PORT_WRCONFIG_WRPMUX_Pos            28                                             /**< (PORT_WRCONFIG) Write PMUX Position */
+#define PORT_WRCONFIG_WRPMUX_Msk            (_U_(0x1) << PORT_WRCONFIG_WRPMUX_Pos)         /**< (PORT_WRCONFIG) Write PMUX Mask */
+#define PORT_WRCONFIG_WRPMUX                PORT_WRCONFIG_WRPMUX_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_WRPMUX_Msk instead */
+#define PORT_WRCONFIG_WRPINCFG_Pos          30                                             /**< (PORT_WRCONFIG) Write PINCFG Position */
+#define PORT_WRCONFIG_WRPINCFG_Msk          (_U_(0x1) << PORT_WRCONFIG_WRPINCFG_Pos)       /**< (PORT_WRCONFIG) Write PINCFG Mask */
+#define PORT_WRCONFIG_WRPINCFG              PORT_WRCONFIG_WRPINCFG_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_WRPINCFG_Msk instead */
+#define PORT_WRCONFIG_HWSEL_Pos             31                                             /**< (PORT_WRCONFIG) Half-Word Select Position */
+#define PORT_WRCONFIG_HWSEL_Msk             (_U_(0x1) << PORT_WRCONFIG_HWSEL_Pos)          /**< (PORT_WRCONFIG) Half-Word Select Mask */
+#define PORT_WRCONFIG_HWSEL                 PORT_WRCONFIG_HWSEL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_HWSEL_Msk instead */
+#define PORT_WRCONFIG_Msk                   _U_(0xDF47FFFF)                                /**< (PORT_WRCONFIG) Register Mask  */
+
+
+/* -------- PORT_EVCTRL : (PORT Offset: 0x2c) (R/W 32) Event Input Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PID0:5;                    /**< bit:   0..4  PORT Event Pin Identifier 0              */
+    uint32_t EVACT0:2;                  /**< bit:   5..6  PORT Event Action 0                      */
+    uint32_t PORTEI0:1;                 /**< bit:      7  PORT Event Input Enable 0                */
+    uint32_t PID1:5;                    /**< bit:  8..12  PORT Event Pin Identifier 1              */
+    uint32_t EVACT1:2;                  /**< bit: 13..14  PORT Event Action 1                      */
+    uint32_t PORTEI1:1;                 /**< bit:     15  PORT Event Input Enable 1                */
+    uint32_t PID2:5;                    /**< bit: 16..20  PORT Event Pin Identifier 2              */
+    uint32_t EVACT2:2;                  /**< bit: 21..22  PORT Event Action 2                      */
+    uint32_t PORTEI2:1;                 /**< bit:     23  PORT Event Input Enable 2                */
+    uint32_t PID3:5;                    /**< bit: 24..28  PORT Event Pin Identifier 3              */
+    uint32_t EVACT3:2;                  /**< bit: 29..30  PORT Event Action 3                      */
+    uint32_t PORTEI3:1;                 /**< bit:     31  PORT Event Input Enable 3                */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_EVCTRL_OFFSET                  (0x2C)                                        /**<  (PORT_EVCTRL) Event Input Control  Offset */
+#define PORT_EVCTRL_RESETVALUE              _U_(0x00)                                     /**<  (PORT_EVCTRL) Event Input Control  Reset Value */
+
+#define PORT_EVCTRL_PID0_Pos                0                                              /**< (PORT_EVCTRL) PORT Event Pin Identifier 0 Position */
+#define PORT_EVCTRL_PID0_Msk                (_U_(0x1F) << PORT_EVCTRL_PID0_Pos)            /**< (PORT_EVCTRL) PORT Event Pin Identifier 0 Mask */
+#define PORT_EVCTRL_PID0(value)             (PORT_EVCTRL_PID0_Msk & ((value) << PORT_EVCTRL_PID0_Pos))
+#define PORT_EVCTRL_EVACT0_Pos              5                                              /**< (PORT_EVCTRL) PORT Event Action 0 Position */
+#define PORT_EVCTRL_EVACT0_Msk              (_U_(0x3) << PORT_EVCTRL_EVACT0_Pos)           /**< (PORT_EVCTRL) PORT Event Action 0 Mask */
+#define PORT_EVCTRL_EVACT0(value)           (PORT_EVCTRL_EVACT0_Msk & ((value) << PORT_EVCTRL_EVACT0_Pos))
+#define   PORT_EVCTRL_EVACT0_OUT_Val        _U_(0x0)                                       /**< (PORT_EVCTRL) Event output to pin  */
+#define   PORT_EVCTRL_EVACT0_SET_Val        _U_(0x1)                                       /**< (PORT_EVCTRL) Set output register of pin on event  */
+#define   PORT_EVCTRL_EVACT0_CLR_Val        _U_(0x2)                                       /**< (PORT_EVCTRL) Clear output register of pin on event  */
+#define   PORT_EVCTRL_EVACT0_TGL_Val        _U_(0x3)                                       /**< (PORT_EVCTRL) Toggle output register of pin on event  */
+#define PORT_EVCTRL_EVACT0_OUT              (PORT_EVCTRL_EVACT0_OUT_Val << PORT_EVCTRL_EVACT0_Pos)  /**< (PORT_EVCTRL) Event output to pin Position  */
+#define PORT_EVCTRL_EVACT0_SET              (PORT_EVCTRL_EVACT0_SET_Val << PORT_EVCTRL_EVACT0_Pos)  /**< (PORT_EVCTRL) Set output register of pin on event Position  */
+#define PORT_EVCTRL_EVACT0_CLR              (PORT_EVCTRL_EVACT0_CLR_Val << PORT_EVCTRL_EVACT0_Pos)  /**< (PORT_EVCTRL) Clear output register of pin on event Position  */
+#define PORT_EVCTRL_EVACT0_TGL              (PORT_EVCTRL_EVACT0_TGL_Val << PORT_EVCTRL_EVACT0_Pos)  /**< (PORT_EVCTRL) Toggle output register of pin on event Position  */
+#define PORT_EVCTRL_PORTEI0_Pos             7                                              /**< (PORT_EVCTRL) PORT Event Input Enable 0 Position */
+#define PORT_EVCTRL_PORTEI0_Msk             (_U_(0x1) << PORT_EVCTRL_PORTEI0_Pos)          /**< (PORT_EVCTRL) PORT Event Input Enable 0 Mask */
+#define PORT_EVCTRL_PORTEI0                 PORT_EVCTRL_PORTEI0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_EVCTRL_PORTEI0_Msk instead */
+#define PORT_EVCTRL_PID1_Pos                8                                              /**< (PORT_EVCTRL) PORT Event Pin Identifier 1 Position */
+#define PORT_EVCTRL_PID1_Msk                (_U_(0x1F) << PORT_EVCTRL_PID1_Pos)            /**< (PORT_EVCTRL) PORT Event Pin Identifier 1 Mask */
+#define PORT_EVCTRL_PID1(value)             (PORT_EVCTRL_PID1_Msk & ((value) << PORT_EVCTRL_PID1_Pos))
+#define PORT_EVCTRL_EVACT1_Pos              13                                             /**< (PORT_EVCTRL) PORT Event Action 1 Position */
+#define PORT_EVCTRL_EVACT1_Msk              (_U_(0x3) << PORT_EVCTRL_EVACT1_Pos)           /**< (PORT_EVCTRL) PORT Event Action 1 Mask */
+#define PORT_EVCTRL_EVACT1(value)           (PORT_EVCTRL_EVACT1_Msk & ((value) << PORT_EVCTRL_EVACT1_Pos))
+#define PORT_EVCTRL_PORTEI1_Pos             15                                             /**< (PORT_EVCTRL) PORT Event Input Enable 1 Position */
+#define PORT_EVCTRL_PORTEI1_Msk             (_U_(0x1) << PORT_EVCTRL_PORTEI1_Pos)          /**< (PORT_EVCTRL) PORT Event Input Enable 1 Mask */
+#define PORT_EVCTRL_PORTEI1                 PORT_EVCTRL_PORTEI1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_EVCTRL_PORTEI1_Msk instead */
+#define PORT_EVCTRL_PID2_Pos                16                                             /**< (PORT_EVCTRL) PORT Event Pin Identifier 2 Position */
+#define PORT_EVCTRL_PID2_Msk                (_U_(0x1F) << PORT_EVCTRL_PID2_Pos)            /**< (PORT_EVCTRL) PORT Event Pin Identifier 2 Mask */
+#define PORT_EVCTRL_PID2(value)             (PORT_EVCTRL_PID2_Msk & ((value) << PORT_EVCTRL_PID2_Pos))
+#define PORT_EVCTRL_EVACT2_Pos              21                                             /**< (PORT_EVCTRL) PORT Event Action 2 Position */
+#define PORT_EVCTRL_EVACT2_Msk              (_U_(0x3) << PORT_EVCTRL_EVACT2_Pos)           /**< (PORT_EVCTRL) PORT Event Action 2 Mask */
+#define PORT_EVCTRL_EVACT2(value)           (PORT_EVCTRL_EVACT2_Msk & ((value) << PORT_EVCTRL_EVACT2_Pos))
+#define PORT_EVCTRL_PORTEI2_Pos             23                                             /**< (PORT_EVCTRL) PORT Event Input Enable 2 Position */
+#define PORT_EVCTRL_PORTEI2_Msk             (_U_(0x1) << PORT_EVCTRL_PORTEI2_Pos)          /**< (PORT_EVCTRL) PORT Event Input Enable 2 Mask */
+#define PORT_EVCTRL_PORTEI2                 PORT_EVCTRL_PORTEI2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_EVCTRL_PORTEI2_Msk instead */
+#define PORT_EVCTRL_PID3_Pos                24                                             /**< (PORT_EVCTRL) PORT Event Pin Identifier 3 Position */
+#define PORT_EVCTRL_PID3_Msk                (_U_(0x1F) << PORT_EVCTRL_PID3_Pos)            /**< (PORT_EVCTRL) PORT Event Pin Identifier 3 Mask */
+#define PORT_EVCTRL_PID3(value)             (PORT_EVCTRL_PID3_Msk & ((value) << PORT_EVCTRL_PID3_Pos))
+#define PORT_EVCTRL_EVACT3_Pos              29                                             /**< (PORT_EVCTRL) PORT Event Action 3 Position */
+#define PORT_EVCTRL_EVACT3_Msk              (_U_(0x3) << PORT_EVCTRL_EVACT3_Pos)           /**< (PORT_EVCTRL) PORT Event Action 3 Mask */
+#define PORT_EVCTRL_EVACT3(value)           (PORT_EVCTRL_EVACT3_Msk & ((value) << PORT_EVCTRL_EVACT3_Pos))
+#define PORT_EVCTRL_PORTEI3_Pos             31                                             /**< (PORT_EVCTRL) PORT Event Input Enable 3 Position */
+#define PORT_EVCTRL_PORTEI3_Msk             (_U_(0x1) << PORT_EVCTRL_PORTEI3_Pos)          /**< (PORT_EVCTRL) PORT Event Input Enable 3 Mask */
+#define PORT_EVCTRL_PORTEI3                 PORT_EVCTRL_PORTEI3_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_EVCTRL_PORTEI3_Msk instead */
+#define PORT_EVCTRL_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_EVCTRL) Register MASK  (Use PORT_EVCTRL_Msk instead)  */
+#define PORT_EVCTRL_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_EVCTRL) Register Mask  */
+
+
+/* -------- PORT_PMUX : (PORT Offset: 0x30) (R/W 8) Peripheral Multiplexing -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PMUXE:4;                   /**< bit:   0..3  Peripheral Multiplexing for Even-Numbered Pin */
+    uint8_t  PMUXO:4;                   /**< bit:   4..7  Peripheral Multiplexing for Odd-Numbered Pin */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PORT_PMUX_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_PMUX_OFFSET                    (0x30)                                        /**<  (PORT_PMUX) Peripheral Multiplexing  Offset */
+#define PORT_PMUX_RESETVALUE                _U_(0x00)                                     /**<  (PORT_PMUX) Peripheral Multiplexing  Reset Value */
+
+#define PORT_PMUX_PMUXE_Pos                 0                                              /**< (PORT_PMUX) Peripheral Multiplexing for Even-Numbered Pin Position */
+#define PORT_PMUX_PMUXE_Msk                 (_U_(0xF) << PORT_PMUX_PMUXE_Pos)              /**< (PORT_PMUX) Peripheral Multiplexing for Even-Numbered Pin Mask */
+#define PORT_PMUX_PMUXE(value)              (PORT_PMUX_PMUXE_Msk & ((value) << PORT_PMUX_PMUXE_Pos))
+#define PORT_PMUX_PMUXO_Pos                 4                                              /**< (PORT_PMUX) Peripheral Multiplexing for Odd-Numbered Pin Position */
+#define PORT_PMUX_PMUXO_Msk                 (_U_(0xF) << PORT_PMUX_PMUXO_Pos)              /**< (PORT_PMUX) Peripheral Multiplexing for Odd-Numbered Pin Mask */
+#define PORT_PMUX_PMUXO(value)              (PORT_PMUX_PMUXO_Msk & ((value) << PORT_PMUX_PMUXO_Pos))
+#define PORT_PMUX_MASK                      _U_(0xFF)                                      /**< \deprecated (PORT_PMUX) Register MASK  (Use PORT_PMUX_Msk instead)  */
+#define PORT_PMUX_Msk                       _U_(0xFF)                                      /**< (PORT_PMUX) Register Mask  */
+
+
+/* -------- PORT_PINCFG : (PORT Offset: 0x40) (R/W 8) Pin Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PMUXEN:1;                  /**< bit:      0  Peripheral Multiplexer Enable            */
+    uint8_t  INEN:1;                    /**< bit:      1  Input Enable                             */
+    uint8_t  PULLEN:1;                  /**< bit:      2  Pull Enable                              */
+    uint8_t  :3;                        /**< bit:   3..5  Reserved */
+    uint8_t  DRVSTR:1;                  /**< bit:      6  Output Driver Strength Selection         */
+    uint8_t  :1;                        /**< bit:      7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PORT_PINCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_PINCFG_OFFSET                  (0x40)                                        /**<  (PORT_PINCFG) Pin Configuration  Offset */
+#define PORT_PINCFG_RESETVALUE              _U_(0x00)                                     /**<  (PORT_PINCFG) Pin Configuration  Reset Value */
+
+#define PORT_PINCFG_PMUXEN_Pos              0                                              /**< (PORT_PINCFG) Peripheral Multiplexer Enable Position */
+#define PORT_PINCFG_PMUXEN_Msk              (_U_(0x1) << PORT_PINCFG_PMUXEN_Pos)           /**< (PORT_PINCFG) Peripheral Multiplexer Enable Mask */
+#define PORT_PINCFG_PMUXEN                  PORT_PINCFG_PMUXEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_PINCFG_PMUXEN_Msk instead */
+#define PORT_PINCFG_INEN_Pos                1                                              /**< (PORT_PINCFG) Input Enable Position */
+#define PORT_PINCFG_INEN_Msk                (_U_(0x1) << PORT_PINCFG_INEN_Pos)             /**< (PORT_PINCFG) Input Enable Mask */
+#define PORT_PINCFG_INEN                    PORT_PINCFG_INEN_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_PINCFG_INEN_Msk instead */
+#define PORT_PINCFG_PULLEN_Pos              2                                              /**< (PORT_PINCFG) Pull Enable Position */
+#define PORT_PINCFG_PULLEN_Msk              (_U_(0x1) << PORT_PINCFG_PULLEN_Pos)           /**< (PORT_PINCFG) Pull Enable Mask */
+#define PORT_PINCFG_PULLEN                  PORT_PINCFG_PULLEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_PINCFG_PULLEN_Msk instead */
+#define PORT_PINCFG_DRVSTR_Pos              6                                              /**< (PORT_PINCFG) Output Driver Strength Selection Position */
+#define PORT_PINCFG_DRVSTR_Msk              (_U_(0x1) << PORT_PINCFG_DRVSTR_Pos)           /**< (PORT_PINCFG) Output Driver Strength Selection Mask */
+#define PORT_PINCFG_DRVSTR                  PORT_PINCFG_DRVSTR_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_PINCFG_DRVSTR_Msk instead */
+#define PORT_PINCFG_MASK                    _U_(0x47)                                      /**< \deprecated (PORT_PINCFG) Register MASK  (Use PORT_PINCFG_Msk instead)  */
+#define PORT_PINCFG_Msk                     _U_(0x47)                                      /**< (PORT_PINCFG) Register Mask  */
+
+
+/* -------- PORT_INTENCLR : (PORT Offset: 0x60) (R/W 32) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t NSCHK:1;                   /**< bit:      0  Non-Secure Check Interrupt Enable        */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_INTENCLR_OFFSET                (0x60)                                        /**<  (PORT_INTENCLR) Interrupt Enable Clear  Offset */
+#define PORT_INTENCLR_RESETVALUE            _U_(0x00)                                     /**<  (PORT_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define PORT_INTENCLR_NSCHK_Pos             0                                              /**< (PORT_INTENCLR) Non-Secure Check Interrupt Enable Position */
+#define PORT_INTENCLR_NSCHK_Msk             (_U_(0x1) << PORT_INTENCLR_NSCHK_Pos)          /**< (PORT_INTENCLR) Non-Secure Check Interrupt Enable Mask */
+#define PORT_INTENCLR_NSCHK                 PORT_INTENCLR_NSCHK_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_INTENCLR_NSCHK_Msk instead */
+#define PORT_INTENCLR_MASK                  _U_(0x01)                                      /**< \deprecated (PORT_INTENCLR) Register MASK  (Use PORT_INTENCLR_Msk instead)  */
+#define PORT_INTENCLR_Msk                   _U_(0x01)                                      /**< (PORT_INTENCLR) Register Mask  */
+
+
+/* -------- PORT_INTENSET : (PORT Offset: 0x64) (R/W 32) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t NSCHK:1;                   /**< bit:      0  Non-Secure Check Interrupt Enable        */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_INTENSET_OFFSET                (0x64)                                        /**<  (PORT_INTENSET) Interrupt Enable Set  Offset */
+#define PORT_INTENSET_RESETVALUE            _U_(0x00)                                     /**<  (PORT_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define PORT_INTENSET_NSCHK_Pos             0                                              /**< (PORT_INTENSET) Non-Secure Check Interrupt Enable Position */
+#define PORT_INTENSET_NSCHK_Msk             (_U_(0x1) << PORT_INTENSET_NSCHK_Pos)          /**< (PORT_INTENSET) Non-Secure Check Interrupt Enable Mask */
+#define PORT_INTENSET_NSCHK                 PORT_INTENSET_NSCHK_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_INTENSET_NSCHK_Msk instead */
+#define PORT_INTENSET_MASK                  _U_(0x01)                                      /**< \deprecated (PORT_INTENSET) Register MASK  (Use PORT_INTENSET_Msk instead)  */
+#define PORT_INTENSET_Msk                   _U_(0x01)                                      /**< (PORT_INTENSET) Register Mask  */
+
+
+/* -------- PORT_INTFLAG : (PORT Offset: 0x68) (R/W 32) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t NSCHK:1;                   /**< bit:      0  Non-Secure Check                         */
+    __I uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_INTFLAG_OFFSET                 (0x68)                                        /**<  (PORT_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define PORT_INTFLAG_RESETVALUE             _U_(0x00)                                     /**<  (PORT_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define PORT_INTFLAG_NSCHK_Pos              0                                              /**< (PORT_INTFLAG) Non-Secure Check Position */
+#define PORT_INTFLAG_NSCHK_Msk              (_U_(0x1) << PORT_INTFLAG_NSCHK_Pos)           /**< (PORT_INTFLAG) Non-Secure Check Mask */
+#define PORT_INTFLAG_NSCHK                  PORT_INTFLAG_NSCHK_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_INTFLAG_NSCHK_Msk instead */
+#define PORT_INTFLAG_MASK                   _U_(0x01)                                      /**< \deprecated (PORT_INTFLAG) Register MASK  (Use PORT_INTFLAG_Msk instead)  */
+#define PORT_INTFLAG_Msk                    _U_(0x01)                                      /**< (PORT_INTFLAG) Register Mask  */
+
+
+/* -------- PORT_NONSEC : (PORT Offset: 0x6c) (R/W 32) Security Attribution -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t NONSEC:32;                 /**< bit:  0..31  Port Security Attribution                */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_NONSEC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_NONSEC_OFFSET                  (0x6C)                                        /**<  (PORT_NONSEC) Security Attribution  Offset */
+#define PORT_NONSEC_RESETVALUE              _U_(0x00)                                     /**<  (PORT_NONSEC) Security Attribution  Reset Value */
+
+#define PORT_NONSEC_NONSEC_Pos              0                                              /**< (PORT_NONSEC) Port Security Attribution Position */
+#define PORT_NONSEC_NONSEC_Msk              (_U_(0xFFFFFFFF) << PORT_NONSEC_NONSEC_Pos)    /**< (PORT_NONSEC) Port Security Attribution Mask */
+#define PORT_NONSEC_NONSEC(value)           (PORT_NONSEC_NONSEC_Msk & ((value) << PORT_NONSEC_NONSEC_Pos))
+#define PORT_NONSEC_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_NONSEC) Register MASK  (Use PORT_NONSEC_Msk instead)  */
+#define PORT_NONSEC_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_NONSEC) Register Mask  */
+
+
+/* -------- PORT_NSCHK : (PORT Offset: 0x70) (R/W 32) Security Attribution Check -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t NSCHK:32;                  /**< bit:  0..31  Port Security Attribution Check          */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_NSCHK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_NSCHK_OFFSET                   (0x70)                                        /**<  (PORT_NSCHK) Security Attribution Check  Offset */
+#define PORT_NSCHK_RESETVALUE               _U_(0x00)                                     /**<  (PORT_NSCHK) Security Attribution Check  Reset Value */
+
+#define PORT_NSCHK_NSCHK_Pos                0                                              /**< (PORT_NSCHK) Port Security Attribution Check Position */
+#define PORT_NSCHK_NSCHK_Msk                (_U_(0xFFFFFFFF) << PORT_NSCHK_NSCHK_Pos)      /**< (PORT_NSCHK) Port Security Attribution Check Mask */
+#define PORT_NSCHK_NSCHK(value)             (PORT_NSCHK_NSCHK_Msk & ((value) << PORT_NSCHK_NSCHK_Pos))
+#define PORT_NSCHK_MASK                     _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_NSCHK) Register MASK  (Use PORT_NSCHK_Msk instead)  */
+#define PORT_NSCHK_Msk                      _U_(0xFFFFFFFF)                                /**< (PORT_NSCHK) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief GROUP hardware registers */
+typedef struct {  
+  __IO PORT_DIR_Type                  DIR;            /**< Offset: 0x00 (R/W  32) Data Direction */
+  __IO PORT_DIRCLR_Type               DIRCLR;         /**< Offset: 0x04 (R/W  32) Data Direction Clear */
+  __IO PORT_DIRSET_Type               DIRSET;         /**< Offset: 0x08 (R/W  32) Data Direction Set */
+  __IO PORT_DIRTGL_Type               DIRTGL;         /**< Offset: 0x0C (R/W  32) Data Direction Toggle */
+  __IO PORT_OUT_Type                  OUT;            /**< Offset: 0x10 (R/W  32) Data Output Value */
+  __IO PORT_OUTCLR_Type               OUTCLR;         /**< Offset: 0x14 (R/W  32) Data Output Value Clear */
+  __IO PORT_OUTSET_Type               OUTSET;         /**< Offset: 0x18 (R/W  32) Data Output Value Set */
+  __IO PORT_OUTTGL_Type               OUTTGL;         /**< Offset: 0x1C (R/W  32) Data Output Value Toggle */
+  __I  PORT_IN_Type                   IN;             /**< Offset: 0x20 (R/   32) Data Input Value */
+  __IO PORT_CTRL_Type                 CTRL;           /**< Offset: 0x24 (R/W  32) Control */
+  __O  PORT_WRCONFIG_Type             WRCONFIG;       /**< Offset: 0x28 ( /W  32) Write Configuration */
+  __IO PORT_EVCTRL_Type               EVCTRL;         /**< Offset: 0x2C (R/W  32) Event Input Control */
+  __IO PORT_PMUX_Type                 PMUX[16];       /**< Offset: 0x30 (R/W   8) Peripheral Multiplexing */
+  __IO PORT_PINCFG_Type               PINCFG[32];     /**< Offset: 0x40 (R/W   8) Pin Configuration */
+  __IO PORT_INTENCLR_Type             INTENCLR;       /**< Offset: 0x60 (R/W  32) Interrupt Enable Clear */
+  __IO PORT_INTENSET_Type             INTENSET;       /**< Offset: 0x64 (R/W  32) Interrupt Enable Set */
+  __IO PORT_INTFLAG_Type              INTFLAG;        /**< Offset: 0x68 (R/W  32) Interrupt Flag Status and Clear */
+  __IO PORT_NONSEC_Type               NONSEC;         /**< Offset: 0x6C (R/W  32) Security Attribution */
+  __IO PORT_NSCHK_Type                NSCHK;          /**< Offset: 0x70 (R/W  32) Security Attribution Check */
+  __I  uint8_t                        Reserved1[12];
+} PortGroup;
+
+/** \brief PORT hardware registers */
+typedef struct {  /* Port Module */
+       PortGroup                      Group[1];       /**< Offset: 0x00  */
+} Port;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Port Module */
+
+#endif /* _SAML10_PORT_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/ptc.h b/cpu/sam0_common/include/vendor/saml10/include/component/ptc.h
new file mode 100644
index 0000000000..76add4fa37
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/ptc.h
@@ -0,0 +1,53 @@
+/**
+ * \file
+ *
+ * \brief Component description for PTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_PTC_COMPONENT_H_
+#define _SAML10_PTC_COMPONENT_H_
+#define _SAML10_PTC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Peripheral Touch Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR PTC */
+/* ========================================================================== */
+
+#define PTC_U2215                      /**< (PTC) Module ID */
+#define REV_PTC 0x500                  /**< (PTC) Module revision */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief No hardware registers defined for PTC */
+typedef void Ptc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Touch Controller */
+
+#endif /* _SAML10_PTC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/rstc.h b/cpu/sam0_common/include/vendor/saml10/include/component/rstc.h
new file mode 100644
index 0000000000..924674d7ce
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/rstc.h
@@ -0,0 +1,96 @@
+/**
+ * \file
+ *
+ * \brief Component description for RSTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_RSTC_COMPONENT_H_
+#define _SAML10_RSTC_COMPONENT_H_
+#define _SAML10_RSTC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Reset Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR RSTC */
+/* ========================================================================== */
+
+#define RSTC_U2239                      /**< (RSTC) Module ID */
+#define REV_RSTC 0x300                  /**< (RSTC) Module revision */
+
+/* -------- RSTC_RCAUSE : (RSTC Offset: 0x00) (R/ 8) Reset Cause -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  POR:1;                     /**< bit:      0  Power On Reset                           */
+    uint8_t  BODCORE:1;                 /**< bit:      1  Brown Out CORE Detector Reset            */
+    uint8_t  BODVDD:1;                  /**< bit:      2  Brown Out VDD Detector Reset             */
+    uint8_t  :1;                        /**< bit:      3  Reserved */
+    uint8_t  EXT:1;                     /**< bit:      4  External Reset                           */
+    uint8_t  WDT:1;                     /**< bit:      5  Watchdog Reset                           */
+    uint8_t  SYST:1;                    /**< bit:      6  System Reset Request                     */
+    uint8_t  :1;                        /**< bit:      7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} RSTC_RCAUSE_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RSTC_RCAUSE_OFFSET                  (0x00)                                        /**<  (RSTC_RCAUSE) Reset Cause  Offset */
+
+#define RSTC_RCAUSE_POR_Pos                 0                                              /**< (RSTC_RCAUSE) Power On Reset Position */
+#define RSTC_RCAUSE_POR_Msk                 (_U_(0x1) << RSTC_RCAUSE_POR_Pos)              /**< (RSTC_RCAUSE) Power On Reset Mask */
+#define RSTC_RCAUSE_POR                     RSTC_RCAUSE_POR_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_POR_Msk instead */
+#define RSTC_RCAUSE_BODCORE_Pos             1                                              /**< (RSTC_RCAUSE) Brown Out CORE Detector Reset Position */
+#define RSTC_RCAUSE_BODCORE_Msk             (_U_(0x1) << RSTC_RCAUSE_BODCORE_Pos)          /**< (RSTC_RCAUSE) Brown Out CORE Detector Reset Mask */
+#define RSTC_RCAUSE_BODCORE                 RSTC_RCAUSE_BODCORE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_BODCORE_Msk instead */
+#define RSTC_RCAUSE_BODVDD_Pos              2                                              /**< (RSTC_RCAUSE) Brown Out VDD Detector Reset Position */
+#define RSTC_RCAUSE_BODVDD_Msk              (_U_(0x1) << RSTC_RCAUSE_BODVDD_Pos)           /**< (RSTC_RCAUSE) Brown Out VDD Detector Reset Mask */
+#define RSTC_RCAUSE_BODVDD                  RSTC_RCAUSE_BODVDD_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_BODVDD_Msk instead */
+#define RSTC_RCAUSE_EXT_Pos                 4                                              /**< (RSTC_RCAUSE) External Reset Position */
+#define RSTC_RCAUSE_EXT_Msk                 (_U_(0x1) << RSTC_RCAUSE_EXT_Pos)              /**< (RSTC_RCAUSE) External Reset Mask */
+#define RSTC_RCAUSE_EXT                     RSTC_RCAUSE_EXT_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_EXT_Msk instead */
+#define RSTC_RCAUSE_WDT_Pos                 5                                              /**< (RSTC_RCAUSE) Watchdog Reset Position */
+#define RSTC_RCAUSE_WDT_Msk                 (_U_(0x1) << RSTC_RCAUSE_WDT_Pos)              /**< (RSTC_RCAUSE) Watchdog Reset Mask */
+#define RSTC_RCAUSE_WDT                     RSTC_RCAUSE_WDT_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_WDT_Msk instead */
+#define RSTC_RCAUSE_SYST_Pos                6                                              /**< (RSTC_RCAUSE) System Reset Request Position */
+#define RSTC_RCAUSE_SYST_Msk                (_U_(0x1) << RSTC_RCAUSE_SYST_Pos)             /**< (RSTC_RCAUSE) System Reset Request Mask */
+#define RSTC_RCAUSE_SYST                    RSTC_RCAUSE_SYST_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_SYST_Msk instead */
+#define RSTC_RCAUSE_MASK                    _U_(0x77)                                      /**< \deprecated (RSTC_RCAUSE) Register MASK  (Use RSTC_RCAUSE_Msk instead)  */
+#define RSTC_RCAUSE_Msk                     _U_(0x77)                                      /**< (RSTC_RCAUSE) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief RSTC hardware registers */
+typedef struct {  /* Reset Controller */
+  __I  RSTC_RCAUSE_Type               RCAUSE;         /**< Offset: 0x00 (R/    8) Reset Cause */
+} Rstc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Reset Controller */
+
+#endif /* _SAML10_RSTC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/rtc.h b/cpu/sam0_common/include/vendor/saml10/include/component/rtc.h
new file mode 100644
index 0000000000..eeca79c9f5
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/rtc.h
@@ -0,0 +1,2294 @@
+/**
+ * \file
+ *
+ * \brief Component description for RTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_RTC_COMPONENT_H_
+#define _SAML10_RTC_COMPONENT_H_
+#define _SAML10_RTC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Real-Time Counter
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR RTC */
+/* ========================================================================== */
+
+#define RTC_U2250                      /**< (RTC) Module ID */
+#define REV_RTC 0x300                  /**< (RTC) Module revision */
+
+/* -------- RTC_MODE2_ALARM : (RTC Offset: 0x00) (R/W 32) MODE2_ALARM Alarm n Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SECOND:6;                  /**< bit:   0..5  Second                                   */
+    uint32_t MINUTE:6;                  /**< bit:  6..11  Minute                                   */
+    uint32_t HOUR:5;                    /**< bit: 12..16  Hour                                     */
+    uint32_t DAY:5;                     /**< bit: 17..21  Day                                      */
+    uint32_t MONTH:4;                   /**< bit: 22..25  Month                                    */
+    uint32_t YEAR:6;                    /**< bit: 26..31  Year                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE2_ALARM_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_ALARM_OFFSET              (0x00)                                        /**<  (RTC_MODE2_ALARM) MODE2_ALARM Alarm n Value  Offset */
+#define RTC_MODE2_ALARM_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE2_ALARM) MODE2_ALARM Alarm n Value  Reset Value */
+
+#define RTC_MODE2_ALARM_SECOND_Pos          0                                              /**< (RTC_MODE2_ALARM) Second Position */
+#define RTC_MODE2_ALARM_SECOND_Msk          (_U_(0x3F) << RTC_MODE2_ALARM_SECOND_Pos)      /**< (RTC_MODE2_ALARM) Second Mask */
+#define RTC_MODE2_ALARM_SECOND(value)       (RTC_MODE2_ALARM_SECOND_Msk & ((value) << RTC_MODE2_ALARM_SECOND_Pos))
+#define RTC_MODE2_ALARM_MINUTE_Pos          6                                              /**< (RTC_MODE2_ALARM) Minute Position */
+#define RTC_MODE2_ALARM_MINUTE_Msk          (_U_(0x3F) << RTC_MODE2_ALARM_MINUTE_Pos)      /**< (RTC_MODE2_ALARM) Minute Mask */
+#define RTC_MODE2_ALARM_MINUTE(value)       (RTC_MODE2_ALARM_MINUTE_Msk & ((value) << RTC_MODE2_ALARM_MINUTE_Pos))
+#define RTC_MODE2_ALARM_HOUR_Pos            12                                             /**< (RTC_MODE2_ALARM) Hour Position */
+#define RTC_MODE2_ALARM_HOUR_Msk            (_U_(0x1F) << RTC_MODE2_ALARM_HOUR_Pos)        /**< (RTC_MODE2_ALARM) Hour Mask */
+#define RTC_MODE2_ALARM_HOUR(value)         (RTC_MODE2_ALARM_HOUR_Msk & ((value) << RTC_MODE2_ALARM_HOUR_Pos))
+#define   RTC_MODE2_ALARM_HOUR_AM_Val       _U_(0x0)                                       /**< (RTC_MODE2_ALARM) Morning hour  */
+#define   RTC_MODE2_ALARM_HOUR_PM_Val       _U_(0x10)                                      /**< (RTC_MODE2_ALARM) Afternoon hour  */
+#define RTC_MODE2_ALARM_HOUR_AM             (RTC_MODE2_ALARM_HOUR_AM_Val << RTC_MODE2_ALARM_HOUR_Pos)  /**< (RTC_MODE2_ALARM) Morning hour Position  */
+#define RTC_MODE2_ALARM_HOUR_PM             (RTC_MODE2_ALARM_HOUR_PM_Val << RTC_MODE2_ALARM_HOUR_Pos)  /**< (RTC_MODE2_ALARM) Afternoon hour Position  */
+#define RTC_MODE2_ALARM_DAY_Pos             17                                             /**< (RTC_MODE2_ALARM) Day Position */
+#define RTC_MODE2_ALARM_DAY_Msk             (_U_(0x1F) << RTC_MODE2_ALARM_DAY_Pos)         /**< (RTC_MODE2_ALARM) Day Mask */
+#define RTC_MODE2_ALARM_DAY(value)          (RTC_MODE2_ALARM_DAY_Msk & ((value) << RTC_MODE2_ALARM_DAY_Pos))
+#define RTC_MODE2_ALARM_MONTH_Pos           22                                             /**< (RTC_MODE2_ALARM) Month Position */
+#define RTC_MODE2_ALARM_MONTH_Msk           (_U_(0xF) << RTC_MODE2_ALARM_MONTH_Pos)        /**< (RTC_MODE2_ALARM) Month Mask */
+#define RTC_MODE2_ALARM_MONTH(value)        (RTC_MODE2_ALARM_MONTH_Msk & ((value) << RTC_MODE2_ALARM_MONTH_Pos))
+#define RTC_MODE2_ALARM_YEAR_Pos            26                                             /**< (RTC_MODE2_ALARM) Year Position */
+#define RTC_MODE2_ALARM_YEAR_Msk            (_U_(0x3F) << RTC_MODE2_ALARM_YEAR_Pos)        /**< (RTC_MODE2_ALARM) Year Mask */
+#define RTC_MODE2_ALARM_YEAR(value)         (RTC_MODE2_ALARM_YEAR_Msk & ((value) << RTC_MODE2_ALARM_YEAR_Pos))
+#define RTC_MODE2_ALARM_MASK                _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE2_ALARM) Register MASK  (Use RTC_MODE2_ALARM_Msk instead)  */
+#define RTC_MODE2_ALARM_Msk                 _U_(0xFFFFFFFF)                                /**< (RTC_MODE2_ALARM) Register Mask  */
+
+
+/* -------- RTC_MODE2_MASK : (RTC Offset: 0x04) (R/W 8) MODE2_ALARM Alarm n Mask -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SEL:3;                     /**< bit:   0..2  Alarm Mask Selection                     */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} RTC_MODE2_MASK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_MASK_OFFSET               (0x04)                                        /**<  (RTC_MODE2_MASK) MODE2_ALARM Alarm n Mask  Offset */
+#define RTC_MODE2_MASK_RESETVALUE           _U_(0x00)                                     /**<  (RTC_MODE2_MASK) MODE2_ALARM Alarm n Mask  Reset Value */
+
+#define RTC_MODE2_MASK_SEL_Pos              0                                              /**< (RTC_MODE2_MASK) Alarm Mask Selection Position */
+#define RTC_MODE2_MASK_SEL_Msk              (_U_(0x7) << RTC_MODE2_MASK_SEL_Pos)           /**< (RTC_MODE2_MASK) Alarm Mask Selection Mask */
+#define RTC_MODE2_MASK_SEL(value)           (RTC_MODE2_MASK_SEL_Msk & ((value) << RTC_MODE2_MASK_SEL_Pos))
+#define   RTC_MODE2_MASK_SEL_OFF_Val        _U_(0x0)                                       /**< (RTC_MODE2_MASK) Alarm Disabled  */
+#define   RTC_MODE2_MASK_SEL_SS_Val         _U_(0x1)                                       /**< (RTC_MODE2_MASK) Match seconds only  */
+#define   RTC_MODE2_MASK_SEL_MMSS_Val       _U_(0x2)                                       /**< (RTC_MODE2_MASK) Match seconds and minutes only  */
+#define   RTC_MODE2_MASK_SEL_HHMMSS_Val     _U_(0x3)                                       /**< (RTC_MODE2_MASK) Match seconds, minutes, and hours only  */
+#define   RTC_MODE2_MASK_SEL_DDHHMMSS_Val   _U_(0x4)                                       /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, and days only  */
+#define   RTC_MODE2_MASK_SEL_MMDDHHMMSS_Val _U_(0x5)                                       /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, and months only  */
+#define   RTC_MODE2_MASK_SEL_YYMMDDHHMMSS_Val _U_(0x6)                                       /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, months, and years  */
+#define RTC_MODE2_MASK_SEL_OFF              (RTC_MODE2_MASK_SEL_OFF_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Alarm Disabled Position  */
+#define RTC_MODE2_MASK_SEL_SS               (RTC_MODE2_MASK_SEL_SS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds only Position  */
+#define RTC_MODE2_MASK_SEL_MMSS             (RTC_MODE2_MASK_SEL_MMSS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds and minutes only Position  */
+#define RTC_MODE2_MASK_SEL_HHMMSS           (RTC_MODE2_MASK_SEL_HHMMSS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds, minutes, and hours only Position  */
+#define RTC_MODE2_MASK_SEL_DDHHMMSS         (RTC_MODE2_MASK_SEL_DDHHMMSS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, and days only Position  */
+#define RTC_MODE2_MASK_SEL_MMDDHHMMSS       (RTC_MODE2_MASK_SEL_MMDDHHMMSS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, and months only Position  */
+#define RTC_MODE2_MASK_SEL_YYMMDDHHMMSS     (RTC_MODE2_MASK_SEL_YYMMDDHHMMSS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, months, and years Position  */
+#define RTC_MODE2_MASK_MASK                 _U_(0x07)                                      /**< \deprecated (RTC_MODE2_MASK) Register MASK  (Use RTC_MODE2_MASK_Msk instead)  */
+#define RTC_MODE2_MASK_Msk                  _U_(0x07)                                      /**< (RTC_MODE2_MASK) Register Mask  */
+
+
+/* -------- RTC_MODE0_CTRLA : (RTC Offset: 0x00) (R/W 16) MODE0 Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint16_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint16_t MODE:2;                    /**< bit:   2..3  Operating Mode                           */
+    uint16_t :3;                        /**< bit:   4..6  Reserved */
+    uint16_t MATCHCLR:1;                /**< bit:      7  Clear on Match                           */
+    uint16_t PRESCALER:4;               /**< bit:  8..11  Prescaler                                */
+    uint16_t :2;                        /**< bit: 12..13  Reserved */
+    uint16_t GPTRST:1;                  /**< bit:     14  GP Registers Reset On Tamper Enable      */
+    uint16_t COUNTSYNC:1;               /**< bit:     15  Count Read Synchronization Enable        */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE0_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_CTRLA_OFFSET              (0x00)                                        /**<  (RTC_MODE0_CTRLA) MODE0 Control A  Offset */
+#define RTC_MODE0_CTRLA_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE0_CTRLA) MODE0 Control A  Reset Value */
+
+#define RTC_MODE0_CTRLA_SWRST_Pos           0                                              /**< (RTC_MODE0_CTRLA) Software Reset Position */
+#define RTC_MODE0_CTRLA_SWRST_Msk           (_U_(0x1) << RTC_MODE0_CTRLA_SWRST_Pos)        /**< (RTC_MODE0_CTRLA) Software Reset Mask */
+#define RTC_MODE0_CTRLA_SWRST               RTC_MODE0_CTRLA_SWRST_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLA_SWRST_Msk instead */
+#define RTC_MODE0_CTRLA_ENABLE_Pos          1                                              /**< (RTC_MODE0_CTRLA) Enable Position */
+#define RTC_MODE0_CTRLA_ENABLE_Msk          (_U_(0x1) << RTC_MODE0_CTRLA_ENABLE_Pos)       /**< (RTC_MODE0_CTRLA) Enable Mask */
+#define RTC_MODE0_CTRLA_ENABLE              RTC_MODE0_CTRLA_ENABLE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLA_ENABLE_Msk instead */
+#define RTC_MODE0_CTRLA_MODE_Pos            2                                              /**< (RTC_MODE0_CTRLA) Operating Mode Position */
+#define RTC_MODE0_CTRLA_MODE_Msk            (_U_(0x3) << RTC_MODE0_CTRLA_MODE_Pos)         /**< (RTC_MODE0_CTRLA) Operating Mode Mask */
+#define RTC_MODE0_CTRLA_MODE(value)         (RTC_MODE0_CTRLA_MODE_Msk & ((value) << RTC_MODE0_CTRLA_MODE_Pos))
+#define   RTC_MODE0_CTRLA_MODE_COUNT32_Val  _U_(0x0)                                       /**< (RTC_MODE0_CTRLA) Mode 0: 32-bit Counter  */
+#define   RTC_MODE0_CTRLA_MODE_COUNT16_Val  _U_(0x1)                                       /**< (RTC_MODE0_CTRLA) Mode 1: 16-bit Counter  */
+#define   RTC_MODE0_CTRLA_MODE_CLOCK_Val    _U_(0x2)                                       /**< (RTC_MODE0_CTRLA) Mode 2: Clock/Calendar  */
+#define RTC_MODE0_CTRLA_MODE_COUNT32        (RTC_MODE0_CTRLA_MODE_COUNT32_Val << RTC_MODE0_CTRLA_MODE_Pos)  /**< (RTC_MODE0_CTRLA) Mode 0: 32-bit Counter Position  */
+#define RTC_MODE0_CTRLA_MODE_COUNT16        (RTC_MODE0_CTRLA_MODE_COUNT16_Val << RTC_MODE0_CTRLA_MODE_Pos)  /**< (RTC_MODE0_CTRLA) Mode 1: 16-bit Counter Position  */
+#define RTC_MODE0_CTRLA_MODE_CLOCK          (RTC_MODE0_CTRLA_MODE_CLOCK_Val << RTC_MODE0_CTRLA_MODE_Pos)  /**< (RTC_MODE0_CTRLA) Mode 2: Clock/Calendar Position  */
+#define RTC_MODE0_CTRLA_MATCHCLR_Pos        7                                              /**< (RTC_MODE0_CTRLA) Clear on Match Position */
+#define RTC_MODE0_CTRLA_MATCHCLR_Msk        (_U_(0x1) << RTC_MODE0_CTRLA_MATCHCLR_Pos)     /**< (RTC_MODE0_CTRLA) Clear on Match Mask */
+#define RTC_MODE0_CTRLA_MATCHCLR            RTC_MODE0_CTRLA_MATCHCLR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLA_MATCHCLR_Msk instead */
+#define RTC_MODE0_CTRLA_PRESCALER_Pos       8                                              /**< (RTC_MODE0_CTRLA) Prescaler Position */
+#define RTC_MODE0_CTRLA_PRESCALER_Msk       (_U_(0xF) << RTC_MODE0_CTRLA_PRESCALER_Pos)    /**< (RTC_MODE0_CTRLA) Prescaler Mask */
+#define RTC_MODE0_CTRLA_PRESCALER(value)    (RTC_MODE0_CTRLA_PRESCALER_Msk & ((value) << RTC_MODE0_CTRLA_PRESCALER_Pos))
+#define   RTC_MODE0_CTRLA_PRESCALER_OFF_Val _U_(0x0)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV1_Val _U_(0x1)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV2_Val _U_(0x2)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/2  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV4_Val _U_(0x3)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/4  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV8_Val _U_(0x4)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/8  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV16_Val _U_(0x5)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/16  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV32_Val _U_(0x6)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/32  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV64_Val _U_(0x7)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/64  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV128_Val _U_(0x8)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/128  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV256_Val _U_(0x9)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/256  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV512_Val _U_(0xA)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/512  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV1024_Val _U_(0xB)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024  */
+#define RTC_MODE0_CTRLA_PRESCALER_OFF       (RTC_MODE0_CTRLA_PRESCALER_OFF_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV1      (RTC_MODE0_CTRLA_PRESCALER_DIV1_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV2      (RTC_MODE0_CTRLA_PRESCALER_DIV2_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/2 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV4      (RTC_MODE0_CTRLA_PRESCALER_DIV4_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/4 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV8      (RTC_MODE0_CTRLA_PRESCALER_DIV8_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/8 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV16     (RTC_MODE0_CTRLA_PRESCALER_DIV16_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/16 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV32     (RTC_MODE0_CTRLA_PRESCALER_DIV32_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/32 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV64     (RTC_MODE0_CTRLA_PRESCALER_DIV64_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/64 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV128    (RTC_MODE0_CTRLA_PRESCALER_DIV128_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/128 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV256    (RTC_MODE0_CTRLA_PRESCALER_DIV256_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/256 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV512    (RTC_MODE0_CTRLA_PRESCALER_DIV512_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/512 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV1024   (RTC_MODE0_CTRLA_PRESCALER_DIV1024_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024 Position  */
+#define RTC_MODE0_CTRLA_GPTRST_Pos          14                                             /**< (RTC_MODE0_CTRLA) GP Registers Reset On Tamper Enable Position */
+#define RTC_MODE0_CTRLA_GPTRST_Msk          (_U_(0x1) << RTC_MODE0_CTRLA_GPTRST_Pos)       /**< (RTC_MODE0_CTRLA) GP Registers Reset On Tamper Enable Mask */
+#define RTC_MODE0_CTRLA_GPTRST              RTC_MODE0_CTRLA_GPTRST_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLA_GPTRST_Msk instead */
+#define RTC_MODE0_CTRLA_COUNTSYNC_Pos       15                                             /**< (RTC_MODE0_CTRLA) Count Read Synchronization Enable Position */
+#define RTC_MODE0_CTRLA_COUNTSYNC_Msk       (_U_(0x1) << RTC_MODE0_CTRLA_COUNTSYNC_Pos)    /**< (RTC_MODE0_CTRLA) Count Read Synchronization Enable Mask */
+#define RTC_MODE0_CTRLA_COUNTSYNC           RTC_MODE0_CTRLA_COUNTSYNC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLA_COUNTSYNC_Msk instead */
+#define RTC_MODE0_CTRLA_MASK                _U_(0xCF8F)                                    /**< \deprecated (RTC_MODE0_CTRLA) Register MASK  (Use RTC_MODE0_CTRLA_Msk instead)  */
+#define RTC_MODE0_CTRLA_Msk                 _U_(0xCF8F)                                    /**< (RTC_MODE0_CTRLA) Register Mask  */
+
+
+/* -------- RTC_MODE1_CTRLA : (RTC Offset: 0x00) (R/W 16) MODE1 Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint16_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint16_t MODE:2;                    /**< bit:   2..3  Operating Mode                           */
+    uint16_t :4;                        /**< bit:   4..7  Reserved */
+    uint16_t PRESCALER:4;               /**< bit:  8..11  Prescaler                                */
+    uint16_t :2;                        /**< bit: 12..13  Reserved */
+    uint16_t GPTRST:1;                  /**< bit:     14  GP Registers Reset On Tamper Enable      */
+    uint16_t COUNTSYNC:1;               /**< bit:     15  Count Read Synchronization Enable        */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_CTRLA_OFFSET              (0x00)                                        /**<  (RTC_MODE1_CTRLA) MODE1 Control A  Offset */
+#define RTC_MODE1_CTRLA_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE1_CTRLA) MODE1 Control A  Reset Value */
+
+#define RTC_MODE1_CTRLA_SWRST_Pos           0                                              /**< (RTC_MODE1_CTRLA) Software Reset Position */
+#define RTC_MODE1_CTRLA_SWRST_Msk           (_U_(0x1) << RTC_MODE1_CTRLA_SWRST_Pos)        /**< (RTC_MODE1_CTRLA) Software Reset Mask */
+#define RTC_MODE1_CTRLA_SWRST               RTC_MODE1_CTRLA_SWRST_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLA_SWRST_Msk instead */
+#define RTC_MODE1_CTRLA_ENABLE_Pos          1                                              /**< (RTC_MODE1_CTRLA) Enable Position */
+#define RTC_MODE1_CTRLA_ENABLE_Msk          (_U_(0x1) << RTC_MODE1_CTRLA_ENABLE_Pos)       /**< (RTC_MODE1_CTRLA) Enable Mask */
+#define RTC_MODE1_CTRLA_ENABLE              RTC_MODE1_CTRLA_ENABLE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLA_ENABLE_Msk instead */
+#define RTC_MODE1_CTRLA_MODE_Pos            2                                              /**< (RTC_MODE1_CTRLA) Operating Mode Position */
+#define RTC_MODE1_CTRLA_MODE_Msk            (_U_(0x3) << RTC_MODE1_CTRLA_MODE_Pos)         /**< (RTC_MODE1_CTRLA) Operating Mode Mask */
+#define RTC_MODE1_CTRLA_MODE(value)         (RTC_MODE1_CTRLA_MODE_Msk & ((value) << RTC_MODE1_CTRLA_MODE_Pos))
+#define   RTC_MODE1_CTRLA_MODE_COUNT32_Val  _U_(0x0)                                       /**< (RTC_MODE1_CTRLA) Mode 0: 32-bit Counter  */
+#define   RTC_MODE1_CTRLA_MODE_COUNT16_Val  _U_(0x1)                                       /**< (RTC_MODE1_CTRLA) Mode 1: 16-bit Counter  */
+#define   RTC_MODE1_CTRLA_MODE_CLOCK_Val    _U_(0x2)                                       /**< (RTC_MODE1_CTRLA) Mode 2: Clock/Calendar  */
+#define RTC_MODE1_CTRLA_MODE_COUNT32        (RTC_MODE1_CTRLA_MODE_COUNT32_Val << RTC_MODE1_CTRLA_MODE_Pos)  /**< (RTC_MODE1_CTRLA) Mode 0: 32-bit Counter Position  */
+#define RTC_MODE1_CTRLA_MODE_COUNT16        (RTC_MODE1_CTRLA_MODE_COUNT16_Val << RTC_MODE1_CTRLA_MODE_Pos)  /**< (RTC_MODE1_CTRLA) Mode 1: 16-bit Counter Position  */
+#define RTC_MODE1_CTRLA_MODE_CLOCK          (RTC_MODE1_CTRLA_MODE_CLOCK_Val << RTC_MODE1_CTRLA_MODE_Pos)  /**< (RTC_MODE1_CTRLA) Mode 2: Clock/Calendar Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_Pos       8                                              /**< (RTC_MODE1_CTRLA) Prescaler Position */
+#define RTC_MODE1_CTRLA_PRESCALER_Msk       (_U_(0xF) << RTC_MODE1_CTRLA_PRESCALER_Pos)    /**< (RTC_MODE1_CTRLA) Prescaler Mask */
+#define RTC_MODE1_CTRLA_PRESCALER(value)    (RTC_MODE1_CTRLA_PRESCALER_Msk & ((value) << RTC_MODE1_CTRLA_PRESCALER_Pos))
+#define   RTC_MODE1_CTRLA_PRESCALER_OFF_Val _U_(0x0)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV1_Val _U_(0x1)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV2_Val _U_(0x2)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/2  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV4_Val _U_(0x3)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/4  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV8_Val _U_(0x4)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/8  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV16_Val _U_(0x5)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/16  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV32_Val _U_(0x6)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/32  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV64_Val _U_(0x7)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/64  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV128_Val _U_(0x8)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/128  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV256_Val _U_(0x9)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/256  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV512_Val _U_(0xA)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/512  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV1024_Val _U_(0xB)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024  */
+#define RTC_MODE1_CTRLA_PRESCALER_OFF       (RTC_MODE1_CTRLA_PRESCALER_OFF_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV1      (RTC_MODE1_CTRLA_PRESCALER_DIV1_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV2      (RTC_MODE1_CTRLA_PRESCALER_DIV2_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/2 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV4      (RTC_MODE1_CTRLA_PRESCALER_DIV4_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/4 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV8      (RTC_MODE1_CTRLA_PRESCALER_DIV8_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/8 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV16     (RTC_MODE1_CTRLA_PRESCALER_DIV16_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/16 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV32     (RTC_MODE1_CTRLA_PRESCALER_DIV32_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/32 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV64     (RTC_MODE1_CTRLA_PRESCALER_DIV64_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/64 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV128    (RTC_MODE1_CTRLA_PRESCALER_DIV128_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/128 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV256    (RTC_MODE1_CTRLA_PRESCALER_DIV256_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/256 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV512    (RTC_MODE1_CTRLA_PRESCALER_DIV512_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/512 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV1024   (RTC_MODE1_CTRLA_PRESCALER_DIV1024_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024 Position  */
+#define RTC_MODE1_CTRLA_GPTRST_Pos          14                                             /**< (RTC_MODE1_CTRLA) GP Registers Reset On Tamper Enable Position */
+#define RTC_MODE1_CTRLA_GPTRST_Msk          (_U_(0x1) << RTC_MODE1_CTRLA_GPTRST_Pos)       /**< (RTC_MODE1_CTRLA) GP Registers Reset On Tamper Enable Mask */
+#define RTC_MODE1_CTRLA_GPTRST              RTC_MODE1_CTRLA_GPTRST_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLA_GPTRST_Msk instead */
+#define RTC_MODE1_CTRLA_COUNTSYNC_Pos       15                                             /**< (RTC_MODE1_CTRLA) Count Read Synchronization Enable Position */
+#define RTC_MODE1_CTRLA_COUNTSYNC_Msk       (_U_(0x1) << RTC_MODE1_CTRLA_COUNTSYNC_Pos)    /**< (RTC_MODE1_CTRLA) Count Read Synchronization Enable Mask */
+#define RTC_MODE1_CTRLA_COUNTSYNC           RTC_MODE1_CTRLA_COUNTSYNC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLA_COUNTSYNC_Msk instead */
+#define RTC_MODE1_CTRLA_MASK                _U_(0xCF0F)                                    /**< \deprecated (RTC_MODE1_CTRLA) Register MASK  (Use RTC_MODE1_CTRLA_Msk instead)  */
+#define RTC_MODE1_CTRLA_Msk                 _U_(0xCF0F)                                    /**< (RTC_MODE1_CTRLA) Register Mask  */
+
+
+/* -------- RTC_MODE2_CTRLA : (RTC Offset: 0x00) (R/W 16) MODE2 Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint16_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint16_t MODE:2;                    /**< bit:   2..3  Operating Mode                           */
+    uint16_t :2;                        /**< bit:   4..5  Reserved */
+    uint16_t CLKREP:1;                  /**< bit:      6  Clock Representation                     */
+    uint16_t MATCHCLR:1;                /**< bit:      7  Clear on Match                           */
+    uint16_t PRESCALER:4;               /**< bit:  8..11  Prescaler                                */
+    uint16_t :2;                        /**< bit: 12..13  Reserved */
+    uint16_t GPTRST:1;                  /**< bit:     14  GP Registers Reset On Tamper Enable      */
+    uint16_t CLOCKSYNC:1;               /**< bit:     15  Clock Read Synchronization Enable        */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE2_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_CTRLA_OFFSET              (0x00)                                        /**<  (RTC_MODE2_CTRLA) MODE2 Control A  Offset */
+#define RTC_MODE2_CTRLA_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE2_CTRLA) MODE2 Control A  Reset Value */
+
+#define RTC_MODE2_CTRLA_SWRST_Pos           0                                              /**< (RTC_MODE2_CTRLA) Software Reset Position */
+#define RTC_MODE2_CTRLA_SWRST_Msk           (_U_(0x1) << RTC_MODE2_CTRLA_SWRST_Pos)        /**< (RTC_MODE2_CTRLA) Software Reset Mask */
+#define RTC_MODE2_CTRLA_SWRST               RTC_MODE2_CTRLA_SWRST_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_SWRST_Msk instead */
+#define RTC_MODE2_CTRLA_ENABLE_Pos          1                                              /**< (RTC_MODE2_CTRLA) Enable Position */
+#define RTC_MODE2_CTRLA_ENABLE_Msk          (_U_(0x1) << RTC_MODE2_CTRLA_ENABLE_Pos)       /**< (RTC_MODE2_CTRLA) Enable Mask */
+#define RTC_MODE2_CTRLA_ENABLE              RTC_MODE2_CTRLA_ENABLE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_ENABLE_Msk instead */
+#define RTC_MODE2_CTRLA_MODE_Pos            2                                              /**< (RTC_MODE2_CTRLA) Operating Mode Position */
+#define RTC_MODE2_CTRLA_MODE_Msk            (_U_(0x3) << RTC_MODE2_CTRLA_MODE_Pos)         /**< (RTC_MODE2_CTRLA) Operating Mode Mask */
+#define RTC_MODE2_CTRLA_MODE(value)         (RTC_MODE2_CTRLA_MODE_Msk & ((value) << RTC_MODE2_CTRLA_MODE_Pos))
+#define   RTC_MODE2_CTRLA_MODE_COUNT32_Val  _U_(0x0)                                       /**< (RTC_MODE2_CTRLA) Mode 0: 32-bit Counter  */
+#define   RTC_MODE2_CTRLA_MODE_COUNT16_Val  _U_(0x1)                                       /**< (RTC_MODE2_CTRLA) Mode 1: 16-bit Counter  */
+#define   RTC_MODE2_CTRLA_MODE_CLOCK_Val    _U_(0x2)                                       /**< (RTC_MODE2_CTRLA) Mode 2: Clock/Calendar  */
+#define RTC_MODE2_CTRLA_MODE_COUNT32        (RTC_MODE2_CTRLA_MODE_COUNT32_Val << RTC_MODE2_CTRLA_MODE_Pos)  /**< (RTC_MODE2_CTRLA) Mode 0: 32-bit Counter Position  */
+#define RTC_MODE2_CTRLA_MODE_COUNT16        (RTC_MODE2_CTRLA_MODE_COUNT16_Val << RTC_MODE2_CTRLA_MODE_Pos)  /**< (RTC_MODE2_CTRLA) Mode 1: 16-bit Counter Position  */
+#define RTC_MODE2_CTRLA_MODE_CLOCK          (RTC_MODE2_CTRLA_MODE_CLOCK_Val << RTC_MODE2_CTRLA_MODE_Pos)  /**< (RTC_MODE2_CTRLA) Mode 2: Clock/Calendar Position  */
+#define RTC_MODE2_CTRLA_CLKREP_Pos          6                                              /**< (RTC_MODE2_CTRLA) Clock Representation Position */
+#define RTC_MODE2_CTRLA_CLKREP_Msk          (_U_(0x1) << RTC_MODE2_CTRLA_CLKREP_Pos)       /**< (RTC_MODE2_CTRLA) Clock Representation Mask */
+#define RTC_MODE2_CTRLA_CLKREP              RTC_MODE2_CTRLA_CLKREP_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_CLKREP_Msk instead */
+#define RTC_MODE2_CTRLA_MATCHCLR_Pos        7                                              /**< (RTC_MODE2_CTRLA) Clear on Match Position */
+#define RTC_MODE2_CTRLA_MATCHCLR_Msk        (_U_(0x1) << RTC_MODE2_CTRLA_MATCHCLR_Pos)     /**< (RTC_MODE2_CTRLA) Clear on Match Mask */
+#define RTC_MODE2_CTRLA_MATCHCLR            RTC_MODE2_CTRLA_MATCHCLR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_MATCHCLR_Msk instead */
+#define RTC_MODE2_CTRLA_PRESCALER_Pos       8                                              /**< (RTC_MODE2_CTRLA) Prescaler Position */
+#define RTC_MODE2_CTRLA_PRESCALER_Msk       (_U_(0xF) << RTC_MODE2_CTRLA_PRESCALER_Pos)    /**< (RTC_MODE2_CTRLA) Prescaler Mask */
+#define RTC_MODE2_CTRLA_PRESCALER(value)    (RTC_MODE2_CTRLA_PRESCALER_Msk & ((value) << RTC_MODE2_CTRLA_PRESCALER_Pos))
+#define   RTC_MODE2_CTRLA_PRESCALER_OFF_Val _U_(0x0)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV1_Val _U_(0x1)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV2_Val _U_(0x2)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/2  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV4_Val _U_(0x3)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/4  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV8_Val _U_(0x4)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/8  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV16_Val _U_(0x5)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/16  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV32_Val _U_(0x6)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/32  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV64_Val _U_(0x7)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/64  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV128_Val _U_(0x8)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/128  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV256_Val _U_(0x9)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/256  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV512_Val _U_(0xA)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/512  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV1024_Val _U_(0xB)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024  */
+#define RTC_MODE2_CTRLA_PRESCALER_OFF       (RTC_MODE2_CTRLA_PRESCALER_OFF_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV1      (RTC_MODE2_CTRLA_PRESCALER_DIV1_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV2      (RTC_MODE2_CTRLA_PRESCALER_DIV2_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/2 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV4      (RTC_MODE2_CTRLA_PRESCALER_DIV4_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/4 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV8      (RTC_MODE2_CTRLA_PRESCALER_DIV8_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/8 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV16     (RTC_MODE2_CTRLA_PRESCALER_DIV16_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/16 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV32     (RTC_MODE2_CTRLA_PRESCALER_DIV32_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/32 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV64     (RTC_MODE2_CTRLA_PRESCALER_DIV64_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/64 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV128    (RTC_MODE2_CTRLA_PRESCALER_DIV128_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/128 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV256    (RTC_MODE2_CTRLA_PRESCALER_DIV256_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/256 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV512    (RTC_MODE2_CTRLA_PRESCALER_DIV512_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/512 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV1024   (RTC_MODE2_CTRLA_PRESCALER_DIV1024_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024 Position  */
+#define RTC_MODE2_CTRLA_GPTRST_Pos          14                                             /**< (RTC_MODE2_CTRLA) GP Registers Reset On Tamper Enable Position */
+#define RTC_MODE2_CTRLA_GPTRST_Msk          (_U_(0x1) << RTC_MODE2_CTRLA_GPTRST_Pos)       /**< (RTC_MODE2_CTRLA) GP Registers Reset On Tamper Enable Mask */
+#define RTC_MODE2_CTRLA_GPTRST              RTC_MODE2_CTRLA_GPTRST_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_GPTRST_Msk instead */
+#define RTC_MODE2_CTRLA_CLOCKSYNC_Pos       15                                             /**< (RTC_MODE2_CTRLA) Clock Read Synchronization Enable Position */
+#define RTC_MODE2_CTRLA_CLOCKSYNC_Msk       (_U_(0x1) << RTC_MODE2_CTRLA_CLOCKSYNC_Pos)    /**< (RTC_MODE2_CTRLA) Clock Read Synchronization Enable Mask */
+#define RTC_MODE2_CTRLA_CLOCKSYNC           RTC_MODE2_CTRLA_CLOCKSYNC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_CLOCKSYNC_Msk instead */
+#define RTC_MODE2_CTRLA_MASK                _U_(0xCFCF)                                    /**< \deprecated (RTC_MODE2_CTRLA) Register MASK  (Use RTC_MODE2_CTRLA_Msk instead)  */
+#define RTC_MODE2_CTRLA_Msk                 _U_(0xCFCF)                                    /**< (RTC_MODE2_CTRLA) Register Mask  */
+
+
+/* -------- RTC_MODE0_CTRLB : (RTC Offset: 0x02) (R/W 16) MODE0 Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t GP0EN:1;                   /**< bit:      0  General Purpose 0 Enable                 */
+    uint16_t :3;                        /**< bit:   1..3  Reserved */
+    uint16_t DEBMAJ:1;                  /**< bit:      4  Debouncer Majority Enable                */
+    uint16_t DEBASYNC:1;                /**< bit:      5  Debouncer Asynchronous Enable            */
+    uint16_t RTCOUT:1;                  /**< bit:      6  RTC Output Enable                        */
+    uint16_t DMAEN:1;                   /**< bit:      7  DMA Enable                               */
+    uint16_t DEBF:3;                    /**< bit:  8..10  Debounce Frequency                       */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t ACTF:3;                    /**< bit: 12..14  Active Layer Frequency                   */
+    uint16_t SEPTO:1;                   /**< bit:     15  Separate Tamper Outputs                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE0_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_CTRLB_OFFSET              (0x02)                                        /**<  (RTC_MODE0_CTRLB) MODE0 Control B  Offset */
+#define RTC_MODE0_CTRLB_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE0_CTRLB) MODE0 Control B  Reset Value */
+
+#define RTC_MODE0_CTRLB_GP0EN_Pos           0                                              /**< (RTC_MODE0_CTRLB) General Purpose 0 Enable Position */
+#define RTC_MODE0_CTRLB_GP0EN_Msk           (_U_(0x1) << RTC_MODE0_CTRLB_GP0EN_Pos)        /**< (RTC_MODE0_CTRLB) General Purpose 0 Enable Mask */
+#define RTC_MODE0_CTRLB_GP0EN               RTC_MODE0_CTRLB_GP0EN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_GP0EN_Msk instead */
+#define RTC_MODE0_CTRLB_DEBMAJ_Pos          4                                              /**< (RTC_MODE0_CTRLB) Debouncer Majority Enable Position */
+#define RTC_MODE0_CTRLB_DEBMAJ_Msk          (_U_(0x1) << RTC_MODE0_CTRLB_DEBMAJ_Pos)       /**< (RTC_MODE0_CTRLB) Debouncer Majority Enable Mask */
+#define RTC_MODE0_CTRLB_DEBMAJ              RTC_MODE0_CTRLB_DEBMAJ_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_DEBMAJ_Msk instead */
+#define RTC_MODE0_CTRLB_DEBASYNC_Pos        5                                              /**< (RTC_MODE0_CTRLB) Debouncer Asynchronous Enable Position */
+#define RTC_MODE0_CTRLB_DEBASYNC_Msk        (_U_(0x1) << RTC_MODE0_CTRLB_DEBASYNC_Pos)     /**< (RTC_MODE0_CTRLB) Debouncer Asynchronous Enable Mask */
+#define RTC_MODE0_CTRLB_DEBASYNC            RTC_MODE0_CTRLB_DEBASYNC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_DEBASYNC_Msk instead */
+#define RTC_MODE0_CTRLB_RTCOUT_Pos          6                                              /**< (RTC_MODE0_CTRLB) RTC Output Enable Position */
+#define RTC_MODE0_CTRLB_RTCOUT_Msk          (_U_(0x1) << RTC_MODE0_CTRLB_RTCOUT_Pos)       /**< (RTC_MODE0_CTRLB) RTC Output Enable Mask */
+#define RTC_MODE0_CTRLB_RTCOUT              RTC_MODE0_CTRLB_RTCOUT_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_RTCOUT_Msk instead */
+#define RTC_MODE0_CTRLB_DMAEN_Pos           7                                              /**< (RTC_MODE0_CTRLB) DMA Enable Position */
+#define RTC_MODE0_CTRLB_DMAEN_Msk           (_U_(0x1) << RTC_MODE0_CTRLB_DMAEN_Pos)        /**< (RTC_MODE0_CTRLB) DMA Enable Mask */
+#define RTC_MODE0_CTRLB_DMAEN               RTC_MODE0_CTRLB_DMAEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_DMAEN_Msk instead */
+#define RTC_MODE0_CTRLB_DEBF_Pos            8                                              /**< (RTC_MODE0_CTRLB) Debounce Frequency Position */
+#define RTC_MODE0_CTRLB_DEBF_Msk            (_U_(0x7) << RTC_MODE0_CTRLB_DEBF_Pos)         /**< (RTC_MODE0_CTRLB) Debounce Frequency Mask */
+#define RTC_MODE0_CTRLB_DEBF(value)         (RTC_MODE0_CTRLB_DEBF_Msk & ((value) << RTC_MODE0_CTRLB_DEBF_Pos))
+#define   RTC_MODE0_CTRLB_DEBF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/2  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/4  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/8  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/16  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/32  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/64  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/128  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/256  */
+#define RTC_MODE0_CTRLB_DEBF_DIV2           (RTC_MODE0_CTRLB_DEBF_DIV2_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/2 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV4           (RTC_MODE0_CTRLB_DEBF_DIV4_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/4 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV8           (RTC_MODE0_CTRLB_DEBF_DIV8_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/8 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV16          (RTC_MODE0_CTRLB_DEBF_DIV16_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/16 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV32          (RTC_MODE0_CTRLB_DEBF_DIV32_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/32 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV64          (RTC_MODE0_CTRLB_DEBF_DIV64_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/64 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV128         (RTC_MODE0_CTRLB_DEBF_DIV128_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/128 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV256         (RTC_MODE0_CTRLB_DEBF_DIV256_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/256 Position  */
+#define RTC_MODE0_CTRLB_ACTF_Pos            12                                             /**< (RTC_MODE0_CTRLB) Active Layer Frequency Position */
+#define RTC_MODE0_CTRLB_ACTF_Msk            (_U_(0x7) << RTC_MODE0_CTRLB_ACTF_Pos)         /**< (RTC_MODE0_CTRLB) Active Layer Frequency Mask */
+#define RTC_MODE0_CTRLB_ACTF(value)         (RTC_MODE0_CTRLB_ACTF_Msk & ((value) << RTC_MODE0_CTRLB_ACTF_Pos))
+#define   RTC_MODE0_CTRLB_ACTF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/2  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/4  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/8  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/16  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/32  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/64  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/128  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/256  */
+#define RTC_MODE0_CTRLB_ACTF_DIV2           (RTC_MODE0_CTRLB_ACTF_DIV2_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/2 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV4           (RTC_MODE0_CTRLB_ACTF_DIV4_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/4 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV8           (RTC_MODE0_CTRLB_ACTF_DIV8_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/8 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV16          (RTC_MODE0_CTRLB_ACTF_DIV16_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/16 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV32          (RTC_MODE0_CTRLB_ACTF_DIV32_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/32 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV64          (RTC_MODE0_CTRLB_ACTF_DIV64_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/64 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV128         (RTC_MODE0_CTRLB_ACTF_DIV128_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/128 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV256         (RTC_MODE0_CTRLB_ACTF_DIV256_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/256 Position  */
+#define RTC_MODE0_CTRLB_SEPTO_Pos           15                                             /**< (RTC_MODE0_CTRLB) Separate Tamper Outputs Position */
+#define RTC_MODE0_CTRLB_SEPTO_Msk           (_U_(0x1) << RTC_MODE0_CTRLB_SEPTO_Pos)        /**< (RTC_MODE0_CTRLB) Separate Tamper Outputs Mask */
+#define RTC_MODE0_CTRLB_SEPTO               RTC_MODE0_CTRLB_SEPTO_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_SEPTO_Msk instead */
+#define RTC_MODE0_CTRLB_MASK                _U_(0xF7F1)                                    /**< \deprecated (RTC_MODE0_CTRLB) Register MASK  (Use RTC_MODE0_CTRLB_Msk instead)  */
+#define RTC_MODE0_CTRLB_Msk                 _U_(0xF7F1)                                    /**< (RTC_MODE0_CTRLB) Register Mask  */
+
+
+/* -------- RTC_MODE1_CTRLB : (RTC Offset: 0x02) (R/W 16) MODE1 Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t GP0EN:1;                   /**< bit:      0  General Purpose 0 Enable                 */
+    uint16_t :3;                        /**< bit:   1..3  Reserved */
+    uint16_t DEBMAJ:1;                  /**< bit:      4  Debouncer Majority Enable                */
+    uint16_t DEBASYNC:1;                /**< bit:      5  Debouncer Asynchronous Enable            */
+    uint16_t RTCOUT:1;                  /**< bit:      6  RTC Output Enable                        */
+    uint16_t DMAEN:1;                   /**< bit:      7  DMA Enable                               */
+    uint16_t DEBF:3;                    /**< bit:  8..10  Debounce Frequency                       */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t ACTF:3;                    /**< bit: 12..14  Active Layer Frequency                   */
+    uint16_t SEPTO:1;                   /**< bit:     15  Separate Tamper Outputs                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_CTRLB_OFFSET              (0x02)                                        /**<  (RTC_MODE1_CTRLB) MODE1 Control B  Offset */
+#define RTC_MODE1_CTRLB_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE1_CTRLB) MODE1 Control B  Reset Value */
+
+#define RTC_MODE1_CTRLB_GP0EN_Pos           0                                              /**< (RTC_MODE1_CTRLB) General Purpose 0 Enable Position */
+#define RTC_MODE1_CTRLB_GP0EN_Msk           (_U_(0x1) << RTC_MODE1_CTRLB_GP0EN_Pos)        /**< (RTC_MODE1_CTRLB) General Purpose 0 Enable Mask */
+#define RTC_MODE1_CTRLB_GP0EN               RTC_MODE1_CTRLB_GP0EN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_GP0EN_Msk instead */
+#define RTC_MODE1_CTRLB_DEBMAJ_Pos          4                                              /**< (RTC_MODE1_CTRLB) Debouncer Majority Enable Position */
+#define RTC_MODE1_CTRLB_DEBMAJ_Msk          (_U_(0x1) << RTC_MODE1_CTRLB_DEBMAJ_Pos)       /**< (RTC_MODE1_CTRLB) Debouncer Majority Enable Mask */
+#define RTC_MODE1_CTRLB_DEBMAJ              RTC_MODE1_CTRLB_DEBMAJ_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_DEBMAJ_Msk instead */
+#define RTC_MODE1_CTRLB_DEBASYNC_Pos        5                                              /**< (RTC_MODE1_CTRLB) Debouncer Asynchronous Enable Position */
+#define RTC_MODE1_CTRLB_DEBASYNC_Msk        (_U_(0x1) << RTC_MODE1_CTRLB_DEBASYNC_Pos)     /**< (RTC_MODE1_CTRLB) Debouncer Asynchronous Enable Mask */
+#define RTC_MODE1_CTRLB_DEBASYNC            RTC_MODE1_CTRLB_DEBASYNC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_DEBASYNC_Msk instead */
+#define RTC_MODE1_CTRLB_RTCOUT_Pos          6                                              /**< (RTC_MODE1_CTRLB) RTC Output Enable Position */
+#define RTC_MODE1_CTRLB_RTCOUT_Msk          (_U_(0x1) << RTC_MODE1_CTRLB_RTCOUT_Pos)       /**< (RTC_MODE1_CTRLB) RTC Output Enable Mask */
+#define RTC_MODE1_CTRLB_RTCOUT              RTC_MODE1_CTRLB_RTCOUT_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_RTCOUT_Msk instead */
+#define RTC_MODE1_CTRLB_DMAEN_Pos           7                                              /**< (RTC_MODE1_CTRLB) DMA Enable Position */
+#define RTC_MODE1_CTRLB_DMAEN_Msk           (_U_(0x1) << RTC_MODE1_CTRLB_DMAEN_Pos)        /**< (RTC_MODE1_CTRLB) DMA Enable Mask */
+#define RTC_MODE1_CTRLB_DMAEN               RTC_MODE1_CTRLB_DMAEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_DMAEN_Msk instead */
+#define RTC_MODE1_CTRLB_DEBF_Pos            8                                              /**< (RTC_MODE1_CTRLB) Debounce Frequency Position */
+#define RTC_MODE1_CTRLB_DEBF_Msk            (_U_(0x7) << RTC_MODE1_CTRLB_DEBF_Pos)         /**< (RTC_MODE1_CTRLB) Debounce Frequency Mask */
+#define RTC_MODE1_CTRLB_DEBF(value)         (RTC_MODE1_CTRLB_DEBF_Msk & ((value) << RTC_MODE1_CTRLB_DEBF_Pos))
+#define   RTC_MODE1_CTRLB_DEBF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/2  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/4  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/8  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/16  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/32  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/64  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/128  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/256  */
+#define RTC_MODE1_CTRLB_DEBF_DIV2           (RTC_MODE1_CTRLB_DEBF_DIV2_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/2 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV4           (RTC_MODE1_CTRLB_DEBF_DIV4_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/4 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV8           (RTC_MODE1_CTRLB_DEBF_DIV8_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/8 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV16          (RTC_MODE1_CTRLB_DEBF_DIV16_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/16 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV32          (RTC_MODE1_CTRLB_DEBF_DIV32_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/32 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV64          (RTC_MODE1_CTRLB_DEBF_DIV64_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/64 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV128         (RTC_MODE1_CTRLB_DEBF_DIV128_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/128 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV256         (RTC_MODE1_CTRLB_DEBF_DIV256_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/256 Position  */
+#define RTC_MODE1_CTRLB_ACTF_Pos            12                                             /**< (RTC_MODE1_CTRLB) Active Layer Frequency Position */
+#define RTC_MODE1_CTRLB_ACTF_Msk            (_U_(0x7) << RTC_MODE1_CTRLB_ACTF_Pos)         /**< (RTC_MODE1_CTRLB) Active Layer Frequency Mask */
+#define RTC_MODE1_CTRLB_ACTF(value)         (RTC_MODE1_CTRLB_ACTF_Msk & ((value) << RTC_MODE1_CTRLB_ACTF_Pos))
+#define   RTC_MODE1_CTRLB_ACTF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/2  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/4  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/8  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/16  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/32  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/64  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/128  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/256  */
+#define RTC_MODE1_CTRLB_ACTF_DIV2           (RTC_MODE1_CTRLB_ACTF_DIV2_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/2 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV4           (RTC_MODE1_CTRLB_ACTF_DIV4_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/4 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV8           (RTC_MODE1_CTRLB_ACTF_DIV8_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/8 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV16          (RTC_MODE1_CTRLB_ACTF_DIV16_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/16 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV32          (RTC_MODE1_CTRLB_ACTF_DIV32_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/32 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV64          (RTC_MODE1_CTRLB_ACTF_DIV64_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/64 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV128         (RTC_MODE1_CTRLB_ACTF_DIV128_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/128 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV256         (RTC_MODE1_CTRLB_ACTF_DIV256_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/256 Position  */
+#define RTC_MODE1_CTRLB_SEPTO_Pos           15                                             /**< (RTC_MODE1_CTRLB) Separate Tamper Outputs Position */
+#define RTC_MODE1_CTRLB_SEPTO_Msk           (_U_(0x1) << RTC_MODE1_CTRLB_SEPTO_Pos)        /**< (RTC_MODE1_CTRLB) Separate Tamper Outputs Mask */
+#define RTC_MODE1_CTRLB_SEPTO               RTC_MODE1_CTRLB_SEPTO_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_SEPTO_Msk instead */
+#define RTC_MODE1_CTRLB_MASK                _U_(0xF7F1)                                    /**< \deprecated (RTC_MODE1_CTRLB) Register MASK  (Use RTC_MODE1_CTRLB_Msk instead)  */
+#define RTC_MODE1_CTRLB_Msk                 _U_(0xF7F1)                                    /**< (RTC_MODE1_CTRLB) Register Mask  */
+
+
+/* -------- RTC_MODE2_CTRLB : (RTC Offset: 0x02) (R/W 16) MODE2 Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t GP0EN:1;                   /**< bit:      0  General Purpose 0 Enable                 */
+    uint16_t :3;                        /**< bit:   1..3  Reserved */
+    uint16_t DEBMAJ:1;                  /**< bit:      4  Debouncer Majority Enable                */
+    uint16_t DEBASYNC:1;                /**< bit:      5  Debouncer Asynchronous Enable            */
+    uint16_t RTCOUT:1;                  /**< bit:      6  RTC Output Enable                        */
+    uint16_t DMAEN:1;                   /**< bit:      7  DMA Enable                               */
+    uint16_t DEBF:3;                    /**< bit:  8..10  Debounce Frequency                       */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t ACTF:3;                    /**< bit: 12..14  Active Layer Frequency                   */
+    uint16_t SEPTO:1;                   /**< bit:     15  Separate Tamper Outputs                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE2_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_CTRLB_OFFSET              (0x02)                                        /**<  (RTC_MODE2_CTRLB) MODE2 Control B  Offset */
+#define RTC_MODE2_CTRLB_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE2_CTRLB) MODE2 Control B  Reset Value */
+
+#define RTC_MODE2_CTRLB_GP0EN_Pos           0                                              /**< (RTC_MODE2_CTRLB) General Purpose 0 Enable Position */
+#define RTC_MODE2_CTRLB_GP0EN_Msk           (_U_(0x1) << RTC_MODE2_CTRLB_GP0EN_Pos)        /**< (RTC_MODE2_CTRLB) General Purpose 0 Enable Mask */
+#define RTC_MODE2_CTRLB_GP0EN               RTC_MODE2_CTRLB_GP0EN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_GP0EN_Msk instead */
+#define RTC_MODE2_CTRLB_DEBMAJ_Pos          4                                              /**< (RTC_MODE2_CTRLB) Debouncer Majority Enable Position */
+#define RTC_MODE2_CTRLB_DEBMAJ_Msk          (_U_(0x1) << RTC_MODE2_CTRLB_DEBMAJ_Pos)       /**< (RTC_MODE2_CTRLB) Debouncer Majority Enable Mask */
+#define RTC_MODE2_CTRLB_DEBMAJ              RTC_MODE2_CTRLB_DEBMAJ_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_DEBMAJ_Msk instead */
+#define RTC_MODE2_CTRLB_DEBASYNC_Pos        5                                              /**< (RTC_MODE2_CTRLB) Debouncer Asynchronous Enable Position */
+#define RTC_MODE2_CTRLB_DEBASYNC_Msk        (_U_(0x1) << RTC_MODE2_CTRLB_DEBASYNC_Pos)     /**< (RTC_MODE2_CTRLB) Debouncer Asynchronous Enable Mask */
+#define RTC_MODE2_CTRLB_DEBASYNC            RTC_MODE2_CTRLB_DEBASYNC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_DEBASYNC_Msk instead */
+#define RTC_MODE2_CTRLB_RTCOUT_Pos          6                                              /**< (RTC_MODE2_CTRLB) RTC Output Enable Position */
+#define RTC_MODE2_CTRLB_RTCOUT_Msk          (_U_(0x1) << RTC_MODE2_CTRLB_RTCOUT_Pos)       /**< (RTC_MODE2_CTRLB) RTC Output Enable Mask */
+#define RTC_MODE2_CTRLB_RTCOUT              RTC_MODE2_CTRLB_RTCOUT_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_RTCOUT_Msk instead */
+#define RTC_MODE2_CTRLB_DMAEN_Pos           7                                              /**< (RTC_MODE2_CTRLB) DMA Enable Position */
+#define RTC_MODE2_CTRLB_DMAEN_Msk           (_U_(0x1) << RTC_MODE2_CTRLB_DMAEN_Pos)        /**< (RTC_MODE2_CTRLB) DMA Enable Mask */
+#define RTC_MODE2_CTRLB_DMAEN               RTC_MODE2_CTRLB_DMAEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_DMAEN_Msk instead */
+#define RTC_MODE2_CTRLB_DEBF_Pos            8                                              /**< (RTC_MODE2_CTRLB) Debounce Frequency Position */
+#define RTC_MODE2_CTRLB_DEBF_Msk            (_U_(0x7) << RTC_MODE2_CTRLB_DEBF_Pos)         /**< (RTC_MODE2_CTRLB) Debounce Frequency Mask */
+#define RTC_MODE2_CTRLB_DEBF(value)         (RTC_MODE2_CTRLB_DEBF_Msk & ((value) << RTC_MODE2_CTRLB_DEBF_Pos))
+#define   RTC_MODE2_CTRLB_DEBF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/2  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/4  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/8  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/16  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/32  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/64  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/128  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/256  */
+#define RTC_MODE2_CTRLB_DEBF_DIV2           (RTC_MODE2_CTRLB_DEBF_DIV2_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/2 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV4           (RTC_MODE2_CTRLB_DEBF_DIV4_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/4 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV8           (RTC_MODE2_CTRLB_DEBF_DIV8_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/8 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV16          (RTC_MODE2_CTRLB_DEBF_DIV16_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/16 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV32          (RTC_MODE2_CTRLB_DEBF_DIV32_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/32 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV64          (RTC_MODE2_CTRLB_DEBF_DIV64_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/64 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV128         (RTC_MODE2_CTRLB_DEBF_DIV128_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/128 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV256         (RTC_MODE2_CTRLB_DEBF_DIV256_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/256 Position  */
+#define RTC_MODE2_CTRLB_ACTF_Pos            12                                             /**< (RTC_MODE2_CTRLB) Active Layer Frequency Position */
+#define RTC_MODE2_CTRLB_ACTF_Msk            (_U_(0x7) << RTC_MODE2_CTRLB_ACTF_Pos)         /**< (RTC_MODE2_CTRLB) Active Layer Frequency Mask */
+#define RTC_MODE2_CTRLB_ACTF(value)         (RTC_MODE2_CTRLB_ACTF_Msk & ((value) << RTC_MODE2_CTRLB_ACTF_Pos))
+#define   RTC_MODE2_CTRLB_ACTF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/2  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/4  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/8  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/16  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/32  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/64  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/128  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/256  */
+#define RTC_MODE2_CTRLB_ACTF_DIV2           (RTC_MODE2_CTRLB_ACTF_DIV2_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/2 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV4           (RTC_MODE2_CTRLB_ACTF_DIV4_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/4 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV8           (RTC_MODE2_CTRLB_ACTF_DIV8_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/8 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV16          (RTC_MODE2_CTRLB_ACTF_DIV16_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/16 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV32          (RTC_MODE2_CTRLB_ACTF_DIV32_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/32 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV64          (RTC_MODE2_CTRLB_ACTF_DIV64_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/64 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV128         (RTC_MODE2_CTRLB_ACTF_DIV128_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/128 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV256         (RTC_MODE2_CTRLB_ACTF_DIV256_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/256 Position  */
+#define RTC_MODE2_CTRLB_SEPTO_Pos           15                                             /**< (RTC_MODE2_CTRLB) Separate Tamper Outputs Position */
+#define RTC_MODE2_CTRLB_SEPTO_Msk           (_U_(0x1) << RTC_MODE2_CTRLB_SEPTO_Pos)        /**< (RTC_MODE2_CTRLB) Separate Tamper Outputs Mask */
+#define RTC_MODE2_CTRLB_SEPTO               RTC_MODE2_CTRLB_SEPTO_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_SEPTO_Msk instead */
+#define RTC_MODE2_CTRLB_MASK                _U_(0xF7F1)                                    /**< \deprecated (RTC_MODE2_CTRLB) Register MASK  (Use RTC_MODE2_CTRLB_Msk instead)  */
+#define RTC_MODE2_CTRLB_Msk                 _U_(0xF7F1)                                    /**< (RTC_MODE2_CTRLB) Register Mask  */
+
+
+/* -------- RTC_MODE0_EVCTRL : (RTC Offset: 0x04) (R/W 32) MODE0 Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PEREO0:1;                  /**< bit:      0  Periodic Interval 0 Event Output Enable  */
+    uint32_t PEREO1:1;                  /**< bit:      1  Periodic Interval 1 Event Output Enable  */
+    uint32_t PEREO2:1;                  /**< bit:      2  Periodic Interval 2 Event Output Enable  */
+    uint32_t PEREO3:1;                  /**< bit:      3  Periodic Interval 3 Event Output Enable  */
+    uint32_t PEREO4:1;                  /**< bit:      4  Periodic Interval 4 Event Output Enable  */
+    uint32_t PEREO5:1;                  /**< bit:      5  Periodic Interval 5 Event Output Enable  */
+    uint32_t PEREO6:1;                  /**< bit:      6  Periodic Interval 6 Event Output Enable  */
+    uint32_t PEREO7:1;                  /**< bit:      7  Periodic Interval 7 Event Output Enable  */
+    uint32_t CMPEO0:1;                  /**< bit:      8  Compare 0 Event Output Enable            */
+    uint32_t :5;                        /**< bit:  9..13  Reserved */
+    uint32_t TAMPEREO:1;                /**< bit:     14  Tamper Event Output Enable               */
+    uint32_t OVFEO:1;                   /**< bit:     15  Overflow Event Output Enable             */
+    uint32_t TAMPEVEI:1;                /**< bit:     16  Tamper Event Input Enable                */
+    uint32_t :7;                        /**< bit: 17..23  Reserved */
+    uint32_t PERDEO:1;                  /**< bit:     24  Periodic Interval Daily Event Output Enable */
+    uint32_t :7;                        /**< bit: 25..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t PEREO:8;                   /**< bit:   0..7  Periodic Interval x Event Output Enable  */
+    uint32_t CMPEO:1;                   /**< bit:      8  Compare x Event Output Enable            */
+    uint32_t :23;                       /**< bit:  9..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE0_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_EVCTRL_OFFSET             (0x04)                                        /**<  (RTC_MODE0_EVCTRL) MODE0 Event Control  Offset */
+#define RTC_MODE0_EVCTRL_RESETVALUE         _U_(0x00)                                     /**<  (RTC_MODE0_EVCTRL) MODE0 Event Control  Reset Value */
+
+#define RTC_MODE0_EVCTRL_PEREO0_Pos         0                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 0 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO0_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO0_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 0 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO0             RTC_MODE0_EVCTRL_PEREO0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO0_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO1_Pos         1                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 1 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO1_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO1_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 1 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO1             RTC_MODE0_EVCTRL_PEREO1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO1_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO2_Pos         2                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 2 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO2_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO2_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 2 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO2             RTC_MODE0_EVCTRL_PEREO2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO2_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO3_Pos         3                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 3 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO3_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO3_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 3 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO3             RTC_MODE0_EVCTRL_PEREO3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO3_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO4_Pos         4                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 4 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO4_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO4_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 4 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO4             RTC_MODE0_EVCTRL_PEREO4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO4_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO5_Pos         5                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 5 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO5_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO5_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 5 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO5             RTC_MODE0_EVCTRL_PEREO5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO5_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO6_Pos         6                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 6 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO6_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO6_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 6 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO6             RTC_MODE0_EVCTRL_PEREO6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO6_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO7_Pos         7                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 7 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO7_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO7_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 7 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO7             RTC_MODE0_EVCTRL_PEREO7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO7_Msk instead */
+#define RTC_MODE0_EVCTRL_CMPEO0_Pos         8                                              /**< (RTC_MODE0_EVCTRL) Compare 0 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_CMPEO0_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_CMPEO0_Pos)      /**< (RTC_MODE0_EVCTRL) Compare 0 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_CMPEO0             RTC_MODE0_EVCTRL_CMPEO0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_CMPEO0_Msk instead */
+#define RTC_MODE0_EVCTRL_TAMPEREO_Pos       14                                             /**< (RTC_MODE0_EVCTRL) Tamper Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_TAMPEREO_Msk       (_U_(0x1) << RTC_MODE0_EVCTRL_TAMPEREO_Pos)    /**< (RTC_MODE0_EVCTRL) Tamper Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_TAMPEREO           RTC_MODE0_EVCTRL_TAMPEREO_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_TAMPEREO_Msk instead */
+#define RTC_MODE0_EVCTRL_OVFEO_Pos          15                                             /**< (RTC_MODE0_EVCTRL) Overflow Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_OVFEO_Msk          (_U_(0x1) << RTC_MODE0_EVCTRL_OVFEO_Pos)       /**< (RTC_MODE0_EVCTRL) Overflow Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_OVFEO              RTC_MODE0_EVCTRL_OVFEO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_OVFEO_Msk instead */
+#define RTC_MODE0_EVCTRL_TAMPEVEI_Pos       16                                             /**< (RTC_MODE0_EVCTRL) Tamper Event Input Enable Position */
+#define RTC_MODE0_EVCTRL_TAMPEVEI_Msk       (_U_(0x1) << RTC_MODE0_EVCTRL_TAMPEVEI_Pos)    /**< (RTC_MODE0_EVCTRL) Tamper Event Input Enable Mask */
+#define RTC_MODE0_EVCTRL_TAMPEVEI           RTC_MODE0_EVCTRL_TAMPEVEI_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_TAMPEVEI_Msk instead */
+#define RTC_MODE0_EVCTRL_PERDEO_Pos         24                                             /**< (RTC_MODE0_EVCTRL) Periodic Interval Daily Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PERDEO_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PERDEO_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval Daily Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PERDEO             RTC_MODE0_EVCTRL_PERDEO_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PERDEO_Msk instead */
+#define RTC_MODE0_EVCTRL_MASK               _U_(0x101C1FF)                                 /**< \deprecated (RTC_MODE0_EVCTRL) Register MASK  (Use RTC_MODE0_EVCTRL_Msk instead)  */
+#define RTC_MODE0_EVCTRL_Msk                _U_(0x101C1FF)                                 /**< (RTC_MODE0_EVCTRL) Register Mask  */
+
+#define RTC_MODE0_EVCTRL_PEREO_Pos          0                                              /**< (RTC_MODE0_EVCTRL Position) Periodic Interval x Event Output Enable */
+#define RTC_MODE0_EVCTRL_PEREO_Msk          (_U_(0xFF) << RTC_MODE0_EVCTRL_PEREO_Pos)      /**< (RTC_MODE0_EVCTRL Mask) PEREO */
+#define RTC_MODE0_EVCTRL_PEREO(value)       (RTC_MODE0_EVCTRL_PEREO_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO_Pos))  
+#define RTC_MODE0_EVCTRL_CMPEO_Pos          8                                              /**< (RTC_MODE0_EVCTRL Position) Compare x Event Output Enable */
+#define RTC_MODE0_EVCTRL_CMPEO_Msk          (_U_(0x1) << RTC_MODE0_EVCTRL_CMPEO_Pos)       /**< (RTC_MODE0_EVCTRL Mask) CMPEO */
+#define RTC_MODE0_EVCTRL_CMPEO(value)       (RTC_MODE0_EVCTRL_CMPEO_Msk & ((value) << RTC_MODE0_EVCTRL_CMPEO_Pos))  
+
+/* -------- RTC_MODE1_EVCTRL : (RTC Offset: 0x04) (R/W 32) MODE1 Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PEREO0:1;                  /**< bit:      0  Periodic Interval 0 Event Output Enable  */
+    uint32_t PEREO1:1;                  /**< bit:      1  Periodic Interval 1 Event Output Enable  */
+    uint32_t PEREO2:1;                  /**< bit:      2  Periodic Interval 2 Event Output Enable  */
+    uint32_t PEREO3:1;                  /**< bit:      3  Periodic Interval 3 Event Output Enable  */
+    uint32_t PEREO4:1;                  /**< bit:      4  Periodic Interval 4 Event Output Enable  */
+    uint32_t PEREO5:1;                  /**< bit:      5  Periodic Interval 5 Event Output Enable  */
+    uint32_t PEREO6:1;                  /**< bit:      6  Periodic Interval 6 Event Output Enable  */
+    uint32_t PEREO7:1;                  /**< bit:      7  Periodic Interval 7 Event Output Enable  */
+    uint32_t CMPEO0:1;                  /**< bit:      8  Compare 0 Event Output Enable            */
+    uint32_t CMPEO1:1;                  /**< bit:      9  Compare 1 Event Output Enable            */
+    uint32_t :4;                        /**< bit: 10..13  Reserved */
+    uint32_t TAMPEREO:1;                /**< bit:     14  Tamper Event Output Enable               */
+    uint32_t OVFEO:1;                   /**< bit:     15  Overflow Event Output Enable             */
+    uint32_t TAMPEVEI:1;                /**< bit:     16  Tamper Event Input Enable                */
+    uint32_t :7;                        /**< bit: 17..23  Reserved */
+    uint32_t PERDEO:1;                  /**< bit:     24  Periodic Interval Daily Event Output Enable */
+    uint32_t :7;                        /**< bit: 25..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t PEREO:8;                   /**< bit:   0..7  Periodic Interval x Event Output Enable  */
+    uint32_t CMPEO:2;                   /**< bit:   8..9  Compare x Event Output Enable            */
+    uint32_t :22;                       /**< bit: 10..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE1_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_EVCTRL_OFFSET             (0x04)                                        /**<  (RTC_MODE1_EVCTRL) MODE1 Event Control  Offset */
+#define RTC_MODE1_EVCTRL_RESETVALUE         _U_(0x00)                                     /**<  (RTC_MODE1_EVCTRL) MODE1 Event Control  Reset Value */
+
+#define RTC_MODE1_EVCTRL_PEREO0_Pos         0                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 0 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO0_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO0_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 0 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO0             RTC_MODE1_EVCTRL_PEREO0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO0_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO1_Pos         1                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 1 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO1_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO1_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 1 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO1             RTC_MODE1_EVCTRL_PEREO1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO1_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO2_Pos         2                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 2 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO2_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO2_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 2 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO2             RTC_MODE1_EVCTRL_PEREO2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO2_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO3_Pos         3                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 3 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO3_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO3_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 3 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO3             RTC_MODE1_EVCTRL_PEREO3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO3_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO4_Pos         4                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 4 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO4_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO4_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 4 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO4             RTC_MODE1_EVCTRL_PEREO4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO4_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO5_Pos         5                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 5 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO5_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO5_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 5 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO5             RTC_MODE1_EVCTRL_PEREO5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO5_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO6_Pos         6                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 6 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO6_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO6_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 6 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO6             RTC_MODE1_EVCTRL_PEREO6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO6_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO7_Pos         7                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 7 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO7_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO7_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 7 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO7             RTC_MODE1_EVCTRL_PEREO7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO7_Msk instead */
+#define RTC_MODE1_EVCTRL_CMPEO0_Pos         8                                              /**< (RTC_MODE1_EVCTRL) Compare 0 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_CMPEO0_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_CMPEO0_Pos)      /**< (RTC_MODE1_EVCTRL) Compare 0 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_CMPEO0             RTC_MODE1_EVCTRL_CMPEO0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_CMPEO0_Msk instead */
+#define RTC_MODE1_EVCTRL_CMPEO1_Pos         9                                              /**< (RTC_MODE1_EVCTRL) Compare 1 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_CMPEO1_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_CMPEO1_Pos)      /**< (RTC_MODE1_EVCTRL) Compare 1 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_CMPEO1             RTC_MODE1_EVCTRL_CMPEO1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_CMPEO1_Msk instead */
+#define RTC_MODE1_EVCTRL_TAMPEREO_Pos       14                                             /**< (RTC_MODE1_EVCTRL) Tamper Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_TAMPEREO_Msk       (_U_(0x1) << RTC_MODE1_EVCTRL_TAMPEREO_Pos)    /**< (RTC_MODE1_EVCTRL) Tamper Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_TAMPEREO           RTC_MODE1_EVCTRL_TAMPEREO_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_TAMPEREO_Msk instead */
+#define RTC_MODE1_EVCTRL_OVFEO_Pos          15                                             /**< (RTC_MODE1_EVCTRL) Overflow Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_OVFEO_Msk          (_U_(0x1) << RTC_MODE1_EVCTRL_OVFEO_Pos)       /**< (RTC_MODE1_EVCTRL) Overflow Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_OVFEO              RTC_MODE1_EVCTRL_OVFEO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_OVFEO_Msk instead */
+#define RTC_MODE1_EVCTRL_TAMPEVEI_Pos       16                                             /**< (RTC_MODE1_EVCTRL) Tamper Event Input Enable Position */
+#define RTC_MODE1_EVCTRL_TAMPEVEI_Msk       (_U_(0x1) << RTC_MODE1_EVCTRL_TAMPEVEI_Pos)    /**< (RTC_MODE1_EVCTRL) Tamper Event Input Enable Mask */
+#define RTC_MODE1_EVCTRL_TAMPEVEI           RTC_MODE1_EVCTRL_TAMPEVEI_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_TAMPEVEI_Msk instead */
+#define RTC_MODE1_EVCTRL_PERDEO_Pos         24                                             /**< (RTC_MODE1_EVCTRL) Periodic Interval Daily Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PERDEO_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PERDEO_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval Daily Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PERDEO             RTC_MODE1_EVCTRL_PERDEO_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PERDEO_Msk instead */
+#define RTC_MODE1_EVCTRL_MASK               _U_(0x101C3FF)                                 /**< \deprecated (RTC_MODE1_EVCTRL) Register MASK  (Use RTC_MODE1_EVCTRL_Msk instead)  */
+#define RTC_MODE1_EVCTRL_Msk                _U_(0x101C3FF)                                 /**< (RTC_MODE1_EVCTRL) Register Mask  */
+
+#define RTC_MODE1_EVCTRL_PEREO_Pos          0                                              /**< (RTC_MODE1_EVCTRL Position) Periodic Interval x Event Output Enable */
+#define RTC_MODE1_EVCTRL_PEREO_Msk          (_U_(0xFF) << RTC_MODE1_EVCTRL_PEREO_Pos)      /**< (RTC_MODE1_EVCTRL Mask) PEREO */
+#define RTC_MODE1_EVCTRL_PEREO(value)       (RTC_MODE1_EVCTRL_PEREO_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO_Pos))  
+#define RTC_MODE1_EVCTRL_CMPEO_Pos          8                                              /**< (RTC_MODE1_EVCTRL Position) Compare x Event Output Enable */
+#define RTC_MODE1_EVCTRL_CMPEO_Msk          (_U_(0x3) << RTC_MODE1_EVCTRL_CMPEO_Pos)       /**< (RTC_MODE1_EVCTRL Mask) CMPEO */
+#define RTC_MODE1_EVCTRL_CMPEO(value)       (RTC_MODE1_EVCTRL_CMPEO_Msk & ((value) << RTC_MODE1_EVCTRL_CMPEO_Pos))  
+
+/* -------- RTC_MODE2_EVCTRL : (RTC Offset: 0x04) (R/W 32) MODE2 Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PEREO0:1;                  /**< bit:      0  Periodic Interval 0 Event Output Enable  */
+    uint32_t PEREO1:1;                  /**< bit:      1  Periodic Interval 1 Event Output Enable  */
+    uint32_t PEREO2:1;                  /**< bit:      2  Periodic Interval 2 Event Output Enable  */
+    uint32_t PEREO3:1;                  /**< bit:      3  Periodic Interval 3 Event Output Enable  */
+    uint32_t PEREO4:1;                  /**< bit:      4  Periodic Interval 4 Event Output Enable  */
+    uint32_t PEREO5:1;                  /**< bit:      5  Periodic Interval 5 Event Output Enable  */
+    uint32_t PEREO6:1;                  /**< bit:      6  Periodic Interval 6 Event Output Enable  */
+    uint32_t PEREO7:1;                  /**< bit:      7  Periodic Interval 7 Event Output Enable  */
+    uint32_t ALARMEO0:1;                /**< bit:      8  Alarm 0 Event Output Enable              */
+    uint32_t :5;                        /**< bit:  9..13  Reserved */
+    uint32_t TAMPEREO:1;                /**< bit:     14  Tamper Event Output Enable               */
+    uint32_t OVFEO:1;                   /**< bit:     15  Overflow Event Output Enable             */
+    uint32_t TAMPEVEI:1;                /**< bit:     16  Tamper Event Input Enable                */
+    uint32_t :7;                        /**< bit: 17..23  Reserved */
+    uint32_t PERDEO:1;                  /**< bit:     24  Periodic Interval Daily Event Output Enable */
+    uint32_t :7;                        /**< bit: 25..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t PEREO:8;                   /**< bit:   0..7  Periodic Interval x Event Output Enable  */
+    uint32_t ALARMEO:1;                 /**< bit:      8  Alarm x Event Output Enable              */
+    uint32_t :23;                       /**< bit:  9..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE2_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_EVCTRL_OFFSET             (0x04)                                        /**<  (RTC_MODE2_EVCTRL) MODE2 Event Control  Offset */
+#define RTC_MODE2_EVCTRL_RESETVALUE         _U_(0x00)                                     /**<  (RTC_MODE2_EVCTRL) MODE2 Event Control  Reset Value */
+
+#define RTC_MODE2_EVCTRL_PEREO0_Pos         0                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 0 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO0_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO0_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 0 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO0             RTC_MODE2_EVCTRL_PEREO0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO0_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO1_Pos         1                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 1 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO1_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO1_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 1 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO1             RTC_MODE2_EVCTRL_PEREO1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO1_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO2_Pos         2                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 2 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO2_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO2_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 2 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO2             RTC_MODE2_EVCTRL_PEREO2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO2_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO3_Pos         3                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 3 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO3_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO3_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 3 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO3             RTC_MODE2_EVCTRL_PEREO3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO3_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO4_Pos         4                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 4 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO4_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO4_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 4 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO4             RTC_MODE2_EVCTRL_PEREO4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO4_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO5_Pos         5                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 5 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO5_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO5_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 5 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO5             RTC_MODE2_EVCTRL_PEREO5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO5_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO6_Pos         6                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 6 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO6_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO6_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 6 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO6             RTC_MODE2_EVCTRL_PEREO6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO6_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO7_Pos         7                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 7 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO7_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO7_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 7 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO7             RTC_MODE2_EVCTRL_PEREO7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO7_Msk instead */
+#define RTC_MODE2_EVCTRL_ALARMEO0_Pos       8                                              /**< (RTC_MODE2_EVCTRL) Alarm 0 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_ALARMEO0_Msk       (_U_(0x1) << RTC_MODE2_EVCTRL_ALARMEO0_Pos)    /**< (RTC_MODE2_EVCTRL) Alarm 0 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_ALARMEO0           RTC_MODE2_EVCTRL_ALARMEO0_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_ALARMEO0_Msk instead */
+#define RTC_MODE2_EVCTRL_TAMPEREO_Pos       14                                             /**< (RTC_MODE2_EVCTRL) Tamper Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_TAMPEREO_Msk       (_U_(0x1) << RTC_MODE2_EVCTRL_TAMPEREO_Pos)    /**< (RTC_MODE2_EVCTRL) Tamper Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_TAMPEREO           RTC_MODE2_EVCTRL_TAMPEREO_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_TAMPEREO_Msk instead */
+#define RTC_MODE2_EVCTRL_OVFEO_Pos          15                                             /**< (RTC_MODE2_EVCTRL) Overflow Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_OVFEO_Msk          (_U_(0x1) << RTC_MODE2_EVCTRL_OVFEO_Pos)       /**< (RTC_MODE2_EVCTRL) Overflow Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_OVFEO              RTC_MODE2_EVCTRL_OVFEO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_OVFEO_Msk instead */
+#define RTC_MODE2_EVCTRL_TAMPEVEI_Pos       16                                             /**< (RTC_MODE2_EVCTRL) Tamper Event Input Enable Position */
+#define RTC_MODE2_EVCTRL_TAMPEVEI_Msk       (_U_(0x1) << RTC_MODE2_EVCTRL_TAMPEVEI_Pos)    /**< (RTC_MODE2_EVCTRL) Tamper Event Input Enable Mask */
+#define RTC_MODE2_EVCTRL_TAMPEVEI           RTC_MODE2_EVCTRL_TAMPEVEI_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_TAMPEVEI_Msk instead */
+#define RTC_MODE2_EVCTRL_PERDEO_Pos         24                                             /**< (RTC_MODE2_EVCTRL) Periodic Interval Daily Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PERDEO_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PERDEO_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval Daily Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PERDEO             RTC_MODE2_EVCTRL_PERDEO_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PERDEO_Msk instead */
+#define RTC_MODE2_EVCTRL_MASK               _U_(0x101C1FF)                                 /**< \deprecated (RTC_MODE2_EVCTRL) Register MASK  (Use RTC_MODE2_EVCTRL_Msk instead)  */
+#define RTC_MODE2_EVCTRL_Msk                _U_(0x101C1FF)                                 /**< (RTC_MODE2_EVCTRL) Register Mask  */
+
+#define RTC_MODE2_EVCTRL_PEREO_Pos          0                                              /**< (RTC_MODE2_EVCTRL Position) Periodic Interval x Event Output Enable */
+#define RTC_MODE2_EVCTRL_PEREO_Msk          (_U_(0xFF) << RTC_MODE2_EVCTRL_PEREO_Pos)      /**< (RTC_MODE2_EVCTRL Mask) PEREO */
+#define RTC_MODE2_EVCTRL_PEREO(value)       (RTC_MODE2_EVCTRL_PEREO_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO_Pos))  
+#define RTC_MODE2_EVCTRL_ALARMEO_Pos        8                                              /**< (RTC_MODE2_EVCTRL Position) Alarm x Event Output Enable */
+#define RTC_MODE2_EVCTRL_ALARMEO_Msk        (_U_(0x1) << RTC_MODE2_EVCTRL_ALARMEO_Pos)     /**< (RTC_MODE2_EVCTRL Mask) ALARMEO */
+#define RTC_MODE2_EVCTRL_ALARMEO(value)     (RTC_MODE2_EVCTRL_ALARMEO_Msk & ((value) << RTC_MODE2_EVCTRL_ALARMEO_Pos))  
+
+/* -------- RTC_MODE0_INTENCLR : (RTC Offset: 0x08) (R/W 16) MODE0 Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Interrupt Enable     */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Interrupt Enable     */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Interrupt Enable     */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Interrupt Enable     */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Interrupt Enable     */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Interrupt Enable     */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Interrupt Enable     */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Interrupt Enable     */
+    uint16_t CMP0:1;                    /**< bit:      8  Compare 0 Interrupt Enable               */
+    uint16_t :5;                        /**< bit:  9..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Interrupt Enable     */
+    uint16_t CMP:1;                     /**< bit:      8  Compare x Interrupt Enable               */
+    uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE0_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_INTENCLR_OFFSET           (0x08)                                        /**<  (RTC_MODE0_INTENCLR) MODE0 Interrupt Enable Clear  Offset */
+#define RTC_MODE0_INTENCLR_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE0_INTENCLR) MODE0 Interrupt Enable Clear  Reset Value */
+
+#define RTC_MODE0_INTENCLR_PER0_Pos         0                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 0 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER0_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER0_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 0 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER0             RTC_MODE0_INTENCLR_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER0_Msk instead */
+#define RTC_MODE0_INTENCLR_PER1_Pos         1                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 1 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER1_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER1_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 1 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER1             RTC_MODE0_INTENCLR_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER1_Msk instead */
+#define RTC_MODE0_INTENCLR_PER2_Pos         2                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 2 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER2_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER2_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 2 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER2             RTC_MODE0_INTENCLR_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER2_Msk instead */
+#define RTC_MODE0_INTENCLR_PER3_Pos         3                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 3 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER3_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER3_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 3 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER3             RTC_MODE0_INTENCLR_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER3_Msk instead */
+#define RTC_MODE0_INTENCLR_PER4_Pos         4                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 4 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER4_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER4_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 4 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER4             RTC_MODE0_INTENCLR_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER4_Msk instead */
+#define RTC_MODE0_INTENCLR_PER5_Pos         5                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 5 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER5_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER5_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 5 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER5             RTC_MODE0_INTENCLR_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER5_Msk instead */
+#define RTC_MODE0_INTENCLR_PER6_Pos         6                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 6 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER6_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER6_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 6 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER6             RTC_MODE0_INTENCLR_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER6_Msk instead */
+#define RTC_MODE0_INTENCLR_PER7_Pos         7                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 7 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER7_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER7_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 7 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER7             RTC_MODE0_INTENCLR_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER7_Msk instead */
+#define RTC_MODE0_INTENCLR_CMP0_Pos         8                                              /**< (RTC_MODE0_INTENCLR) Compare 0 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_CMP0_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_CMP0_Pos)      /**< (RTC_MODE0_INTENCLR) Compare 0 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_CMP0             RTC_MODE0_INTENCLR_CMP0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_CMP0_Msk instead */
+#define RTC_MODE0_INTENCLR_TAMPER_Pos       14                                             /**< (RTC_MODE0_INTENCLR) Tamper Enable Position */
+#define RTC_MODE0_INTENCLR_TAMPER_Msk       (_U_(0x1) << RTC_MODE0_INTENCLR_TAMPER_Pos)    /**< (RTC_MODE0_INTENCLR) Tamper Enable Mask */
+#define RTC_MODE0_INTENCLR_TAMPER           RTC_MODE0_INTENCLR_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_TAMPER_Msk instead */
+#define RTC_MODE0_INTENCLR_OVF_Pos          15                                             /**< (RTC_MODE0_INTENCLR) Overflow Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_OVF_Msk          (_U_(0x1) << RTC_MODE0_INTENCLR_OVF_Pos)       /**< (RTC_MODE0_INTENCLR) Overflow Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_OVF              RTC_MODE0_INTENCLR_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_OVF_Msk instead */
+#define RTC_MODE0_INTENCLR_MASK             _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE0_INTENCLR) Register MASK  (Use RTC_MODE0_INTENCLR_Msk instead)  */
+#define RTC_MODE0_INTENCLR_Msk              _U_(0xC1FF)                                    /**< (RTC_MODE0_INTENCLR) Register Mask  */
+
+#define RTC_MODE0_INTENCLR_PER_Pos          0                                              /**< (RTC_MODE0_INTENCLR Position) Periodic Interval x Interrupt Enable */
+#define RTC_MODE0_INTENCLR_PER_Msk          (_U_(0xFF) << RTC_MODE0_INTENCLR_PER_Pos)      /**< (RTC_MODE0_INTENCLR Mask) PER */
+#define RTC_MODE0_INTENCLR_PER(value)       (RTC_MODE0_INTENCLR_PER_Msk & ((value) << RTC_MODE0_INTENCLR_PER_Pos))  
+#define RTC_MODE0_INTENCLR_CMP_Pos          8                                              /**< (RTC_MODE0_INTENCLR Position) Compare x Interrupt Enable */
+#define RTC_MODE0_INTENCLR_CMP_Msk          (_U_(0x1) << RTC_MODE0_INTENCLR_CMP_Pos)       /**< (RTC_MODE0_INTENCLR Mask) CMP */
+#define RTC_MODE0_INTENCLR_CMP(value)       (RTC_MODE0_INTENCLR_CMP_Msk & ((value) << RTC_MODE0_INTENCLR_CMP_Pos))  
+
+/* -------- RTC_MODE1_INTENCLR : (RTC Offset: 0x08) (R/W 16) MODE1 Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Interrupt Enable     */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Interrupt Enable     */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Interrupt Enable     */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Interrupt Enable     */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Interrupt Enable     */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Interrupt Enable     */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Interrupt Enable     */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Interrupt Enable     */
+    uint16_t CMP0:1;                    /**< bit:      8  Compare 0 Interrupt Enable               */
+    uint16_t CMP1:1;                    /**< bit:      9  Compare 1 Interrupt Enable               */
+    uint16_t :4;                        /**< bit: 10..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Interrupt Enable     */
+    uint16_t CMP:2;                     /**< bit:   8..9  Compare x Interrupt Enable               */
+    uint16_t :6;                        /**< bit: 10..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_INTENCLR_OFFSET           (0x08)                                        /**<  (RTC_MODE1_INTENCLR) MODE1 Interrupt Enable Clear  Offset */
+#define RTC_MODE1_INTENCLR_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE1_INTENCLR) MODE1 Interrupt Enable Clear  Reset Value */
+
+#define RTC_MODE1_INTENCLR_PER0_Pos         0                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 0 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER0_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER0_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 0 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER0             RTC_MODE1_INTENCLR_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER0_Msk instead */
+#define RTC_MODE1_INTENCLR_PER1_Pos         1                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 1 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER1_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER1_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 1 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER1             RTC_MODE1_INTENCLR_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER1_Msk instead */
+#define RTC_MODE1_INTENCLR_PER2_Pos         2                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 2 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER2_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER2_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 2 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER2             RTC_MODE1_INTENCLR_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER2_Msk instead */
+#define RTC_MODE1_INTENCLR_PER3_Pos         3                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 3 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER3_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER3_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 3 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER3             RTC_MODE1_INTENCLR_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER3_Msk instead */
+#define RTC_MODE1_INTENCLR_PER4_Pos         4                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 4 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER4_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER4_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 4 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER4             RTC_MODE1_INTENCLR_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER4_Msk instead */
+#define RTC_MODE1_INTENCLR_PER5_Pos         5                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 5 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER5_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER5_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 5 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER5             RTC_MODE1_INTENCLR_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER5_Msk instead */
+#define RTC_MODE1_INTENCLR_PER6_Pos         6                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 6 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER6_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER6_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 6 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER6             RTC_MODE1_INTENCLR_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER6_Msk instead */
+#define RTC_MODE1_INTENCLR_PER7_Pos         7                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 7 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER7_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER7_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 7 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER7             RTC_MODE1_INTENCLR_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER7_Msk instead */
+#define RTC_MODE1_INTENCLR_CMP0_Pos         8                                              /**< (RTC_MODE1_INTENCLR) Compare 0 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_CMP0_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_CMP0_Pos)      /**< (RTC_MODE1_INTENCLR) Compare 0 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_CMP0             RTC_MODE1_INTENCLR_CMP0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_CMP0_Msk instead */
+#define RTC_MODE1_INTENCLR_CMP1_Pos         9                                              /**< (RTC_MODE1_INTENCLR) Compare 1 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_CMP1_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_CMP1_Pos)      /**< (RTC_MODE1_INTENCLR) Compare 1 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_CMP1             RTC_MODE1_INTENCLR_CMP1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_CMP1_Msk instead */
+#define RTC_MODE1_INTENCLR_TAMPER_Pos       14                                             /**< (RTC_MODE1_INTENCLR) Tamper Enable Position */
+#define RTC_MODE1_INTENCLR_TAMPER_Msk       (_U_(0x1) << RTC_MODE1_INTENCLR_TAMPER_Pos)    /**< (RTC_MODE1_INTENCLR) Tamper Enable Mask */
+#define RTC_MODE1_INTENCLR_TAMPER           RTC_MODE1_INTENCLR_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_TAMPER_Msk instead */
+#define RTC_MODE1_INTENCLR_OVF_Pos          15                                             /**< (RTC_MODE1_INTENCLR) Overflow Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_OVF_Msk          (_U_(0x1) << RTC_MODE1_INTENCLR_OVF_Pos)       /**< (RTC_MODE1_INTENCLR) Overflow Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_OVF              RTC_MODE1_INTENCLR_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_OVF_Msk instead */
+#define RTC_MODE1_INTENCLR_MASK             _U_(0xC3FF)                                    /**< \deprecated (RTC_MODE1_INTENCLR) Register MASK  (Use RTC_MODE1_INTENCLR_Msk instead)  */
+#define RTC_MODE1_INTENCLR_Msk              _U_(0xC3FF)                                    /**< (RTC_MODE1_INTENCLR) Register Mask  */
+
+#define RTC_MODE1_INTENCLR_PER_Pos          0                                              /**< (RTC_MODE1_INTENCLR Position) Periodic Interval x Interrupt Enable */
+#define RTC_MODE1_INTENCLR_PER_Msk          (_U_(0xFF) << RTC_MODE1_INTENCLR_PER_Pos)      /**< (RTC_MODE1_INTENCLR Mask) PER */
+#define RTC_MODE1_INTENCLR_PER(value)       (RTC_MODE1_INTENCLR_PER_Msk & ((value) << RTC_MODE1_INTENCLR_PER_Pos))  
+#define RTC_MODE1_INTENCLR_CMP_Pos          8                                              /**< (RTC_MODE1_INTENCLR Position) Compare x Interrupt Enable */
+#define RTC_MODE1_INTENCLR_CMP_Msk          (_U_(0x3) << RTC_MODE1_INTENCLR_CMP_Pos)       /**< (RTC_MODE1_INTENCLR Mask) CMP */
+#define RTC_MODE1_INTENCLR_CMP(value)       (RTC_MODE1_INTENCLR_CMP_Msk & ((value) << RTC_MODE1_INTENCLR_CMP_Pos))  
+
+/* -------- RTC_MODE2_INTENCLR : (RTC Offset: 0x08) (R/W 16) MODE2 Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Interrupt Enable     */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Interrupt Enable     */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Interrupt Enable     */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Interrupt Enable     */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Interrupt Enable     */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Interrupt Enable     */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Interrupt Enable     */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Interrupt Enable     */
+    uint16_t ALARM0:1;                  /**< bit:      8  Alarm 0 Interrupt Enable                 */
+    uint16_t :5;                        /**< bit:  9..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Interrupt Enable     */
+    uint16_t ALARM:1;                   /**< bit:      8  Alarm x Interrupt Enable                 */
+    uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE2_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_INTENCLR_OFFSET           (0x08)                                        /**<  (RTC_MODE2_INTENCLR) MODE2 Interrupt Enable Clear  Offset */
+#define RTC_MODE2_INTENCLR_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE2_INTENCLR) MODE2 Interrupt Enable Clear  Reset Value */
+
+#define RTC_MODE2_INTENCLR_PER0_Pos         0                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 0 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER0_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER0_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 0 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER0             RTC_MODE2_INTENCLR_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER0_Msk instead */
+#define RTC_MODE2_INTENCLR_PER1_Pos         1                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 1 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER1_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER1_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 1 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER1             RTC_MODE2_INTENCLR_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER1_Msk instead */
+#define RTC_MODE2_INTENCLR_PER2_Pos         2                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 2 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER2_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER2_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 2 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER2             RTC_MODE2_INTENCLR_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER2_Msk instead */
+#define RTC_MODE2_INTENCLR_PER3_Pos         3                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 3 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER3_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER3_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 3 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER3             RTC_MODE2_INTENCLR_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER3_Msk instead */
+#define RTC_MODE2_INTENCLR_PER4_Pos         4                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 4 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER4_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER4_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 4 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER4             RTC_MODE2_INTENCLR_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER4_Msk instead */
+#define RTC_MODE2_INTENCLR_PER5_Pos         5                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 5 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER5_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER5_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 5 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER5             RTC_MODE2_INTENCLR_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER5_Msk instead */
+#define RTC_MODE2_INTENCLR_PER6_Pos         6                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 6 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER6_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER6_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 6 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER6             RTC_MODE2_INTENCLR_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER6_Msk instead */
+#define RTC_MODE2_INTENCLR_PER7_Pos         7                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 7 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER7_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER7_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 7 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER7             RTC_MODE2_INTENCLR_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER7_Msk instead */
+#define RTC_MODE2_INTENCLR_ALARM0_Pos       8                                              /**< (RTC_MODE2_INTENCLR) Alarm 0 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_ALARM0_Msk       (_U_(0x1) << RTC_MODE2_INTENCLR_ALARM0_Pos)    /**< (RTC_MODE2_INTENCLR) Alarm 0 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_ALARM0           RTC_MODE2_INTENCLR_ALARM0_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_ALARM0_Msk instead */
+#define RTC_MODE2_INTENCLR_TAMPER_Pos       14                                             /**< (RTC_MODE2_INTENCLR) Tamper Enable Position */
+#define RTC_MODE2_INTENCLR_TAMPER_Msk       (_U_(0x1) << RTC_MODE2_INTENCLR_TAMPER_Pos)    /**< (RTC_MODE2_INTENCLR) Tamper Enable Mask */
+#define RTC_MODE2_INTENCLR_TAMPER           RTC_MODE2_INTENCLR_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_TAMPER_Msk instead */
+#define RTC_MODE2_INTENCLR_OVF_Pos          15                                             /**< (RTC_MODE2_INTENCLR) Overflow Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_OVF_Msk          (_U_(0x1) << RTC_MODE2_INTENCLR_OVF_Pos)       /**< (RTC_MODE2_INTENCLR) Overflow Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_OVF              RTC_MODE2_INTENCLR_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_OVF_Msk instead */
+#define RTC_MODE2_INTENCLR_MASK             _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE2_INTENCLR) Register MASK  (Use RTC_MODE2_INTENCLR_Msk instead)  */
+#define RTC_MODE2_INTENCLR_Msk              _U_(0xC1FF)                                    /**< (RTC_MODE2_INTENCLR) Register Mask  */
+
+#define RTC_MODE2_INTENCLR_PER_Pos          0                                              /**< (RTC_MODE2_INTENCLR Position) Periodic Interval x Interrupt Enable */
+#define RTC_MODE2_INTENCLR_PER_Msk          (_U_(0xFF) << RTC_MODE2_INTENCLR_PER_Pos)      /**< (RTC_MODE2_INTENCLR Mask) PER */
+#define RTC_MODE2_INTENCLR_PER(value)       (RTC_MODE2_INTENCLR_PER_Msk & ((value) << RTC_MODE2_INTENCLR_PER_Pos))  
+#define RTC_MODE2_INTENCLR_ALARM_Pos        8                                              /**< (RTC_MODE2_INTENCLR Position) Alarm x Interrupt Enable */
+#define RTC_MODE2_INTENCLR_ALARM_Msk        (_U_(0x1) << RTC_MODE2_INTENCLR_ALARM_Pos)     /**< (RTC_MODE2_INTENCLR Mask) ALARM */
+#define RTC_MODE2_INTENCLR_ALARM(value)     (RTC_MODE2_INTENCLR_ALARM_Msk & ((value) << RTC_MODE2_INTENCLR_ALARM_Pos))  
+
+/* -------- RTC_MODE0_INTENSET : (RTC Offset: 0x0a) (R/W 16) MODE0 Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Interrupt Enable     */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Interrupt Enable     */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Interrupt Enable     */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Interrupt Enable     */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Interrupt Enable     */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Interrupt Enable     */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Interrupt Enable     */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Interrupt Enable     */
+    uint16_t CMP0:1;                    /**< bit:      8  Compare 0 Interrupt Enable               */
+    uint16_t :5;                        /**< bit:  9..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Interrupt Enable     */
+    uint16_t CMP:1;                     /**< bit:      8  Compare x Interrupt Enable               */
+    uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE0_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_INTENSET_OFFSET           (0x0A)                                        /**<  (RTC_MODE0_INTENSET) MODE0 Interrupt Enable Set  Offset */
+#define RTC_MODE0_INTENSET_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE0_INTENSET) MODE0 Interrupt Enable Set  Reset Value */
+
+#define RTC_MODE0_INTENSET_PER0_Pos         0                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 0 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER0_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER0_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 0 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER0             RTC_MODE0_INTENSET_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER0_Msk instead */
+#define RTC_MODE0_INTENSET_PER1_Pos         1                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 1 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER1_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER1_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 1 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER1             RTC_MODE0_INTENSET_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER1_Msk instead */
+#define RTC_MODE0_INTENSET_PER2_Pos         2                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 2 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER2_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER2_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 2 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER2             RTC_MODE0_INTENSET_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER2_Msk instead */
+#define RTC_MODE0_INTENSET_PER3_Pos         3                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 3 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER3_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER3_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 3 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER3             RTC_MODE0_INTENSET_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER3_Msk instead */
+#define RTC_MODE0_INTENSET_PER4_Pos         4                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 4 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER4_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER4_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 4 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER4             RTC_MODE0_INTENSET_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER4_Msk instead */
+#define RTC_MODE0_INTENSET_PER5_Pos         5                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 5 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER5_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER5_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 5 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER5             RTC_MODE0_INTENSET_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER5_Msk instead */
+#define RTC_MODE0_INTENSET_PER6_Pos         6                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 6 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER6_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER6_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 6 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER6             RTC_MODE0_INTENSET_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER6_Msk instead */
+#define RTC_MODE0_INTENSET_PER7_Pos         7                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 7 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER7_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER7_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 7 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER7             RTC_MODE0_INTENSET_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER7_Msk instead */
+#define RTC_MODE0_INTENSET_CMP0_Pos         8                                              /**< (RTC_MODE0_INTENSET) Compare 0 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_CMP0_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_CMP0_Pos)      /**< (RTC_MODE0_INTENSET) Compare 0 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_CMP0             RTC_MODE0_INTENSET_CMP0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_CMP0_Msk instead */
+#define RTC_MODE0_INTENSET_TAMPER_Pos       14                                             /**< (RTC_MODE0_INTENSET) Tamper Enable Position */
+#define RTC_MODE0_INTENSET_TAMPER_Msk       (_U_(0x1) << RTC_MODE0_INTENSET_TAMPER_Pos)    /**< (RTC_MODE0_INTENSET) Tamper Enable Mask */
+#define RTC_MODE0_INTENSET_TAMPER           RTC_MODE0_INTENSET_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_TAMPER_Msk instead */
+#define RTC_MODE0_INTENSET_OVF_Pos          15                                             /**< (RTC_MODE0_INTENSET) Overflow Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_OVF_Msk          (_U_(0x1) << RTC_MODE0_INTENSET_OVF_Pos)       /**< (RTC_MODE0_INTENSET) Overflow Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_OVF              RTC_MODE0_INTENSET_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_OVF_Msk instead */
+#define RTC_MODE0_INTENSET_MASK             _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE0_INTENSET) Register MASK  (Use RTC_MODE0_INTENSET_Msk instead)  */
+#define RTC_MODE0_INTENSET_Msk              _U_(0xC1FF)                                    /**< (RTC_MODE0_INTENSET) Register Mask  */
+
+#define RTC_MODE0_INTENSET_PER_Pos          0                                              /**< (RTC_MODE0_INTENSET Position) Periodic Interval x Interrupt Enable */
+#define RTC_MODE0_INTENSET_PER_Msk          (_U_(0xFF) << RTC_MODE0_INTENSET_PER_Pos)      /**< (RTC_MODE0_INTENSET Mask) PER */
+#define RTC_MODE0_INTENSET_PER(value)       (RTC_MODE0_INTENSET_PER_Msk & ((value) << RTC_MODE0_INTENSET_PER_Pos))  
+#define RTC_MODE0_INTENSET_CMP_Pos          8                                              /**< (RTC_MODE0_INTENSET Position) Compare x Interrupt Enable */
+#define RTC_MODE0_INTENSET_CMP_Msk          (_U_(0x1) << RTC_MODE0_INTENSET_CMP_Pos)       /**< (RTC_MODE0_INTENSET Mask) CMP */
+#define RTC_MODE0_INTENSET_CMP(value)       (RTC_MODE0_INTENSET_CMP_Msk & ((value) << RTC_MODE0_INTENSET_CMP_Pos))  
+
+/* -------- RTC_MODE1_INTENSET : (RTC Offset: 0x0a) (R/W 16) MODE1 Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Interrupt Enable     */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Interrupt Enable     */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Interrupt Enable     */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Interrupt Enable     */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Interrupt Enable     */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Interrupt Enable     */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Interrupt Enable     */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Interrupt Enable     */
+    uint16_t CMP0:1;                    /**< bit:      8  Compare 0 Interrupt Enable               */
+    uint16_t CMP1:1;                    /**< bit:      9  Compare 1 Interrupt Enable               */
+    uint16_t :4;                        /**< bit: 10..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Interrupt Enable     */
+    uint16_t CMP:2;                     /**< bit:   8..9  Compare x Interrupt Enable               */
+    uint16_t :6;                        /**< bit: 10..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_INTENSET_OFFSET           (0x0A)                                        /**<  (RTC_MODE1_INTENSET) MODE1 Interrupt Enable Set  Offset */
+#define RTC_MODE1_INTENSET_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE1_INTENSET) MODE1 Interrupt Enable Set  Reset Value */
+
+#define RTC_MODE1_INTENSET_PER0_Pos         0                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 0 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER0_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER0_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 0 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER0             RTC_MODE1_INTENSET_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER0_Msk instead */
+#define RTC_MODE1_INTENSET_PER1_Pos         1                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 1 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER1_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER1_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 1 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER1             RTC_MODE1_INTENSET_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER1_Msk instead */
+#define RTC_MODE1_INTENSET_PER2_Pos         2                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 2 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER2_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER2_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 2 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER2             RTC_MODE1_INTENSET_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER2_Msk instead */
+#define RTC_MODE1_INTENSET_PER3_Pos         3                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 3 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER3_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER3_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 3 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER3             RTC_MODE1_INTENSET_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER3_Msk instead */
+#define RTC_MODE1_INTENSET_PER4_Pos         4                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 4 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER4_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER4_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 4 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER4             RTC_MODE1_INTENSET_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER4_Msk instead */
+#define RTC_MODE1_INTENSET_PER5_Pos         5                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 5 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER5_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER5_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 5 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER5             RTC_MODE1_INTENSET_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER5_Msk instead */
+#define RTC_MODE1_INTENSET_PER6_Pos         6                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 6 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER6_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER6_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 6 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER6             RTC_MODE1_INTENSET_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER6_Msk instead */
+#define RTC_MODE1_INTENSET_PER7_Pos         7                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 7 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER7_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER7_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 7 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER7             RTC_MODE1_INTENSET_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER7_Msk instead */
+#define RTC_MODE1_INTENSET_CMP0_Pos         8                                              /**< (RTC_MODE1_INTENSET) Compare 0 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_CMP0_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_CMP0_Pos)      /**< (RTC_MODE1_INTENSET) Compare 0 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_CMP0             RTC_MODE1_INTENSET_CMP0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_CMP0_Msk instead */
+#define RTC_MODE1_INTENSET_CMP1_Pos         9                                              /**< (RTC_MODE1_INTENSET) Compare 1 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_CMP1_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_CMP1_Pos)      /**< (RTC_MODE1_INTENSET) Compare 1 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_CMP1             RTC_MODE1_INTENSET_CMP1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_CMP1_Msk instead */
+#define RTC_MODE1_INTENSET_TAMPER_Pos       14                                             /**< (RTC_MODE1_INTENSET) Tamper Enable Position */
+#define RTC_MODE1_INTENSET_TAMPER_Msk       (_U_(0x1) << RTC_MODE1_INTENSET_TAMPER_Pos)    /**< (RTC_MODE1_INTENSET) Tamper Enable Mask */
+#define RTC_MODE1_INTENSET_TAMPER           RTC_MODE1_INTENSET_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_TAMPER_Msk instead */
+#define RTC_MODE1_INTENSET_OVF_Pos          15                                             /**< (RTC_MODE1_INTENSET) Overflow Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_OVF_Msk          (_U_(0x1) << RTC_MODE1_INTENSET_OVF_Pos)       /**< (RTC_MODE1_INTENSET) Overflow Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_OVF              RTC_MODE1_INTENSET_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_OVF_Msk instead */
+#define RTC_MODE1_INTENSET_MASK             _U_(0xC3FF)                                    /**< \deprecated (RTC_MODE1_INTENSET) Register MASK  (Use RTC_MODE1_INTENSET_Msk instead)  */
+#define RTC_MODE1_INTENSET_Msk              _U_(0xC3FF)                                    /**< (RTC_MODE1_INTENSET) Register Mask  */
+
+#define RTC_MODE1_INTENSET_PER_Pos          0                                              /**< (RTC_MODE1_INTENSET Position) Periodic Interval x Interrupt Enable */
+#define RTC_MODE1_INTENSET_PER_Msk          (_U_(0xFF) << RTC_MODE1_INTENSET_PER_Pos)      /**< (RTC_MODE1_INTENSET Mask) PER */
+#define RTC_MODE1_INTENSET_PER(value)       (RTC_MODE1_INTENSET_PER_Msk & ((value) << RTC_MODE1_INTENSET_PER_Pos))  
+#define RTC_MODE1_INTENSET_CMP_Pos          8                                              /**< (RTC_MODE1_INTENSET Position) Compare x Interrupt Enable */
+#define RTC_MODE1_INTENSET_CMP_Msk          (_U_(0x3) << RTC_MODE1_INTENSET_CMP_Pos)       /**< (RTC_MODE1_INTENSET Mask) CMP */
+#define RTC_MODE1_INTENSET_CMP(value)       (RTC_MODE1_INTENSET_CMP_Msk & ((value) << RTC_MODE1_INTENSET_CMP_Pos))  
+
+/* -------- RTC_MODE2_INTENSET : (RTC Offset: 0x0a) (R/W 16) MODE2 Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Enable               */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Enable               */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Enable               */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Enable               */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Enable               */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Enable               */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Enable               */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Enable               */
+    uint16_t ALARM0:1;                  /**< bit:      8  Alarm 0 Interrupt Enable                 */
+    uint16_t :5;                        /**< bit:  9..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Enable               */
+    uint16_t ALARM:1;                   /**< bit:      8  Alarm x Interrupt Enable                 */
+    uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE2_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_INTENSET_OFFSET           (0x0A)                                        /**<  (RTC_MODE2_INTENSET) MODE2 Interrupt Enable Set  Offset */
+#define RTC_MODE2_INTENSET_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE2_INTENSET) MODE2 Interrupt Enable Set  Reset Value */
+
+#define RTC_MODE2_INTENSET_PER0_Pos         0                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 0 Enable Position */
+#define RTC_MODE2_INTENSET_PER0_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER0_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 0 Enable Mask */
+#define RTC_MODE2_INTENSET_PER0             RTC_MODE2_INTENSET_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER0_Msk instead */
+#define RTC_MODE2_INTENSET_PER1_Pos         1                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 1 Enable Position */
+#define RTC_MODE2_INTENSET_PER1_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER1_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 1 Enable Mask */
+#define RTC_MODE2_INTENSET_PER1             RTC_MODE2_INTENSET_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER1_Msk instead */
+#define RTC_MODE2_INTENSET_PER2_Pos         2                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 2 Enable Position */
+#define RTC_MODE2_INTENSET_PER2_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER2_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 2 Enable Mask */
+#define RTC_MODE2_INTENSET_PER2             RTC_MODE2_INTENSET_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER2_Msk instead */
+#define RTC_MODE2_INTENSET_PER3_Pos         3                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 3 Enable Position */
+#define RTC_MODE2_INTENSET_PER3_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER3_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 3 Enable Mask */
+#define RTC_MODE2_INTENSET_PER3             RTC_MODE2_INTENSET_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER3_Msk instead */
+#define RTC_MODE2_INTENSET_PER4_Pos         4                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 4 Enable Position */
+#define RTC_MODE2_INTENSET_PER4_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER4_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 4 Enable Mask */
+#define RTC_MODE2_INTENSET_PER4             RTC_MODE2_INTENSET_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER4_Msk instead */
+#define RTC_MODE2_INTENSET_PER5_Pos         5                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 5 Enable Position */
+#define RTC_MODE2_INTENSET_PER5_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER5_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 5 Enable Mask */
+#define RTC_MODE2_INTENSET_PER5             RTC_MODE2_INTENSET_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER5_Msk instead */
+#define RTC_MODE2_INTENSET_PER6_Pos         6                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 6 Enable Position */
+#define RTC_MODE2_INTENSET_PER6_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER6_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 6 Enable Mask */
+#define RTC_MODE2_INTENSET_PER6             RTC_MODE2_INTENSET_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER6_Msk instead */
+#define RTC_MODE2_INTENSET_PER7_Pos         7                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 7 Enable Position */
+#define RTC_MODE2_INTENSET_PER7_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER7_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 7 Enable Mask */
+#define RTC_MODE2_INTENSET_PER7             RTC_MODE2_INTENSET_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER7_Msk instead */
+#define RTC_MODE2_INTENSET_ALARM0_Pos       8                                              /**< (RTC_MODE2_INTENSET) Alarm 0 Interrupt Enable Position */
+#define RTC_MODE2_INTENSET_ALARM0_Msk       (_U_(0x1) << RTC_MODE2_INTENSET_ALARM0_Pos)    /**< (RTC_MODE2_INTENSET) Alarm 0 Interrupt Enable Mask */
+#define RTC_MODE2_INTENSET_ALARM0           RTC_MODE2_INTENSET_ALARM0_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_ALARM0_Msk instead */
+#define RTC_MODE2_INTENSET_TAMPER_Pos       14                                             /**< (RTC_MODE2_INTENSET) Tamper Enable Position */
+#define RTC_MODE2_INTENSET_TAMPER_Msk       (_U_(0x1) << RTC_MODE2_INTENSET_TAMPER_Pos)    /**< (RTC_MODE2_INTENSET) Tamper Enable Mask */
+#define RTC_MODE2_INTENSET_TAMPER           RTC_MODE2_INTENSET_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_TAMPER_Msk instead */
+#define RTC_MODE2_INTENSET_OVF_Pos          15                                             /**< (RTC_MODE2_INTENSET) Overflow Interrupt Enable Position */
+#define RTC_MODE2_INTENSET_OVF_Msk          (_U_(0x1) << RTC_MODE2_INTENSET_OVF_Pos)       /**< (RTC_MODE2_INTENSET) Overflow Interrupt Enable Mask */
+#define RTC_MODE2_INTENSET_OVF              RTC_MODE2_INTENSET_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_OVF_Msk instead */
+#define RTC_MODE2_INTENSET_MASK             _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE2_INTENSET) Register MASK  (Use RTC_MODE2_INTENSET_Msk instead)  */
+#define RTC_MODE2_INTENSET_Msk              _U_(0xC1FF)                                    /**< (RTC_MODE2_INTENSET) Register Mask  */
+
+#define RTC_MODE2_INTENSET_PER_Pos          0                                              /**< (RTC_MODE2_INTENSET Position) Periodic Interval x Enable */
+#define RTC_MODE2_INTENSET_PER_Msk          (_U_(0xFF) << RTC_MODE2_INTENSET_PER_Pos)      /**< (RTC_MODE2_INTENSET Mask) PER */
+#define RTC_MODE2_INTENSET_PER(value)       (RTC_MODE2_INTENSET_PER_Msk & ((value) << RTC_MODE2_INTENSET_PER_Pos))  
+#define RTC_MODE2_INTENSET_ALARM_Pos        8                                              /**< (RTC_MODE2_INTENSET Position) Alarm x Interrupt Enable */
+#define RTC_MODE2_INTENSET_ALARM_Msk        (_U_(0x1) << RTC_MODE2_INTENSET_ALARM_Pos)     /**< (RTC_MODE2_INTENSET Mask) ALARM */
+#define RTC_MODE2_INTENSET_ALARM(value)     (RTC_MODE2_INTENSET_ALARM_Msk & ((value) << RTC_MODE2_INTENSET_ALARM_Pos))  
+
+/* -------- RTC_MODE0_INTFLAG : (RTC Offset: 0x0c) (R/W 16) MODE0 Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0                      */
+    __I uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1                      */
+    __I uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2                      */
+    __I uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3                      */
+    __I uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4                      */
+    __I uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5                      */
+    __I uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6                      */
+    __I uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7                      */
+    __I uint16_t CMP0:1;                    /**< bit:      8  Compare 0                                */
+    __I uint16_t :5;                        /**< bit:  9..13  Reserved */
+    __I uint16_t TAMPER:1;                  /**< bit:     14  Tamper                                   */
+    __I uint16_t OVF:1;                     /**< bit:     15  Overflow                                 */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    __I uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x                      */
+    __I uint16_t CMP:1;                     /**< bit:      8  Compare x                                */
+    __I uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE0_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_INTFLAG_OFFSET            (0x0C)                                        /**<  (RTC_MODE0_INTFLAG) MODE0 Interrupt Flag Status and Clear  Offset */
+#define RTC_MODE0_INTFLAG_RESETVALUE        _U_(0x00)                                     /**<  (RTC_MODE0_INTFLAG) MODE0 Interrupt Flag Status and Clear  Reset Value */
+
+#define RTC_MODE0_INTFLAG_PER0_Pos          0                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 0 Position */
+#define RTC_MODE0_INTFLAG_PER0_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER0_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 0 Mask */
+#define RTC_MODE0_INTFLAG_PER0              RTC_MODE0_INTFLAG_PER0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER0_Msk instead */
+#define RTC_MODE0_INTFLAG_PER1_Pos          1                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 1 Position */
+#define RTC_MODE0_INTFLAG_PER1_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER1_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 1 Mask */
+#define RTC_MODE0_INTFLAG_PER1              RTC_MODE0_INTFLAG_PER1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER1_Msk instead */
+#define RTC_MODE0_INTFLAG_PER2_Pos          2                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 2 Position */
+#define RTC_MODE0_INTFLAG_PER2_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER2_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 2 Mask */
+#define RTC_MODE0_INTFLAG_PER2              RTC_MODE0_INTFLAG_PER2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER2_Msk instead */
+#define RTC_MODE0_INTFLAG_PER3_Pos          3                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 3 Position */
+#define RTC_MODE0_INTFLAG_PER3_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER3_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 3 Mask */
+#define RTC_MODE0_INTFLAG_PER3              RTC_MODE0_INTFLAG_PER3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER3_Msk instead */
+#define RTC_MODE0_INTFLAG_PER4_Pos          4                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 4 Position */
+#define RTC_MODE0_INTFLAG_PER4_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER4_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 4 Mask */
+#define RTC_MODE0_INTFLAG_PER4              RTC_MODE0_INTFLAG_PER4_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER4_Msk instead */
+#define RTC_MODE0_INTFLAG_PER5_Pos          5                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 5 Position */
+#define RTC_MODE0_INTFLAG_PER5_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER5_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 5 Mask */
+#define RTC_MODE0_INTFLAG_PER5              RTC_MODE0_INTFLAG_PER5_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER5_Msk instead */
+#define RTC_MODE0_INTFLAG_PER6_Pos          6                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 6 Position */
+#define RTC_MODE0_INTFLAG_PER6_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER6_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 6 Mask */
+#define RTC_MODE0_INTFLAG_PER6              RTC_MODE0_INTFLAG_PER6_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER6_Msk instead */
+#define RTC_MODE0_INTFLAG_PER7_Pos          7                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 7 Position */
+#define RTC_MODE0_INTFLAG_PER7_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER7_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 7 Mask */
+#define RTC_MODE0_INTFLAG_PER7              RTC_MODE0_INTFLAG_PER7_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER7_Msk instead */
+#define RTC_MODE0_INTFLAG_CMP0_Pos          8                                              /**< (RTC_MODE0_INTFLAG) Compare 0 Position */
+#define RTC_MODE0_INTFLAG_CMP0_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_CMP0_Pos)       /**< (RTC_MODE0_INTFLAG) Compare 0 Mask */
+#define RTC_MODE0_INTFLAG_CMP0              RTC_MODE0_INTFLAG_CMP0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_CMP0_Msk instead */
+#define RTC_MODE0_INTFLAG_TAMPER_Pos        14                                             /**< (RTC_MODE0_INTFLAG) Tamper Position */
+#define RTC_MODE0_INTFLAG_TAMPER_Msk        (_U_(0x1) << RTC_MODE0_INTFLAG_TAMPER_Pos)     /**< (RTC_MODE0_INTFLAG) Tamper Mask */
+#define RTC_MODE0_INTFLAG_TAMPER            RTC_MODE0_INTFLAG_TAMPER_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_TAMPER_Msk instead */
+#define RTC_MODE0_INTFLAG_OVF_Pos           15                                             /**< (RTC_MODE0_INTFLAG) Overflow Position */
+#define RTC_MODE0_INTFLAG_OVF_Msk           (_U_(0x1) << RTC_MODE0_INTFLAG_OVF_Pos)        /**< (RTC_MODE0_INTFLAG) Overflow Mask */
+#define RTC_MODE0_INTFLAG_OVF               RTC_MODE0_INTFLAG_OVF_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_OVF_Msk instead */
+#define RTC_MODE0_INTFLAG_MASK              _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE0_INTFLAG) Register MASK  (Use RTC_MODE0_INTFLAG_Msk instead)  */
+#define RTC_MODE0_INTFLAG_Msk               _U_(0xC1FF)                                    /**< (RTC_MODE0_INTFLAG) Register Mask  */
+
+#define RTC_MODE0_INTFLAG_PER_Pos           0                                              /**< (RTC_MODE0_INTFLAG Position) Periodic Interval x */
+#define RTC_MODE0_INTFLAG_PER_Msk           (_U_(0xFF) << RTC_MODE0_INTFLAG_PER_Pos)       /**< (RTC_MODE0_INTFLAG Mask) PER */
+#define RTC_MODE0_INTFLAG_PER(value)        (RTC_MODE0_INTFLAG_PER_Msk & ((value) << RTC_MODE0_INTFLAG_PER_Pos))  
+#define RTC_MODE0_INTFLAG_CMP_Pos           8                                              /**< (RTC_MODE0_INTFLAG Position) Compare x */
+#define RTC_MODE0_INTFLAG_CMP_Msk           (_U_(0x1) << RTC_MODE0_INTFLAG_CMP_Pos)        /**< (RTC_MODE0_INTFLAG Mask) CMP */
+#define RTC_MODE0_INTFLAG_CMP(value)        (RTC_MODE0_INTFLAG_CMP_Msk & ((value) << RTC_MODE0_INTFLAG_CMP_Pos))  
+
+/* -------- RTC_MODE1_INTFLAG : (RTC Offset: 0x0c) (R/W 16) MODE1 Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0                      */
+    __I uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1                      */
+    __I uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2                      */
+    __I uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3                      */
+    __I uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4                      */
+    __I uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5                      */
+    __I uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6                      */
+    __I uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7                      */
+    __I uint16_t CMP0:1;                    /**< bit:      8  Compare 0                                */
+    __I uint16_t CMP1:1;                    /**< bit:      9  Compare 1                                */
+    __I uint16_t :4;                        /**< bit: 10..13  Reserved */
+    __I uint16_t TAMPER:1;                  /**< bit:     14  Tamper                                   */
+    __I uint16_t OVF:1;                     /**< bit:     15  Overflow                                 */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    __I uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x                      */
+    __I uint16_t CMP:2;                     /**< bit:   8..9  Compare x                                */
+    __I uint16_t :6;                        /**< bit: 10..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_INTFLAG_OFFSET            (0x0C)                                        /**<  (RTC_MODE1_INTFLAG) MODE1 Interrupt Flag Status and Clear  Offset */
+#define RTC_MODE1_INTFLAG_RESETVALUE        _U_(0x00)                                     /**<  (RTC_MODE1_INTFLAG) MODE1 Interrupt Flag Status and Clear  Reset Value */
+
+#define RTC_MODE1_INTFLAG_PER0_Pos          0                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 0 Position */
+#define RTC_MODE1_INTFLAG_PER0_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER0_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 0 Mask */
+#define RTC_MODE1_INTFLAG_PER0              RTC_MODE1_INTFLAG_PER0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER0_Msk instead */
+#define RTC_MODE1_INTFLAG_PER1_Pos          1                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 1 Position */
+#define RTC_MODE1_INTFLAG_PER1_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER1_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 1 Mask */
+#define RTC_MODE1_INTFLAG_PER1              RTC_MODE1_INTFLAG_PER1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER1_Msk instead */
+#define RTC_MODE1_INTFLAG_PER2_Pos          2                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 2 Position */
+#define RTC_MODE1_INTFLAG_PER2_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER2_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 2 Mask */
+#define RTC_MODE1_INTFLAG_PER2              RTC_MODE1_INTFLAG_PER2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER2_Msk instead */
+#define RTC_MODE1_INTFLAG_PER3_Pos          3                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 3 Position */
+#define RTC_MODE1_INTFLAG_PER3_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER3_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 3 Mask */
+#define RTC_MODE1_INTFLAG_PER3              RTC_MODE1_INTFLAG_PER3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER3_Msk instead */
+#define RTC_MODE1_INTFLAG_PER4_Pos          4                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 4 Position */
+#define RTC_MODE1_INTFLAG_PER4_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER4_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 4 Mask */
+#define RTC_MODE1_INTFLAG_PER4              RTC_MODE1_INTFLAG_PER4_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER4_Msk instead */
+#define RTC_MODE1_INTFLAG_PER5_Pos          5                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 5 Position */
+#define RTC_MODE1_INTFLAG_PER5_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER5_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 5 Mask */
+#define RTC_MODE1_INTFLAG_PER5              RTC_MODE1_INTFLAG_PER5_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER5_Msk instead */
+#define RTC_MODE1_INTFLAG_PER6_Pos          6                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 6 Position */
+#define RTC_MODE1_INTFLAG_PER6_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER6_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 6 Mask */
+#define RTC_MODE1_INTFLAG_PER6              RTC_MODE1_INTFLAG_PER6_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER6_Msk instead */
+#define RTC_MODE1_INTFLAG_PER7_Pos          7                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 7 Position */
+#define RTC_MODE1_INTFLAG_PER7_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER7_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 7 Mask */
+#define RTC_MODE1_INTFLAG_PER7              RTC_MODE1_INTFLAG_PER7_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER7_Msk instead */
+#define RTC_MODE1_INTFLAG_CMP0_Pos          8                                              /**< (RTC_MODE1_INTFLAG) Compare 0 Position */
+#define RTC_MODE1_INTFLAG_CMP0_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_CMP0_Pos)       /**< (RTC_MODE1_INTFLAG) Compare 0 Mask */
+#define RTC_MODE1_INTFLAG_CMP0              RTC_MODE1_INTFLAG_CMP0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_CMP0_Msk instead */
+#define RTC_MODE1_INTFLAG_CMP1_Pos          9                                              /**< (RTC_MODE1_INTFLAG) Compare 1 Position */
+#define RTC_MODE1_INTFLAG_CMP1_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_CMP1_Pos)       /**< (RTC_MODE1_INTFLAG) Compare 1 Mask */
+#define RTC_MODE1_INTFLAG_CMP1              RTC_MODE1_INTFLAG_CMP1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_CMP1_Msk instead */
+#define RTC_MODE1_INTFLAG_TAMPER_Pos        14                                             /**< (RTC_MODE1_INTFLAG) Tamper Position */
+#define RTC_MODE1_INTFLAG_TAMPER_Msk        (_U_(0x1) << RTC_MODE1_INTFLAG_TAMPER_Pos)     /**< (RTC_MODE1_INTFLAG) Tamper Mask */
+#define RTC_MODE1_INTFLAG_TAMPER            RTC_MODE1_INTFLAG_TAMPER_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_TAMPER_Msk instead */
+#define RTC_MODE1_INTFLAG_OVF_Pos           15                                             /**< (RTC_MODE1_INTFLAG) Overflow Position */
+#define RTC_MODE1_INTFLAG_OVF_Msk           (_U_(0x1) << RTC_MODE1_INTFLAG_OVF_Pos)        /**< (RTC_MODE1_INTFLAG) Overflow Mask */
+#define RTC_MODE1_INTFLAG_OVF               RTC_MODE1_INTFLAG_OVF_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_OVF_Msk instead */
+#define RTC_MODE1_INTFLAG_MASK              _U_(0xC3FF)                                    /**< \deprecated (RTC_MODE1_INTFLAG) Register MASK  (Use RTC_MODE1_INTFLAG_Msk instead)  */
+#define RTC_MODE1_INTFLAG_Msk               _U_(0xC3FF)                                    /**< (RTC_MODE1_INTFLAG) Register Mask  */
+
+#define RTC_MODE1_INTFLAG_PER_Pos           0                                              /**< (RTC_MODE1_INTFLAG Position) Periodic Interval x */
+#define RTC_MODE1_INTFLAG_PER_Msk           (_U_(0xFF) << RTC_MODE1_INTFLAG_PER_Pos)       /**< (RTC_MODE1_INTFLAG Mask) PER */
+#define RTC_MODE1_INTFLAG_PER(value)        (RTC_MODE1_INTFLAG_PER_Msk & ((value) << RTC_MODE1_INTFLAG_PER_Pos))  
+#define RTC_MODE1_INTFLAG_CMP_Pos           8                                              /**< (RTC_MODE1_INTFLAG Position) Compare x */
+#define RTC_MODE1_INTFLAG_CMP_Msk           (_U_(0x3) << RTC_MODE1_INTFLAG_CMP_Pos)        /**< (RTC_MODE1_INTFLAG Mask) CMP */
+#define RTC_MODE1_INTFLAG_CMP(value)        (RTC_MODE1_INTFLAG_CMP_Msk & ((value) << RTC_MODE1_INTFLAG_CMP_Pos))  
+
+/* -------- RTC_MODE2_INTFLAG : (RTC Offset: 0x0c) (R/W 16) MODE2 Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0                      */
+    __I uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1                      */
+    __I uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2                      */
+    __I uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3                      */
+    __I uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4                      */
+    __I uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5                      */
+    __I uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6                      */
+    __I uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7                      */
+    __I uint16_t ALARM0:1;                  /**< bit:      8  Alarm 0                                  */
+    __I uint16_t :5;                        /**< bit:  9..13  Reserved */
+    __I uint16_t TAMPER:1;                  /**< bit:     14  Tamper                                   */
+    __I uint16_t OVF:1;                     /**< bit:     15  Overflow                                 */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    __I uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x                      */
+    __I uint16_t ALARM:1;                   /**< bit:      8  Alarm x                                  */
+    __I uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE2_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_INTFLAG_OFFSET            (0x0C)                                        /**<  (RTC_MODE2_INTFLAG) MODE2 Interrupt Flag Status and Clear  Offset */
+#define RTC_MODE2_INTFLAG_RESETVALUE        _U_(0x00)                                     /**<  (RTC_MODE2_INTFLAG) MODE2 Interrupt Flag Status and Clear  Reset Value */
+
+#define RTC_MODE2_INTFLAG_PER0_Pos          0                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 0 Position */
+#define RTC_MODE2_INTFLAG_PER0_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER0_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 0 Mask */
+#define RTC_MODE2_INTFLAG_PER0              RTC_MODE2_INTFLAG_PER0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER0_Msk instead */
+#define RTC_MODE2_INTFLAG_PER1_Pos          1                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 1 Position */
+#define RTC_MODE2_INTFLAG_PER1_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER1_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 1 Mask */
+#define RTC_MODE2_INTFLAG_PER1              RTC_MODE2_INTFLAG_PER1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER1_Msk instead */
+#define RTC_MODE2_INTFLAG_PER2_Pos          2                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 2 Position */
+#define RTC_MODE2_INTFLAG_PER2_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER2_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 2 Mask */
+#define RTC_MODE2_INTFLAG_PER2              RTC_MODE2_INTFLAG_PER2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER2_Msk instead */
+#define RTC_MODE2_INTFLAG_PER3_Pos          3                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 3 Position */
+#define RTC_MODE2_INTFLAG_PER3_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER3_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 3 Mask */
+#define RTC_MODE2_INTFLAG_PER3              RTC_MODE2_INTFLAG_PER3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER3_Msk instead */
+#define RTC_MODE2_INTFLAG_PER4_Pos          4                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 4 Position */
+#define RTC_MODE2_INTFLAG_PER4_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER4_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 4 Mask */
+#define RTC_MODE2_INTFLAG_PER4              RTC_MODE2_INTFLAG_PER4_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER4_Msk instead */
+#define RTC_MODE2_INTFLAG_PER5_Pos          5                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 5 Position */
+#define RTC_MODE2_INTFLAG_PER5_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER5_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 5 Mask */
+#define RTC_MODE2_INTFLAG_PER5              RTC_MODE2_INTFLAG_PER5_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER5_Msk instead */
+#define RTC_MODE2_INTFLAG_PER6_Pos          6                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 6 Position */
+#define RTC_MODE2_INTFLAG_PER6_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER6_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 6 Mask */
+#define RTC_MODE2_INTFLAG_PER6              RTC_MODE2_INTFLAG_PER6_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER6_Msk instead */
+#define RTC_MODE2_INTFLAG_PER7_Pos          7                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 7 Position */
+#define RTC_MODE2_INTFLAG_PER7_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER7_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 7 Mask */
+#define RTC_MODE2_INTFLAG_PER7              RTC_MODE2_INTFLAG_PER7_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER7_Msk instead */
+#define RTC_MODE2_INTFLAG_ALARM0_Pos        8                                              /**< (RTC_MODE2_INTFLAG) Alarm 0 Position */
+#define RTC_MODE2_INTFLAG_ALARM0_Msk        (_U_(0x1) << RTC_MODE2_INTFLAG_ALARM0_Pos)     /**< (RTC_MODE2_INTFLAG) Alarm 0 Mask */
+#define RTC_MODE2_INTFLAG_ALARM0            RTC_MODE2_INTFLAG_ALARM0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_ALARM0_Msk instead */
+#define RTC_MODE2_INTFLAG_TAMPER_Pos        14                                             /**< (RTC_MODE2_INTFLAG) Tamper Position */
+#define RTC_MODE2_INTFLAG_TAMPER_Msk        (_U_(0x1) << RTC_MODE2_INTFLAG_TAMPER_Pos)     /**< (RTC_MODE2_INTFLAG) Tamper Mask */
+#define RTC_MODE2_INTFLAG_TAMPER            RTC_MODE2_INTFLAG_TAMPER_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_TAMPER_Msk instead */
+#define RTC_MODE2_INTFLAG_OVF_Pos           15                                             /**< (RTC_MODE2_INTFLAG) Overflow Position */
+#define RTC_MODE2_INTFLAG_OVF_Msk           (_U_(0x1) << RTC_MODE2_INTFLAG_OVF_Pos)        /**< (RTC_MODE2_INTFLAG) Overflow Mask */
+#define RTC_MODE2_INTFLAG_OVF               RTC_MODE2_INTFLAG_OVF_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_OVF_Msk instead */
+#define RTC_MODE2_INTFLAG_MASK              _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE2_INTFLAG) Register MASK  (Use RTC_MODE2_INTFLAG_Msk instead)  */
+#define RTC_MODE2_INTFLAG_Msk               _U_(0xC1FF)                                    /**< (RTC_MODE2_INTFLAG) Register Mask  */
+
+#define RTC_MODE2_INTFLAG_PER_Pos           0                                              /**< (RTC_MODE2_INTFLAG Position) Periodic Interval x */
+#define RTC_MODE2_INTFLAG_PER_Msk           (_U_(0xFF) << RTC_MODE2_INTFLAG_PER_Pos)       /**< (RTC_MODE2_INTFLAG Mask) PER */
+#define RTC_MODE2_INTFLAG_PER(value)        (RTC_MODE2_INTFLAG_PER_Msk & ((value) << RTC_MODE2_INTFLAG_PER_Pos))  
+#define RTC_MODE2_INTFLAG_ALARM_Pos         8                                              /**< (RTC_MODE2_INTFLAG Position) Alarm x */
+#define RTC_MODE2_INTFLAG_ALARM_Msk         (_U_(0x1) << RTC_MODE2_INTFLAG_ALARM_Pos)      /**< (RTC_MODE2_INTFLAG Mask) ALARM */
+#define RTC_MODE2_INTFLAG_ALARM(value)      (RTC_MODE2_INTFLAG_ALARM_Msk & ((value) << RTC_MODE2_INTFLAG_ALARM_Pos))  
+
+/* -------- RTC_DBGCTRL : (RTC Offset: 0x0e) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DBGRUN:1;                  /**< bit:      0  Run During Debug                         */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} RTC_DBGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_DBGCTRL_OFFSET                  (0x0E)                                        /**<  (RTC_DBGCTRL) Debug Control  Offset */
+#define RTC_DBGCTRL_RESETVALUE              _U_(0x00)                                     /**<  (RTC_DBGCTRL) Debug Control  Reset Value */
+
+#define RTC_DBGCTRL_DBGRUN_Pos              0                                              /**< (RTC_DBGCTRL) Run During Debug Position */
+#define RTC_DBGCTRL_DBGRUN_Msk              (_U_(0x1) << RTC_DBGCTRL_DBGRUN_Pos)           /**< (RTC_DBGCTRL) Run During Debug Mask */
+#define RTC_DBGCTRL_DBGRUN                  RTC_DBGCTRL_DBGRUN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_DBGCTRL_DBGRUN_Msk instead */
+#define RTC_DBGCTRL_MASK                    _U_(0x01)                                      /**< \deprecated (RTC_DBGCTRL) Register MASK  (Use RTC_DBGCTRL_Msk instead)  */
+#define RTC_DBGCTRL_Msk                     _U_(0x01)                                      /**< (RTC_DBGCTRL) Register Mask  */
+
+
+/* -------- RTC_MODE0_SYNCBUSY : (RTC Offset: 0x10) (R/ 32) MODE0 Synchronization Busy Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Busy                      */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Bit Busy                          */
+    uint32_t FREQCORR:1;                /**< bit:      2  FREQCORR Register Busy                   */
+    uint32_t COUNT:1;                   /**< bit:      3  COUNT Register Busy                      */
+    uint32_t :1;                        /**< bit:      4  Reserved */
+    uint32_t COMP0:1;                   /**< bit:      5  COMP 0 Register Busy                     */
+    uint32_t :9;                        /**< bit:  6..14  Reserved */
+    uint32_t COUNTSYNC:1;               /**< bit:     15  Count Synchronization Enable Bit Busy    */
+    uint32_t GP0:1;                     /**< bit:     16  General Purpose 0 Register Busy          */
+    uint32_t GP1:1;                     /**< bit:     17  General Purpose 1 Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :5;                        /**< bit:   0..4  Reserved */
+    uint32_t COMP:1;                    /**< bit:      5  COMP x Register Busy                     */
+    uint32_t :10;                       /**< bit:  6..15  Reserved */
+    uint32_t GP:2;                      /**< bit: 16..17  General Purpose x Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE0_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_SYNCBUSY_OFFSET           (0x10)                                        /**<  (RTC_MODE0_SYNCBUSY) MODE0 Synchronization Busy Status  Offset */
+#define RTC_MODE0_SYNCBUSY_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE0_SYNCBUSY) MODE0 Synchronization Busy Status  Reset Value */
+
+#define RTC_MODE0_SYNCBUSY_SWRST_Pos        0                                              /**< (RTC_MODE0_SYNCBUSY) Software Reset Busy Position */
+#define RTC_MODE0_SYNCBUSY_SWRST_Msk        (_U_(0x1) << RTC_MODE0_SYNCBUSY_SWRST_Pos)     /**< (RTC_MODE0_SYNCBUSY) Software Reset Busy Mask */
+#define RTC_MODE0_SYNCBUSY_SWRST            RTC_MODE0_SYNCBUSY_SWRST_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_SWRST_Msk instead */
+#define RTC_MODE0_SYNCBUSY_ENABLE_Pos       1                                              /**< (RTC_MODE0_SYNCBUSY) Enable Bit Busy Position */
+#define RTC_MODE0_SYNCBUSY_ENABLE_Msk       (_U_(0x1) << RTC_MODE0_SYNCBUSY_ENABLE_Pos)    /**< (RTC_MODE0_SYNCBUSY) Enable Bit Busy Mask */
+#define RTC_MODE0_SYNCBUSY_ENABLE           RTC_MODE0_SYNCBUSY_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_ENABLE_Msk instead */
+#define RTC_MODE0_SYNCBUSY_FREQCORR_Pos     2                                              /**< (RTC_MODE0_SYNCBUSY) FREQCORR Register Busy Position */
+#define RTC_MODE0_SYNCBUSY_FREQCORR_Msk     (_U_(0x1) << RTC_MODE0_SYNCBUSY_FREQCORR_Pos)  /**< (RTC_MODE0_SYNCBUSY) FREQCORR Register Busy Mask */
+#define RTC_MODE0_SYNCBUSY_FREQCORR         RTC_MODE0_SYNCBUSY_FREQCORR_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_FREQCORR_Msk instead */
+#define RTC_MODE0_SYNCBUSY_COUNT_Pos        3                                              /**< (RTC_MODE0_SYNCBUSY) COUNT Register Busy Position */
+#define RTC_MODE0_SYNCBUSY_COUNT_Msk        (_U_(0x1) << RTC_MODE0_SYNCBUSY_COUNT_Pos)     /**< (RTC_MODE0_SYNCBUSY) COUNT Register Busy Mask */
+#define RTC_MODE0_SYNCBUSY_COUNT            RTC_MODE0_SYNCBUSY_COUNT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_COUNT_Msk instead */
+#define RTC_MODE0_SYNCBUSY_COMP0_Pos        5                                              /**< (RTC_MODE0_SYNCBUSY) COMP 0 Register Busy Position */
+#define RTC_MODE0_SYNCBUSY_COMP0_Msk        (_U_(0x1) << RTC_MODE0_SYNCBUSY_COMP0_Pos)     /**< (RTC_MODE0_SYNCBUSY) COMP 0 Register Busy Mask */
+#define RTC_MODE0_SYNCBUSY_COMP0            RTC_MODE0_SYNCBUSY_COMP0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_COMP0_Msk instead */
+#define RTC_MODE0_SYNCBUSY_COUNTSYNC_Pos    15                                             /**< (RTC_MODE0_SYNCBUSY) Count Synchronization Enable Bit Busy Position */
+#define RTC_MODE0_SYNCBUSY_COUNTSYNC_Msk    (_U_(0x1) << RTC_MODE0_SYNCBUSY_COUNTSYNC_Pos)  /**< (RTC_MODE0_SYNCBUSY) Count Synchronization Enable Bit Busy Mask */
+#define RTC_MODE0_SYNCBUSY_COUNTSYNC        RTC_MODE0_SYNCBUSY_COUNTSYNC_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_COUNTSYNC_Msk instead */
+#define RTC_MODE0_SYNCBUSY_GP0_Pos          16                                             /**< (RTC_MODE0_SYNCBUSY) General Purpose 0 Register Busy Position */
+#define RTC_MODE0_SYNCBUSY_GP0_Msk          (_U_(0x1) << RTC_MODE0_SYNCBUSY_GP0_Pos)       /**< (RTC_MODE0_SYNCBUSY) General Purpose 0 Register Busy Mask */
+#define RTC_MODE0_SYNCBUSY_GP0              RTC_MODE0_SYNCBUSY_GP0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_GP0_Msk instead */
+#define RTC_MODE0_SYNCBUSY_GP1_Pos          17                                             /**< (RTC_MODE0_SYNCBUSY) General Purpose 1 Register Busy Position */
+#define RTC_MODE0_SYNCBUSY_GP1_Msk          (_U_(0x1) << RTC_MODE0_SYNCBUSY_GP1_Pos)       /**< (RTC_MODE0_SYNCBUSY) General Purpose 1 Register Busy Mask */
+#define RTC_MODE0_SYNCBUSY_GP1              RTC_MODE0_SYNCBUSY_GP1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_GP1_Msk instead */
+#define RTC_MODE0_SYNCBUSY_MASK             _U_(0x3802F)                                   /**< \deprecated (RTC_MODE0_SYNCBUSY) Register MASK  (Use RTC_MODE0_SYNCBUSY_Msk instead)  */
+#define RTC_MODE0_SYNCBUSY_Msk              _U_(0x3802F)                                   /**< (RTC_MODE0_SYNCBUSY) Register Mask  */
+
+#define RTC_MODE0_SYNCBUSY_COMP_Pos         5                                              /**< (RTC_MODE0_SYNCBUSY Position) COMP x Register Busy */
+#define RTC_MODE0_SYNCBUSY_COMP_Msk         (_U_(0x1) << RTC_MODE0_SYNCBUSY_COMP_Pos)      /**< (RTC_MODE0_SYNCBUSY Mask) COMP */
+#define RTC_MODE0_SYNCBUSY_COMP(value)      (RTC_MODE0_SYNCBUSY_COMP_Msk & ((value) << RTC_MODE0_SYNCBUSY_COMP_Pos))  
+#define RTC_MODE0_SYNCBUSY_GP_Pos           16                                             /**< (RTC_MODE0_SYNCBUSY Position) General Purpose x Register Busy */
+#define RTC_MODE0_SYNCBUSY_GP_Msk           (_U_(0x3) << RTC_MODE0_SYNCBUSY_GP_Pos)        /**< (RTC_MODE0_SYNCBUSY Mask) GP */
+#define RTC_MODE0_SYNCBUSY_GP(value)        (RTC_MODE0_SYNCBUSY_GP_Msk & ((value) << RTC_MODE0_SYNCBUSY_GP_Pos))  
+
+/* -------- RTC_MODE1_SYNCBUSY : (RTC Offset: 0x10) (R/ 32) MODE1 Synchronization Busy Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Bit Busy                  */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Bit Busy                          */
+    uint32_t FREQCORR:1;                /**< bit:      2  FREQCORR Register Busy                   */
+    uint32_t COUNT:1;                   /**< bit:      3  COUNT Register Busy                      */
+    uint32_t PER:1;                     /**< bit:      4  PER Register Busy                        */
+    uint32_t COMP0:1;                   /**< bit:      5  COMP 0 Register Busy                     */
+    uint32_t COMP1:1;                   /**< bit:      6  COMP 1 Register Busy                     */
+    uint32_t :8;                        /**< bit:  7..14  Reserved */
+    uint32_t COUNTSYNC:1;               /**< bit:     15  Count Synchronization Enable Bit Busy    */
+    uint32_t GP0:1;                     /**< bit:     16  General Purpose 0 Register Busy          */
+    uint32_t GP1:1;                     /**< bit:     17  General Purpose 1 Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :5;                        /**< bit:   0..4  Reserved */
+    uint32_t COMP:2;                    /**< bit:   5..6  COMP x Register Busy                     */
+    uint32_t :9;                        /**< bit:  7..15  Reserved */
+    uint32_t GP:2;                      /**< bit: 16..17  General Purpose x Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE1_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_SYNCBUSY_OFFSET           (0x10)                                        /**<  (RTC_MODE1_SYNCBUSY) MODE1 Synchronization Busy Status  Offset */
+#define RTC_MODE1_SYNCBUSY_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE1_SYNCBUSY) MODE1 Synchronization Busy Status  Reset Value */
+
+#define RTC_MODE1_SYNCBUSY_SWRST_Pos        0                                              /**< (RTC_MODE1_SYNCBUSY) Software Reset Bit Busy Position */
+#define RTC_MODE1_SYNCBUSY_SWRST_Msk        (_U_(0x1) << RTC_MODE1_SYNCBUSY_SWRST_Pos)     /**< (RTC_MODE1_SYNCBUSY) Software Reset Bit Busy Mask */
+#define RTC_MODE1_SYNCBUSY_SWRST            RTC_MODE1_SYNCBUSY_SWRST_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_SWRST_Msk instead */
+#define RTC_MODE1_SYNCBUSY_ENABLE_Pos       1                                              /**< (RTC_MODE1_SYNCBUSY) Enable Bit Busy Position */
+#define RTC_MODE1_SYNCBUSY_ENABLE_Msk       (_U_(0x1) << RTC_MODE1_SYNCBUSY_ENABLE_Pos)    /**< (RTC_MODE1_SYNCBUSY) Enable Bit Busy Mask */
+#define RTC_MODE1_SYNCBUSY_ENABLE           RTC_MODE1_SYNCBUSY_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_ENABLE_Msk instead */
+#define RTC_MODE1_SYNCBUSY_FREQCORR_Pos     2                                              /**< (RTC_MODE1_SYNCBUSY) FREQCORR Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_FREQCORR_Msk     (_U_(0x1) << RTC_MODE1_SYNCBUSY_FREQCORR_Pos)  /**< (RTC_MODE1_SYNCBUSY) FREQCORR Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_FREQCORR         RTC_MODE1_SYNCBUSY_FREQCORR_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_FREQCORR_Msk instead */
+#define RTC_MODE1_SYNCBUSY_COUNT_Pos        3                                              /**< (RTC_MODE1_SYNCBUSY) COUNT Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_COUNT_Msk        (_U_(0x1) << RTC_MODE1_SYNCBUSY_COUNT_Pos)     /**< (RTC_MODE1_SYNCBUSY) COUNT Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_COUNT            RTC_MODE1_SYNCBUSY_COUNT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_COUNT_Msk instead */
+#define RTC_MODE1_SYNCBUSY_PER_Pos          4                                              /**< (RTC_MODE1_SYNCBUSY) PER Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_PER_Msk          (_U_(0x1) << RTC_MODE1_SYNCBUSY_PER_Pos)       /**< (RTC_MODE1_SYNCBUSY) PER Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_PER              RTC_MODE1_SYNCBUSY_PER_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_PER_Msk instead */
+#define RTC_MODE1_SYNCBUSY_COMP0_Pos        5                                              /**< (RTC_MODE1_SYNCBUSY) COMP 0 Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_COMP0_Msk        (_U_(0x1) << RTC_MODE1_SYNCBUSY_COMP0_Pos)     /**< (RTC_MODE1_SYNCBUSY) COMP 0 Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_COMP0            RTC_MODE1_SYNCBUSY_COMP0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_COMP0_Msk instead */
+#define RTC_MODE1_SYNCBUSY_COMP1_Pos        6                                              /**< (RTC_MODE1_SYNCBUSY) COMP 1 Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_COMP1_Msk        (_U_(0x1) << RTC_MODE1_SYNCBUSY_COMP1_Pos)     /**< (RTC_MODE1_SYNCBUSY) COMP 1 Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_COMP1            RTC_MODE1_SYNCBUSY_COMP1_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_COMP1_Msk instead */
+#define RTC_MODE1_SYNCBUSY_COUNTSYNC_Pos    15                                             /**< (RTC_MODE1_SYNCBUSY) Count Synchronization Enable Bit Busy Position */
+#define RTC_MODE1_SYNCBUSY_COUNTSYNC_Msk    (_U_(0x1) << RTC_MODE1_SYNCBUSY_COUNTSYNC_Pos)  /**< (RTC_MODE1_SYNCBUSY) Count Synchronization Enable Bit Busy Mask */
+#define RTC_MODE1_SYNCBUSY_COUNTSYNC        RTC_MODE1_SYNCBUSY_COUNTSYNC_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_COUNTSYNC_Msk instead */
+#define RTC_MODE1_SYNCBUSY_GP0_Pos          16                                             /**< (RTC_MODE1_SYNCBUSY) General Purpose 0 Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_GP0_Msk          (_U_(0x1) << RTC_MODE1_SYNCBUSY_GP0_Pos)       /**< (RTC_MODE1_SYNCBUSY) General Purpose 0 Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_GP0              RTC_MODE1_SYNCBUSY_GP0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_GP0_Msk instead */
+#define RTC_MODE1_SYNCBUSY_GP1_Pos          17                                             /**< (RTC_MODE1_SYNCBUSY) General Purpose 1 Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_GP1_Msk          (_U_(0x1) << RTC_MODE1_SYNCBUSY_GP1_Pos)       /**< (RTC_MODE1_SYNCBUSY) General Purpose 1 Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_GP1              RTC_MODE1_SYNCBUSY_GP1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_GP1_Msk instead */
+#define RTC_MODE1_SYNCBUSY_MASK             _U_(0x3807F)                                   /**< \deprecated (RTC_MODE1_SYNCBUSY) Register MASK  (Use RTC_MODE1_SYNCBUSY_Msk instead)  */
+#define RTC_MODE1_SYNCBUSY_Msk              _U_(0x3807F)                                   /**< (RTC_MODE1_SYNCBUSY) Register Mask  */
+
+#define RTC_MODE1_SYNCBUSY_COMP_Pos         5                                              /**< (RTC_MODE1_SYNCBUSY Position) COMP x Register Busy */
+#define RTC_MODE1_SYNCBUSY_COMP_Msk         (_U_(0x3) << RTC_MODE1_SYNCBUSY_COMP_Pos)      /**< (RTC_MODE1_SYNCBUSY Mask) COMP */
+#define RTC_MODE1_SYNCBUSY_COMP(value)      (RTC_MODE1_SYNCBUSY_COMP_Msk & ((value) << RTC_MODE1_SYNCBUSY_COMP_Pos))  
+#define RTC_MODE1_SYNCBUSY_GP_Pos           16                                             /**< (RTC_MODE1_SYNCBUSY Position) General Purpose x Register Busy */
+#define RTC_MODE1_SYNCBUSY_GP_Msk           (_U_(0x3) << RTC_MODE1_SYNCBUSY_GP_Pos)        /**< (RTC_MODE1_SYNCBUSY Mask) GP */
+#define RTC_MODE1_SYNCBUSY_GP(value)        (RTC_MODE1_SYNCBUSY_GP_Msk & ((value) << RTC_MODE1_SYNCBUSY_GP_Pos))  
+
+/* -------- RTC_MODE2_SYNCBUSY : (RTC Offset: 0x10) (R/ 32) MODE2 Synchronization Busy Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Bit Busy                  */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Bit Busy                          */
+    uint32_t FREQCORR:1;                /**< bit:      2  FREQCORR Register Busy                   */
+    uint32_t CLOCK:1;                   /**< bit:      3  CLOCK Register Busy                      */
+    uint32_t :1;                        /**< bit:      4  Reserved */
+    uint32_t ALARM0:1;                  /**< bit:      5  ALARM 0 Register Busy                    */
+    uint32_t :5;                        /**< bit:  6..10  Reserved */
+    uint32_t MASK0:1;                   /**< bit:     11  MASK 0 Register Busy                     */
+    uint32_t :3;                        /**< bit: 12..14  Reserved */
+    uint32_t CLOCKSYNC:1;               /**< bit:     15  Clock Synchronization Enable Bit Busy    */
+    uint32_t GP0:1;                     /**< bit:     16  General Purpose 0 Register Busy          */
+    uint32_t GP1:1;                     /**< bit:     17  General Purpose 1 Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :5;                        /**< bit:   0..4  Reserved */
+    uint32_t ALARM:1;                   /**< bit:      5  ALARM x Register Busy                    */
+    uint32_t :5;                        /**< bit:  6..10  Reserved */
+    uint32_t MASK:1;                    /**< bit:     11  MASK x Register Busy                     */
+    uint32_t :4;                        /**< bit: 12..15  Reserved */
+    uint32_t GP:2;                      /**< bit: 16..17  General Purpose x Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE2_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_SYNCBUSY_OFFSET           (0x10)                                        /**<  (RTC_MODE2_SYNCBUSY) MODE2 Synchronization Busy Status  Offset */
+#define RTC_MODE2_SYNCBUSY_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE2_SYNCBUSY) MODE2 Synchronization Busy Status  Reset Value */
+
+#define RTC_MODE2_SYNCBUSY_SWRST_Pos        0                                              /**< (RTC_MODE2_SYNCBUSY) Software Reset Bit Busy Position */
+#define RTC_MODE2_SYNCBUSY_SWRST_Msk        (_U_(0x1) << RTC_MODE2_SYNCBUSY_SWRST_Pos)     /**< (RTC_MODE2_SYNCBUSY) Software Reset Bit Busy Mask */
+#define RTC_MODE2_SYNCBUSY_SWRST            RTC_MODE2_SYNCBUSY_SWRST_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_SWRST_Msk instead */
+#define RTC_MODE2_SYNCBUSY_ENABLE_Pos       1                                              /**< (RTC_MODE2_SYNCBUSY) Enable Bit Busy Position */
+#define RTC_MODE2_SYNCBUSY_ENABLE_Msk       (_U_(0x1) << RTC_MODE2_SYNCBUSY_ENABLE_Pos)    /**< (RTC_MODE2_SYNCBUSY) Enable Bit Busy Mask */
+#define RTC_MODE2_SYNCBUSY_ENABLE           RTC_MODE2_SYNCBUSY_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_ENABLE_Msk instead */
+#define RTC_MODE2_SYNCBUSY_FREQCORR_Pos     2                                              /**< (RTC_MODE2_SYNCBUSY) FREQCORR Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_FREQCORR_Msk     (_U_(0x1) << RTC_MODE2_SYNCBUSY_FREQCORR_Pos)  /**< (RTC_MODE2_SYNCBUSY) FREQCORR Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_FREQCORR         RTC_MODE2_SYNCBUSY_FREQCORR_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_FREQCORR_Msk instead */
+#define RTC_MODE2_SYNCBUSY_CLOCK_Pos        3                                              /**< (RTC_MODE2_SYNCBUSY) CLOCK Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_CLOCK_Msk        (_U_(0x1) << RTC_MODE2_SYNCBUSY_CLOCK_Pos)     /**< (RTC_MODE2_SYNCBUSY) CLOCK Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_CLOCK            RTC_MODE2_SYNCBUSY_CLOCK_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_CLOCK_Msk instead */
+#define RTC_MODE2_SYNCBUSY_ALARM0_Pos       5                                              /**< (RTC_MODE2_SYNCBUSY) ALARM 0 Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_ALARM0_Msk       (_U_(0x1) << RTC_MODE2_SYNCBUSY_ALARM0_Pos)    /**< (RTC_MODE2_SYNCBUSY) ALARM 0 Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_ALARM0           RTC_MODE2_SYNCBUSY_ALARM0_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_ALARM0_Msk instead */
+#define RTC_MODE2_SYNCBUSY_MASK0_Pos        11                                             /**< (RTC_MODE2_SYNCBUSY) MASK 0 Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_MASK0_Msk        (_U_(0x1) << RTC_MODE2_SYNCBUSY_MASK0_Pos)     /**< (RTC_MODE2_SYNCBUSY) MASK 0 Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_MASK0            RTC_MODE2_SYNCBUSY_MASK0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_MASK0_Msk instead */
+#define RTC_MODE2_SYNCBUSY_CLOCKSYNC_Pos    15                                             /**< (RTC_MODE2_SYNCBUSY) Clock Synchronization Enable Bit Busy Position */
+#define RTC_MODE2_SYNCBUSY_CLOCKSYNC_Msk    (_U_(0x1) << RTC_MODE2_SYNCBUSY_CLOCKSYNC_Pos)  /**< (RTC_MODE2_SYNCBUSY) Clock Synchronization Enable Bit Busy Mask */
+#define RTC_MODE2_SYNCBUSY_CLOCKSYNC        RTC_MODE2_SYNCBUSY_CLOCKSYNC_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_CLOCKSYNC_Msk instead */
+#define RTC_MODE2_SYNCBUSY_GP0_Pos          16                                             /**< (RTC_MODE2_SYNCBUSY) General Purpose 0 Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_GP0_Msk          (_U_(0x1) << RTC_MODE2_SYNCBUSY_GP0_Pos)       /**< (RTC_MODE2_SYNCBUSY) General Purpose 0 Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_GP0              RTC_MODE2_SYNCBUSY_GP0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_GP0_Msk instead */
+#define RTC_MODE2_SYNCBUSY_GP1_Pos          17                                             /**< (RTC_MODE2_SYNCBUSY) General Purpose 1 Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_GP1_Msk          (_U_(0x1) << RTC_MODE2_SYNCBUSY_GP1_Pos)       /**< (RTC_MODE2_SYNCBUSY) General Purpose 1 Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_GP1              RTC_MODE2_SYNCBUSY_GP1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_GP1_Msk instead */
+#define RTC_MODE2_SYNCBUSY_Msk              _U_(0x3882F)                                   /**< (RTC_MODE2_SYNCBUSY) Register Mask  */
+
+#define RTC_MODE2_SYNCBUSY_ALARM_Pos        5                                              /**< (RTC_MODE2_SYNCBUSY Position) ALARM x Register Busy */
+#define RTC_MODE2_SYNCBUSY_ALARM_Msk        (_U_(0x1) << RTC_MODE2_SYNCBUSY_ALARM_Pos)     /**< (RTC_MODE2_SYNCBUSY Mask) ALARM */
+#define RTC_MODE2_SYNCBUSY_ALARM(value)     (RTC_MODE2_SYNCBUSY_ALARM_Msk & ((value) << RTC_MODE2_SYNCBUSY_ALARM_Pos))  
+#define RTC_MODE2_SYNCBUSY_MASK_Pos         11                                             /**< (RTC_MODE2_SYNCBUSY Position) MASK x Register Busy */
+#define RTC_MODE2_SYNCBUSY_MASK_Msk         (_U_(0x1) << RTC_MODE2_SYNCBUSY_MASK_Pos)      /**< (RTC_MODE2_SYNCBUSY Mask) MASK */
+#define RTC_MODE2_SYNCBUSY_MASK(value)      (RTC_MODE2_SYNCBUSY_MASK_Msk & ((value) << RTC_MODE2_SYNCBUSY_MASK_Pos))  
+#define RTC_MODE2_SYNCBUSY_GP_Pos           16                                             /**< (RTC_MODE2_SYNCBUSY Position) General Purpose x Register Busy */
+#define RTC_MODE2_SYNCBUSY_GP_Msk           (_U_(0x3) << RTC_MODE2_SYNCBUSY_GP_Pos)        /**< (RTC_MODE2_SYNCBUSY Mask) GP */
+#define RTC_MODE2_SYNCBUSY_GP(value)        (RTC_MODE2_SYNCBUSY_GP_Msk & ((value) << RTC_MODE2_SYNCBUSY_GP_Pos))  
+
+/* -------- RTC_FREQCORR : (RTC Offset: 0x14) (R/W 8) Frequency Correction -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  VALUE:7;                   /**< bit:   0..6  Correction Value                         */
+    uint8_t  SIGN:1;                    /**< bit:      7  Correction Sign                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} RTC_FREQCORR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_FREQCORR_OFFSET                 (0x14)                                        /**<  (RTC_FREQCORR) Frequency Correction  Offset */
+#define RTC_FREQCORR_RESETVALUE             _U_(0x00)                                     /**<  (RTC_FREQCORR) Frequency Correction  Reset Value */
+
+#define RTC_FREQCORR_VALUE_Pos              0                                              /**< (RTC_FREQCORR) Correction Value Position */
+#define RTC_FREQCORR_VALUE_Msk              (_U_(0x7F) << RTC_FREQCORR_VALUE_Pos)          /**< (RTC_FREQCORR) Correction Value Mask */
+#define RTC_FREQCORR_VALUE(value)           (RTC_FREQCORR_VALUE_Msk & ((value) << RTC_FREQCORR_VALUE_Pos))
+#define RTC_FREQCORR_SIGN_Pos               7                                              /**< (RTC_FREQCORR) Correction Sign Position */
+#define RTC_FREQCORR_SIGN_Msk               (_U_(0x1) << RTC_FREQCORR_SIGN_Pos)            /**< (RTC_FREQCORR) Correction Sign Mask */
+#define RTC_FREQCORR_SIGN                   RTC_FREQCORR_SIGN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_FREQCORR_SIGN_Msk instead */
+#define RTC_FREQCORR_MASK                   _U_(0xFF)                                      /**< \deprecated (RTC_FREQCORR) Register MASK  (Use RTC_FREQCORR_Msk instead)  */
+#define RTC_FREQCORR_Msk                    _U_(0xFF)                                      /**< (RTC_FREQCORR) Register Mask  */
+
+
+/* -------- RTC_MODE0_COUNT : (RTC Offset: 0x18) (R/W 32) MODE0 Counter Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t COUNT:32;                  /**< bit:  0..31  Counter Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE0_COUNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_COUNT_OFFSET              (0x18)                                        /**<  (RTC_MODE0_COUNT) MODE0 Counter Value  Offset */
+#define RTC_MODE0_COUNT_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE0_COUNT) MODE0 Counter Value  Reset Value */
+
+#define RTC_MODE0_COUNT_COUNT_Pos           0                                              /**< (RTC_MODE0_COUNT) Counter Value Position */
+#define RTC_MODE0_COUNT_COUNT_Msk           (_U_(0xFFFFFFFF) << RTC_MODE0_COUNT_COUNT_Pos)  /**< (RTC_MODE0_COUNT) Counter Value Mask */
+#define RTC_MODE0_COUNT_COUNT(value)        (RTC_MODE0_COUNT_COUNT_Msk & ((value) << RTC_MODE0_COUNT_COUNT_Pos))
+#define RTC_MODE0_COUNT_MASK                _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE0_COUNT) Register MASK  (Use RTC_MODE0_COUNT_Msk instead)  */
+#define RTC_MODE0_COUNT_Msk                 _U_(0xFFFFFFFF)                                /**< (RTC_MODE0_COUNT) Register Mask  */
+
+
+/* -------- RTC_MODE1_COUNT : (RTC Offset: 0x18) (R/W 16) MODE1 Counter Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t COUNT:16;                  /**< bit:  0..15  Counter Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_COUNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_COUNT_OFFSET              (0x18)                                        /**<  (RTC_MODE1_COUNT) MODE1 Counter Value  Offset */
+#define RTC_MODE1_COUNT_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE1_COUNT) MODE1 Counter Value  Reset Value */
+
+#define RTC_MODE1_COUNT_COUNT_Pos           0                                              /**< (RTC_MODE1_COUNT) Counter Value Position */
+#define RTC_MODE1_COUNT_COUNT_Msk           (_U_(0xFFFF) << RTC_MODE1_COUNT_COUNT_Pos)     /**< (RTC_MODE1_COUNT) Counter Value Mask */
+#define RTC_MODE1_COUNT_COUNT(value)        (RTC_MODE1_COUNT_COUNT_Msk & ((value) << RTC_MODE1_COUNT_COUNT_Pos))
+#define RTC_MODE1_COUNT_MASK                _U_(0xFFFF)                                    /**< \deprecated (RTC_MODE1_COUNT) Register MASK  (Use RTC_MODE1_COUNT_Msk instead)  */
+#define RTC_MODE1_COUNT_Msk                 _U_(0xFFFF)                                    /**< (RTC_MODE1_COUNT) Register Mask  */
+
+
+/* -------- RTC_MODE2_CLOCK : (RTC Offset: 0x18) (R/W 32) MODE2 Clock Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SECOND:6;                  /**< bit:   0..5  Second                                   */
+    uint32_t MINUTE:6;                  /**< bit:  6..11  Minute                                   */
+    uint32_t HOUR:5;                    /**< bit: 12..16  Hour                                     */
+    uint32_t DAY:5;                     /**< bit: 17..21  Day                                      */
+    uint32_t MONTH:4;                   /**< bit: 22..25  Month                                    */
+    uint32_t YEAR:6;                    /**< bit: 26..31  Year                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE2_CLOCK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_CLOCK_OFFSET              (0x18)                                        /**<  (RTC_MODE2_CLOCK) MODE2 Clock Value  Offset */
+#define RTC_MODE2_CLOCK_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE2_CLOCK) MODE2 Clock Value  Reset Value */
+
+#define RTC_MODE2_CLOCK_SECOND_Pos          0                                              /**< (RTC_MODE2_CLOCK) Second Position */
+#define RTC_MODE2_CLOCK_SECOND_Msk          (_U_(0x3F) << RTC_MODE2_CLOCK_SECOND_Pos)      /**< (RTC_MODE2_CLOCK) Second Mask */
+#define RTC_MODE2_CLOCK_SECOND(value)       (RTC_MODE2_CLOCK_SECOND_Msk & ((value) << RTC_MODE2_CLOCK_SECOND_Pos))
+#define RTC_MODE2_CLOCK_MINUTE_Pos          6                                              /**< (RTC_MODE2_CLOCK) Minute Position */
+#define RTC_MODE2_CLOCK_MINUTE_Msk          (_U_(0x3F) << RTC_MODE2_CLOCK_MINUTE_Pos)      /**< (RTC_MODE2_CLOCK) Minute Mask */
+#define RTC_MODE2_CLOCK_MINUTE(value)       (RTC_MODE2_CLOCK_MINUTE_Msk & ((value) << RTC_MODE2_CLOCK_MINUTE_Pos))
+#define RTC_MODE2_CLOCK_HOUR_Pos            12                                             /**< (RTC_MODE2_CLOCK) Hour Position */
+#define RTC_MODE2_CLOCK_HOUR_Msk            (_U_(0x1F) << RTC_MODE2_CLOCK_HOUR_Pos)        /**< (RTC_MODE2_CLOCK) Hour Mask */
+#define RTC_MODE2_CLOCK_HOUR(value)         (RTC_MODE2_CLOCK_HOUR_Msk & ((value) << RTC_MODE2_CLOCK_HOUR_Pos))
+#define RTC_MODE2_CLOCK_DAY_Pos             17                                             /**< (RTC_MODE2_CLOCK) Day Position */
+#define RTC_MODE2_CLOCK_DAY_Msk             (_U_(0x1F) << RTC_MODE2_CLOCK_DAY_Pos)         /**< (RTC_MODE2_CLOCK) Day Mask */
+#define RTC_MODE2_CLOCK_DAY(value)          (RTC_MODE2_CLOCK_DAY_Msk & ((value) << RTC_MODE2_CLOCK_DAY_Pos))
+#define RTC_MODE2_CLOCK_MONTH_Pos           22                                             /**< (RTC_MODE2_CLOCK) Month Position */
+#define RTC_MODE2_CLOCK_MONTH_Msk           (_U_(0xF) << RTC_MODE2_CLOCK_MONTH_Pos)        /**< (RTC_MODE2_CLOCK) Month Mask */
+#define RTC_MODE2_CLOCK_MONTH(value)        (RTC_MODE2_CLOCK_MONTH_Msk & ((value) << RTC_MODE2_CLOCK_MONTH_Pos))
+#define RTC_MODE2_CLOCK_YEAR_Pos            26                                             /**< (RTC_MODE2_CLOCK) Year Position */
+#define RTC_MODE2_CLOCK_YEAR_Msk            (_U_(0x3F) << RTC_MODE2_CLOCK_YEAR_Pos)        /**< (RTC_MODE2_CLOCK) Year Mask */
+#define RTC_MODE2_CLOCK_YEAR(value)         (RTC_MODE2_CLOCK_YEAR_Msk & ((value) << RTC_MODE2_CLOCK_YEAR_Pos))
+#define RTC_MODE2_CLOCK_MASK                _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE2_CLOCK) Register MASK  (Use RTC_MODE2_CLOCK_Msk instead)  */
+#define RTC_MODE2_CLOCK_Msk                 _U_(0xFFFFFFFF)                                /**< (RTC_MODE2_CLOCK) Register Mask  */
+
+
+/* -------- RTC_MODE1_PER : (RTC Offset: 0x1c) (R/W 16) MODE1 Counter Period -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER:16;                    /**< bit:  0..15  Counter Period                           */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_PER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_PER_OFFSET                (0x1C)                                        /**<  (RTC_MODE1_PER) MODE1 Counter Period  Offset */
+#define RTC_MODE1_PER_RESETVALUE            _U_(0x00)                                     /**<  (RTC_MODE1_PER) MODE1 Counter Period  Reset Value */
+
+#define RTC_MODE1_PER_PER_Pos               0                                              /**< (RTC_MODE1_PER) Counter Period Position */
+#define RTC_MODE1_PER_PER_Msk               (_U_(0xFFFF) << RTC_MODE1_PER_PER_Pos)         /**< (RTC_MODE1_PER) Counter Period Mask */
+#define RTC_MODE1_PER_PER(value)            (RTC_MODE1_PER_PER_Msk & ((value) << RTC_MODE1_PER_PER_Pos))
+#define RTC_MODE1_PER_MASK                  _U_(0xFFFF)                                    /**< \deprecated (RTC_MODE1_PER) Register MASK  (Use RTC_MODE1_PER_Msk instead)  */
+#define RTC_MODE1_PER_Msk                   _U_(0xFFFF)                                    /**< (RTC_MODE1_PER) Register Mask  */
+
+
+/* -------- RTC_MODE0_COMP : (RTC Offset: 0x20) (R/W 32) MODE0 Compare n Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t COMP:32;                   /**< bit:  0..31  Compare Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE0_COMP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_COMP_OFFSET               (0x20)                                        /**<  (RTC_MODE0_COMP) MODE0 Compare n Value  Offset */
+#define RTC_MODE0_COMP_RESETVALUE           _U_(0x00)                                     /**<  (RTC_MODE0_COMP) MODE0 Compare n Value  Reset Value */
+
+#define RTC_MODE0_COMP_COMP_Pos             0                                              /**< (RTC_MODE0_COMP) Compare Value Position */
+#define RTC_MODE0_COMP_COMP_Msk             (_U_(0xFFFFFFFF) << RTC_MODE0_COMP_COMP_Pos)   /**< (RTC_MODE0_COMP) Compare Value Mask */
+#define RTC_MODE0_COMP_COMP(value)          (RTC_MODE0_COMP_COMP_Msk & ((value) << RTC_MODE0_COMP_COMP_Pos))
+#define RTC_MODE0_COMP_MASK                 _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE0_COMP) Register MASK  (Use RTC_MODE0_COMP_Msk instead)  */
+#define RTC_MODE0_COMP_Msk                  _U_(0xFFFFFFFF)                                /**< (RTC_MODE0_COMP) Register Mask  */
+
+
+/* -------- RTC_MODE1_COMP : (RTC Offset: 0x20) (R/W 16) MODE1 Compare n Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t COMP:16;                   /**< bit:  0..15  Compare Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_COMP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_COMP_OFFSET               (0x20)                                        /**<  (RTC_MODE1_COMP) MODE1 Compare n Value  Offset */
+#define RTC_MODE1_COMP_RESETVALUE           _U_(0x00)                                     /**<  (RTC_MODE1_COMP) MODE1 Compare n Value  Reset Value */
+
+#define RTC_MODE1_COMP_COMP_Pos             0                                              /**< (RTC_MODE1_COMP) Compare Value Position */
+#define RTC_MODE1_COMP_COMP_Msk             (_U_(0xFFFF) << RTC_MODE1_COMP_COMP_Pos)       /**< (RTC_MODE1_COMP) Compare Value Mask */
+#define RTC_MODE1_COMP_COMP(value)          (RTC_MODE1_COMP_COMP_Msk & ((value) << RTC_MODE1_COMP_COMP_Pos))
+#define RTC_MODE1_COMP_MASK                 _U_(0xFFFF)                                    /**< \deprecated (RTC_MODE1_COMP) Register MASK  (Use RTC_MODE1_COMP_Msk instead)  */
+#define RTC_MODE1_COMP_Msk                  _U_(0xFFFF)                                    /**< (RTC_MODE1_COMP) Register Mask  */
+
+
+/* -------- RTC_GP : (RTC Offset: 0x40) (R/W 32) General Purpose -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t GP:32;                     /**< bit:  0..31  General Purpose                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_GP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_GP_OFFSET                       (0x40)                                        /**<  (RTC_GP) General Purpose  Offset */
+#define RTC_GP_RESETVALUE                   _U_(0x00)                                     /**<  (RTC_GP) General Purpose  Reset Value */
+
+#define RTC_GP_GP_Pos                       0                                              /**< (RTC_GP) General Purpose Position */
+#define RTC_GP_GP_Msk                       (_U_(0xFFFFFFFF) << RTC_GP_GP_Pos)             /**< (RTC_GP) General Purpose Mask */
+#define RTC_GP_GP(value)                    (RTC_GP_GP_Msk & ((value) << RTC_GP_GP_Pos)) 
+#define RTC_GP_MASK                         _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_GP) Register MASK  (Use RTC_GP_Msk instead)  */
+#define RTC_GP_Msk                          _U_(0xFFFFFFFF)                                /**< (RTC_GP) Register Mask  */
+
+
+/* -------- RTC_TAMPCTRL : (RTC Offset: 0x60) (R/W 32) Tamper Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IN0ACT:2;                  /**< bit:   0..1  Tamper Input 0 Action                    */
+    uint32_t IN1ACT:2;                  /**< bit:   2..3  Tamper Input 1 Action                    */
+    uint32_t IN2ACT:2;                  /**< bit:   4..5  Tamper Input 2 Action                    */
+    uint32_t IN3ACT:2;                  /**< bit:   6..7  Tamper Input 3 Action                    */
+    uint32_t :8;                        /**< bit:  8..15  Reserved */
+    uint32_t TAMLVL0:1;                 /**< bit:     16  Tamper Level Select 0                    */
+    uint32_t TAMLVL1:1;                 /**< bit:     17  Tamper Level Select 1                    */
+    uint32_t TAMLVL2:1;                 /**< bit:     18  Tamper Level Select 2                    */
+    uint32_t TAMLVL3:1;                 /**< bit:     19  Tamper Level Select 3                    */
+    uint32_t :4;                        /**< bit: 20..23  Reserved */
+    uint32_t DEBNC0:1;                  /**< bit:     24  Debouncer Enable 0                       */
+    uint32_t DEBNC1:1;                  /**< bit:     25  Debouncer Enable 1                       */
+    uint32_t DEBNC2:1;                  /**< bit:     26  Debouncer Enable 2                       */
+    uint32_t DEBNC3:1;                  /**< bit:     27  Debouncer Enable 3                       */
+    uint32_t :4;                        /**< bit: 28..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :16;                       /**< bit:  0..15  Reserved */
+    uint32_t TAMLVL:4;                  /**< bit: 16..19  Tamper Level Select x                    */
+    uint32_t :4;                        /**< bit: 20..23  Reserved */
+    uint32_t DEBNC:4;                   /**< bit: 24..27  Debouncer Enable 3                       */
+    uint32_t :4;                        /**< bit: 28..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_TAMPCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_TAMPCTRL_OFFSET                 (0x60)                                        /**<  (RTC_TAMPCTRL) Tamper Control  Offset */
+#define RTC_TAMPCTRL_RESETVALUE             _U_(0x00)                                     /**<  (RTC_TAMPCTRL) Tamper Control  Reset Value */
+
+#define RTC_TAMPCTRL_IN0ACT_Pos             0                                              /**< (RTC_TAMPCTRL) Tamper Input 0 Action Position */
+#define RTC_TAMPCTRL_IN0ACT_Msk             (_U_(0x3) << RTC_TAMPCTRL_IN0ACT_Pos)          /**< (RTC_TAMPCTRL) Tamper Input 0 Action Mask */
+#define RTC_TAMPCTRL_IN0ACT(value)          (RTC_TAMPCTRL_IN0ACT_Msk & ((value) << RTC_TAMPCTRL_IN0ACT_Pos))
+#define   RTC_TAMPCTRL_IN0ACT_OFF_Val       _U_(0x0)                                       /**< (RTC_TAMPCTRL) Off (Disabled)  */
+#define   RTC_TAMPCTRL_IN0ACT_WAKE_Val      _U_(0x1)                                       /**< (RTC_TAMPCTRL) Wake and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN0ACT_CAPTURE_Val   _U_(0x2)                                       /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN0ACT_ACTL_Val      _U_(0x3)                                       /**< (RTC_TAMPCTRL) Compare IN0 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag  */
+#define RTC_TAMPCTRL_IN0ACT_OFF             (RTC_TAMPCTRL_IN0ACT_OFF_Val << RTC_TAMPCTRL_IN0ACT_Pos)  /**< (RTC_TAMPCTRL) Off (Disabled) Position  */
+#define RTC_TAMPCTRL_IN0ACT_WAKE            (RTC_TAMPCTRL_IN0ACT_WAKE_Val << RTC_TAMPCTRL_IN0ACT_Pos)  /**< (RTC_TAMPCTRL) Wake and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN0ACT_CAPTURE         (RTC_TAMPCTRL_IN0ACT_CAPTURE_Val << RTC_TAMPCTRL_IN0ACT_Pos)  /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN0ACT_ACTL            (RTC_TAMPCTRL_IN0ACT_ACTL_Val << RTC_TAMPCTRL_IN0ACT_Pos)  /**< (RTC_TAMPCTRL) Compare IN0 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN1ACT_Pos             2                                              /**< (RTC_TAMPCTRL) Tamper Input 1 Action Position */
+#define RTC_TAMPCTRL_IN1ACT_Msk             (_U_(0x3) << RTC_TAMPCTRL_IN1ACT_Pos)          /**< (RTC_TAMPCTRL) Tamper Input 1 Action Mask */
+#define RTC_TAMPCTRL_IN1ACT(value)          (RTC_TAMPCTRL_IN1ACT_Msk & ((value) << RTC_TAMPCTRL_IN1ACT_Pos))
+#define   RTC_TAMPCTRL_IN1ACT_OFF_Val       _U_(0x0)                                       /**< (RTC_TAMPCTRL) Off (Disabled)  */
+#define   RTC_TAMPCTRL_IN1ACT_WAKE_Val      _U_(0x1)                                       /**< (RTC_TAMPCTRL) Wake and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN1ACT_CAPTURE_Val   _U_(0x2)                                       /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN1ACT_ACTL_Val      _U_(0x3)                                       /**< (RTC_TAMPCTRL) Compare IN1 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag  */
+#define RTC_TAMPCTRL_IN1ACT_OFF             (RTC_TAMPCTRL_IN1ACT_OFF_Val << RTC_TAMPCTRL_IN1ACT_Pos)  /**< (RTC_TAMPCTRL) Off (Disabled) Position  */
+#define RTC_TAMPCTRL_IN1ACT_WAKE            (RTC_TAMPCTRL_IN1ACT_WAKE_Val << RTC_TAMPCTRL_IN1ACT_Pos)  /**< (RTC_TAMPCTRL) Wake and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN1ACT_CAPTURE         (RTC_TAMPCTRL_IN1ACT_CAPTURE_Val << RTC_TAMPCTRL_IN1ACT_Pos)  /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN1ACT_ACTL            (RTC_TAMPCTRL_IN1ACT_ACTL_Val << RTC_TAMPCTRL_IN1ACT_Pos)  /**< (RTC_TAMPCTRL) Compare IN1 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN2ACT_Pos             4                                              /**< (RTC_TAMPCTRL) Tamper Input 2 Action Position */
+#define RTC_TAMPCTRL_IN2ACT_Msk             (_U_(0x3) << RTC_TAMPCTRL_IN2ACT_Pos)          /**< (RTC_TAMPCTRL) Tamper Input 2 Action Mask */
+#define RTC_TAMPCTRL_IN2ACT(value)          (RTC_TAMPCTRL_IN2ACT_Msk & ((value) << RTC_TAMPCTRL_IN2ACT_Pos))
+#define   RTC_TAMPCTRL_IN2ACT_OFF_Val       _U_(0x0)                                       /**< (RTC_TAMPCTRL) Off (Disabled)  */
+#define   RTC_TAMPCTRL_IN2ACT_WAKE_Val      _U_(0x1)                                       /**< (RTC_TAMPCTRL) Wake and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN2ACT_CAPTURE_Val   _U_(0x2)                                       /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN2ACT_ACTL_Val      _U_(0x3)                                       /**< (RTC_TAMPCTRL) Compare IN2 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag  */
+#define RTC_TAMPCTRL_IN2ACT_OFF             (RTC_TAMPCTRL_IN2ACT_OFF_Val << RTC_TAMPCTRL_IN2ACT_Pos)  /**< (RTC_TAMPCTRL) Off (Disabled) Position  */
+#define RTC_TAMPCTRL_IN2ACT_WAKE            (RTC_TAMPCTRL_IN2ACT_WAKE_Val << RTC_TAMPCTRL_IN2ACT_Pos)  /**< (RTC_TAMPCTRL) Wake and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN2ACT_CAPTURE         (RTC_TAMPCTRL_IN2ACT_CAPTURE_Val << RTC_TAMPCTRL_IN2ACT_Pos)  /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN2ACT_ACTL            (RTC_TAMPCTRL_IN2ACT_ACTL_Val << RTC_TAMPCTRL_IN2ACT_Pos)  /**< (RTC_TAMPCTRL) Compare IN2 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN3ACT_Pos             6                                              /**< (RTC_TAMPCTRL) Tamper Input 3 Action Position */
+#define RTC_TAMPCTRL_IN3ACT_Msk             (_U_(0x3) << RTC_TAMPCTRL_IN3ACT_Pos)          /**< (RTC_TAMPCTRL) Tamper Input 3 Action Mask */
+#define RTC_TAMPCTRL_IN3ACT(value)          (RTC_TAMPCTRL_IN3ACT_Msk & ((value) << RTC_TAMPCTRL_IN3ACT_Pos))
+#define   RTC_TAMPCTRL_IN3ACT_OFF_Val       _U_(0x0)                                       /**< (RTC_TAMPCTRL) Off (Disabled)  */
+#define   RTC_TAMPCTRL_IN3ACT_WAKE_Val      _U_(0x1)                                       /**< (RTC_TAMPCTRL) Wake and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN3ACT_CAPTURE_Val   _U_(0x2)                                       /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN3ACT_ACTL_Val      _U_(0x3)                                       /**< (RTC_TAMPCTRL) Compare IN3 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag  */
+#define RTC_TAMPCTRL_IN3ACT_OFF             (RTC_TAMPCTRL_IN3ACT_OFF_Val << RTC_TAMPCTRL_IN3ACT_Pos)  /**< (RTC_TAMPCTRL) Off (Disabled) Position  */
+#define RTC_TAMPCTRL_IN3ACT_WAKE            (RTC_TAMPCTRL_IN3ACT_WAKE_Val << RTC_TAMPCTRL_IN3ACT_Pos)  /**< (RTC_TAMPCTRL) Wake and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN3ACT_CAPTURE         (RTC_TAMPCTRL_IN3ACT_CAPTURE_Val << RTC_TAMPCTRL_IN3ACT_Pos)  /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN3ACT_ACTL            (RTC_TAMPCTRL_IN3ACT_ACTL_Val << RTC_TAMPCTRL_IN3ACT_Pos)  /**< (RTC_TAMPCTRL) Compare IN3 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_TAMLVL0_Pos            16                                             /**< (RTC_TAMPCTRL) Tamper Level Select 0 Position */
+#define RTC_TAMPCTRL_TAMLVL0_Msk            (_U_(0x1) << RTC_TAMPCTRL_TAMLVL0_Pos)         /**< (RTC_TAMPCTRL) Tamper Level Select 0 Mask */
+#define RTC_TAMPCTRL_TAMLVL0                RTC_TAMPCTRL_TAMLVL0_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_TAMLVL0_Msk instead */
+#define RTC_TAMPCTRL_TAMLVL1_Pos            17                                             /**< (RTC_TAMPCTRL) Tamper Level Select 1 Position */
+#define RTC_TAMPCTRL_TAMLVL1_Msk            (_U_(0x1) << RTC_TAMPCTRL_TAMLVL1_Pos)         /**< (RTC_TAMPCTRL) Tamper Level Select 1 Mask */
+#define RTC_TAMPCTRL_TAMLVL1                RTC_TAMPCTRL_TAMLVL1_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_TAMLVL1_Msk instead */
+#define RTC_TAMPCTRL_TAMLVL2_Pos            18                                             /**< (RTC_TAMPCTRL) Tamper Level Select 2 Position */
+#define RTC_TAMPCTRL_TAMLVL2_Msk            (_U_(0x1) << RTC_TAMPCTRL_TAMLVL2_Pos)         /**< (RTC_TAMPCTRL) Tamper Level Select 2 Mask */
+#define RTC_TAMPCTRL_TAMLVL2                RTC_TAMPCTRL_TAMLVL2_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_TAMLVL2_Msk instead */
+#define RTC_TAMPCTRL_TAMLVL3_Pos            19                                             /**< (RTC_TAMPCTRL) Tamper Level Select 3 Position */
+#define RTC_TAMPCTRL_TAMLVL3_Msk            (_U_(0x1) << RTC_TAMPCTRL_TAMLVL3_Pos)         /**< (RTC_TAMPCTRL) Tamper Level Select 3 Mask */
+#define RTC_TAMPCTRL_TAMLVL3                RTC_TAMPCTRL_TAMLVL3_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_TAMLVL3_Msk instead */
+#define RTC_TAMPCTRL_DEBNC0_Pos             24                                             /**< (RTC_TAMPCTRL) Debouncer Enable 0 Position */
+#define RTC_TAMPCTRL_DEBNC0_Msk             (_U_(0x1) << RTC_TAMPCTRL_DEBNC0_Pos)          /**< (RTC_TAMPCTRL) Debouncer Enable 0 Mask */
+#define RTC_TAMPCTRL_DEBNC0                 RTC_TAMPCTRL_DEBNC0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_DEBNC0_Msk instead */
+#define RTC_TAMPCTRL_DEBNC1_Pos             25                                             /**< (RTC_TAMPCTRL) Debouncer Enable 1 Position */
+#define RTC_TAMPCTRL_DEBNC1_Msk             (_U_(0x1) << RTC_TAMPCTRL_DEBNC1_Pos)          /**< (RTC_TAMPCTRL) Debouncer Enable 1 Mask */
+#define RTC_TAMPCTRL_DEBNC1                 RTC_TAMPCTRL_DEBNC1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_DEBNC1_Msk instead */
+#define RTC_TAMPCTRL_DEBNC2_Pos             26                                             /**< (RTC_TAMPCTRL) Debouncer Enable 2 Position */
+#define RTC_TAMPCTRL_DEBNC2_Msk             (_U_(0x1) << RTC_TAMPCTRL_DEBNC2_Pos)          /**< (RTC_TAMPCTRL) Debouncer Enable 2 Mask */
+#define RTC_TAMPCTRL_DEBNC2                 RTC_TAMPCTRL_DEBNC2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_DEBNC2_Msk instead */
+#define RTC_TAMPCTRL_DEBNC3_Pos             27                                             /**< (RTC_TAMPCTRL) Debouncer Enable 3 Position */
+#define RTC_TAMPCTRL_DEBNC3_Msk             (_U_(0x1) << RTC_TAMPCTRL_DEBNC3_Pos)          /**< (RTC_TAMPCTRL) Debouncer Enable 3 Mask */
+#define RTC_TAMPCTRL_DEBNC3                 RTC_TAMPCTRL_DEBNC3_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_DEBNC3_Msk instead */
+#define RTC_TAMPCTRL_MASK                   _U_(0xF0F00FF)                                 /**< \deprecated (RTC_TAMPCTRL) Register MASK  (Use RTC_TAMPCTRL_Msk instead)  */
+#define RTC_TAMPCTRL_Msk                    _U_(0xF0F00FF)                                 /**< (RTC_TAMPCTRL) Register Mask  */
+
+#define RTC_TAMPCTRL_TAMLVL_Pos             16                                             /**< (RTC_TAMPCTRL Position) Tamper Level Select x */
+#define RTC_TAMPCTRL_TAMLVL_Msk             (_U_(0xF) << RTC_TAMPCTRL_TAMLVL_Pos)          /**< (RTC_TAMPCTRL Mask) TAMLVL */
+#define RTC_TAMPCTRL_TAMLVL(value)          (RTC_TAMPCTRL_TAMLVL_Msk & ((value) << RTC_TAMPCTRL_TAMLVL_Pos))  
+#define RTC_TAMPCTRL_DEBNC_Pos              24                                             /**< (RTC_TAMPCTRL Position) Debouncer Enable 3 */
+#define RTC_TAMPCTRL_DEBNC_Msk              (_U_(0xF) << RTC_TAMPCTRL_DEBNC_Pos)           /**< (RTC_TAMPCTRL Mask) DEBNC */
+#define RTC_TAMPCTRL_DEBNC(value)           (RTC_TAMPCTRL_DEBNC_Msk & ((value) << RTC_TAMPCTRL_DEBNC_Pos))  
+
+/* -------- RTC_MODE0_TIMESTAMP : (RTC Offset: 0x64) (R/ 32) MODE0 Timestamp -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t COUNT:32;                  /**< bit:  0..31  Count Timestamp Value                    */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE0_TIMESTAMP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_TIMESTAMP_OFFSET          (0x64)                                        /**<  (RTC_MODE0_TIMESTAMP) MODE0 Timestamp  Offset */
+#define RTC_MODE0_TIMESTAMP_RESETVALUE      _U_(0x00)                                     /**<  (RTC_MODE0_TIMESTAMP) MODE0 Timestamp  Reset Value */
+
+#define RTC_MODE0_TIMESTAMP_COUNT_Pos       0                                              /**< (RTC_MODE0_TIMESTAMP) Count Timestamp Value Position */
+#define RTC_MODE0_TIMESTAMP_COUNT_Msk       (_U_(0xFFFFFFFF) << RTC_MODE0_TIMESTAMP_COUNT_Pos)  /**< (RTC_MODE0_TIMESTAMP) Count Timestamp Value Mask */
+#define RTC_MODE0_TIMESTAMP_COUNT(value)    (RTC_MODE0_TIMESTAMP_COUNT_Msk & ((value) << RTC_MODE0_TIMESTAMP_COUNT_Pos))
+#define RTC_MODE0_TIMESTAMP_MASK            _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE0_TIMESTAMP) Register MASK  (Use RTC_MODE0_TIMESTAMP_Msk instead)  */
+#define RTC_MODE0_TIMESTAMP_Msk             _U_(0xFFFFFFFF)                                /**< (RTC_MODE0_TIMESTAMP) Register Mask  */
+
+
+/* -------- RTC_MODE1_TIMESTAMP : (RTC Offset: 0x64) (R/ 32) MODE1 Timestamp -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t COUNT:16;                  /**< bit:  0..15  Count Timestamp Value                    */
+    uint32_t :16;                       /**< bit: 16..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE1_TIMESTAMP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_TIMESTAMP_OFFSET          (0x64)                                        /**<  (RTC_MODE1_TIMESTAMP) MODE1 Timestamp  Offset */
+#define RTC_MODE1_TIMESTAMP_RESETVALUE      _U_(0x00)                                     /**<  (RTC_MODE1_TIMESTAMP) MODE1 Timestamp  Reset Value */
+
+#define RTC_MODE1_TIMESTAMP_COUNT_Pos       0                                              /**< (RTC_MODE1_TIMESTAMP) Count Timestamp Value Position */
+#define RTC_MODE1_TIMESTAMP_COUNT_Msk       (_U_(0xFFFF) << RTC_MODE1_TIMESTAMP_COUNT_Pos)  /**< (RTC_MODE1_TIMESTAMP) Count Timestamp Value Mask */
+#define RTC_MODE1_TIMESTAMP_COUNT(value)    (RTC_MODE1_TIMESTAMP_COUNT_Msk & ((value) << RTC_MODE1_TIMESTAMP_COUNT_Pos))
+#define RTC_MODE1_TIMESTAMP_MASK            _U_(0xFFFF)                                    /**< \deprecated (RTC_MODE1_TIMESTAMP) Register MASK  (Use RTC_MODE1_TIMESTAMP_Msk instead)  */
+#define RTC_MODE1_TIMESTAMP_Msk             _U_(0xFFFF)                                    /**< (RTC_MODE1_TIMESTAMP) Register Mask  */
+
+
+/* -------- RTC_MODE2_TIMESTAMP : (RTC Offset: 0x64) (R/ 32) MODE2 Timestamp -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SECOND:6;                  /**< bit:   0..5  Second Timestamp Value                   */
+    uint32_t MINUTE:6;                  /**< bit:  6..11  Minute Timestamp Value                   */
+    uint32_t HOUR:5;                    /**< bit: 12..16  Hour Timestamp Value                     */
+    uint32_t DAY:5;                     /**< bit: 17..21  Day Timestamp Value                      */
+    uint32_t MONTH:4;                   /**< bit: 22..25  Month Timestamp Value                    */
+    uint32_t YEAR:6;                    /**< bit: 26..31  Year Timestamp Value                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE2_TIMESTAMP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_TIMESTAMP_OFFSET          (0x64)                                        /**<  (RTC_MODE2_TIMESTAMP) MODE2 Timestamp  Offset */
+#define RTC_MODE2_TIMESTAMP_RESETVALUE      _U_(0x00)                                     /**<  (RTC_MODE2_TIMESTAMP) MODE2 Timestamp  Reset Value */
+
+#define RTC_MODE2_TIMESTAMP_SECOND_Pos      0                                              /**< (RTC_MODE2_TIMESTAMP) Second Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_SECOND_Msk      (_U_(0x3F) << RTC_MODE2_TIMESTAMP_SECOND_Pos)  /**< (RTC_MODE2_TIMESTAMP) Second Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_SECOND(value)   (RTC_MODE2_TIMESTAMP_SECOND_Msk & ((value) << RTC_MODE2_TIMESTAMP_SECOND_Pos))
+#define RTC_MODE2_TIMESTAMP_MINUTE_Pos      6                                              /**< (RTC_MODE2_TIMESTAMP) Minute Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_MINUTE_Msk      (_U_(0x3F) << RTC_MODE2_TIMESTAMP_MINUTE_Pos)  /**< (RTC_MODE2_TIMESTAMP) Minute Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_MINUTE(value)   (RTC_MODE2_TIMESTAMP_MINUTE_Msk & ((value) << RTC_MODE2_TIMESTAMP_MINUTE_Pos))
+#define RTC_MODE2_TIMESTAMP_HOUR_Pos        12                                             /**< (RTC_MODE2_TIMESTAMP) Hour Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_HOUR_Msk        (_U_(0x1F) << RTC_MODE2_TIMESTAMP_HOUR_Pos)    /**< (RTC_MODE2_TIMESTAMP) Hour Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_HOUR(value)     (RTC_MODE2_TIMESTAMP_HOUR_Msk & ((value) << RTC_MODE2_TIMESTAMP_HOUR_Pos))
+#define RTC_MODE2_TIMESTAMP_DAY_Pos         17                                             /**< (RTC_MODE2_TIMESTAMP) Day Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_DAY_Msk         (_U_(0x1F) << RTC_MODE2_TIMESTAMP_DAY_Pos)     /**< (RTC_MODE2_TIMESTAMP) Day Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_DAY(value)      (RTC_MODE2_TIMESTAMP_DAY_Msk & ((value) << RTC_MODE2_TIMESTAMP_DAY_Pos))
+#define RTC_MODE2_TIMESTAMP_MONTH_Pos       22                                             /**< (RTC_MODE2_TIMESTAMP) Month Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_MONTH_Msk       (_U_(0xF) << RTC_MODE2_TIMESTAMP_MONTH_Pos)    /**< (RTC_MODE2_TIMESTAMP) Month Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_MONTH(value)    (RTC_MODE2_TIMESTAMP_MONTH_Msk & ((value) << RTC_MODE2_TIMESTAMP_MONTH_Pos))
+#define RTC_MODE2_TIMESTAMP_YEAR_Pos        26                                             /**< (RTC_MODE2_TIMESTAMP) Year Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_YEAR_Msk        (_U_(0x3F) << RTC_MODE2_TIMESTAMP_YEAR_Pos)    /**< (RTC_MODE2_TIMESTAMP) Year Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_YEAR(value)     (RTC_MODE2_TIMESTAMP_YEAR_Msk & ((value) << RTC_MODE2_TIMESTAMP_YEAR_Pos))
+#define RTC_MODE2_TIMESTAMP_MASK            _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE2_TIMESTAMP) Register MASK  (Use RTC_MODE2_TIMESTAMP_Msk instead)  */
+#define RTC_MODE2_TIMESTAMP_Msk             _U_(0xFFFFFFFF)                                /**< (RTC_MODE2_TIMESTAMP) Register Mask  */
+
+
+/* -------- RTC_TAMPID : (RTC Offset: 0x68) (R/W 32) Tamper ID -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t TAMPID0:1;                 /**< bit:      0  Tamper Input 0 Detected                  */
+    uint32_t TAMPID1:1;                 /**< bit:      1  Tamper Input 1 Detected                  */
+    uint32_t TAMPID2:1;                 /**< bit:      2  Tamper Input 2 Detected                  */
+    uint32_t TAMPID3:1;                 /**< bit:      3  Tamper Input 3 Detected                  */
+    uint32_t :27;                       /**< bit:  4..30  Reserved */
+    uint32_t TAMPEVT:1;                 /**< bit:     31  Tamper Event Detected                    */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t TAMPID:4;                  /**< bit:   0..3  Tamper Input x Detected                  */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_TAMPID_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_TAMPID_OFFSET                   (0x68)                                        /**<  (RTC_TAMPID) Tamper ID  Offset */
+#define RTC_TAMPID_RESETVALUE               _U_(0x00)                                     /**<  (RTC_TAMPID) Tamper ID  Reset Value */
+
+#define RTC_TAMPID_TAMPID0_Pos              0                                              /**< (RTC_TAMPID) Tamper Input 0 Detected Position */
+#define RTC_TAMPID_TAMPID0_Msk              (_U_(0x1) << RTC_TAMPID_TAMPID0_Pos)           /**< (RTC_TAMPID) Tamper Input 0 Detected Mask */
+#define RTC_TAMPID_TAMPID0                  RTC_TAMPID_TAMPID0_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPID_TAMPID0_Msk instead */
+#define RTC_TAMPID_TAMPID1_Pos              1                                              /**< (RTC_TAMPID) Tamper Input 1 Detected Position */
+#define RTC_TAMPID_TAMPID1_Msk              (_U_(0x1) << RTC_TAMPID_TAMPID1_Pos)           /**< (RTC_TAMPID) Tamper Input 1 Detected Mask */
+#define RTC_TAMPID_TAMPID1                  RTC_TAMPID_TAMPID1_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPID_TAMPID1_Msk instead */
+#define RTC_TAMPID_TAMPID2_Pos              2                                              /**< (RTC_TAMPID) Tamper Input 2 Detected Position */
+#define RTC_TAMPID_TAMPID2_Msk              (_U_(0x1) << RTC_TAMPID_TAMPID2_Pos)           /**< (RTC_TAMPID) Tamper Input 2 Detected Mask */
+#define RTC_TAMPID_TAMPID2                  RTC_TAMPID_TAMPID2_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPID_TAMPID2_Msk instead */
+#define RTC_TAMPID_TAMPID3_Pos              3                                              /**< (RTC_TAMPID) Tamper Input 3 Detected Position */
+#define RTC_TAMPID_TAMPID3_Msk              (_U_(0x1) << RTC_TAMPID_TAMPID3_Pos)           /**< (RTC_TAMPID) Tamper Input 3 Detected Mask */
+#define RTC_TAMPID_TAMPID3                  RTC_TAMPID_TAMPID3_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPID_TAMPID3_Msk instead */
+#define RTC_TAMPID_TAMPEVT_Pos              31                                             /**< (RTC_TAMPID) Tamper Event Detected Position */
+#define RTC_TAMPID_TAMPEVT_Msk              (_U_(0x1) << RTC_TAMPID_TAMPEVT_Pos)           /**< (RTC_TAMPID) Tamper Event Detected Mask */
+#define RTC_TAMPID_TAMPEVT                  RTC_TAMPID_TAMPEVT_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPID_TAMPEVT_Msk instead */
+#define RTC_TAMPID_MASK                     _U_(0x8000000F)                                /**< \deprecated (RTC_TAMPID) Register MASK  (Use RTC_TAMPID_Msk instead)  */
+#define RTC_TAMPID_Msk                      _U_(0x8000000F)                                /**< (RTC_TAMPID) Register Mask  */
+
+#define RTC_TAMPID_TAMPID_Pos               0                                              /**< (RTC_TAMPID Position) Tamper Input x Detected */
+#define RTC_TAMPID_TAMPID_Msk               (_U_(0xF) << RTC_TAMPID_TAMPID_Pos)            /**< (RTC_TAMPID Mask) TAMPID */
+#define RTC_TAMPID_TAMPID(value)            (RTC_TAMPID_TAMPID_Msk & ((value) << RTC_TAMPID_TAMPID_Pos))  
+
+/* -------- RTC_TAMPCTRLB : (RTC Offset: 0x6c) (R/W 32) Tamper Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t ALSI0:1;                   /**< bit:      0  Active Layer Select Internal 0           */
+    uint32_t ALSI1:1;                   /**< bit:      1  Active Layer Select Internal 1           */
+    uint32_t ALSI2:1;                   /**< bit:      2  Active Layer Select Internal 2           */
+    uint32_t ALSI3:1;                   /**< bit:      3  Active Layer Select Internal 3           */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t ALSI:4;                    /**< bit:   0..3  Active Layer Select Internal 3           */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_TAMPCTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_TAMPCTRLB_OFFSET                (0x6C)                                        /**<  (RTC_TAMPCTRLB) Tamper Control B  Offset */
+#define RTC_TAMPCTRLB_RESETVALUE            _U_(0x00)                                     /**<  (RTC_TAMPCTRLB) Tamper Control B  Reset Value */
+
+#define RTC_TAMPCTRLB_ALSI0_Pos             0                                              /**< (RTC_TAMPCTRLB) Active Layer Select Internal 0 Position */
+#define RTC_TAMPCTRLB_ALSI0_Msk             (_U_(0x1) << RTC_TAMPCTRLB_ALSI0_Pos)          /**< (RTC_TAMPCTRLB) Active Layer Select Internal 0 Mask */
+#define RTC_TAMPCTRLB_ALSI0                 RTC_TAMPCTRLB_ALSI0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRLB_ALSI0_Msk instead */
+#define RTC_TAMPCTRLB_ALSI1_Pos             1                                              /**< (RTC_TAMPCTRLB) Active Layer Select Internal 1 Position */
+#define RTC_TAMPCTRLB_ALSI1_Msk             (_U_(0x1) << RTC_TAMPCTRLB_ALSI1_Pos)          /**< (RTC_TAMPCTRLB) Active Layer Select Internal 1 Mask */
+#define RTC_TAMPCTRLB_ALSI1                 RTC_TAMPCTRLB_ALSI1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRLB_ALSI1_Msk instead */
+#define RTC_TAMPCTRLB_ALSI2_Pos             2                                              /**< (RTC_TAMPCTRLB) Active Layer Select Internal 2 Position */
+#define RTC_TAMPCTRLB_ALSI2_Msk             (_U_(0x1) << RTC_TAMPCTRLB_ALSI2_Pos)          /**< (RTC_TAMPCTRLB) Active Layer Select Internal 2 Mask */
+#define RTC_TAMPCTRLB_ALSI2                 RTC_TAMPCTRLB_ALSI2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRLB_ALSI2_Msk instead */
+#define RTC_TAMPCTRLB_ALSI3_Pos             3                                              /**< (RTC_TAMPCTRLB) Active Layer Select Internal 3 Position */
+#define RTC_TAMPCTRLB_ALSI3_Msk             (_U_(0x1) << RTC_TAMPCTRLB_ALSI3_Pos)          /**< (RTC_TAMPCTRLB) Active Layer Select Internal 3 Mask */
+#define RTC_TAMPCTRLB_ALSI3                 RTC_TAMPCTRLB_ALSI3_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRLB_ALSI3_Msk instead */
+#define RTC_TAMPCTRLB_MASK                  _U_(0x0F)                                      /**< \deprecated (RTC_TAMPCTRLB) Register MASK  (Use RTC_TAMPCTRLB_Msk instead)  */
+#define RTC_TAMPCTRLB_Msk                   _U_(0x0F)                                      /**< (RTC_TAMPCTRLB) Register Mask  */
+
+#define RTC_TAMPCTRLB_ALSI_Pos              0                                              /**< (RTC_TAMPCTRLB Position) Active Layer Select Internal 3 */
+#define RTC_TAMPCTRLB_ALSI_Msk              (_U_(0xF) << RTC_TAMPCTRLB_ALSI_Pos)           /**< (RTC_TAMPCTRLB Mask) ALSI */
+#define RTC_TAMPCTRLB_ALSI(value)           (RTC_TAMPCTRLB_ALSI_Msk & ((value) << RTC_TAMPCTRLB_ALSI_Pos))  
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief MODE2_ALARM hardware registers */
+typedef struct {  
+  __IO RTC_MODE2_ALARM_Type           ALARM;          /**< Offset: 0x00 (R/W  32) MODE2_ALARM Alarm n Value */
+  __IO RTC_MODE2_MASK_Type            MASK;           /**< Offset: 0x04 (R/W   8) MODE2_ALARM Alarm n Mask */
+  __I  uint8_t                        Reserved1[3];
+} RtcMode2Alarm;
+
+/** \brief RTC hardware registers */
+typedef struct {  /* Real-Time Counter */
+  __IO RTC_MODE0_CTRLA_Type           CTRLA;          /**< Offset: 0x00 (R/W  16) MODE0 Control A */
+  __IO RTC_MODE0_CTRLB_Type           CTRLB;          /**< Offset: 0x02 (R/W  16) MODE0 Control B */
+  __IO RTC_MODE0_EVCTRL_Type          EVCTRL;         /**< Offset: 0x04 (R/W  32) MODE0 Event Control */
+  __IO RTC_MODE0_INTENCLR_Type        INTENCLR;       /**< Offset: 0x08 (R/W  16) MODE0 Interrupt Enable Clear */
+  __IO RTC_MODE0_INTENSET_Type        INTENSET;       /**< Offset: 0x0A (R/W  16) MODE0 Interrupt Enable Set */
+  __IO RTC_MODE0_INTFLAG_Type         INTFLAG;        /**< Offset: 0x0C (R/W  16) MODE0 Interrupt Flag Status and Clear */
+  __IO RTC_DBGCTRL_Type               DBGCTRL;        /**< Offset: 0x0E (R/W   8) Debug Control */
+  __I  uint8_t                        Reserved1[1];
+  __I  RTC_MODE0_SYNCBUSY_Type        SYNCBUSY;       /**< Offset: 0x10 (R/   32) MODE0 Synchronization Busy Status */
+  __IO RTC_FREQCORR_Type              FREQCORR;       /**< Offset: 0x14 (R/W   8) Frequency Correction */
+  __I  uint8_t                        Reserved2[3];
+  __IO RTC_MODE0_COUNT_Type           COUNT;          /**< Offset: 0x18 (R/W  32) MODE0 Counter Value */
+  __I  uint8_t                        Reserved3[4];
+  __IO RTC_MODE0_COMP_Type            COMP[1];        /**< Offset: 0x20 (R/W  32) MODE0 Compare n Value */
+  __I  uint8_t                        Reserved4[28];
+  __IO RTC_GP_Type                    GP[2];          /**< Offset: 0x40 (R/W  32) General Purpose */
+  __I  uint8_t                        Reserved5[24];
+  __IO RTC_TAMPCTRL_Type              TAMPCTRL;       /**< Offset: 0x60 (R/W  32) Tamper Control */
+  __I  RTC_MODE0_TIMESTAMP_Type       TIMESTAMP;      /**< Offset: 0x64 (R/   32) MODE0 Timestamp */
+  __IO RTC_TAMPID_Type                TAMPID;         /**< Offset: 0x68 (R/W  32) Tamper ID */
+  __IO RTC_TAMPCTRLB_Type             TAMPCTRLB;      /**< Offset: 0x6C (R/W  32) Tamper Control B */
+} RtcMode0;
+
+/** \brief RTC hardware registers */
+typedef struct {  /* Real-Time Counter */
+  __IO RTC_MODE1_CTRLA_Type           CTRLA;          /**< Offset: 0x00 (R/W  16) MODE1 Control A */
+  __IO RTC_MODE1_CTRLB_Type           CTRLB;          /**< Offset: 0x02 (R/W  16) MODE1 Control B */
+  __IO RTC_MODE1_EVCTRL_Type          EVCTRL;         /**< Offset: 0x04 (R/W  32) MODE1 Event Control */
+  __IO RTC_MODE1_INTENCLR_Type        INTENCLR;       /**< Offset: 0x08 (R/W  16) MODE1 Interrupt Enable Clear */
+  __IO RTC_MODE1_INTENSET_Type        INTENSET;       /**< Offset: 0x0A (R/W  16) MODE1 Interrupt Enable Set */
+  __IO RTC_MODE1_INTFLAG_Type         INTFLAG;        /**< Offset: 0x0C (R/W  16) MODE1 Interrupt Flag Status and Clear */
+  __IO RTC_DBGCTRL_Type               DBGCTRL;        /**< Offset: 0x0E (R/W   8) Debug Control */
+  __I  uint8_t                        Reserved1[1];
+  __I  RTC_MODE1_SYNCBUSY_Type        SYNCBUSY;       /**< Offset: 0x10 (R/   32) MODE1 Synchronization Busy Status */
+  __IO RTC_FREQCORR_Type              FREQCORR;       /**< Offset: 0x14 (R/W   8) Frequency Correction */
+  __I  uint8_t                        Reserved2[3];
+  __IO RTC_MODE1_COUNT_Type           COUNT;          /**< Offset: 0x18 (R/W  16) MODE1 Counter Value */
+  __I  uint8_t                        Reserved3[2];
+  __IO RTC_MODE1_PER_Type             PER;            /**< Offset: 0x1C (R/W  16) MODE1 Counter Period */
+  __I  uint8_t                        Reserved4[2];
+  __IO RTC_MODE1_COMP_Type            COMP[2];        /**< Offset: 0x20 (R/W  16) MODE1 Compare n Value */
+  __I  uint8_t                        Reserved5[28];
+  __IO RTC_GP_Type                    GP[2];          /**< Offset: 0x40 (R/W  32) General Purpose */
+  __I  uint8_t                        Reserved6[24];
+  __IO RTC_TAMPCTRL_Type              TAMPCTRL;       /**< Offset: 0x60 (R/W  32) Tamper Control */
+  __I  RTC_MODE1_TIMESTAMP_Type       TIMESTAMP;      /**< Offset: 0x64 (R/   32) MODE1 Timestamp */
+  __IO RTC_TAMPID_Type                TAMPID;         /**< Offset: 0x68 (R/W  32) Tamper ID */
+  __IO RTC_TAMPCTRLB_Type             TAMPCTRLB;      /**< Offset: 0x6C (R/W  32) Tamper Control B */
+} RtcMode1;
+
+/** \brief RTC hardware registers */
+typedef struct {  /* Real-Time Counter */
+  __IO RTC_MODE2_CTRLA_Type           CTRLA;          /**< Offset: 0x00 (R/W  16) MODE2 Control A */
+  __IO RTC_MODE2_CTRLB_Type           CTRLB;          /**< Offset: 0x02 (R/W  16) MODE2 Control B */
+  __IO RTC_MODE2_EVCTRL_Type          EVCTRL;         /**< Offset: 0x04 (R/W  32) MODE2 Event Control */
+  __IO RTC_MODE2_INTENCLR_Type        INTENCLR;       /**< Offset: 0x08 (R/W  16) MODE2 Interrupt Enable Clear */
+  __IO RTC_MODE2_INTENSET_Type        INTENSET;       /**< Offset: 0x0A (R/W  16) MODE2 Interrupt Enable Set */
+  __IO RTC_MODE2_INTFLAG_Type         INTFLAG;        /**< Offset: 0x0C (R/W  16) MODE2 Interrupt Flag Status and Clear */
+  __IO RTC_DBGCTRL_Type               DBGCTRL;        /**< Offset: 0x0E (R/W   8) Debug Control */
+  __I  uint8_t                        Reserved1[1];
+  __I  RTC_MODE2_SYNCBUSY_Type        SYNCBUSY;       /**< Offset: 0x10 (R/   32) MODE2 Synchronization Busy Status */
+  __IO RTC_FREQCORR_Type              FREQCORR;       /**< Offset: 0x14 (R/W   8) Frequency Correction */
+  __I  uint8_t                        Reserved2[3];
+  __IO RTC_MODE2_CLOCK_Type           CLOCK;          /**< Offset: 0x18 (R/W  32) MODE2 Clock Value */
+  __I  uint8_t                        Reserved3[4];
+       RtcMode2Alarm                  Mode2Alarm[1];  /**< Offset: 0x20  */
+  __I  uint8_t                        Reserved4[24];
+  __IO RTC_GP_Type                    GP[2];          /**< Offset: 0x40 (R/W  32) General Purpose */
+  __I  uint8_t                        Reserved5[24];
+  __IO RTC_TAMPCTRL_Type              TAMPCTRL;       /**< Offset: 0x60 (R/W  32) Tamper Control */
+  __I  RTC_MODE2_TIMESTAMP_Type       TIMESTAMP;      /**< Offset: 0x64 (R/   32) MODE2 Timestamp */
+  __IO RTC_TAMPID_Type                TAMPID;         /**< Offset: 0x68 (R/W  32) Tamper ID */
+  __IO RTC_TAMPCTRLB_Type             TAMPCTRLB;      /**< Offset: 0x6C (R/W  32) Tamper Control B */
+} RtcMode2;
+
+/** \brief RTC hardware registers */
+typedef union {  /* Real-Time Counter */
+       RtcMode0                       MODE0;          /**< 32-bit Counter with Single 32-bit Compare */
+       RtcMode1                       MODE1;          /**< 16-bit Counter with Two 16-bit Compares */
+       RtcMode2                       MODE2;          /**< Clock/Calendar with Alarm */
+} Rtc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Real-Time Counter */
+
+#endif /* _SAML10_RTC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/sercom.h b/cpu/sam0_common/include/vendor/saml10/include/component/sercom.h
new file mode 100644
index 0000000000..02d00245ba
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/sercom.h
@@ -0,0 +1,1759 @@
+/**
+ * \file
+ *
+ * \brief Component description for SERCOM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_SERCOM_COMPONENT_H_
+#define _SAML10_SERCOM_COMPONENT_H_
+#define _SAML10_SERCOM_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Serial Communication Interface
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR SERCOM */
+/* ========================================================================== */
+
+#define SERCOM_U2201                      /**< (SERCOM) Module ID */
+#define REV_SERCOM 0x410                  /**< (SERCOM) Module revision */
+
+/* -------- SERCOM_I2CM_CTRLA : (SERCOM Offset: 0x00) (R/W 32) I2CM Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t MODE:3;                    /**< bit:   2..4  Operating Mode                           */
+    uint32_t :2;                        /**< bit:   5..6  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:      7  Run in Standby                           */
+    uint32_t :8;                        /**< bit:  8..15  Reserved */
+    uint32_t PINOUT:1;                  /**< bit:     16  Pin Usage                                */
+    uint32_t :3;                        /**< bit: 17..19  Reserved */
+    uint32_t SDAHOLD:2;                 /**< bit: 20..21  SDA Hold Time                            */
+    uint32_t MEXTTOEN:1;                /**< bit:     22  Master SCL Low Extend Timeout            */
+    uint32_t SEXTTOEN:1;                /**< bit:     23  Slave SCL Low Extend Timeout             */
+    uint32_t SPEED:2;                   /**< bit: 24..25  Transfer Speed                           */
+    uint32_t :1;                        /**< bit:     26  Reserved */
+    uint32_t SCLSM:1;                   /**< bit:     27  SCL Clock Stretch Mode                   */
+    uint32_t INACTOUT:2;                /**< bit: 28..29  Inactive Time-Out                        */
+    uint32_t LOWTOUTEN:1;               /**< bit:     30  SCL Low Timeout Enable                   */
+    uint32_t :1;                        /**< bit:     31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_CTRLA_OFFSET            (0x00)                                        /**<  (SERCOM_I2CM_CTRLA) I2CM Control A  Offset */
+#define SERCOM_I2CM_CTRLA_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_I2CM_CTRLA) I2CM Control A  Reset Value */
+
+#define SERCOM_I2CM_CTRLA_SWRST_Pos         0                                              /**< (SERCOM_I2CM_CTRLA) Software Reset Position */
+#define SERCOM_I2CM_CTRLA_SWRST_Msk         (_U_(0x1) << SERCOM_I2CM_CTRLA_SWRST_Pos)      /**< (SERCOM_I2CM_CTRLA) Software Reset Mask */
+#define SERCOM_I2CM_CTRLA_SWRST             SERCOM_I2CM_CTRLA_SWRST_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_SWRST_Msk instead */
+#define SERCOM_I2CM_CTRLA_ENABLE_Pos        1                                              /**< (SERCOM_I2CM_CTRLA) Enable Position */
+#define SERCOM_I2CM_CTRLA_ENABLE_Msk        (_U_(0x1) << SERCOM_I2CM_CTRLA_ENABLE_Pos)     /**< (SERCOM_I2CM_CTRLA) Enable Mask */
+#define SERCOM_I2CM_CTRLA_ENABLE            SERCOM_I2CM_CTRLA_ENABLE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_ENABLE_Msk instead */
+#define SERCOM_I2CM_CTRLA_MODE_Pos          2                                              /**< (SERCOM_I2CM_CTRLA) Operating Mode Position */
+#define SERCOM_I2CM_CTRLA_MODE_Msk          (_U_(0x7) << SERCOM_I2CM_CTRLA_MODE_Pos)       /**< (SERCOM_I2CM_CTRLA) Operating Mode Mask */
+#define SERCOM_I2CM_CTRLA_MODE(value)       (SERCOM_I2CM_CTRLA_MODE_Msk & ((value) << SERCOM_I2CM_CTRLA_MODE_Pos))
+#define SERCOM_I2CM_CTRLA_RUNSTDBY_Pos      7                                              /**< (SERCOM_I2CM_CTRLA) Run in Standby Position */
+#define SERCOM_I2CM_CTRLA_RUNSTDBY_Msk      (_U_(0x1) << SERCOM_I2CM_CTRLA_RUNSTDBY_Pos)   /**< (SERCOM_I2CM_CTRLA) Run in Standby Mask */
+#define SERCOM_I2CM_CTRLA_RUNSTDBY          SERCOM_I2CM_CTRLA_RUNSTDBY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_RUNSTDBY_Msk instead */
+#define SERCOM_I2CM_CTRLA_PINOUT_Pos        16                                             /**< (SERCOM_I2CM_CTRLA) Pin Usage Position */
+#define SERCOM_I2CM_CTRLA_PINOUT_Msk        (_U_(0x1) << SERCOM_I2CM_CTRLA_PINOUT_Pos)     /**< (SERCOM_I2CM_CTRLA) Pin Usage Mask */
+#define SERCOM_I2CM_CTRLA_PINOUT            SERCOM_I2CM_CTRLA_PINOUT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_PINOUT_Msk instead */
+#define SERCOM_I2CM_CTRLA_SDAHOLD_Pos       20                                             /**< (SERCOM_I2CM_CTRLA) SDA Hold Time Position */
+#define SERCOM_I2CM_CTRLA_SDAHOLD_Msk       (_U_(0x3) << SERCOM_I2CM_CTRLA_SDAHOLD_Pos)    /**< (SERCOM_I2CM_CTRLA) SDA Hold Time Mask */
+#define SERCOM_I2CM_CTRLA_SDAHOLD(value)    (SERCOM_I2CM_CTRLA_SDAHOLD_Msk & ((value) << SERCOM_I2CM_CTRLA_SDAHOLD_Pos))
+#define SERCOM_I2CM_CTRLA_MEXTTOEN_Pos      22                                             /**< (SERCOM_I2CM_CTRLA) Master SCL Low Extend Timeout Position */
+#define SERCOM_I2CM_CTRLA_MEXTTOEN_Msk      (_U_(0x1) << SERCOM_I2CM_CTRLA_MEXTTOEN_Pos)   /**< (SERCOM_I2CM_CTRLA) Master SCL Low Extend Timeout Mask */
+#define SERCOM_I2CM_CTRLA_MEXTTOEN          SERCOM_I2CM_CTRLA_MEXTTOEN_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_MEXTTOEN_Msk instead */
+#define SERCOM_I2CM_CTRLA_SEXTTOEN_Pos      23                                             /**< (SERCOM_I2CM_CTRLA) Slave SCL Low Extend Timeout Position */
+#define SERCOM_I2CM_CTRLA_SEXTTOEN_Msk      (_U_(0x1) << SERCOM_I2CM_CTRLA_SEXTTOEN_Pos)   /**< (SERCOM_I2CM_CTRLA) Slave SCL Low Extend Timeout Mask */
+#define SERCOM_I2CM_CTRLA_SEXTTOEN          SERCOM_I2CM_CTRLA_SEXTTOEN_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_SEXTTOEN_Msk instead */
+#define SERCOM_I2CM_CTRLA_SPEED_Pos         24                                             /**< (SERCOM_I2CM_CTRLA) Transfer Speed Position */
+#define SERCOM_I2CM_CTRLA_SPEED_Msk         (_U_(0x3) << SERCOM_I2CM_CTRLA_SPEED_Pos)      /**< (SERCOM_I2CM_CTRLA) Transfer Speed Mask */
+#define SERCOM_I2CM_CTRLA_SPEED(value)      (SERCOM_I2CM_CTRLA_SPEED_Msk & ((value) << SERCOM_I2CM_CTRLA_SPEED_Pos))
+#define SERCOM_I2CM_CTRLA_SCLSM_Pos         27                                             /**< (SERCOM_I2CM_CTRLA) SCL Clock Stretch Mode Position */
+#define SERCOM_I2CM_CTRLA_SCLSM_Msk         (_U_(0x1) << SERCOM_I2CM_CTRLA_SCLSM_Pos)      /**< (SERCOM_I2CM_CTRLA) SCL Clock Stretch Mode Mask */
+#define SERCOM_I2CM_CTRLA_SCLSM             SERCOM_I2CM_CTRLA_SCLSM_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_SCLSM_Msk instead */
+#define SERCOM_I2CM_CTRLA_INACTOUT_Pos      28                                             /**< (SERCOM_I2CM_CTRLA) Inactive Time-Out Position */
+#define SERCOM_I2CM_CTRLA_INACTOUT_Msk      (_U_(0x3) << SERCOM_I2CM_CTRLA_INACTOUT_Pos)   /**< (SERCOM_I2CM_CTRLA) Inactive Time-Out Mask */
+#define SERCOM_I2CM_CTRLA_INACTOUT(value)   (SERCOM_I2CM_CTRLA_INACTOUT_Msk & ((value) << SERCOM_I2CM_CTRLA_INACTOUT_Pos))
+#define SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos     30                                             /**< (SERCOM_I2CM_CTRLA) SCL Low Timeout Enable Position */
+#define SERCOM_I2CM_CTRLA_LOWTOUTEN_Msk     (_U_(0x1) << SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos)  /**< (SERCOM_I2CM_CTRLA) SCL Low Timeout Enable Mask */
+#define SERCOM_I2CM_CTRLA_LOWTOUTEN         SERCOM_I2CM_CTRLA_LOWTOUTEN_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_LOWTOUTEN_Msk instead */
+#define SERCOM_I2CM_CTRLA_MASK              _U_(0x7BF1009F)                                /**< \deprecated (SERCOM_I2CM_CTRLA) Register MASK  (Use SERCOM_I2CM_CTRLA_Msk instead)  */
+#define SERCOM_I2CM_CTRLA_Msk               _U_(0x7BF1009F)                                /**< (SERCOM_I2CM_CTRLA) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_CTRLA : (SERCOM Offset: 0x00) (R/W 32) I2CS Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t MODE:3;                    /**< bit:   2..4  Operating Mode                           */
+    uint32_t :2;                        /**< bit:   5..6  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:      7  Run during Standby                       */
+    uint32_t :8;                        /**< bit:  8..15  Reserved */
+    uint32_t PINOUT:1;                  /**< bit:     16  Pin Usage                                */
+    uint32_t :3;                        /**< bit: 17..19  Reserved */
+    uint32_t SDAHOLD:2;                 /**< bit: 20..21  SDA Hold Time                            */
+    uint32_t :1;                        /**< bit:     22  Reserved */
+    uint32_t SEXTTOEN:1;                /**< bit:     23  Slave SCL Low Extend Timeout             */
+    uint32_t SPEED:2;                   /**< bit: 24..25  Transfer Speed                           */
+    uint32_t :1;                        /**< bit:     26  Reserved */
+    uint32_t SCLSM:1;                   /**< bit:     27  SCL Clock Stretch Mode                   */
+    uint32_t :2;                        /**< bit: 28..29  Reserved */
+    uint32_t LOWTOUTEN:1;               /**< bit:     30  SCL Low Timeout Enable                   */
+    uint32_t :1;                        /**< bit:     31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CS_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_CTRLA_OFFSET            (0x00)                                        /**<  (SERCOM_I2CS_CTRLA) I2CS Control A  Offset */
+#define SERCOM_I2CS_CTRLA_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_I2CS_CTRLA) I2CS Control A  Reset Value */
+
+#define SERCOM_I2CS_CTRLA_SWRST_Pos         0                                              /**< (SERCOM_I2CS_CTRLA) Software Reset Position */
+#define SERCOM_I2CS_CTRLA_SWRST_Msk         (_U_(0x1) << SERCOM_I2CS_CTRLA_SWRST_Pos)      /**< (SERCOM_I2CS_CTRLA) Software Reset Mask */
+#define SERCOM_I2CS_CTRLA_SWRST             SERCOM_I2CS_CTRLA_SWRST_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_SWRST_Msk instead */
+#define SERCOM_I2CS_CTRLA_ENABLE_Pos        1                                              /**< (SERCOM_I2CS_CTRLA) Enable Position */
+#define SERCOM_I2CS_CTRLA_ENABLE_Msk        (_U_(0x1) << SERCOM_I2CS_CTRLA_ENABLE_Pos)     /**< (SERCOM_I2CS_CTRLA) Enable Mask */
+#define SERCOM_I2CS_CTRLA_ENABLE            SERCOM_I2CS_CTRLA_ENABLE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_ENABLE_Msk instead */
+#define SERCOM_I2CS_CTRLA_MODE_Pos          2                                              /**< (SERCOM_I2CS_CTRLA) Operating Mode Position */
+#define SERCOM_I2CS_CTRLA_MODE_Msk          (_U_(0x7) << SERCOM_I2CS_CTRLA_MODE_Pos)       /**< (SERCOM_I2CS_CTRLA) Operating Mode Mask */
+#define SERCOM_I2CS_CTRLA_MODE(value)       (SERCOM_I2CS_CTRLA_MODE_Msk & ((value) << SERCOM_I2CS_CTRLA_MODE_Pos))
+#define SERCOM_I2CS_CTRLA_RUNSTDBY_Pos      7                                              /**< (SERCOM_I2CS_CTRLA) Run during Standby Position */
+#define SERCOM_I2CS_CTRLA_RUNSTDBY_Msk      (_U_(0x1) << SERCOM_I2CS_CTRLA_RUNSTDBY_Pos)   /**< (SERCOM_I2CS_CTRLA) Run during Standby Mask */
+#define SERCOM_I2CS_CTRLA_RUNSTDBY          SERCOM_I2CS_CTRLA_RUNSTDBY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_RUNSTDBY_Msk instead */
+#define SERCOM_I2CS_CTRLA_PINOUT_Pos        16                                             /**< (SERCOM_I2CS_CTRLA) Pin Usage Position */
+#define SERCOM_I2CS_CTRLA_PINOUT_Msk        (_U_(0x1) << SERCOM_I2CS_CTRLA_PINOUT_Pos)     /**< (SERCOM_I2CS_CTRLA) Pin Usage Mask */
+#define SERCOM_I2CS_CTRLA_PINOUT            SERCOM_I2CS_CTRLA_PINOUT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_PINOUT_Msk instead */
+#define SERCOM_I2CS_CTRLA_SDAHOLD_Pos       20                                             /**< (SERCOM_I2CS_CTRLA) SDA Hold Time Position */
+#define SERCOM_I2CS_CTRLA_SDAHOLD_Msk       (_U_(0x3) << SERCOM_I2CS_CTRLA_SDAHOLD_Pos)    /**< (SERCOM_I2CS_CTRLA) SDA Hold Time Mask */
+#define SERCOM_I2CS_CTRLA_SDAHOLD(value)    (SERCOM_I2CS_CTRLA_SDAHOLD_Msk & ((value) << SERCOM_I2CS_CTRLA_SDAHOLD_Pos))
+#define SERCOM_I2CS_CTRLA_SEXTTOEN_Pos      23                                             /**< (SERCOM_I2CS_CTRLA) Slave SCL Low Extend Timeout Position */
+#define SERCOM_I2CS_CTRLA_SEXTTOEN_Msk      (_U_(0x1) << SERCOM_I2CS_CTRLA_SEXTTOEN_Pos)   /**< (SERCOM_I2CS_CTRLA) Slave SCL Low Extend Timeout Mask */
+#define SERCOM_I2CS_CTRLA_SEXTTOEN          SERCOM_I2CS_CTRLA_SEXTTOEN_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_SEXTTOEN_Msk instead */
+#define SERCOM_I2CS_CTRLA_SPEED_Pos         24                                             /**< (SERCOM_I2CS_CTRLA) Transfer Speed Position */
+#define SERCOM_I2CS_CTRLA_SPEED_Msk         (_U_(0x3) << SERCOM_I2CS_CTRLA_SPEED_Pos)      /**< (SERCOM_I2CS_CTRLA) Transfer Speed Mask */
+#define SERCOM_I2CS_CTRLA_SPEED(value)      (SERCOM_I2CS_CTRLA_SPEED_Msk & ((value) << SERCOM_I2CS_CTRLA_SPEED_Pos))
+#define SERCOM_I2CS_CTRLA_SCLSM_Pos         27                                             /**< (SERCOM_I2CS_CTRLA) SCL Clock Stretch Mode Position */
+#define SERCOM_I2CS_CTRLA_SCLSM_Msk         (_U_(0x1) << SERCOM_I2CS_CTRLA_SCLSM_Pos)      /**< (SERCOM_I2CS_CTRLA) SCL Clock Stretch Mode Mask */
+#define SERCOM_I2CS_CTRLA_SCLSM             SERCOM_I2CS_CTRLA_SCLSM_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_SCLSM_Msk instead */
+#define SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos     30                                             /**< (SERCOM_I2CS_CTRLA) SCL Low Timeout Enable Position */
+#define SERCOM_I2CS_CTRLA_LOWTOUTEN_Msk     (_U_(0x1) << SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos)  /**< (SERCOM_I2CS_CTRLA) SCL Low Timeout Enable Mask */
+#define SERCOM_I2CS_CTRLA_LOWTOUTEN         SERCOM_I2CS_CTRLA_LOWTOUTEN_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_LOWTOUTEN_Msk instead */
+#define SERCOM_I2CS_CTRLA_MASK              _U_(0x4BB1009F)                                /**< \deprecated (SERCOM_I2CS_CTRLA) Register MASK  (Use SERCOM_I2CS_CTRLA_Msk instead)  */
+#define SERCOM_I2CS_CTRLA_Msk               _U_(0x4BB1009F)                                /**< (SERCOM_I2CS_CTRLA) Register Mask  */
+
+
+/* -------- SERCOM_SPI_CTRLA : (SERCOM Offset: 0x00) (R/W 32) SPI Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t MODE:3;                    /**< bit:   2..4  Operating Mode                           */
+    uint32_t :2;                        /**< bit:   5..6  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:      7  Run during Standby                       */
+    uint32_t IBON:1;                    /**< bit:      8  Immediate Buffer Overflow Notification   */
+    uint32_t :7;                        /**< bit:  9..15  Reserved */
+    uint32_t DOPO:2;                    /**< bit: 16..17  Data Out Pinout                          */
+    uint32_t :2;                        /**< bit: 18..19  Reserved */
+    uint32_t DIPO:2;                    /**< bit: 20..21  Data In Pinout                           */
+    uint32_t :2;                        /**< bit: 22..23  Reserved */
+    uint32_t FORM:4;                    /**< bit: 24..27  Frame Format                             */
+    uint32_t CPHA:1;                    /**< bit:     28  Clock Phase                              */
+    uint32_t CPOL:1;                    /**< bit:     29  Clock Polarity                           */
+    uint32_t DORD:1;                    /**< bit:     30  Data Order                               */
+    uint32_t :1;                        /**< bit:     31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_CTRLA_OFFSET             (0x00)                                        /**<  (SERCOM_SPI_CTRLA) SPI Control A  Offset */
+#define SERCOM_SPI_CTRLA_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_SPI_CTRLA) SPI Control A  Reset Value */
+
+#define SERCOM_SPI_CTRLA_SWRST_Pos          0                                              /**< (SERCOM_SPI_CTRLA) Software Reset Position */
+#define SERCOM_SPI_CTRLA_SWRST_Msk          (_U_(0x1) << SERCOM_SPI_CTRLA_SWRST_Pos)       /**< (SERCOM_SPI_CTRLA) Software Reset Mask */
+#define SERCOM_SPI_CTRLA_SWRST              SERCOM_SPI_CTRLA_SWRST_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_SWRST_Msk instead */
+#define SERCOM_SPI_CTRLA_ENABLE_Pos         1                                              /**< (SERCOM_SPI_CTRLA) Enable Position */
+#define SERCOM_SPI_CTRLA_ENABLE_Msk         (_U_(0x1) << SERCOM_SPI_CTRLA_ENABLE_Pos)      /**< (SERCOM_SPI_CTRLA) Enable Mask */
+#define SERCOM_SPI_CTRLA_ENABLE             SERCOM_SPI_CTRLA_ENABLE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_ENABLE_Msk instead */
+#define SERCOM_SPI_CTRLA_MODE_Pos           2                                              /**< (SERCOM_SPI_CTRLA) Operating Mode Position */
+#define SERCOM_SPI_CTRLA_MODE_Msk           (_U_(0x7) << SERCOM_SPI_CTRLA_MODE_Pos)        /**< (SERCOM_SPI_CTRLA) Operating Mode Mask */
+#define SERCOM_SPI_CTRLA_MODE(value)        (SERCOM_SPI_CTRLA_MODE_Msk & ((value) << SERCOM_SPI_CTRLA_MODE_Pos))
+#define SERCOM_SPI_CTRLA_RUNSTDBY_Pos       7                                              /**< (SERCOM_SPI_CTRLA) Run during Standby Position */
+#define SERCOM_SPI_CTRLA_RUNSTDBY_Msk       (_U_(0x1) << SERCOM_SPI_CTRLA_RUNSTDBY_Pos)    /**< (SERCOM_SPI_CTRLA) Run during Standby Mask */
+#define SERCOM_SPI_CTRLA_RUNSTDBY           SERCOM_SPI_CTRLA_RUNSTDBY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_RUNSTDBY_Msk instead */
+#define SERCOM_SPI_CTRLA_IBON_Pos           8                                              /**< (SERCOM_SPI_CTRLA) Immediate Buffer Overflow Notification Position */
+#define SERCOM_SPI_CTRLA_IBON_Msk           (_U_(0x1) << SERCOM_SPI_CTRLA_IBON_Pos)        /**< (SERCOM_SPI_CTRLA) Immediate Buffer Overflow Notification Mask */
+#define SERCOM_SPI_CTRLA_IBON               SERCOM_SPI_CTRLA_IBON_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_IBON_Msk instead */
+#define SERCOM_SPI_CTRLA_DOPO_Pos           16                                             /**< (SERCOM_SPI_CTRLA) Data Out Pinout Position */
+#define SERCOM_SPI_CTRLA_DOPO_Msk           (_U_(0x3) << SERCOM_SPI_CTRLA_DOPO_Pos)        /**< (SERCOM_SPI_CTRLA) Data Out Pinout Mask */
+#define SERCOM_SPI_CTRLA_DOPO(value)        (SERCOM_SPI_CTRLA_DOPO_Msk & ((value) << SERCOM_SPI_CTRLA_DOPO_Pos))
+#define SERCOM_SPI_CTRLA_DIPO_Pos           20                                             /**< (SERCOM_SPI_CTRLA) Data In Pinout Position */
+#define SERCOM_SPI_CTRLA_DIPO_Msk           (_U_(0x3) << SERCOM_SPI_CTRLA_DIPO_Pos)        /**< (SERCOM_SPI_CTRLA) Data In Pinout Mask */
+#define SERCOM_SPI_CTRLA_DIPO(value)        (SERCOM_SPI_CTRLA_DIPO_Msk & ((value) << SERCOM_SPI_CTRLA_DIPO_Pos))
+#define SERCOM_SPI_CTRLA_FORM_Pos           24                                             /**< (SERCOM_SPI_CTRLA) Frame Format Position */
+#define SERCOM_SPI_CTRLA_FORM_Msk           (_U_(0xF) << SERCOM_SPI_CTRLA_FORM_Pos)        /**< (SERCOM_SPI_CTRLA) Frame Format Mask */
+#define SERCOM_SPI_CTRLA_FORM(value)        (SERCOM_SPI_CTRLA_FORM_Msk & ((value) << SERCOM_SPI_CTRLA_FORM_Pos))
+#define SERCOM_SPI_CTRLA_CPHA_Pos           28                                             /**< (SERCOM_SPI_CTRLA) Clock Phase Position */
+#define SERCOM_SPI_CTRLA_CPHA_Msk           (_U_(0x1) << SERCOM_SPI_CTRLA_CPHA_Pos)        /**< (SERCOM_SPI_CTRLA) Clock Phase Mask */
+#define SERCOM_SPI_CTRLA_CPHA               SERCOM_SPI_CTRLA_CPHA_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_CPHA_Msk instead */
+#define SERCOM_SPI_CTRLA_CPOL_Pos           29                                             /**< (SERCOM_SPI_CTRLA) Clock Polarity Position */
+#define SERCOM_SPI_CTRLA_CPOL_Msk           (_U_(0x1) << SERCOM_SPI_CTRLA_CPOL_Pos)        /**< (SERCOM_SPI_CTRLA) Clock Polarity Mask */
+#define SERCOM_SPI_CTRLA_CPOL               SERCOM_SPI_CTRLA_CPOL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_CPOL_Msk instead */
+#define SERCOM_SPI_CTRLA_DORD_Pos           30                                             /**< (SERCOM_SPI_CTRLA) Data Order Position */
+#define SERCOM_SPI_CTRLA_DORD_Msk           (_U_(0x1) << SERCOM_SPI_CTRLA_DORD_Pos)        /**< (SERCOM_SPI_CTRLA) Data Order Mask */
+#define SERCOM_SPI_CTRLA_DORD               SERCOM_SPI_CTRLA_DORD_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_DORD_Msk instead */
+#define SERCOM_SPI_CTRLA_MASK               _U_(0x7F33019F)                                /**< \deprecated (SERCOM_SPI_CTRLA) Register MASK  (Use SERCOM_SPI_CTRLA_Msk instead)  */
+#define SERCOM_SPI_CTRLA_Msk                _U_(0x7F33019F)                                /**< (SERCOM_SPI_CTRLA) Register Mask  */
+
+
+/* -------- SERCOM_USART_CTRLA : (SERCOM Offset: 0x00) (R/W 32) USART Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t MODE:3;                    /**< bit:   2..4  Operating Mode                           */
+    uint32_t :2;                        /**< bit:   5..6  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:      7  Run during Standby                       */
+    uint32_t IBON:1;                    /**< bit:      8  Immediate Buffer Overflow Notification   */
+    uint32_t TXINV:1;                   /**< bit:      9  Transmit Data Invert                     */
+    uint32_t RXINV:1;                   /**< bit:     10  Receive Data Invert                      */
+    uint32_t :2;                        /**< bit: 11..12  Reserved */
+    uint32_t SAMPR:3;                   /**< bit: 13..15  Sample                                   */
+    uint32_t TXPO:2;                    /**< bit: 16..17  Transmit Data Pinout                     */
+    uint32_t :2;                        /**< bit: 18..19  Reserved */
+    uint32_t RXPO:2;                    /**< bit: 20..21  Receive Data Pinout                      */
+    uint32_t SAMPA:2;                   /**< bit: 22..23  Sample Adjustment                        */
+    uint32_t FORM:4;                    /**< bit: 24..27  Frame Format                             */
+    uint32_t CMODE:1;                   /**< bit:     28  Communication Mode                       */
+    uint32_t CPOL:1;                    /**< bit:     29  Clock Polarity                           */
+    uint32_t DORD:1;                    /**< bit:     30  Data Order                               */
+    uint32_t :1;                        /**< bit:     31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_USART_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_CTRLA_OFFSET           (0x00)                                        /**<  (SERCOM_USART_CTRLA) USART Control A  Offset */
+#define SERCOM_USART_CTRLA_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_USART_CTRLA) USART Control A  Reset Value */
+
+#define SERCOM_USART_CTRLA_SWRST_Pos        0                                              /**< (SERCOM_USART_CTRLA) Software Reset Position */
+#define SERCOM_USART_CTRLA_SWRST_Msk        (_U_(0x1) << SERCOM_USART_CTRLA_SWRST_Pos)     /**< (SERCOM_USART_CTRLA) Software Reset Mask */
+#define SERCOM_USART_CTRLA_SWRST            SERCOM_USART_CTRLA_SWRST_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_SWRST_Msk instead */
+#define SERCOM_USART_CTRLA_ENABLE_Pos       1                                              /**< (SERCOM_USART_CTRLA) Enable Position */
+#define SERCOM_USART_CTRLA_ENABLE_Msk       (_U_(0x1) << SERCOM_USART_CTRLA_ENABLE_Pos)    /**< (SERCOM_USART_CTRLA) Enable Mask */
+#define SERCOM_USART_CTRLA_ENABLE           SERCOM_USART_CTRLA_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_ENABLE_Msk instead */
+#define SERCOM_USART_CTRLA_MODE_Pos         2                                              /**< (SERCOM_USART_CTRLA) Operating Mode Position */
+#define SERCOM_USART_CTRLA_MODE_Msk         (_U_(0x7) << SERCOM_USART_CTRLA_MODE_Pos)      /**< (SERCOM_USART_CTRLA) Operating Mode Mask */
+#define SERCOM_USART_CTRLA_MODE(value)      (SERCOM_USART_CTRLA_MODE_Msk & ((value) << SERCOM_USART_CTRLA_MODE_Pos))
+#define SERCOM_USART_CTRLA_RUNSTDBY_Pos     7                                              /**< (SERCOM_USART_CTRLA) Run during Standby Position */
+#define SERCOM_USART_CTRLA_RUNSTDBY_Msk     (_U_(0x1) << SERCOM_USART_CTRLA_RUNSTDBY_Pos)  /**< (SERCOM_USART_CTRLA) Run during Standby Mask */
+#define SERCOM_USART_CTRLA_RUNSTDBY         SERCOM_USART_CTRLA_RUNSTDBY_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_RUNSTDBY_Msk instead */
+#define SERCOM_USART_CTRLA_IBON_Pos         8                                              /**< (SERCOM_USART_CTRLA) Immediate Buffer Overflow Notification Position */
+#define SERCOM_USART_CTRLA_IBON_Msk         (_U_(0x1) << SERCOM_USART_CTRLA_IBON_Pos)      /**< (SERCOM_USART_CTRLA) Immediate Buffer Overflow Notification Mask */
+#define SERCOM_USART_CTRLA_IBON             SERCOM_USART_CTRLA_IBON_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_IBON_Msk instead */
+#define SERCOM_USART_CTRLA_TXINV_Pos        9                                              /**< (SERCOM_USART_CTRLA) Transmit Data Invert Position */
+#define SERCOM_USART_CTRLA_TXINV_Msk        (_U_(0x1) << SERCOM_USART_CTRLA_TXINV_Pos)     /**< (SERCOM_USART_CTRLA) Transmit Data Invert Mask */
+#define SERCOM_USART_CTRLA_TXINV            SERCOM_USART_CTRLA_TXINV_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_TXINV_Msk instead */
+#define SERCOM_USART_CTRLA_RXINV_Pos        10                                             /**< (SERCOM_USART_CTRLA) Receive Data Invert Position */
+#define SERCOM_USART_CTRLA_RXINV_Msk        (_U_(0x1) << SERCOM_USART_CTRLA_RXINV_Pos)     /**< (SERCOM_USART_CTRLA) Receive Data Invert Mask */
+#define SERCOM_USART_CTRLA_RXINV            SERCOM_USART_CTRLA_RXINV_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_RXINV_Msk instead */
+#define SERCOM_USART_CTRLA_SAMPR_Pos        13                                             /**< (SERCOM_USART_CTRLA) Sample Position */
+#define SERCOM_USART_CTRLA_SAMPR_Msk        (_U_(0x7) << SERCOM_USART_CTRLA_SAMPR_Pos)     /**< (SERCOM_USART_CTRLA) Sample Mask */
+#define SERCOM_USART_CTRLA_SAMPR(value)     (SERCOM_USART_CTRLA_SAMPR_Msk & ((value) << SERCOM_USART_CTRLA_SAMPR_Pos))
+#define SERCOM_USART_CTRLA_TXPO_Pos         16                                             /**< (SERCOM_USART_CTRLA) Transmit Data Pinout Position */
+#define SERCOM_USART_CTRLA_TXPO_Msk         (_U_(0x3) << SERCOM_USART_CTRLA_TXPO_Pos)      /**< (SERCOM_USART_CTRLA) Transmit Data Pinout Mask */
+#define SERCOM_USART_CTRLA_TXPO(value)      (SERCOM_USART_CTRLA_TXPO_Msk & ((value) << SERCOM_USART_CTRLA_TXPO_Pos))
+#define SERCOM_USART_CTRLA_RXPO_Pos         20                                             /**< (SERCOM_USART_CTRLA) Receive Data Pinout Position */
+#define SERCOM_USART_CTRLA_RXPO_Msk         (_U_(0x3) << SERCOM_USART_CTRLA_RXPO_Pos)      /**< (SERCOM_USART_CTRLA) Receive Data Pinout Mask */
+#define SERCOM_USART_CTRLA_RXPO(value)      (SERCOM_USART_CTRLA_RXPO_Msk & ((value) << SERCOM_USART_CTRLA_RXPO_Pos))
+#define SERCOM_USART_CTRLA_SAMPA_Pos        22                                             /**< (SERCOM_USART_CTRLA) Sample Adjustment Position */
+#define SERCOM_USART_CTRLA_SAMPA_Msk        (_U_(0x3) << SERCOM_USART_CTRLA_SAMPA_Pos)     /**< (SERCOM_USART_CTRLA) Sample Adjustment Mask */
+#define SERCOM_USART_CTRLA_SAMPA(value)     (SERCOM_USART_CTRLA_SAMPA_Msk & ((value) << SERCOM_USART_CTRLA_SAMPA_Pos))
+#define SERCOM_USART_CTRLA_FORM_Pos         24                                             /**< (SERCOM_USART_CTRLA) Frame Format Position */
+#define SERCOM_USART_CTRLA_FORM_Msk         (_U_(0xF) << SERCOM_USART_CTRLA_FORM_Pos)      /**< (SERCOM_USART_CTRLA) Frame Format Mask */
+#define SERCOM_USART_CTRLA_FORM(value)      (SERCOM_USART_CTRLA_FORM_Msk & ((value) << SERCOM_USART_CTRLA_FORM_Pos))
+#define SERCOM_USART_CTRLA_CMODE_Pos        28                                             /**< (SERCOM_USART_CTRLA) Communication Mode Position */
+#define SERCOM_USART_CTRLA_CMODE_Msk        (_U_(0x1) << SERCOM_USART_CTRLA_CMODE_Pos)     /**< (SERCOM_USART_CTRLA) Communication Mode Mask */
+#define SERCOM_USART_CTRLA_CMODE            SERCOM_USART_CTRLA_CMODE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_CMODE_Msk instead */
+#define SERCOM_USART_CTRLA_CPOL_Pos         29                                             /**< (SERCOM_USART_CTRLA) Clock Polarity Position */
+#define SERCOM_USART_CTRLA_CPOL_Msk         (_U_(0x1) << SERCOM_USART_CTRLA_CPOL_Pos)      /**< (SERCOM_USART_CTRLA) Clock Polarity Mask */
+#define SERCOM_USART_CTRLA_CPOL             SERCOM_USART_CTRLA_CPOL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_CPOL_Msk instead */
+#define SERCOM_USART_CTRLA_DORD_Pos         30                                             /**< (SERCOM_USART_CTRLA) Data Order Position */
+#define SERCOM_USART_CTRLA_DORD_Msk         (_U_(0x1) << SERCOM_USART_CTRLA_DORD_Pos)      /**< (SERCOM_USART_CTRLA) Data Order Mask */
+#define SERCOM_USART_CTRLA_DORD             SERCOM_USART_CTRLA_DORD_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_DORD_Msk instead */
+#define SERCOM_USART_CTRLA_MASK             _U_(0x7FF3E79F)                                /**< \deprecated (SERCOM_USART_CTRLA) Register MASK  (Use SERCOM_USART_CTRLA_Msk instead)  */
+#define SERCOM_USART_CTRLA_Msk              _U_(0x7FF3E79F)                                /**< (SERCOM_USART_CTRLA) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_CTRLB : (SERCOM Offset: 0x04) (R/W 32) I2CM Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :8;                        /**< bit:   0..7  Reserved */
+    uint32_t SMEN:1;                    /**< bit:      8  Smart Mode Enable                        */
+    uint32_t QCEN:1;                    /**< bit:      9  Quick Command Enable                     */
+    uint32_t :6;                        /**< bit: 10..15  Reserved */
+    uint32_t CMD:2;                     /**< bit: 16..17  Command                                  */
+    uint32_t ACKACT:1;                  /**< bit:     18  Acknowledge Action                       */
+    uint32_t :13;                       /**< bit: 19..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_CTRLB_OFFSET            (0x04)                                        /**<  (SERCOM_I2CM_CTRLB) I2CM Control B  Offset */
+#define SERCOM_I2CM_CTRLB_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_I2CM_CTRLB) I2CM Control B  Reset Value */
+
+#define SERCOM_I2CM_CTRLB_SMEN_Pos          8                                              /**< (SERCOM_I2CM_CTRLB) Smart Mode Enable Position */
+#define SERCOM_I2CM_CTRLB_SMEN_Msk          (_U_(0x1) << SERCOM_I2CM_CTRLB_SMEN_Pos)       /**< (SERCOM_I2CM_CTRLB) Smart Mode Enable Mask */
+#define SERCOM_I2CM_CTRLB_SMEN              SERCOM_I2CM_CTRLB_SMEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLB_SMEN_Msk instead */
+#define SERCOM_I2CM_CTRLB_QCEN_Pos          9                                              /**< (SERCOM_I2CM_CTRLB) Quick Command Enable Position */
+#define SERCOM_I2CM_CTRLB_QCEN_Msk          (_U_(0x1) << SERCOM_I2CM_CTRLB_QCEN_Pos)       /**< (SERCOM_I2CM_CTRLB) Quick Command Enable Mask */
+#define SERCOM_I2CM_CTRLB_QCEN              SERCOM_I2CM_CTRLB_QCEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLB_QCEN_Msk instead */
+#define SERCOM_I2CM_CTRLB_CMD_Pos           16                                             /**< (SERCOM_I2CM_CTRLB) Command Position */
+#define SERCOM_I2CM_CTRLB_CMD_Msk           (_U_(0x3) << SERCOM_I2CM_CTRLB_CMD_Pos)        /**< (SERCOM_I2CM_CTRLB) Command Mask */
+#define SERCOM_I2CM_CTRLB_CMD(value)        (SERCOM_I2CM_CTRLB_CMD_Msk & ((value) << SERCOM_I2CM_CTRLB_CMD_Pos))
+#define SERCOM_I2CM_CTRLB_ACKACT_Pos        18                                             /**< (SERCOM_I2CM_CTRLB) Acknowledge Action Position */
+#define SERCOM_I2CM_CTRLB_ACKACT_Msk        (_U_(0x1) << SERCOM_I2CM_CTRLB_ACKACT_Pos)     /**< (SERCOM_I2CM_CTRLB) Acknowledge Action Mask */
+#define SERCOM_I2CM_CTRLB_ACKACT            SERCOM_I2CM_CTRLB_ACKACT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLB_ACKACT_Msk instead */
+#define SERCOM_I2CM_CTRLB_MASK              _U_(0x70300)                                   /**< \deprecated (SERCOM_I2CM_CTRLB) Register MASK  (Use SERCOM_I2CM_CTRLB_Msk instead)  */
+#define SERCOM_I2CM_CTRLB_Msk               _U_(0x70300)                                   /**< (SERCOM_I2CM_CTRLB) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_CTRLB : (SERCOM Offset: 0x04) (R/W 32) I2CS Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :8;                        /**< bit:   0..7  Reserved */
+    uint32_t SMEN:1;                    /**< bit:      8  Smart Mode Enable                        */
+    uint32_t GCMD:1;                    /**< bit:      9  PMBus Group Command                      */
+    uint32_t AACKEN:1;                  /**< bit:     10  Automatic Address Acknowledge            */
+    uint32_t :3;                        /**< bit: 11..13  Reserved */
+    uint32_t AMODE:2;                   /**< bit: 14..15  Address Mode                             */
+    uint32_t CMD:2;                     /**< bit: 16..17  Command                                  */
+    uint32_t ACKACT:1;                  /**< bit:     18  Acknowledge Action                       */
+    uint32_t :13;                       /**< bit: 19..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CS_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_CTRLB_OFFSET            (0x04)                                        /**<  (SERCOM_I2CS_CTRLB) I2CS Control B  Offset */
+#define SERCOM_I2CS_CTRLB_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_I2CS_CTRLB) I2CS Control B  Reset Value */
+
+#define SERCOM_I2CS_CTRLB_SMEN_Pos          8                                              /**< (SERCOM_I2CS_CTRLB) Smart Mode Enable Position */
+#define SERCOM_I2CS_CTRLB_SMEN_Msk          (_U_(0x1) << SERCOM_I2CS_CTRLB_SMEN_Pos)       /**< (SERCOM_I2CS_CTRLB) Smart Mode Enable Mask */
+#define SERCOM_I2CS_CTRLB_SMEN              SERCOM_I2CS_CTRLB_SMEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLB_SMEN_Msk instead */
+#define SERCOM_I2CS_CTRLB_GCMD_Pos          9                                              /**< (SERCOM_I2CS_CTRLB) PMBus Group Command Position */
+#define SERCOM_I2CS_CTRLB_GCMD_Msk          (_U_(0x1) << SERCOM_I2CS_CTRLB_GCMD_Pos)       /**< (SERCOM_I2CS_CTRLB) PMBus Group Command Mask */
+#define SERCOM_I2CS_CTRLB_GCMD              SERCOM_I2CS_CTRLB_GCMD_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLB_GCMD_Msk instead */
+#define SERCOM_I2CS_CTRLB_AACKEN_Pos        10                                             /**< (SERCOM_I2CS_CTRLB) Automatic Address Acknowledge Position */
+#define SERCOM_I2CS_CTRLB_AACKEN_Msk        (_U_(0x1) << SERCOM_I2CS_CTRLB_AACKEN_Pos)     /**< (SERCOM_I2CS_CTRLB) Automatic Address Acknowledge Mask */
+#define SERCOM_I2CS_CTRLB_AACKEN            SERCOM_I2CS_CTRLB_AACKEN_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLB_AACKEN_Msk instead */
+#define SERCOM_I2CS_CTRLB_AMODE_Pos         14                                             /**< (SERCOM_I2CS_CTRLB) Address Mode Position */
+#define SERCOM_I2CS_CTRLB_AMODE_Msk         (_U_(0x3) << SERCOM_I2CS_CTRLB_AMODE_Pos)      /**< (SERCOM_I2CS_CTRLB) Address Mode Mask */
+#define SERCOM_I2CS_CTRLB_AMODE(value)      (SERCOM_I2CS_CTRLB_AMODE_Msk & ((value) << SERCOM_I2CS_CTRLB_AMODE_Pos))
+#define SERCOM_I2CS_CTRLB_CMD_Pos           16                                             /**< (SERCOM_I2CS_CTRLB) Command Position */
+#define SERCOM_I2CS_CTRLB_CMD_Msk           (_U_(0x3) << SERCOM_I2CS_CTRLB_CMD_Pos)        /**< (SERCOM_I2CS_CTRLB) Command Mask */
+#define SERCOM_I2CS_CTRLB_CMD(value)        (SERCOM_I2CS_CTRLB_CMD_Msk & ((value) << SERCOM_I2CS_CTRLB_CMD_Pos))
+#define SERCOM_I2CS_CTRLB_ACKACT_Pos        18                                             /**< (SERCOM_I2CS_CTRLB) Acknowledge Action Position */
+#define SERCOM_I2CS_CTRLB_ACKACT_Msk        (_U_(0x1) << SERCOM_I2CS_CTRLB_ACKACT_Pos)     /**< (SERCOM_I2CS_CTRLB) Acknowledge Action Mask */
+#define SERCOM_I2CS_CTRLB_ACKACT            SERCOM_I2CS_CTRLB_ACKACT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLB_ACKACT_Msk instead */
+#define SERCOM_I2CS_CTRLB_MASK              _U_(0x7C700)                                   /**< \deprecated (SERCOM_I2CS_CTRLB) Register MASK  (Use SERCOM_I2CS_CTRLB_Msk instead)  */
+#define SERCOM_I2CS_CTRLB_Msk               _U_(0x7C700)                                   /**< (SERCOM_I2CS_CTRLB) Register Mask  */
+
+
+/* -------- SERCOM_SPI_CTRLB : (SERCOM Offset: 0x04) (R/W 32) SPI Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CHSIZE:3;                  /**< bit:   0..2  Character Size                           */
+    uint32_t :3;                        /**< bit:   3..5  Reserved */
+    uint32_t PLOADEN:1;                 /**< bit:      6  Data Preload Enable                      */
+    uint32_t :2;                        /**< bit:   7..8  Reserved */
+    uint32_t SSDE:1;                    /**< bit:      9  Slave Select Low Detect Enable           */
+    uint32_t :3;                        /**< bit: 10..12  Reserved */
+    uint32_t MSSEN:1;                   /**< bit:     13  Master Slave Select Enable               */
+    uint32_t AMODE:2;                   /**< bit: 14..15  Address Mode                             */
+    uint32_t :1;                        /**< bit:     16  Reserved */
+    uint32_t RXEN:1;                    /**< bit:     17  Receiver Enable                          */
+    uint32_t :14;                       /**< bit: 18..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_CTRLB_OFFSET             (0x04)                                        /**<  (SERCOM_SPI_CTRLB) SPI Control B  Offset */
+#define SERCOM_SPI_CTRLB_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_SPI_CTRLB) SPI Control B  Reset Value */
+
+#define SERCOM_SPI_CTRLB_CHSIZE_Pos         0                                              /**< (SERCOM_SPI_CTRLB) Character Size Position */
+#define SERCOM_SPI_CTRLB_CHSIZE_Msk         (_U_(0x7) << SERCOM_SPI_CTRLB_CHSIZE_Pos)      /**< (SERCOM_SPI_CTRLB) Character Size Mask */
+#define SERCOM_SPI_CTRLB_CHSIZE(value)      (SERCOM_SPI_CTRLB_CHSIZE_Msk & ((value) << SERCOM_SPI_CTRLB_CHSIZE_Pos))
+#define SERCOM_SPI_CTRLB_PLOADEN_Pos        6                                              /**< (SERCOM_SPI_CTRLB) Data Preload Enable Position */
+#define SERCOM_SPI_CTRLB_PLOADEN_Msk        (_U_(0x1) << SERCOM_SPI_CTRLB_PLOADEN_Pos)     /**< (SERCOM_SPI_CTRLB) Data Preload Enable Mask */
+#define SERCOM_SPI_CTRLB_PLOADEN            SERCOM_SPI_CTRLB_PLOADEN_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLB_PLOADEN_Msk instead */
+#define SERCOM_SPI_CTRLB_SSDE_Pos           9                                              /**< (SERCOM_SPI_CTRLB) Slave Select Low Detect Enable Position */
+#define SERCOM_SPI_CTRLB_SSDE_Msk           (_U_(0x1) << SERCOM_SPI_CTRLB_SSDE_Pos)        /**< (SERCOM_SPI_CTRLB) Slave Select Low Detect Enable Mask */
+#define SERCOM_SPI_CTRLB_SSDE               SERCOM_SPI_CTRLB_SSDE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLB_SSDE_Msk instead */
+#define SERCOM_SPI_CTRLB_MSSEN_Pos          13                                             /**< (SERCOM_SPI_CTRLB) Master Slave Select Enable Position */
+#define SERCOM_SPI_CTRLB_MSSEN_Msk          (_U_(0x1) << SERCOM_SPI_CTRLB_MSSEN_Pos)       /**< (SERCOM_SPI_CTRLB) Master Slave Select Enable Mask */
+#define SERCOM_SPI_CTRLB_MSSEN              SERCOM_SPI_CTRLB_MSSEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLB_MSSEN_Msk instead */
+#define SERCOM_SPI_CTRLB_AMODE_Pos          14                                             /**< (SERCOM_SPI_CTRLB) Address Mode Position */
+#define SERCOM_SPI_CTRLB_AMODE_Msk          (_U_(0x3) << SERCOM_SPI_CTRLB_AMODE_Pos)       /**< (SERCOM_SPI_CTRLB) Address Mode Mask */
+#define SERCOM_SPI_CTRLB_AMODE(value)       (SERCOM_SPI_CTRLB_AMODE_Msk & ((value) << SERCOM_SPI_CTRLB_AMODE_Pos))
+#define SERCOM_SPI_CTRLB_RXEN_Pos           17                                             /**< (SERCOM_SPI_CTRLB) Receiver Enable Position */
+#define SERCOM_SPI_CTRLB_RXEN_Msk           (_U_(0x1) << SERCOM_SPI_CTRLB_RXEN_Pos)        /**< (SERCOM_SPI_CTRLB) Receiver Enable Mask */
+#define SERCOM_SPI_CTRLB_RXEN               SERCOM_SPI_CTRLB_RXEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLB_RXEN_Msk instead */
+#define SERCOM_SPI_CTRLB_MASK               _U_(0x2E247)                                   /**< \deprecated (SERCOM_SPI_CTRLB) Register MASK  (Use SERCOM_SPI_CTRLB_Msk instead)  */
+#define SERCOM_SPI_CTRLB_Msk                _U_(0x2E247)                                   /**< (SERCOM_SPI_CTRLB) Register Mask  */
+
+
+/* -------- SERCOM_USART_CTRLB : (SERCOM Offset: 0x04) (R/W 32) USART Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CHSIZE:3;                  /**< bit:   0..2  Character Size                           */
+    uint32_t :3;                        /**< bit:   3..5  Reserved */
+    uint32_t SBMODE:1;                  /**< bit:      6  Stop Bit Mode                            */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t COLDEN:1;                  /**< bit:      8  Collision Detection Enable               */
+    uint32_t SFDE:1;                    /**< bit:      9  Start of Frame Detection Enable          */
+    uint32_t ENC:1;                     /**< bit:     10  Encoding Format                          */
+    uint32_t :2;                        /**< bit: 11..12  Reserved */
+    uint32_t PMODE:1;                   /**< bit:     13  Parity Mode                              */
+    uint32_t :2;                        /**< bit: 14..15  Reserved */
+    uint32_t TXEN:1;                    /**< bit:     16  Transmitter Enable                       */
+    uint32_t RXEN:1;                    /**< bit:     17  Receiver Enable                          */
+    uint32_t :6;                        /**< bit: 18..23  Reserved */
+    uint32_t LINCMD:2;                  /**< bit: 24..25  LIN Command                              */
+    uint32_t :6;                        /**< bit: 26..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_USART_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_CTRLB_OFFSET           (0x04)                                        /**<  (SERCOM_USART_CTRLB) USART Control B  Offset */
+#define SERCOM_USART_CTRLB_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_USART_CTRLB) USART Control B  Reset Value */
+
+#define SERCOM_USART_CTRLB_CHSIZE_Pos       0                                              /**< (SERCOM_USART_CTRLB) Character Size Position */
+#define SERCOM_USART_CTRLB_CHSIZE_Msk       (_U_(0x7) << SERCOM_USART_CTRLB_CHSIZE_Pos)    /**< (SERCOM_USART_CTRLB) Character Size Mask */
+#define SERCOM_USART_CTRLB_CHSIZE(value)    (SERCOM_USART_CTRLB_CHSIZE_Msk & ((value) << SERCOM_USART_CTRLB_CHSIZE_Pos))
+#define SERCOM_USART_CTRLB_SBMODE_Pos       6                                              /**< (SERCOM_USART_CTRLB) Stop Bit Mode Position */
+#define SERCOM_USART_CTRLB_SBMODE_Msk       (_U_(0x1) << SERCOM_USART_CTRLB_SBMODE_Pos)    /**< (SERCOM_USART_CTRLB) Stop Bit Mode Mask */
+#define SERCOM_USART_CTRLB_SBMODE           SERCOM_USART_CTRLB_SBMODE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_SBMODE_Msk instead */
+#define SERCOM_USART_CTRLB_COLDEN_Pos       8                                              /**< (SERCOM_USART_CTRLB) Collision Detection Enable Position */
+#define SERCOM_USART_CTRLB_COLDEN_Msk       (_U_(0x1) << SERCOM_USART_CTRLB_COLDEN_Pos)    /**< (SERCOM_USART_CTRLB) Collision Detection Enable Mask */
+#define SERCOM_USART_CTRLB_COLDEN           SERCOM_USART_CTRLB_COLDEN_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_COLDEN_Msk instead */
+#define SERCOM_USART_CTRLB_SFDE_Pos         9                                              /**< (SERCOM_USART_CTRLB) Start of Frame Detection Enable Position */
+#define SERCOM_USART_CTRLB_SFDE_Msk         (_U_(0x1) << SERCOM_USART_CTRLB_SFDE_Pos)      /**< (SERCOM_USART_CTRLB) Start of Frame Detection Enable Mask */
+#define SERCOM_USART_CTRLB_SFDE             SERCOM_USART_CTRLB_SFDE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_SFDE_Msk instead */
+#define SERCOM_USART_CTRLB_ENC_Pos          10                                             /**< (SERCOM_USART_CTRLB) Encoding Format Position */
+#define SERCOM_USART_CTRLB_ENC_Msk          (_U_(0x1) << SERCOM_USART_CTRLB_ENC_Pos)       /**< (SERCOM_USART_CTRLB) Encoding Format Mask */
+#define SERCOM_USART_CTRLB_ENC              SERCOM_USART_CTRLB_ENC_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_ENC_Msk instead */
+#define SERCOM_USART_CTRLB_PMODE_Pos        13                                             /**< (SERCOM_USART_CTRLB) Parity Mode Position */
+#define SERCOM_USART_CTRLB_PMODE_Msk        (_U_(0x1) << SERCOM_USART_CTRLB_PMODE_Pos)     /**< (SERCOM_USART_CTRLB) Parity Mode Mask */
+#define SERCOM_USART_CTRLB_PMODE            SERCOM_USART_CTRLB_PMODE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_PMODE_Msk instead */
+#define SERCOM_USART_CTRLB_TXEN_Pos         16                                             /**< (SERCOM_USART_CTRLB) Transmitter Enable Position */
+#define SERCOM_USART_CTRLB_TXEN_Msk         (_U_(0x1) << SERCOM_USART_CTRLB_TXEN_Pos)      /**< (SERCOM_USART_CTRLB) Transmitter Enable Mask */
+#define SERCOM_USART_CTRLB_TXEN             SERCOM_USART_CTRLB_TXEN_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_TXEN_Msk instead */
+#define SERCOM_USART_CTRLB_RXEN_Pos         17                                             /**< (SERCOM_USART_CTRLB) Receiver Enable Position */
+#define SERCOM_USART_CTRLB_RXEN_Msk         (_U_(0x1) << SERCOM_USART_CTRLB_RXEN_Pos)      /**< (SERCOM_USART_CTRLB) Receiver Enable Mask */
+#define SERCOM_USART_CTRLB_RXEN             SERCOM_USART_CTRLB_RXEN_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_RXEN_Msk instead */
+#define SERCOM_USART_CTRLB_LINCMD_Pos       24                                             /**< (SERCOM_USART_CTRLB) LIN Command Position */
+#define SERCOM_USART_CTRLB_LINCMD_Msk       (_U_(0x3) << SERCOM_USART_CTRLB_LINCMD_Pos)    /**< (SERCOM_USART_CTRLB) LIN Command Mask */
+#define SERCOM_USART_CTRLB_LINCMD(value)    (SERCOM_USART_CTRLB_LINCMD_Msk & ((value) << SERCOM_USART_CTRLB_LINCMD_Pos))
+#define SERCOM_USART_CTRLB_MASK             _U_(0x3032747)                                 /**< \deprecated (SERCOM_USART_CTRLB) Register MASK  (Use SERCOM_USART_CTRLB_Msk instead)  */
+#define SERCOM_USART_CTRLB_Msk              _U_(0x3032747)                                 /**< (SERCOM_USART_CTRLB) Register Mask  */
+
+
+/* -------- SERCOM_USART_CTRLC : (SERCOM Offset: 0x08) (R/W 32) USART Control C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t GTIME:3;                   /**< bit:   0..2  Guard Time                               */
+    uint32_t :5;                        /**< bit:   3..7  Reserved */
+    uint32_t BRKLEN:2;                  /**< bit:   8..9  LIN Master Break Length                  */
+    uint32_t HDRDLY:2;                  /**< bit: 10..11  LIN Master Header Delay                  */
+    uint32_t :4;                        /**< bit: 12..15  Reserved */
+    uint32_t INACK:1;                   /**< bit:     16  Inhibit Not Acknowledge                  */
+    uint32_t DSNACK:1;                  /**< bit:     17  Disable Successive NACK                  */
+    uint32_t :2;                        /**< bit: 18..19  Reserved */
+    uint32_t MAXITER:3;                 /**< bit: 20..22  Maximum Iterations                       */
+    uint32_t :9;                        /**< bit: 23..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_USART_CTRLC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_CTRLC_OFFSET           (0x08)                                        /**<  (SERCOM_USART_CTRLC) USART Control C  Offset */
+#define SERCOM_USART_CTRLC_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_USART_CTRLC) USART Control C  Reset Value */
+
+#define SERCOM_USART_CTRLC_GTIME_Pos        0                                              /**< (SERCOM_USART_CTRLC) Guard Time Position */
+#define SERCOM_USART_CTRLC_GTIME_Msk        (_U_(0x7) << SERCOM_USART_CTRLC_GTIME_Pos)     /**< (SERCOM_USART_CTRLC) Guard Time Mask */
+#define SERCOM_USART_CTRLC_GTIME(value)     (SERCOM_USART_CTRLC_GTIME_Msk & ((value) << SERCOM_USART_CTRLC_GTIME_Pos))
+#define SERCOM_USART_CTRLC_BRKLEN_Pos       8                                              /**< (SERCOM_USART_CTRLC) LIN Master Break Length Position */
+#define SERCOM_USART_CTRLC_BRKLEN_Msk       (_U_(0x3) << SERCOM_USART_CTRLC_BRKLEN_Pos)    /**< (SERCOM_USART_CTRLC) LIN Master Break Length Mask */
+#define SERCOM_USART_CTRLC_BRKLEN(value)    (SERCOM_USART_CTRLC_BRKLEN_Msk & ((value) << SERCOM_USART_CTRLC_BRKLEN_Pos))
+#define SERCOM_USART_CTRLC_HDRDLY_Pos       10                                             /**< (SERCOM_USART_CTRLC) LIN Master Header Delay Position */
+#define SERCOM_USART_CTRLC_HDRDLY_Msk       (_U_(0x3) << SERCOM_USART_CTRLC_HDRDLY_Pos)    /**< (SERCOM_USART_CTRLC) LIN Master Header Delay Mask */
+#define SERCOM_USART_CTRLC_HDRDLY(value)    (SERCOM_USART_CTRLC_HDRDLY_Msk & ((value) << SERCOM_USART_CTRLC_HDRDLY_Pos))
+#define SERCOM_USART_CTRLC_INACK_Pos        16                                             /**< (SERCOM_USART_CTRLC) Inhibit Not Acknowledge Position */
+#define SERCOM_USART_CTRLC_INACK_Msk        (_U_(0x1) << SERCOM_USART_CTRLC_INACK_Pos)     /**< (SERCOM_USART_CTRLC) Inhibit Not Acknowledge Mask */
+#define SERCOM_USART_CTRLC_INACK            SERCOM_USART_CTRLC_INACK_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLC_INACK_Msk instead */
+#define SERCOM_USART_CTRLC_DSNACK_Pos       17                                             /**< (SERCOM_USART_CTRLC) Disable Successive NACK Position */
+#define SERCOM_USART_CTRLC_DSNACK_Msk       (_U_(0x1) << SERCOM_USART_CTRLC_DSNACK_Pos)    /**< (SERCOM_USART_CTRLC) Disable Successive NACK Mask */
+#define SERCOM_USART_CTRLC_DSNACK           SERCOM_USART_CTRLC_DSNACK_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLC_DSNACK_Msk instead */
+#define SERCOM_USART_CTRLC_MAXITER_Pos      20                                             /**< (SERCOM_USART_CTRLC) Maximum Iterations Position */
+#define SERCOM_USART_CTRLC_MAXITER_Msk      (_U_(0x7) << SERCOM_USART_CTRLC_MAXITER_Pos)   /**< (SERCOM_USART_CTRLC) Maximum Iterations Mask */
+#define SERCOM_USART_CTRLC_MAXITER(value)   (SERCOM_USART_CTRLC_MAXITER_Msk & ((value) << SERCOM_USART_CTRLC_MAXITER_Pos))
+#define SERCOM_USART_CTRLC_MASK             _U_(0x730F07)                                  /**< \deprecated (SERCOM_USART_CTRLC) Register MASK  (Use SERCOM_USART_CTRLC_Msk instead)  */
+#define SERCOM_USART_CTRLC_Msk              _U_(0x730F07)                                  /**< (SERCOM_USART_CTRLC) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_BAUD : (SERCOM Offset: 0x0c) (R/W 32) I2CM Baud Rate -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BAUD:8;                    /**< bit:   0..7  Baud Rate Value                          */
+    uint32_t BAUDLOW:8;                 /**< bit:  8..15  Baud Rate Value Low                      */
+    uint32_t HSBAUD:8;                  /**< bit: 16..23  High Speed Baud Rate Value               */
+    uint32_t HSBAUDLOW:8;               /**< bit: 24..31  High Speed Baud Rate Value Low           */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_BAUD_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_BAUD_OFFSET             (0x0C)                                        /**<  (SERCOM_I2CM_BAUD) I2CM Baud Rate  Offset */
+#define SERCOM_I2CM_BAUD_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_I2CM_BAUD) I2CM Baud Rate  Reset Value */
+
+#define SERCOM_I2CM_BAUD_BAUD_Pos           0                                              /**< (SERCOM_I2CM_BAUD) Baud Rate Value Position */
+#define SERCOM_I2CM_BAUD_BAUD_Msk           (_U_(0xFF) << SERCOM_I2CM_BAUD_BAUD_Pos)       /**< (SERCOM_I2CM_BAUD) Baud Rate Value Mask */
+#define SERCOM_I2CM_BAUD_BAUD(value)        (SERCOM_I2CM_BAUD_BAUD_Msk & ((value) << SERCOM_I2CM_BAUD_BAUD_Pos))
+#define SERCOM_I2CM_BAUD_BAUDLOW_Pos        8                                              /**< (SERCOM_I2CM_BAUD) Baud Rate Value Low Position */
+#define SERCOM_I2CM_BAUD_BAUDLOW_Msk        (_U_(0xFF) << SERCOM_I2CM_BAUD_BAUDLOW_Pos)    /**< (SERCOM_I2CM_BAUD) Baud Rate Value Low Mask */
+#define SERCOM_I2CM_BAUD_BAUDLOW(value)     (SERCOM_I2CM_BAUD_BAUDLOW_Msk & ((value) << SERCOM_I2CM_BAUD_BAUDLOW_Pos))
+#define SERCOM_I2CM_BAUD_HSBAUD_Pos         16                                             /**< (SERCOM_I2CM_BAUD) High Speed Baud Rate Value Position */
+#define SERCOM_I2CM_BAUD_HSBAUD_Msk         (_U_(0xFF) << SERCOM_I2CM_BAUD_HSBAUD_Pos)     /**< (SERCOM_I2CM_BAUD) High Speed Baud Rate Value Mask */
+#define SERCOM_I2CM_BAUD_HSBAUD(value)      (SERCOM_I2CM_BAUD_HSBAUD_Msk & ((value) << SERCOM_I2CM_BAUD_HSBAUD_Pos))
+#define SERCOM_I2CM_BAUD_HSBAUDLOW_Pos      24                                             /**< (SERCOM_I2CM_BAUD) High Speed Baud Rate Value Low Position */
+#define SERCOM_I2CM_BAUD_HSBAUDLOW_Msk      (_U_(0xFF) << SERCOM_I2CM_BAUD_HSBAUDLOW_Pos)  /**< (SERCOM_I2CM_BAUD) High Speed Baud Rate Value Low Mask */
+#define SERCOM_I2CM_BAUD_HSBAUDLOW(value)   (SERCOM_I2CM_BAUD_HSBAUDLOW_Msk & ((value) << SERCOM_I2CM_BAUD_HSBAUDLOW_Pos))
+#define SERCOM_I2CM_BAUD_MASK               _U_(0xFFFFFFFF)                                /**< \deprecated (SERCOM_I2CM_BAUD) Register MASK  (Use SERCOM_I2CM_BAUD_Msk instead)  */
+#define SERCOM_I2CM_BAUD_Msk                _U_(0xFFFFFFFF)                                /**< (SERCOM_I2CM_BAUD) Register Mask  */
+
+
+/* -------- SERCOM_SPI_BAUD : (SERCOM Offset: 0x0c) (R/W 8) SPI Baud Rate -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  BAUD:8;                    /**< bit:   0..7  Baud Rate Value                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_SPI_BAUD_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_BAUD_OFFSET              (0x0C)                                        /**<  (SERCOM_SPI_BAUD) SPI Baud Rate  Offset */
+#define SERCOM_SPI_BAUD_RESETVALUE          _U_(0x00)                                     /**<  (SERCOM_SPI_BAUD) SPI Baud Rate  Reset Value */
+
+#define SERCOM_SPI_BAUD_BAUD_Pos            0                                              /**< (SERCOM_SPI_BAUD) Baud Rate Value Position */
+#define SERCOM_SPI_BAUD_BAUD_Msk            (_U_(0xFF) << SERCOM_SPI_BAUD_BAUD_Pos)        /**< (SERCOM_SPI_BAUD) Baud Rate Value Mask */
+#define SERCOM_SPI_BAUD_BAUD(value)         (SERCOM_SPI_BAUD_BAUD_Msk & ((value) << SERCOM_SPI_BAUD_BAUD_Pos))
+#define SERCOM_SPI_BAUD_MASK                _U_(0xFF)                                      /**< \deprecated (SERCOM_SPI_BAUD) Register MASK  (Use SERCOM_SPI_BAUD_Msk instead)  */
+#define SERCOM_SPI_BAUD_Msk                 _U_(0xFF)                                      /**< (SERCOM_SPI_BAUD) Register Mask  */
+
+
+/* -------- SERCOM_USART_BAUD : (SERCOM Offset: 0x0c) (R/W 16) USART Baud Rate -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BAUD:16;                   /**< bit:  0..15  Baud Rate Value                          */
+  } bit;                                /**< Structure used for bit  access */
+  struct { // FRAC mode
+    uint16_t BAUD:13;                   /**< bit:  0..12  Baud Rate Value                          */
+    uint16_t FP:3;                      /**< bit: 13..15  Fractional Part                          */
+  } FRAC;                                /**< Structure used for FRAC mode access */
+  struct { // FRACFP mode
+    uint16_t BAUD:13;                   /**< bit:  0..12  Baud Rate Value                          */
+    uint16_t FP:3;                      /**< bit: 13..15  Fractional Part                          */
+  } FRACFP;                                /**< Structure used for FRACFP mode access */
+  struct { // USARTFP mode
+    uint16_t BAUD:16;                   /**< bit:  0..15  Baud Rate Value                          */
+  } USARTFP;                                /**< Structure used for USARTFP mode access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_USART_BAUD_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_BAUD_OFFSET            (0x0C)                                        /**<  (SERCOM_USART_BAUD) USART Baud Rate  Offset */
+#define SERCOM_USART_BAUD_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_USART_BAUD) USART Baud Rate  Reset Value */
+
+#define SERCOM_USART_BAUD_BAUD_Pos          0                                              /**< (SERCOM_USART_BAUD) Baud Rate Value Position */
+#define SERCOM_USART_BAUD_BAUD_Msk          (_U_(0xFFFF) << SERCOM_USART_BAUD_BAUD_Pos)    /**< (SERCOM_USART_BAUD) Baud Rate Value Mask */
+#define SERCOM_USART_BAUD_BAUD(value)       (SERCOM_USART_BAUD_BAUD_Msk & ((value) << SERCOM_USART_BAUD_BAUD_Pos))
+#define SERCOM_USART_BAUD_MASK              _U_(0xFFFF)                                    /**< \deprecated (SERCOM_USART_BAUD) Register MASK  (Use SERCOM_USART_BAUD_Msk instead)  */
+#define SERCOM_USART_BAUD_Msk               _U_(0xFFFF)                                    /**< (SERCOM_USART_BAUD) Register Mask  */
+
+/* FRAC mode */
+#define SERCOM_USART_BAUD_FRAC_BAUD_Pos     0                                              /**< (SERCOM_USART_BAUD) Baud Rate Value Position */
+#define SERCOM_USART_BAUD_FRAC_BAUD_Msk     (_U_(0x1FFF) << SERCOM_USART_BAUD_FRAC_BAUD_Pos)  /**< (SERCOM_USART_BAUD) Baud Rate Value Mask */
+#define SERCOM_USART_BAUD_FRAC_BAUD(value)  (SERCOM_USART_BAUD_FRAC_BAUD_Msk & ((value) << SERCOM_USART_BAUD_FRAC_BAUD_Pos))
+#define SERCOM_USART_BAUD_FRAC_FP_Pos       13                                             /**< (SERCOM_USART_BAUD) Fractional Part Position */
+#define SERCOM_USART_BAUD_FRAC_FP_Msk       (_U_(0x7) << SERCOM_USART_BAUD_FRAC_FP_Pos)    /**< (SERCOM_USART_BAUD) Fractional Part Mask */
+#define SERCOM_USART_BAUD_FRAC_FP(value)    (SERCOM_USART_BAUD_FRAC_FP_Msk & ((value) << SERCOM_USART_BAUD_FRAC_FP_Pos))
+#define SERCOM_USART_BAUD_FRAC_MASK         _U_(0xFFFF)                                    /**< \deprecated (SERCOM_USART_BAUD_FRAC) Register MASK  (Use SERCOM_USART_BAUD_FRAC_Msk instead)  */
+#define SERCOM_USART_BAUD_FRAC_Msk          _U_(0xFFFF)                                    /**< (SERCOM_USART_BAUD_FRAC) Register Mask  */
+
+/* FRACFP mode */
+#define SERCOM_USART_BAUD_FRACFP_BAUD_Pos   0                                              /**< (SERCOM_USART_BAUD) Baud Rate Value Position */
+#define SERCOM_USART_BAUD_FRACFP_BAUD_Msk   (_U_(0x1FFF) << SERCOM_USART_BAUD_FRACFP_BAUD_Pos)  /**< (SERCOM_USART_BAUD) Baud Rate Value Mask */
+#define SERCOM_USART_BAUD_FRACFP_BAUD(value) (SERCOM_USART_BAUD_FRACFP_BAUD_Msk & ((value) << SERCOM_USART_BAUD_FRACFP_BAUD_Pos))
+#define SERCOM_USART_BAUD_FRACFP_FP_Pos     13                                             /**< (SERCOM_USART_BAUD) Fractional Part Position */
+#define SERCOM_USART_BAUD_FRACFP_FP_Msk     (_U_(0x7) << SERCOM_USART_BAUD_FRACFP_FP_Pos)  /**< (SERCOM_USART_BAUD) Fractional Part Mask */
+#define SERCOM_USART_BAUD_FRACFP_FP(value)  (SERCOM_USART_BAUD_FRACFP_FP_Msk & ((value) << SERCOM_USART_BAUD_FRACFP_FP_Pos))
+#define SERCOM_USART_BAUD_FRACFP_MASK       _U_(0xFFFF)                                    /**< \deprecated (SERCOM_USART_BAUD_FRACFP) Register MASK  (Use SERCOM_USART_BAUD_FRACFP_Msk instead)  */
+#define SERCOM_USART_BAUD_FRACFP_Msk        _U_(0xFFFF)                                    /**< (SERCOM_USART_BAUD_FRACFP) Register Mask  */
+
+/* USARTFP mode */
+#define SERCOM_USART_BAUD_USARTFP_BAUD_Pos  0                                              /**< (SERCOM_USART_BAUD) Baud Rate Value Position */
+#define SERCOM_USART_BAUD_USARTFP_BAUD_Msk  (_U_(0xFFFF) << SERCOM_USART_BAUD_USARTFP_BAUD_Pos)  /**< (SERCOM_USART_BAUD) Baud Rate Value Mask */
+#define SERCOM_USART_BAUD_USARTFP_BAUD(value) (SERCOM_USART_BAUD_USARTFP_BAUD_Msk & ((value) << SERCOM_USART_BAUD_USARTFP_BAUD_Pos))
+#define SERCOM_USART_BAUD_USARTFP_MASK      _U_(0xFFFF)                                    /**< \deprecated (SERCOM_USART_BAUD_USARTFP) Register MASK  (Use SERCOM_USART_BAUD_USARTFP_Msk instead)  */
+#define SERCOM_USART_BAUD_USARTFP_Msk       _U_(0xFFFF)                                    /**< (SERCOM_USART_BAUD_USARTFP) Register Mask  */
+
+
+/* -------- SERCOM_USART_RXPL : (SERCOM Offset: 0x0e) (R/W 8) USART Receive Pulse Length -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RXPL:8;                    /**< bit:   0..7  Receive Pulse Length                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_RXPL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_RXPL_OFFSET            (0x0E)                                        /**<  (SERCOM_USART_RXPL) USART Receive Pulse Length  Offset */
+#define SERCOM_USART_RXPL_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_USART_RXPL) USART Receive Pulse Length  Reset Value */
+
+#define SERCOM_USART_RXPL_RXPL_Pos          0                                              /**< (SERCOM_USART_RXPL) Receive Pulse Length Position */
+#define SERCOM_USART_RXPL_RXPL_Msk          (_U_(0xFF) << SERCOM_USART_RXPL_RXPL_Pos)      /**< (SERCOM_USART_RXPL) Receive Pulse Length Mask */
+#define SERCOM_USART_RXPL_RXPL(value)       (SERCOM_USART_RXPL_RXPL_Msk & ((value) << SERCOM_USART_RXPL_RXPL_Pos))
+#define SERCOM_USART_RXPL_MASK              _U_(0xFF)                                      /**< \deprecated (SERCOM_USART_RXPL) Register MASK  (Use SERCOM_USART_RXPL_Msk instead)  */
+#define SERCOM_USART_RXPL_Msk               _U_(0xFF)                                      /**< (SERCOM_USART_RXPL) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) I2CM Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  MB:1;                      /**< bit:      0  Master On Bus Interrupt Disable          */
+    uint8_t  SB:1;                      /**< bit:      1  Slave On Bus Interrupt Disable           */
+    uint8_t  :5;                        /**< bit:   2..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Disable         */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CM_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_INTENCLR_OFFSET         (0x14)                                        /**<  (SERCOM_I2CM_INTENCLR) I2CM Interrupt Enable Clear  Offset */
+#define SERCOM_I2CM_INTENCLR_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CM_INTENCLR) I2CM Interrupt Enable Clear  Reset Value */
+
+#define SERCOM_I2CM_INTENCLR_MB_Pos         0                                              /**< (SERCOM_I2CM_INTENCLR) Master On Bus Interrupt Disable Position */
+#define SERCOM_I2CM_INTENCLR_MB_Msk         (_U_(0x1) << SERCOM_I2CM_INTENCLR_MB_Pos)      /**< (SERCOM_I2CM_INTENCLR) Master On Bus Interrupt Disable Mask */
+#define SERCOM_I2CM_INTENCLR_MB             SERCOM_I2CM_INTENCLR_MB_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENCLR_MB_Msk instead */
+#define SERCOM_I2CM_INTENCLR_SB_Pos         1                                              /**< (SERCOM_I2CM_INTENCLR) Slave On Bus Interrupt Disable Position */
+#define SERCOM_I2CM_INTENCLR_SB_Msk         (_U_(0x1) << SERCOM_I2CM_INTENCLR_SB_Pos)      /**< (SERCOM_I2CM_INTENCLR) Slave On Bus Interrupt Disable Mask */
+#define SERCOM_I2CM_INTENCLR_SB             SERCOM_I2CM_INTENCLR_SB_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENCLR_SB_Msk instead */
+#define SERCOM_I2CM_INTENCLR_ERROR_Pos      7                                              /**< (SERCOM_I2CM_INTENCLR) Combined Error Interrupt Disable Position */
+#define SERCOM_I2CM_INTENCLR_ERROR_Msk      (_U_(0x1) << SERCOM_I2CM_INTENCLR_ERROR_Pos)   /**< (SERCOM_I2CM_INTENCLR) Combined Error Interrupt Disable Mask */
+#define SERCOM_I2CM_INTENCLR_ERROR          SERCOM_I2CM_INTENCLR_ERROR_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENCLR_ERROR_Msk instead */
+#define SERCOM_I2CM_INTENCLR_MASK           _U_(0x83)                                      /**< \deprecated (SERCOM_I2CM_INTENCLR) Register MASK  (Use SERCOM_I2CM_INTENCLR_Msk instead)  */
+#define SERCOM_I2CM_INTENCLR_Msk            _U_(0x83)                                      /**< (SERCOM_I2CM_INTENCLR) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) I2CS Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PREC:1;                    /**< bit:      0  Stop Received Interrupt Disable          */
+    uint8_t  AMATCH:1;                  /**< bit:      1  Address Match Interrupt Disable          */
+    uint8_t  DRDY:1;                    /**< bit:      2  Data Interrupt Disable                   */
+    uint8_t  :4;                        /**< bit:   3..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Disable         */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CS_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_INTENCLR_OFFSET         (0x14)                                        /**<  (SERCOM_I2CS_INTENCLR) I2CS Interrupt Enable Clear  Offset */
+#define SERCOM_I2CS_INTENCLR_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CS_INTENCLR) I2CS Interrupt Enable Clear  Reset Value */
+
+#define SERCOM_I2CS_INTENCLR_PREC_Pos       0                                              /**< (SERCOM_I2CS_INTENCLR) Stop Received Interrupt Disable Position */
+#define SERCOM_I2CS_INTENCLR_PREC_Msk       (_U_(0x1) << SERCOM_I2CS_INTENCLR_PREC_Pos)    /**< (SERCOM_I2CS_INTENCLR) Stop Received Interrupt Disable Mask */
+#define SERCOM_I2CS_INTENCLR_PREC           SERCOM_I2CS_INTENCLR_PREC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENCLR_PREC_Msk instead */
+#define SERCOM_I2CS_INTENCLR_AMATCH_Pos     1                                              /**< (SERCOM_I2CS_INTENCLR) Address Match Interrupt Disable Position */
+#define SERCOM_I2CS_INTENCLR_AMATCH_Msk     (_U_(0x1) << SERCOM_I2CS_INTENCLR_AMATCH_Pos)  /**< (SERCOM_I2CS_INTENCLR) Address Match Interrupt Disable Mask */
+#define SERCOM_I2CS_INTENCLR_AMATCH         SERCOM_I2CS_INTENCLR_AMATCH_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENCLR_AMATCH_Msk instead */
+#define SERCOM_I2CS_INTENCLR_DRDY_Pos       2                                              /**< (SERCOM_I2CS_INTENCLR) Data Interrupt Disable Position */
+#define SERCOM_I2CS_INTENCLR_DRDY_Msk       (_U_(0x1) << SERCOM_I2CS_INTENCLR_DRDY_Pos)    /**< (SERCOM_I2CS_INTENCLR) Data Interrupt Disable Mask */
+#define SERCOM_I2CS_INTENCLR_DRDY           SERCOM_I2CS_INTENCLR_DRDY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENCLR_DRDY_Msk instead */
+#define SERCOM_I2CS_INTENCLR_ERROR_Pos      7                                              /**< (SERCOM_I2CS_INTENCLR) Combined Error Interrupt Disable Position */
+#define SERCOM_I2CS_INTENCLR_ERROR_Msk      (_U_(0x1) << SERCOM_I2CS_INTENCLR_ERROR_Pos)   /**< (SERCOM_I2CS_INTENCLR) Combined Error Interrupt Disable Mask */
+#define SERCOM_I2CS_INTENCLR_ERROR          SERCOM_I2CS_INTENCLR_ERROR_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENCLR_ERROR_Msk instead */
+#define SERCOM_I2CS_INTENCLR_MASK           _U_(0x87)                                      /**< \deprecated (SERCOM_I2CS_INTENCLR) Register MASK  (Use SERCOM_I2CS_INTENCLR_Msk instead)  */
+#define SERCOM_I2CS_INTENCLR_Msk            _U_(0x87)                                      /**< (SERCOM_I2CS_INTENCLR) Register Mask  */
+
+
+/* -------- SERCOM_SPI_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) SPI Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DRE:1;                     /**< bit:      0  Data Register Empty Interrupt Disable    */
+    uint8_t  TXC:1;                     /**< bit:      1  Transmit Complete Interrupt Disable      */
+    uint8_t  RXC:1;                     /**< bit:      2  Receive Complete Interrupt Disable       */
+    uint8_t  SSL:1;                     /**< bit:      3  Slave Select Low Interrupt Disable       */
+    uint8_t  :3;                        /**< bit:   4..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Disable         */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_SPI_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_INTENCLR_OFFSET          (0x14)                                        /**<  (SERCOM_SPI_INTENCLR) SPI Interrupt Enable Clear  Offset */
+#define SERCOM_SPI_INTENCLR_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_SPI_INTENCLR) SPI Interrupt Enable Clear  Reset Value */
+
+#define SERCOM_SPI_INTENCLR_DRE_Pos         0                                              /**< (SERCOM_SPI_INTENCLR) Data Register Empty Interrupt Disable Position */
+#define SERCOM_SPI_INTENCLR_DRE_Msk         (_U_(0x1) << SERCOM_SPI_INTENCLR_DRE_Pos)      /**< (SERCOM_SPI_INTENCLR) Data Register Empty Interrupt Disable Mask */
+#define SERCOM_SPI_INTENCLR_DRE             SERCOM_SPI_INTENCLR_DRE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENCLR_DRE_Msk instead */
+#define SERCOM_SPI_INTENCLR_TXC_Pos         1                                              /**< (SERCOM_SPI_INTENCLR) Transmit Complete Interrupt Disable Position */
+#define SERCOM_SPI_INTENCLR_TXC_Msk         (_U_(0x1) << SERCOM_SPI_INTENCLR_TXC_Pos)      /**< (SERCOM_SPI_INTENCLR) Transmit Complete Interrupt Disable Mask */
+#define SERCOM_SPI_INTENCLR_TXC             SERCOM_SPI_INTENCLR_TXC_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENCLR_TXC_Msk instead */
+#define SERCOM_SPI_INTENCLR_RXC_Pos         2                                              /**< (SERCOM_SPI_INTENCLR) Receive Complete Interrupt Disable Position */
+#define SERCOM_SPI_INTENCLR_RXC_Msk         (_U_(0x1) << SERCOM_SPI_INTENCLR_RXC_Pos)      /**< (SERCOM_SPI_INTENCLR) Receive Complete Interrupt Disable Mask */
+#define SERCOM_SPI_INTENCLR_RXC             SERCOM_SPI_INTENCLR_RXC_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENCLR_RXC_Msk instead */
+#define SERCOM_SPI_INTENCLR_SSL_Pos         3                                              /**< (SERCOM_SPI_INTENCLR) Slave Select Low Interrupt Disable Position */
+#define SERCOM_SPI_INTENCLR_SSL_Msk         (_U_(0x1) << SERCOM_SPI_INTENCLR_SSL_Pos)      /**< (SERCOM_SPI_INTENCLR) Slave Select Low Interrupt Disable Mask */
+#define SERCOM_SPI_INTENCLR_SSL             SERCOM_SPI_INTENCLR_SSL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENCLR_SSL_Msk instead */
+#define SERCOM_SPI_INTENCLR_ERROR_Pos       7                                              /**< (SERCOM_SPI_INTENCLR) Combined Error Interrupt Disable Position */
+#define SERCOM_SPI_INTENCLR_ERROR_Msk       (_U_(0x1) << SERCOM_SPI_INTENCLR_ERROR_Pos)    /**< (SERCOM_SPI_INTENCLR) Combined Error Interrupt Disable Mask */
+#define SERCOM_SPI_INTENCLR_ERROR           SERCOM_SPI_INTENCLR_ERROR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENCLR_ERROR_Msk instead */
+#define SERCOM_SPI_INTENCLR_MASK            _U_(0x8F)                                      /**< \deprecated (SERCOM_SPI_INTENCLR) Register MASK  (Use SERCOM_SPI_INTENCLR_Msk instead)  */
+#define SERCOM_SPI_INTENCLR_Msk             _U_(0x8F)                                      /**< (SERCOM_SPI_INTENCLR) Register Mask  */
+
+
+/* -------- SERCOM_USART_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) USART Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DRE:1;                     /**< bit:      0  Data Register Empty Interrupt Disable    */
+    uint8_t  TXC:1;                     /**< bit:      1  Transmit Complete Interrupt Disable      */
+    uint8_t  RXC:1;                     /**< bit:      2  Receive Complete Interrupt Disable       */
+    uint8_t  RXS:1;                     /**< bit:      3  Receive Start Interrupt Disable          */
+    uint8_t  CTSIC:1;                   /**< bit:      4  Clear To Send Input Change Interrupt Disable */
+    uint8_t  RXBRK:1;                   /**< bit:      5  Break Received Interrupt Disable         */
+    uint8_t  :1;                        /**< bit:      6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Disable         */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_INTENCLR_OFFSET        (0x14)                                        /**<  (SERCOM_USART_INTENCLR) USART Interrupt Enable Clear  Offset */
+#define SERCOM_USART_INTENCLR_RESETVALUE    _U_(0x00)                                     /**<  (SERCOM_USART_INTENCLR) USART Interrupt Enable Clear  Reset Value */
+
+#define SERCOM_USART_INTENCLR_DRE_Pos       0                                              /**< (SERCOM_USART_INTENCLR) Data Register Empty Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_DRE_Msk       (_U_(0x1) << SERCOM_USART_INTENCLR_DRE_Pos)    /**< (SERCOM_USART_INTENCLR) Data Register Empty Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_DRE           SERCOM_USART_INTENCLR_DRE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_DRE_Msk instead */
+#define SERCOM_USART_INTENCLR_TXC_Pos       1                                              /**< (SERCOM_USART_INTENCLR) Transmit Complete Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_TXC_Msk       (_U_(0x1) << SERCOM_USART_INTENCLR_TXC_Pos)    /**< (SERCOM_USART_INTENCLR) Transmit Complete Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_TXC           SERCOM_USART_INTENCLR_TXC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_TXC_Msk instead */
+#define SERCOM_USART_INTENCLR_RXC_Pos       2                                              /**< (SERCOM_USART_INTENCLR) Receive Complete Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_RXC_Msk       (_U_(0x1) << SERCOM_USART_INTENCLR_RXC_Pos)    /**< (SERCOM_USART_INTENCLR) Receive Complete Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_RXC           SERCOM_USART_INTENCLR_RXC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_RXC_Msk instead */
+#define SERCOM_USART_INTENCLR_RXS_Pos       3                                              /**< (SERCOM_USART_INTENCLR) Receive Start Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_RXS_Msk       (_U_(0x1) << SERCOM_USART_INTENCLR_RXS_Pos)    /**< (SERCOM_USART_INTENCLR) Receive Start Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_RXS           SERCOM_USART_INTENCLR_RXS_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_RXS_Msk instead */
+#define SERCOM_USART_INTENCLR_CTSIC_Pos     4                                              /**< (SERCOM_USART_INTENCLR) Clear To Send Input Change Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_CTSIC_Msk     (_U_(0x1) << SERCOM_USART_INTENCLR_CTSIC_Pos)  /**< (SERCOM_USART_INTENCLR) Clear To Send Input Change Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_CTSIC         SERCOM_USART_INTENCLR_CTSIC_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_CTSIC_Msk instead */
+#define SERCOM_USART_INTENCLR_RXBRK_Pos     5                                              /**< (SERCOM_USART_INTENCLR) Break Received Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_RXBRK_Msk     (_U_(0x1) << SERCOM_USART_INTENCLR_RXBRK_Pos)  /**< (SERCOM_USART_INTENCLR) Break Received Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_RXBRK         SERCOM_USART_INTENCLR_RXBRK_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_RXBRK_Msk instead */
+#define SERCOM_USART_INTENCLR_ERROR_Pos     7                                              /**< (SERCOM_USART_INTENCLR) Combined Error Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_ERROR_Msk     (_U_(0x1) << SERCOM_USART_INTENCLR_ERROR_Pos)  /**< (SERCOM_USART_INTENCLR) Combined Error Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_ERROR         SERCOM_USART_INTENCLR_ERROR_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_ERROR_Msk instead */
+#define SERCOM_USART_INTENCLR_MASK          _U_(0xBF)                                      /**< \deprecated (SERCOM_USART_INTENCLR) Register MASK  (Use SERCOM_USART_INTENCLR_Msk instead)  */
+#define SERCOM_USART_INTENCLR_Msk           _U_(0xBF)                                      /**< (SERCOM_USART_INTENCLR) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_INTENSET : (SERCOM Offset: 0x16) (R/W 8) I2CM Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  MB:1;                      /**< bit:      0  Master On Bus Interrupt Enable           */
+    uint8_t  SB:1;                      /**< bit:      1  Slave On Bus Interrupt Enable            */
+    uint8_t  :5;                        /**< bit:   2..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Enable          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CM_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_INTENSET_OFFSET         (0x16)                                        /**<  (SERCOM_I2CM_INTENSET) I2CM Interrupt Enable Set  Offset */
+#define SERCOM_I2CM_INTENSET_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CM_INTENSET) I2CM Interrupt Enable Set  Reset Value */
+
+#define SERCOM_I2CM_INTENSET_MB_Pos         0                                              /**< (SERCOM_I2CM_INTENSET) Master On Bus Interrupt Enable Position */
+#define SERCOM_I2CM_INTENSET_MB_Msk         (_U_(0x1) << SERCOM_I2CM_INTENSET_MB_Pos)      /**< (SERCOM_I2CM_INTENSET) Master On Bus Interrupt Enable Mask */
+#define SERCOM_I2CM_INTENSET_MB             SERCOM_I2CM_INTENSET_MB_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENSET_MB_Msk instead */
+#define SERCOM_I2CM_INTENSET_SB_Pos         1                                              /**< (SERCOM_I2CM_INTENSET) Slave On Bus Interrupt Enable Position */
+#define SERCOM_I2CM_INTENSET_SB_Msk         (_U_(0x1) << SERCOM_I2CM_INTENSET_SB_Pos)      /**< (SERCOM_I2CM_INTENSET) Slave On Bus Interrupt Enable Mask */
+#define SERCOM_I2CM_INTENSET_SB             SERCOM_I2CM_INTENSET_SB_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENSET_SB_Msk instead */
+#define SERCOM_I2CM_INTENSET_ERROR_Pos      7                                              /**< (SERCOM_I2CM_INTENSET) Combined Error Interrupt Enable Position */
+#define SERCOM_I2CM_INTENSET_ERROR_Msk      (_U_(0x1) << SERCOM_I2CM_INTENSET_ERROR_Pos)   /**< (SERCOM_I2CM_INTENSET) Combined Error Interrupt Enable Mask */
+#define SERCOM_I2CM_INTENSET_ERROR          SERCOM_I2CM_INTENSET_ERROR_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENSET_ERROR_Msk instead */
+#define SERCOM_I2CM_INTENSET_MASK           _U_(0x83)                                      /**< \deprecated (SERCOM_I2CM_INTENSET) Register MASK  (Use SERCOM_I2CM_INTENSET_Msk instead)  */
+#define SERCOM_I2CM_INTENSET_Msk            _U_(0x83)                                      /**< (SERCOM_I2CM_INTENSET) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_INTENSET : (SERCOM Offset: 0x16) (R/W 8) I2CS Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PREC:1;                    /**< bit:      0  Stop Received Interrupt Enable           */
+    uint8_t  AMATCH:1;                  /**< bit:      1  Address Match Interrupt Enable           */
+    uint8_t  DRDY:1;                    /**< bit:      2  Data Interrupt Enable                    */
+    uint8_t  :4;                        /**< bit:   3..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Enable          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CS_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_INTENSET_OFFSET         (0x16)                                        /**<  (SERCOM_I2CS_INTENSET) I2CS Interrupt Enable Set  Offset */
+#define SERCOM_I2CS_INTENSET_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CS_INTENSET) I2CS Interrupt Enable Set  Reset Value */
+
+#define SERCOM_I2CS_INTENSET_PREC_Pos       0                                              /**< (SERCOM_I2CS_INTENSET) Stop Received Interrupt Enable Position */
+#define SERCOM_I2CS_INTENSET_PREC_Msk       (_U_(0x1) << SERCOM_I2CS_INTENSET_PREC_Pos)    /**< (SERCOM_I2CS_INTENSET) Stop Received Interrupt Enable Mask */
+#define SERCOM_I2CS_INTENSET_PREC           SERCOM_I2CS_INTENSET_PREC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENSET_PREC_Msk instead */
+#define SERCOM_I2CS_INTENSET_AMATCH_Pos     1                                              /**< (SERCOM_I2CS_INTENSET) Address Match Interrupt Enable Position */
+#define SERCOM_I2CS_INTENSET_AMATCH_Msk     (_U_(0x1) << SERCOM_I2CS_INTENSET_AMATCH_Pos)  /**< (SERCOM_I2CS_INTENSET) Address Match Interrupt Enable Mask */
+#define SERCOM_I2CS_INTENSET_AMATCH         SERCOM_I2CS_INTENSET_AMATCH_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENSET_AMATCH_Msk instead */
+#define SERCOM_I2CS_INTENSET_DRDY_Pos       2                                              /**< (SERCOM_I2CS_INTENSET) Data Interrupt Enable Position */
+#define SERCOM_I2CS_INTENSET_DRDY_Msk       (_U_(0x1) << SERCOM_I2CS_INTENSET_DRDY_Pos)    /**< (SERCOM_I2CS_INTENSET) Data Interrupt Enable Mask */
+#define SERCOM_I2CS_INTENSET_DRDY           SERCOM_I2CS_INTENSET_DRDY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENSET_DRDY_Msk instead */
+#define SERCOM_I2CS_INTENSET_ERROR_Pos      7                                              /**< (SERCOM_I2CS_INTENSET) Combined Error Interrupt Enable Position */
+#define SERCOM_I2CS_INTENSET_ERROR_Msk      (_U_(0x1) << SERCOM_I2CS_INTENSET_ERROR_Pos)   /**< (SERCOM_I2CS_INTENSET) Combined Error Interrupt Enable Mask */
+#define SERCOM_I2CS_INTENSET_ERROR          SERCOM_I2CS_INTENSET_ERROR_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENSET_ERROR_Msk instead */
+#define SERCOM_I2CS_INTENSET_MASK           _U_(0x87)                                      /**< \deprecated (SERCOM_I2CS_INTENSET) Register MASK  (Use SERCOM_I2CS_INTENSET_Msk instead)  */
+#define SERCOM_I2CS_INTENSET_Msk            _U_(0x87)                                      /**< (SERCOM_I2CS_INTENSET) Register Mask  */
+
+
+/* -------- SERCOM_SPI_INTENSET : (SERCOM Offset: 0x16) (R/W 8) SPI Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DRE:1;                     /**< bit:      0  Data Register Empty Interrupt Enable     */
+    uint8_t  TXC:1;                     /**< bit:      1  Transmit Complete Interrupt Enable       */
+    uint8_t  RXC:1;                     /**< bit:      2  Receive Complete Interrupt Enable        */
+    uint8_t  SSL:1;                     /**< bit:      3  Slave Select Low Interrupt Enable        */
+    uint8_t  :3;                        /**< bit:   4..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Enable          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_SPI_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_INTENSET_OFFSET          (0x16)                                        /**<  (SERCOM_SPI_INTENSET) SPI Interrupt Enable Set  Offset */
+#define SERCOM_SPI_INTENSET_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_SPI_INTENSET) SPI Interrupt Enable Set  Reset Value */
+
+#define SERCOM_SPI_INTENSET_DRE_Pos         0                                              /**< (SERCOM_SPI_INTENSET) Data Register Empty Interrupt Enable Position */
+#define SERCOM_SPI_INTENSET_DRE_Msk         (_U_(0x1) << SERCOM_SPI_INTENSET_DRE_Pos)      /**< (SERCOM_SPI_INTENSET) Data Register Empty Interrupt Enable Mask */
+#define SERCOM_SPI_INTENSET_DRE             SERCOM_SPI_INTENSET_DRE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENSET_DRE_Msk instead */
+#define SERCOM_SPI_INTENSET_TXC_Pos         1                                              /**< (SERCOM_SPI_INTENSET) Transmit Complete Interrupt Enable Position */
+#define SERCOM_SPI_INTENSET_TXC_Msk         (_U_(0x1) << SERCOM_SPI_INTENSET_TXC_Pos)      /**< (SERCOM_SPI_INTENSET) Transmit Complete Interrupt Enable Mask */
+#define SERCOM_SPI_INTENSET_TXC             SERCOM_SPI_INTENSET_TXC_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENSET_TXC_Msk instead */
+#define SERCOM_SPI_INTENSET_RXC_Pos         2                                              /**< (SERCOM_SPI_INTENSET) Receive Complete Interrupt Enable Position */
+#define SERCOM_SPI_INTENSET_RXC_Msk         (_U_(0x1) << SERCOM_SPI_INTENSET_RXC_Pos)      /**< (SERCOM_SPI_INTENSET) Receive Complete Interrupt Enable Mask */
+#define SERCOM_SPI_INTENSET_RXC             SERCOM_SPI_INTENSET_RXC_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENSET_RXC_Msk instead */
+#define SERCOM_SPI_INTENSET_SSL_Pos         3                                              /**< (SERCOM_SPI_INTENSET) Slave Select Low Interrupt Enable Position */
+#define SERCOM_SPI_INTENSET_SSL_Msk         (_U_(0x1) << SERCOM_SPI_INTENSET_SSL_Pos)      /**< (SERCOM_SPI_INTENSET) Slave Select Low Interrupt Enable Mask */
+#define SERCOM_SPI_INTENSET_SSL             SERCOM_SPI_INTENSET_SSL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENSET_SSL_Msk instead */
+#define SERCOM_SPI_INTENSET_ERROR_Pos       7                                              /**< (SERCOM_SPI_INTENSET) Combined Error Interrupt Enable Position */
+#define SERCOM_SPI_INTENSET_ERROR_Msk       (_U_(0x1) << SERCOM_SPI_INTENSET_ERROR_Pos)    /**< (SERCOM_SPI_INTENSET) Combined Error Interrupt Enable Mask */
+#define SERCOM_SPI_INTENSET_ERROR           SERCOM_SPI_INTENSET_ERROR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENSET_ERROR_Msk instead */
+#define SERCOM_SPI_INTENSET_MASK            _U_(0x8F)                                      /**< \deprecated (SERCOM_SPI_INTENSET) Register MASK  (Use SERCOM_SPI_INTENSET_Msk instead)  */
+#define SERCOM_SPI_INTENSET_Msk             _U_(0x8F)                                      /**< (SERCOM_SPI_INTENSET) Register Mask  */
+
+
+/* -------- SERCOM_USART_INTENSET : (SERCOM Offset: 0x16) (R/W 8) USART Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DRE:1;                     /**< bit:      0  Data Register Empty Interrupt Enable     */
+    uint8_t  TXC:1;                     /**< bit:      1  Transmit Complete Interrupt Enable       */
+    uint8_t  RXC:1;                     /**< bit:      2  Receive Complete Interrupt Enable        */
+    uint8_t  RXS:1;                     /**< bit:      3  Receive Start Interrupt Enable           */
+    uint8_t  CTSIC:1;                   /**< bit:      4  Clear To Send Input Change Interrupt Enable */
+    uint8_t  RXBRK:1;                   /**< bit:      5  Break Received Interrupt Enable          */
+    uint8_t  :1;                        /**< bit:      6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Enable          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_INTENSET_OFFSET        (0x16)                                        /**<  (SERCOM_USART_INTENSET) USART Interrupt Enable Set  Offset */
+#define SERCOM_USART_INTENSET_RESETVALUE    _U_(0x00)                                     /**<  (SERCOM_USART_INTENSET) USART Interrupt Enable Set  Reset Value */
+
+#define SERCOM_USART_INTENSET_DRE_Pos       0                                              /**< (SERCOM_USART_INTENSET) Data Register Empty Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_DRE_Msk       (_U_(0x1) << SERCOM_USART_INTENSET_DRE_Pos)    /**< (SERCOM_USART_INTENSET) Data Register Empty Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_DRE           SERCOM_USART_INTENSET_DRE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_DRE_Msk instead */
+#define SERCOM_USART_INTENSET_TXC_Pos       1                                              /**< (SERCOM_USART_INTENSET) Transmit Complete Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_TXC_Msk       (_U_(0x1) << SERCOM_USART_INTENSET_TXC_Pos)    /**< (SERCOM_USART_INTENSET) Transmit Complete Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_TXC           SERCOM_USART_INTENSET_TXC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_TXC_Msk instead */
+#define SERCOM_USART_INTENSET_RXC_Pos       2                                              /**< (SERCOM_USART_INTENSET) Receive Complete Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_RXC_Msk       (_U_(0x1) << SERCOM_USART_INTENSET_RXC_Pos)    /**< (SERCOM_USART_INTENSET) Receive Complete Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_RXC           SERCOM_USART_INTENSET_RXC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_RXC_Msk instead */
+#define SERCOM_USART_INTENSET_RXS_Pos       3                                              /**< (SERCOM_USART_INTENSET) Receive Start Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_RXS_Msk       (_U_(0x1) << SERCOM_USART_INTENSET_RXS_Pos)    /**< (SERCOM_USART_INTENSET) Receive Start Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_RXS           SERCOM_USART_INTENSET_RXS_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_RXS_Msk instead */
+#define SERCOM_USART_INTENSET_CTSIC_Pos     4                                              /**< (SERCOM_USART_INTENSET) Clear To Send Input Change Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_CTSIC_Msk     (_U_(0x1) << SERCOM_USART_INTENSET_CTSIC_Pos)  /**< (SERCOM_USART_INTENSET) Clear To Send Input Change Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_CTSIC         SERCOM_USART_INTENSET_CTSIC_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_CTSIC_Msk instead */
+#define SERCOM_USART_INTENSET_RXBRK_Pos     5                                              /**< (SERCOM_USART_INTENSET) Break Received Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_RXBRK_Msk     (_U_(0x1) << SERCOM_USART_INTENSET_RXBRK_Pos)  /**< (SERCOM_USART_INTENSET) Break Received Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_RXBRK         SERCOM_USART_INTENSET_RXBRK_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_RXBRK_Msk instead */
+#define SERCOM_USART_INTENSET_ERROR_Pos     7                                              /**< (SERCOM_USART_INTENSET) Combined Error Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_ERROR_Msk     (_U_(0x1) << SERCOM_USART_INTENSET_ERROR_Pos)  /**< (SERCOM_USART_INTENSET) Combined Error Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_ERROR         SERCOM_USART_INTENSET_ERROR_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_ERROR_Msk instead */
+#define SERCOM_USART_INTENSET_MASK          _U_(0xBF)                                      /**< \deprecated (SERCOM_USART_INTENSET) Register MASK  (Use SERCOM_USART_INTENSET_Msk instead)  */
+#define SERCOM_USART_INTENSET_Msk           _U_(0xBF)                                      /**< (SERCOM_USART_INTENSET) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) I2CM Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t MB:1;                      /**< bit:      0  Master On Bus Interrupt                  */
+    __I uint8_t SB:1;                      /**< bit:      1  Slave On Bus Interrupt                   */
+    __I uint8_t :5;                        /**< bit:   2..6  Reserved */
+    __I uint8_t ERROR:1;                   /**< bit:      7  Combined Error Interrupt                 */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CM_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_INTFLAG_OFFSET          (0x18)                                        /**<  (SERCOM_I2CM_INTFLAG) I2CM Interrupt Flag Status and Clear  Offset */
+#define SERCOM_I2CM_INTFLAG_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_I2CM_INTFLAG) I2CM Interrupt Flag Status and Clear  Reset Value */
+
+#define SERCOM_I2CM_INTFLAG_MB_Pos          0                                              /**< (SERCOM_I2CM_INTFLAG) Master On Bus Interrupt Position */
+#define SERCOM_I2CM_INTFLAG_MB_Msk          (_U_(0x1) << SERCOM_I2CM_INTFLAG_MB_Pos)       /**< (SERCOM_I2CM_INTFLAG) Master On Bus Interrupt Mask */
+#define SERCOM_I2CM_INTFLAG_MB              SERCOM_I2CM_INTFLAG_MB_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTFLAG_MB_Msk instead */
+#define SERCOM_I2CM_INTFLAG_SB_Pos          1                                              /**< (SERCOM_I2CM_INTFLAG) Slave On Bus Interrupt Position */
+#define SERCOM_I2CM_INTFLAG_SB_Msk          (_U_(0x1) << SERCOM_I2CM_INTFLAG_SB_Pos)       /**< (SERCOM_I2CM_INTFLAG) Slave On Bus Interrupt Mask */
+#define SERCOM_I2CM_INTFLAG_SB              SERCOM_I2CM_INTFLAG_SB_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTFLAG_SB_Msk instead */
+#define SERCOM_I2CM_INTFLAG_ERROR_Pos       7                                              /**< (SERCOM_I2CM_INTFLAG) Combined Error Interrupt Position */
+#define SERCOM_I2CM_INTFLAG_ERROR_Msk       (_U_(0x1) << SERCOM_I2CM_INTFLAG_ERROR_Pos)    /**< (SERCOM_I2CM_INTFLAG) Combined Error Interrupt Mask */
+#define SERCOM_I2CM_INTFLAG_ERROR           SERCOM_I2CM_INTFLAG_ERROR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTFLAG_ERROR_Msk instead */
+#define SERCOM_I2CM_INTFLAG_MASK            _U_(0x83)                                      /**< \deprecated (SERCOM_I2CM_INTFLAG) Register MASK  (Use SERCOM_I2CM_INTFLAG_Msk instead)  */
+#define SERCOM_I2CM_INTFLAG_Msk             _U_(0x83)                                      /**< (SERCOM_I2CM_INTFLAG) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) I2CS Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t PREC:1;                    /**< bit:      0  Stop Received Interrupt                  */
+    __I uint8_t AMATCH:1;                  /**< bit:      1  Address Match Interrupt                  */
+    __I uint8_t DRDY:1;                    /**< bit:      2  Data Interrupt                           */
+    __I uint8_t :4;                        /**< bit:   3..6  Reserved */
+    __I uint8_t ERROR:1;                   /**< bit:      7  Combined Error Interrupt                 */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CS_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_INTFLAG_OFFSET          (0x18)                                        /**<  (SERCOM_I2CS_INTFLAG) I2CS Interrupt Flag Status and Clear  Offset */
+#define SERCOM_I2CS_INTFLAG_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_I2CS_INTFLAG) I2CS Interrupt Flag Status and Clear  Reset Value */
+
+#define SERCOM_I2CS_INTFLAG_PREC_Pos        0                                              /**< (SERCOM_I2CS_INTFLAG) Stop Received Interrupt Position */
+#define SERCOM_I2CS_INTFLAG_PREC_Msk        (_U_(0x1) << SERCOM_I2CS_INTFLAG_PREC_Pos)     /**< (SERCOM_I2CS_INTFLAG) Stop Received Interrupt Mask */
+#define SERCOM_I2CS_INTFLAG_PREC            SERCOM_I2CS_INTFLAG_PREC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTFLAG_PREC_Msk instead */
+#define SERCOM_I2CS_INTFLAG_AMATCH_Pos      1                                              /**< (SERCOM_I2CS_INTFLAG) Address Match Interrupt Position */
+#define SERCOM_I2CS_INTFLAG_AMATCH_Msk      (_U_(0x1) << SERCOM_I2CS_INTFLAG_AMATCH_Pos)   /**< (SERCOM_I2CS_INTFLAG) Address Match Interrupt Mask */
+#define SERCOM_I2CS_INTFLAG_AMATCH          SERCOM_I2CS_INTFLAG_AMATCH_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTFLAG_AMATCH_Msk instead */
+#define SERCOM_I2CS_INTFLAG_DRDY_Pos        2                                              /**< (SERCOM_I2CS_INTFLAG) Data Interrupt Position */
+#define SERCOM_I2CS_INTFLAG_DRDY_Msk        (_U_(0x1) << SERCOM_I2CS_INTFLAG_DRDY_Pos)     /**< (SERCOM_I2CS_INTFLAG) Data Interrupt Mask */
+#define SERCOM_I2CS_INTFLAG_DRDY            SERCOM_I2CS_INTFLAG_DRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTFLAG_DRDY_Msk instead */
+#define SERCOM_I2CS_INTFLAG_ERROR_Pos       7                                              /**< (SERCOM_I2CS_INTFLAG) Combined Error Interrupt Position */
+#define SERCOM_I2CS_INTFLAG_ERROR_Msk       (_U_(0x1) << SERCOM_I2CS_INTFLAG_ERROR_Pos)    /**< (SERCOM_I2CS_INTFLAG) Combined Error Interrupt Mask */
+#define SERCOM_I2CS_INTFLAG_ERROR           SERCOM_I2CS_INTFLAG_ERROR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTFLAG_ERROR_Msk instead */
+#define SERCOM_I2CS_INTFLAG_MASK            _U_(0x87)                                      /**< \deprecated (SERCOM_I2CS_INTFLAG) Register MASK  (Use SERCOM_I2CS_INTFLAG_Msk instead)  */
+#define SERCOM_I2CS_INTFLAG_Msk             _U_(0x87)                                      /**< (SERCOM_I2CS_INTFLAG) Register Mask  */
+
+
+/* -------- SERCOM_SPI_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) SPI Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t DRE:1;                     /**< bit:      0  Data Register Empty Interrupt            */
+    __I uint8_t TXC:1;                     /**< bit:      1  Transmit Complete Interrupt              */
+    __I uint8_t RXC:1;                     /**< bit:      2  Receive Complete Interrupt               */
+    __I uint8_t SSL:1;                     /**< bit:      3  Slave Select Low Interrupt Flag          */
+    __I uint8_t :3;                        /**< bit:   4..6  Reserved */
+    __I uint8_t ERROR:1;                   /**< bit:      7  Combined Error Interrupt                 */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_SPI_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_INTFLAG_OFFSET           (0x18)                                        /**<  (SERCOM_SPI_INTFLAG) SPI Interrupt Flag Status and Clear  Offset */
+#define SERCOM_SPI_INTFLAG_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_SPI_INTFLAG) SPI Interrupt Flag Status and Clear  Reset Value */
+
+#define SERCOM_SPI_INTFLAG_DRE_Pos          0                                              /**< (SERCOM_SPI_INTFLAG) Data Register Empty Interrupt Position */
+#define SERCOM_SPI_INTFLAG_DRE_Msk          (_U_(0x1) << SERCOM_SPI_INTFLAG_DRE_Pos)       /**< (SERCOM_SPI_INTFLAG) Data Register Empty Interrupt Mask */
+#define SERCOM_SPI_INTFLAG_DRE              SERCOM_SPI_INTFLAG_DRE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTFLAG_DRE_Msk instead */
+#define SERCOM_SPI_INTFLAG_TXC_Pos          1                                              /**< (SERCOM_SPI_INTFLAG) Transmit Complete Interrupt Position */
+#define SERCOM_SPI_INTFLAG_TXC_Msk          (_U_(0x1) << SERCOM_SPI_INTFLAG_TXC_Pos)       /**< (SERCOM_SPI_INTFLAG) Transmit Complete Interrupt Mask */
+#define SERCOM_SPI_INTFLAG_TXC              SERCOM_SPI_INTFLAG_TXC_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTFLAG_TXC_Msk instead */
+#define SERCOM_SPI_INTFLAG_RXC_Pos          2                                              /**< (SERCOM_SPI_INTFLAG) Receive Complete Interrupt Position */
+#define SERCOM_SPI_INTFLAG_RXC_Msk          (_U_(0x1) << SERCOM_SPI_INTFLAG_RXC_Pos)       /**< (SERCOM_SPI_INTFLAG) Receive Complete Interrupt Mask */
+#define SERCOM_SPI_INTFLAG_RXC              SERCOM_SPI_INTFLAG_RXC_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTFLAG_RXC_Msk instead */
+#define SERCOM_SPI_INTFLAG_SSL_Pos          3                                              /**< (SERCOM_SPI_INTFLAG) Slave Select Low Interrupt Flag Position */
+#define SERCOM_SPI_INTFLAG_SSL_Msk          (_U_(0x1) << SERCOM_SPI_INTFLAG_SSL_Pos)       /**< (SERCOM_SPI_INTFLAG) Slave Select Low Interrupt Flag Mask */
+#define SERCOM_SPI_INTFLAG_SSL              SERCOM_SPI_INTFLAG_SSL_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTFLAG_SSL_Msk instead */
+#define SERCOM_SPI_INTFLAG_ERROR_Pos        7                                              /**< (SERCOM_SPI_INTFLAG) Combined Error Interrupt Position */
+#define SERCOM_SPI_INTFLAG_ERROR_Msk        (_U_(0x1) << SERCOM_SPI_INTFLAG_ERROR_Pos)     /**< (SERCOM_SPI_INTFLAG) Combined Error Interrupt Mask */
+#define SERCOM_SPI_INTFLAG_ERROR            SERCOM_SPI_INTFLAG_ERROR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTFLAG_ERROR_Msk instead */
+#define SERCOM_SPI_INTFLAG_MASK             _U_(0x8F)                                      /**< \deprecated (SERCOM_SPI_INTFLAG) Register MASK  (Use SERCOM_SPI_INTFLAG_Msk instead)  */
+#define SERCOM_SPI_INTFLAG_Msk              _U_(0x8F)                                      /**< (SERCOM_SPI_INTFLAG) Register Mask  */
+
+
+/* -------- SERCOM_USART_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) USART Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t DRE:1;                     /**< bit:      0  Data Register Empty Interrupt            */
+    __I uint8_t TXC:1;                     /**< bit:      1  Transmit Complete Interrupt              */
+    __I uint8_t RXC:1;                     /**< bit:      2  Receive Complete Interrupt               */
+    __I uint8_t RXS:1;                     /**< bit:      3  Receive Start Interrupt                  */
+    __I uint8_t CTSIC:1;                   /**< bit:      4  Clear To Send Input Change Interrupt     */
+    __I uint8_t RXBRK:1;                   /**< bit:      5  Break Received Interrupt                 */
+    __I uint8_t :1;                        /**< bit:      6  Reserved */
+    __I uint8_t ERROR:1;                   /**< bit:      7  Combined Error Interrupt                 */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_INTFLAG_OFFSET         (0x18)                                        /**<  (SERCOM_USART_INTFLAG) USART Interrupt Flag Status and Clear  Offset */
+#define SERCOM_USART_INTFLAG_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_USART_INTFLAG) USART Interrupt Flag Status and Clear  Reset Value */
+
+#define SERCOM_USART_INTFLAG_DRE_Pos        0                                              /**< (SERCOM_USART_INTFLAG) Data Register Empty Interrupt Position */
+#define SERCOM_USART_INTFLAG_DRE_Msk        (_U_(0x1) << SERCOM_USART_INTFLAG_DRE_Pos)     /**< (SERCOM_USART_INTFLAG) Data Register Empty Interrupt Mask */
+#define SERCOM_USART_INTFLAG_DRE            SERCOM_USART_INTFLAG_DRE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_DRE_Msk instead */
+#define SERCOM_USART_INTFLAG_TXC_Pos        1                                              /**< (SERCOM_USART_INTFLAG) Transmit Complete Interrupt Position */
+#define SERCOM_USART_INTFLAG_TXC_Msk        (_U_(0x1) << SERCOM_USART_INTFLAG_TXC_Pos)     /**< (SERCOM_USART_INTFLAG) Transmit Complete Interrupt Mask */
+#define SERCOM_USART_INTFLAG_TXC            SERCOM_USART_INTFLAG_TXC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_TXC_Msk instead */
+#define SERCOM_USART_INTFLAG_RXC_Pos        2                                              /**< (SERCOM_USART_INTFLAG) Receive Complete Interrupt Position */
+#define SERCOM_USART_INTFLAG_RXC_Msk        (_U_(0x1) << SERCOM_USART_INTFLAG_RXC_Pos)     /**< (SERCOM_USART_INTFLAG) Receive Complete Interrupt Mask */
+#define SERCOM_USART_INTFLAG_RXC            SERCOM_USART_INTFLAG_RXC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_RXC_Msk instead */
+#define SERCOM_USART_INTFLAG_RXS_Pos        3                                              /**< (SERCOM_USART_INTFLAG) Receive Start Interrupt Position */
+#define SERCOM_USART_INTFLAG_RXS_Msk        (_U_(0x1) << SERCOM_USART_INTFLAG_RXS_Pos)     /**< (SERCOM_USART_INTFLAG) Receive Start Interrupt Mask */
+#define SERCOM_USART_INTFLAG_RXS            SERCOM_USART_INTFLAG_RXS_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_RXS_Msk instead */
+#define SERCOM_USART_INTFLAG_CTSIC_Pos      4                                              /**< (SERCOM_USART_INTFLAG) Clear To Send Input Change Interrupt Position */
+#define SERCOM_USART_INTFLAG_CTSIC_Msk      (_U_(0x1) << SERCOM_USART_INTFLAG_CTSIC_Pos)   /**< (SERCOM_USART_INTFLAG) Clear To Send Input Change Interrupt Mask */
+#define SERCOM_USART_INTFLAG_CTSIC          SERCOM_USART_INTFLAG_CTSIC_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_CTSIC_Msk instead */
+#define SERCOM_USART_INTFLAG_RXBRK_Pos      5                                              /**< (SERCOM_USART_INTFLAG) Break Received Interrupt Position */
+#define SERCOM_USART_INTFLAG_RXBRK_Msk      (_U_(0x1) << SERCOM_USART_INTFLAG_RXBRK_Pos)   /**< (SERCOM_USART_INTFLAG) Break Received Interrupt Mask */
+#define SERCOM_USART_INTFLAG_RXBRK          SERCOM_USART_INTFLAG_RXBRK_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_RXBRK_Msk instead */
+#define SERCOM_USART_INTFLAG_ERROR_Pos      7                                              /**< (SERCOM_USART_INTFLAG) Combined Error Interrupt Position */
+#define SERCOM_USART_INTFLAG_ERROR_Msk      (_U_(0x1) << SERCOM_USART_INTFLAG_ERROR_Pos)   /**< (SERCOM_USART_INTFLAG) Combined Error Interrupt Mask */
+#define SERCOM_USART_INTFLAG_ERROR          SERCOM_USART_INTFLAG_ERROR_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_ERROR_Msk instead */
+#define SERCOM_USART_INTFLAG_MASK           _U_(0xBF)                                      /**< \deprecated (SERCOM_USART_INTFLAG) Register MASK  (Use SERCOM_USART_INTFLAG_Msk instead)  */
+#define SERCOM_USART_INTFLAG_Msk            _U_(0xBF)                                      /**< (SERCOM_USART_INTFLAG) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_STATUS : (SERCOM Offset: 0x1a) (R/W 16) I2CM Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BUSERR:1;                  /**< bit:      0  Bus Error                                */
+    uint16_t ARBLOST:1;                 /**< bit:      1  Arbitration Lost                         */
+    uint16_t RXNACK:1;                  /**< bit:      2  Received Not Acknowledge                 */
+    uint16_t :1;                        /**< bit:      3  Reserved */
+    uint16_t BUSSTATE:2;                /**< bit:   4..5  Bus State                                */
+    uint16_t LOWTOUT:1;                 /**< bit:      6  SCL Low Timeout                          */
+    uint16_t CLKHOLD:1;                 /**< bit:      7  Clock Hold                               */
+    uint16_t MEXTTOUT:1;                /**< bit:      8  Master SCL Low Extend Timeout            */
+    uint16_t SEXTTOUT:1;                /**< bit:      9  Slave SCL Low Extend Timeout             */
+    uint16_t LENERR:1;                  /**< bit:     10  Length Error                             */
+    uint16_t :5;                        /**< bit: 11..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_STATUS_OFFSET           (0x1A)                                        /**<  (SERCOM_I2CM_STATUS) I2CM Status  Offset */
+#define SERCOM_I2CM_STATUS_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_I2CM_STATUS) I2CM Status  Reset Value */
+
+#define SERCOM_I2CM_STATUS_BUSERR_Pos       0                                              /**< (SERCOM_I2CM_STATUS) Bus Error Position */
+#define SERCOM_I2CM_STATUS_BUSERR_Msk       (_U_(0x1) << SERCOM_I2CM_STATUS_BUSERR_Pos)    /**< (SERCOM_I2CM_STATUS) Bus Error Mask */
+#define SERCOM_I2CM_STATUS_BUSERR           SERCOM_I2CM_STATUS_BUSERR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_BUSERR_Msk instead */
+#define SERCOM_I2CM_STATUS_ARBLOST_Pos      1                                              /**< (SERCOM_I2CM_STATUS) Arbitration Lost Position */
+#define SERCOM_I2CM_STATUS_ARBLOST_Msk      (_U_(0x1) << SERCOM_I2CM_STATUS_ARBLOST_Pos)   /**< (SERCOM_I2CM_STATUS) Arbitration Lost Mask */
+#define SERCOM_I2CM_STATUS_ARBLOST          SERCOM_I2CM_STATUS_ARBLOST_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_ARBLOST_Msk instead */
+#define SERCOM_I2CM_STATUS_RXNACK_Pos       2                                              /**< (SERCOM_I2CM_STATUS) Received Not Acknowledge Position */
+#define SERCOM_I2CM_STATUS_RXNACK_Msk       (_U_(0x1) << SERCOM_I2CM_STATUS_RXNACK_Pos)    /**< (SERCOM_I2CM_STATUS) Received Not Acknowledge Mask */
+#define SERCOM_I2CM_STATUS_RXNACK           SERCOM_I2CM_STATUS_RXNACK_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_RXNACK_Msk instead */
+#define SERCOM_I2CM_STATUS_BUSSTATE_Pos     4                                              /**< (SERCOM_I2CM_STATUS) Bus State Position */
+#define SERCOM_I2CM_STATUS_BUSSTATE_Msk     (_U_(0x3) << SERCOM_I2CM_STATUS_BUSSTATE_Pos)  /**< (SERCOM_I2CM_STATUS) Bus State Mask */
+#define SERCOM_I2CM_STATUS_BUSSTATE(value)  (SERCOM_I2CM_STATUS_BUSSTATE_Msk & ((value) << SERCOM_I2CM_STATUS_BUSSTATE_Pos))
+#define SERCOM_I2CM_STATUS_LOWTOUT_Pos      6                                              /**< (SERCOM_I2CM_STATUS) SCL Low Timeout Position */
+#define SERCOM_I2CM_STATUS_LOWTOUT_Msk      (_U_(0x1) << SERCOM_I2CM_STATUS_LOWTOUT_Pos)   /**< (SERCOM_I2CM_STATUS) SCL Low Timeout Mask */
+#define SERCOM_I2CM_STATUS_LOWTOUT          SERCOM_I2CM_STATUS_LOWTOUT_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_LOWTOUT_Msk instead */
+#define SERCOM_I2CM_STATUS_CLKHOLD_Pos      7                                              /**< (SERCOM_I2CM_STATUS) Clock Hold Position */
+#define SERCOM_I2CM_STATUS_CLKHOLD_Msk      (_U_(0x1) << SERCOM_I2CM_STATUS_CLKHOLD_Pos)   /**< (SERCOM_I2CM_STATUS) Clock Hold Mask */
+#define SERCOM_I2CM_STATUS_CLKHOLD          SERCOM_I2CM_STATUS_CLKHOLD_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_CLKHOLD_Msk instead */
+#define SERCOM_I2CM_STATUS_MEXTTOUT_Pos     8                                              /**< (SERCOM_I2CM_STATUS) Master SCL Low Extend Timeout Position */
+#define SERCOM_I2CM_STATUS_MEXTTOUT_Msk     (_U_(0x1) << SERCOM_I2CM_STATUS_MEXTTOUT_Pos)  /**< (SERCOM_I2CM_STATUS) Master SCL Low Extend Timeout Mask */
+#define SERCOM_I2CM_STATUS_MEXTTOUT         SERCOM_I2CM_STATUS_MEXTTOUT_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_MEXTTOUT_Msk instead */
+#define SERCOM_I2CM_STATUS_SEXTTOUT_Pos     9                                              /**< (SERCOM_I2CM_STATUS) Slave SCL Low Extend Timeout Position */
+#define SERCOM_I2CM_STATUS_SEXTTOUT_Msk     (_U_(0x1) << SERCOM_I2CM_STATUS_SEXTTOUT_Pos)  /**< (SERCOM_I2CM_STATUS) Slave SCL Low Extend Timeout Mask */
+#define SERCOM_I2CM_STATUS_SEXTTOUT         SERCOM_I2CM_STATUS_SEXTTOUT_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_SEXTTOUT_Msk instead */
+#define SERCOM_I2CM_STATUS_LENERR_Pos       10                                             /**< (SERCOM_I2CM_STATUS) Length Error Position */
+#define SERCOM_I2CM_STATUS_LENERR_Msk       (_U_(0x1) << SERCOM_I2CM_STATUS_LENERR_Pos)    /**< (SERCOM_I2CM_STATUS) Length Error Mask */
+#define SERCOM_I2CM_STATUS_LENERR           SERCOM_I2CM_STATUS_LENERR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_LENERR_Msk instead */
+#define SERCOM_I2CM_STATUS_MASK             _U_(0x7F7)                                     /**< \deprecated (SERCOM_I2CM_STATUS) Register MASK  (Use SERCOM_I2CM_STATUS_Msk instead)  */
+#define SERCOM_I2CM_STATUS_Msk              _U_(0x7F7)                                     /**< (SERCOM_I2CM_STATUS) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_STATUS : (SERCOM Offset: 0x1a) (R/W 16) I2CS Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BUSERR:1;                  /**< bit:      0  Bus Error                                */
+    uint16_t COLL:1;                    /**< bit:      1  Transmit Collision                       */
+    uint16_t RXNACK:1;                  /**< bit:      2  Received Not Acknowledge                 */
+    uint16_t DIR:1;                     /**< bit:      3  Read/Write Direction                     */
+    uint16_t SR:1;                      /**< bit:      4  Repeated Start                           */
+    uint16_t :1;                        /**< bit:      5  Reserved */
+    uint16_t LOWTOUT:1;                 /**< bit:      6  SCL Low Timeout                          */
+    uint16_t CLKHOLD:1;                 /**< bit:      7  Clock Hold                               */
+    uint16_t :1;                        /**< bit:      8  Reserved */
+    uint16_t SEXTTOUT:1;                /**< bit:      9  Slave SCL Low Extend Timeout             */
+    uint16_t HS:1;                      /**< bit:     10  High Speed                               */
+    uint16_t :5;                        /**< bit: 11..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_I2CS_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_STATUS_OFFSET           (0x1A)                                        /**<  (SERCOM_I2CS_STATUS) I2CS Status  Offset */
+#define SERCOM_I2CS_STATUS_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_I2CS_STATUS) I2CS Status  Reset Value */
+
+#define SERCOM_I2CS_STATUS_BUSERR_Pos       0                                              /**< (SERCOM_I2CS_STATUS) Bus Error Position */
+#define SERCOM_I2CS_STATUS_BUSERR_Msk       (_U_(0x1) << SERCOM_I2CS_STATUS_BUSERR_Pos)    /**< (SERCOM_I2CS_STATUS) Bus Error Mask */
+#define SERCOM_I2CS_STATUS_BUSERR           SERCOM_I2CS_STATUS_BUSERR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_BUSERR_Msk instead */
+#define SERCOM_I2CS_STATUS_COLL_Pos         1                                              /**< (SERCOM_I2CS_STATUS) Transmit Collision Position */
+#define SERCOM_I2CS_STATUS_COLL_Msk         (_U_(0x1) << SERCOM_I2CS_STATUS_COLL_Pos)      /**< (SERCOM_I2CS_STATUS) Transmit Collision Mask */
+#define SERCOM_I2CS_STATUS_COLL             SERCOM_I2CS_STATUS_COLL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_COLL_Msk instead */
+#define SERCOM_I2CS_STATUS_RXNACK_Pos       2                                              /**< (SERCOM_I2CS_STATUS) Received Not Acknowledge Position */
+#define SERCOM_I2CS_STATUS_RXNACK_Msk       (_U_(0x1) << SERCOM_I2CS_STATUS_RXNACK_Pos)    /**< (SERCOM_I2CS_STATUS) Received Not Acknowledge Mask */
+#define SERCOM_I2CS_STATUS_RXNACK           SERCOM_I2CS_STATUS_RXNACK_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_RXNACK_Msk instead */
+#define SERCOM_I2CS_STATUS_DIR_Pos          3                                              /**< (SERCOM_I2CS_STATUS) Read/Write Direction Position */
+#define SERCOM_I2CS_STATUS_DIR_Msk          (_U_(0x1) << SERCOM_I2CS_STATUS_DIR_Pos)       /**< (SERCOM_I2CS_STATUS) Read/Write Direction Mask */
+#define SERCOM_I2CS_STATUS_DIR              SERCOM_I2CS_STATUS_DIR_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_DIR_Msk instead */
+#define SERCOM_I2CS_STATUS_SR_Pos           4                                              /**< (SERCOM_I2CS_STATUS) Repeated Start Position */
+#define SERCOM_I2CS_STATUS_SR_Msk           (_U_(0x1) << SERCOM_I2CS_STATUS_SR_Pos)        /**< (SERCOM_I2CS_STATUS) Repeated Start Mask */
+#define SERCOM_I2CS_STATUS_SR               SERCOM_I2CS_STATUS_SR_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_SR_Msk instead */
+#define SERCOM_I2CS_STATUS_LOWTOUT_Pos      6                                              /**< (SERCOM_I2CS_STATUS) SCL Low Timeout Position */
+#define SERCOM_I2CS_STATUS_LOWTOUT_Msk      (_U_(0x1) << SERCOM_I2CS_STATUS_LOWTOUT_Pos)   /**< (SERCOM_I2CS_STATUS) SCL Low Timeout Mask */
+#define SERCOM_I2CS_STATUS_LOWTOUT          SERCOM_I2CS_STATUS_LOWTOUT_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_LOWTOUT_Msk instead */
+#define SERCOM_I2CS_STATUS_CLKHOLD_Pos      7                                              /**< (SERCOM_I2CS_STATUS) Clock Hold Position */
+#define SERCOM_I2CS_STATUS_CLKHOLD_Msk      (_U_(0x1) << SERCOM_I2CS_STATUS_CLKHOLD_Pos)   /**< (SERCOM_I2CS_STATUS) Clock Hold Mask */
+#define SERCOM_I2CS_STATUS_CLKHOLD          SERCOM_I2CS_STATUS_CLKHOLD_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_CLKHOLD_Msk instead */
+#define SERCOM_I2CS_STATUS_SEXTTOUT_Pos     9                                              /**< (SERCOM_I2CS_STATUS) Slave SCL Low Extend Timeout Position */
+#define SERCOM_I2CS_STATUS_SEXTTOUT_Msk     (_U_(0x1) << SERCOM_I2CS_STATUS_SEXTTOUT_Pos)  /**< (SERCOM_I2CS_STATUS) Slave SCL Low Extend Timeout Mask */
+#define SERCOM_I2CS_STATUS_SEXTTOUT         SERCOM_I2CS_STATUS_SEXTTOUT_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_SEXTTOUT_Msk instead */
+#define SERCOM_I2CS_STATUS_HS_Pos           10                                             /**< (SERCOM_I2CS_STATUS) High Speed Position */
+#define SERCOM_I2CS_STATUS_HS_Msk           (_U_(0x1) << SERCOM_I2CS_STATUS_HS_Pos)        /**< (SERCOM_I2CS_STATUS) High Speed Mask */
+#define SERCOM_I2CS_STATUS_HS               SERCOM_I2CS_STATUS_HS_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_HS_Msk instead */
+#define SERCOM_I2CS_STATUS_MASK             _U_(0x6DF)                                     /**< \deprecated (SERCOM_I2CS_STATUS) Register MASK  (Use SERCOM_I2CS_STATUS_Msk instead)  */
+#define SERCOM_I2CS_STATUS_Msk              _U_(0x6DF)                                     /**< (SERCOM_I2CS_STATUS) Register Mask  */
+
+
+/* -------- SERCOM_SPI_STATUS : (SERCOM Offset: 0x1a) (R/W 16) SPI Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t :2;                        /**< bit:   0..1  Reserved */
+    uint16_t BUFOVF:1;                  /**< bit:      2  Buffer Overflow                          */
+    uint16_t :13;                       /**< bit:  3..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_STATUS_OFFSET            (0x1A)                                        /**<  (SERCOM_SPI_STATUS) SPI Status  Offset */
+#define SERCOM_SPI_STATUS_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_SPI_STATUS) SPI Status  Reset Value */
+
+#define SERCOM_SPI_STATUS_BUFOVF_Pos        2                                              /**< (SERCOM_SPI_STATUS) Buffer Overflow Position */
+#define SERCOM_SPI_STATUS_BUFOVF_Msk        (_U_(0x1) << SERCOM_SPI_STATUS_BUFOVF_Pos)     /**< (SERCOM_SPI_STATUS) Buffer Overflow Mask */
+#define SERCOM_SPI_STATUS_BUFOVF            SERCOM_SPI_STATUS_BUFOVF_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_STATUS_BUFOVF_Msk instead */
+#define SERCOM_SPI_STATUS_MASK              _U_(0x04)                                      /**< \deprecated (SERCOM_SPI_STATUS) Register MASK  (Use SERCOM_SPI_STATUS_Msk instead)  */
+#define SERCOM_SPI_STATUS_Msk               _U_(0x04)                                      /**< (SERCOM_SPI_STATUS) Register Mask  */
+
+
+/* -------- SERCOM_USART_STATUS : (SERCOM Offset: 0x1a) (R/W 16) USART Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PERR:1;                    /**< bit:      0  Parity Error                             */
+    uint16_t FERR:1;                    /**< bit:      1  Frame Error                              */
+    uint16_t BUFOVF:1;                  /**< bit:      2  Buffer Overflow                          */
+    uint16_t CTS:1;                     /**< bit:      3  Clear To Send                            */
+    uint16_t ISF:1;                     /**< bit:      4  Inconsistent Sync Field                  */
+    uint16_t COLL:1;                    /**< bit:      5  Collision Detected                       */
+    uint16_t TXE:1;                     /**< bit:      6  Transmitter Empty                        */
+    uint16_t ITER:1;                    /**< bit:      7  Maximum Number of Repetitions Reached    */
+    uint16_t :8;                        /**< bit:  8..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_USART_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_STATUS_OFFSET          (0x1A)                                        /**<  (SERCOM_USART_STATUS) USART Status  Offset */
+#define SERCOM_USART_STATUS_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_USART_STATUS) USART Status  Reset Value */
+
+#define SERCOM_USART_STATUS_PERR_Pos        0                                              /**< (SERCOM_USART_STATUS) Parity Error Position */
+#define SERCOM_USART_STATUS_PERR_Msk        (_U_(0x1) << SERCOM_USART_STATUS_PERR_Pos)     /**< (SERCOM_USART_STATUS) Parity Error Mask */
+#define SERCOM_USART_STATUS_PERR            SERCOM_USART_STATUS_PERR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_PERR_Msk instead */
+#define SERCOM_USART_STATUS_FERR_Pos        1                                              /**< (SERCOM_USART_STATUS) Frame Error Position */
+#define SERCOM_USART_STATUS_FERR_Msk        (_U_(0x1) << SERCOM_USART_STATUS_FERR_Pos)     /**< (SERCOM_USART_STATUS) Frame Error Mask */
+#define SERCOM_USART_STATUS_FERR            SERCOM_USART_STATUS_FERR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_FERR_Msk instead */
+#define SERCOM_USART_STATUS_BUFOVF_Pos      2                                              /**< (SERCOM_USART_STATUS) Buffer Overflow Position */
+#define SERCOM_USART_STATUS_BUFOVF_Msk      (_U_(0x1) << SERCOM_USART_STATUS_BUFOVF_Pos)   /**< (SERCOM_USART_STATUS) Buffer Overflow Mask */
+#define SERCOM_USART_STATUS_BUFOVF          SERCOM_USART_STATUS_BUFOVF_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_BUFOVF_Msk instead */
+#define SERCOM_USART_STATUS_CTS_Pos         3                                              /**< (SERCOM_USART_STATUS) Clear To Send Position */
+#define SERCOM_USART_STATUS_CTS_Msk         (_U_(0x1) << SERCOM_USART_STATUS_CTS_Pos)      /**< (SERCOM_USART_STATUS) Clear To Send Mask */
+#define SERCOM_USART_STATUS_CTS             SERCOM_USART_STATUS_CTS_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_CTS_Msk instead */
+#define SERCOM_USART_STATUS_ISF_Pos         4                                              /**< (SERCOM_USART_STATUS) Inconsistent Sync Field Position */
+#define SERCOM_USART_STATUS_ISF_Msk         (_U_(0x1) << SERCOM_USART_STATUS_ISF_Pos)      /**< (SERCOM_USART_STATUS) Inconsistent Sync Field Mask */
+#define SERCOM_USART_STATUS_ISF             SERCOM_USART_STATUS_ISF_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_ISF_Msk instead */
+#define SERCOM_USART_STATUS_COLL_Pos        5                                              /**< (SERCOM_USART_STATUS) Collision Detected Position */
+#define SERCOM_USART_STATUS_COLL_Msk        (_U_(0x1) << SERCOM_USART_STATUS_COLL_Pos)     /**< (SERCOM_USART_STATUS) Collision Detected Mask */
+#define SERCOM_USART_STATUS_COLL            SERCOM_USART_STATUS_COLL_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_COLL_Msk instead */
+#define SERCOM_USART_STATUS_TXE_Pos         6                                              /**< (SERCOM_USART_STATUS) Transmitter Empty Position */
+#define SERCOM_USART_STATUS_TXE_Msk         (_U_(0x1) << SERCOM_USART_STATUS_TXE_Pos)      /**< (SERCOM_USART_STATUS) Transmitter Empty Mask */
+#define SERCOM_USART_STATUS_TXE             SERCOM_USART_STATUS_TXE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_TXE_Msk instead */
+#define SERCOM_USART_STATUS_ITER_Pos        7                                              /**< (SERCOM_USART_STATUS) Maximum Number of Repetitions Reached Position */
+#define SERCOM_USART_STATUS_ITER_Msk        (_U_(0x1) << SERCOM_USART_STATUS_ITER_Pos)     /**< (SERCOM_USART_STATUS) Maximum Number of Repetitions Reached Mask */
+#define SERCOM_USART_STATUS_ITER            SERCOM_USART_STATUS_ITER_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_ITER_Msk instead */
+#define SERCOM_USART_STATUS_MASK            _U_(0xFF)                                      /**< \deprecated (SERCOM_USART_STATUS) Register MASK  (Use SERCOM_USART_STATUS_Msk instead)  */
+#define SERCOM_USART_STATUS_Msk             _U_(0xFF)                                      /**< (SERCOM_USART_STATUS) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_SYNCBUSY : (SERCOM Offset: 0x1c) (R/ 32) I2CM Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchronization Busy      */
+    uint32_t ENABLE:1;                  /**< bit:      1  SERCOM Enable Synchronization Busy       */
+    uint32_t SYSOP:1;                   /**< bit:      2  System Operation Synchronization Busy    */
+    uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_SYNCBUSY_OFFSET         (0x1C)                                        /**<  (SERCOM_I2CM_SYNCBUSY) I2CM Synchronization Busy  Offset */
+#define SERCOM_I2CM_SYNCBUSY_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CM_SYNCBUSY) I2CM Synchronization Busy  Reset Value */
+
+#define SERCOM_I2CM_SYNCBUSY_SWRST_Pos      0                                              /**< (SERCOM_I2CM_SYNCBUSY) Software Reset Synchronization Busy Position */
+#define SERCOM_I2CM_SYNCBUSY_SWRST_Msk      (_U_(0x1) << SERCOM_I2CM_SYNCBUSY_SWRST_Pos)   /**< (SERCOM_I2CM_SYNCBUSY) Software Reset Synchronization Busy Mask */
+#define SERCOM_I2CM_SYNCBUSY_SWRST          SERCOM_I2CM_SYNCBUSY_SWRST_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_SYNCBUSY_SWRST_Msk instead */
+#define SERCOM_I2CM_SYNCBUSY_ENABLE_Pos     1                                              /**< (SERCOM_I2CM_SYNCBUSY) SERCOM Enable Synchronization Busy Position */
+#define SERCOM_I2CM_SYNCBUSY_ENABLE_Msk     (_U_(0x1) << SERCOM_I2CM_SYNCBUSY_ENABLE_Pos)  /**< (SERCOM_I2CM_SYNCBUSY) SERCOM Enable Synchronization Busy Mask */
+#define SERCOM_I2CM_SYNCBUSY_ENABLE         SERCOM_I2CM_SYNCBUSY_ENABLE_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_SYNCBUSY_ENABLE_Msk instead */
+#define SERCOM_I2CM_SYNCBUSY_SYSOP_Pos      2                                              /**< (SERCOM_I2CM_SYNCBUSY) System Operation Synchronization Busy Position */
+#define SERCOM_I2CM_SYNCBUSY_SYSOP_Msk      (_U_(0x1) << SERCOM_I2CM_SYNCBUSY_SYSOP_Pos)   /**< (SERCOM_I2CM_SYNCBUSY) System Operation Synchronization Busy Mask */
+#define SERCOM_I2CM_SYNCBUSY_SYSOP          SERCOM_I2CM_SYNCBUSY_SYSOP_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_SYNCBUSY_SYSOP_Msk instead */
+#define SERCOM_I2CM_SYNCBUSY_MASK           _U_(0x07)                                      /**< \deprecated (SERCOM_I2CM_SYNCBUSY) Register MASK  (Use SERCOM_I2CM_SYNCBUSY_Msk instead)  */
+#define SERCOM_I2CM_SYNCBUSY_Msk            _U_(0x07)                                      /**< (SERCOM_I2CM_SYNCBUSY) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_SYNCBUSY : (SERCOM Offset: 0x1c) (R/ 32) I2CS Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchronization Busy      */
+    uint32_t ENABLE:1;                  /**< bit:      1  SERCOM Enable Synchronization Busy       */
+    uint32_t :30;                       /**< bit:  2..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CS_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_SYNCBUSY_OFFSET         (0x1C)                                        /**<  (SERCOM_I2CS_SYNCBUSY) I2CS Synchronization Busy  Offset */
+#define SERCOM_I2CS_SYNCBUSY_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CS_SYNCBUSY) I2CS Synchronization Busy  Reset Value */
+
+#define SERCOM_I2CS_SYNCBUSY_SWRST_Pos      0                                              /**< (SERCOM_I2CS_SYNCBUSY) Software Reset Synchronization Busy Position */
+#define SERCOM_I2CS_SYNCBUSY_SWRST_Msk      (_U_(0x1) << SERCOM_I2CS_SYNCBUSY_SWRST_Pos)   /**< (SERCOM_I2CS_SYNCBUSY) Software Reset Synchronization Busy Mask */
+#define SERCOM_I2CS_SYNCBUSY_SWRST          SERCOM_I2CS_SYNCBUSY_SWRST_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_SYNCBUSY_SWRST_Msk instead */
+#define SERCOM_I2CS_SYNCBUSY_ENABLE_Pos     1                                              /**< (SERCOM_I2CS_SYNCBUSY) SERCOM Enable Synchronization Busy Position */
+#define SERCOM_I2CS_SYNCBUSY_ENABLE_Msk     (_U_(0x1) << SERCOM_I2CS_SYNCBUSY_ENABLE_Pos)  /**< (SERCOM_I2CS_SYNCBUSY) SERCOM Enable Synchronization Busy Mask */
+#define SERCOM_I2CS_SYNCBUSY_ENABLE         SERCOM_I2CS_SYNCBUSY_ENABLE_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_SYNCBUSY_ENABLE_Msk instead */
+#define SERCOM_I2CS_SYNCBUSY_MASK           _U_(0x03)                                      /**< \deprecated (SERCOM_I2CS_SYNCBUSY) Register MASK  (Use SERCOM_I2CS_SYNCBUSY_Msk instead)  */
+#define SERCOM_I2CS_SYNCBUSY_Msk            _U_(0x03)                                      /**< (SERCOM_I2CS_SYNCBUSY) Register Mask  */
+
+
+/* -------- SERCOM_SPI_SYNCBUSY : (SERCOM Offset: 0x1c) (R/ 32) SPI Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchronization Busy      */
+    uint32_t ENABLE:1;                  /**< bit:      1  SERCOM Enable Synchronization Busy       */
+    uint32_t CTRLB:1;                   /**< bit:      2  CTRLB Synchronization Busy               */
+    uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_SYNCBUSY_OFFSET          (0x1C)                                        /**<  (SERCOM_SPI_SYNCBUSY) SPI Synchronization Busy  Offset */
+#define SERCOM_SPI_SYNCBUSY_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_SPI_SYNCBUSY) SPI Synchronization Busy  Reset Value */
+
+#define SERCOM_SPI_SYNCBUSY_SWRST_Pos       0                                              /**< (SERCOM_SPI_SYNCBUSY) Software Reset Synchronization Busy Position */
+#define SERCOM_SPI_SYNCBUSY_SWRST_Msk       (_U_(0x1) << SERCOM_SPI_SYNCBUSY_SWRST_Pos)    /**< (SERCOM_SPI_SYNCBUSY) Software Reset Synchronization Busy Mask */
+#define SERCOM_SPI_SYNCBUSY_SWRST           SERCOM_SPI_SYNCBUSY_SWRST_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_SYNCBUSY_SWRST_Msk instead */
+#define SERCOM_SPI_SYNCBUSY_ENABLE_Pos      1                                              /**< (SERCOM_SPI_SYNCBUSY) SERCOM Enable Synchronization Busy Position */
+#define SERCOM_SPI_SYNCBUSY_ENABLE_Msk      (_U_(0x1) << SERCOM_SPI_SYNCBUSY_ENABLE_Pos)   /**< (SERCOM_SPI_SYNCBUSY) SERCOM Enable Synchronization Busy Mask */
+#define SERCOM_SPI_SYNCBUSY_ENABLE          SERCOM_SPI_SYNCBUSY_ENABLE_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_SYNCBUSY_ENABLE_Msk instead */
+#define SERCOM_SPI_SYNCBUSY_CTRLB_Pos       2                                              /**< (SERCOM_SPI_SYNCBUSY) CTRLB Synchronization Busy Position */
+#define SERCOM_SPI_SYNCBUSY_CTRLB_Msk       (_U_(0x1) << SERCOM_SPI_SYNCBUSY_CTRLB_Pos)    /**< (SERCOM_SPI_SYNCBUSY) CTRLB Synchronization Busy Mask */
+#define SERCOM_SPI_SYNCBUSY_CTRLB           SERCOM_SPI_SYNCBUSY_CTRLB_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_SYNCBUSY_CTRLB_Msk instead */
+#define SERCOM_SPI_SYNCBUSY_MASK            _U_(0x07)                                      /**< \deprecated (SERCOM_SPI_SYNCBUSY) Register MASK  (Use SERCOM_SPI_SYNCBUSY_Msk instead)  */
+#define SERCOM_SPI_SYNCBUSY_Msk             _U_(0x07)                                      /**< (SERCOM_SPI_SYNCBUSY) Register Mask  */
+
+
+/* -------- SERCOM_USART_SYNCBUSY : (SERCOM Offset: 0x1c) (R/ 32) USART Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchronization Busy      */
+    uint32_t ENABLE:1;                  /**< bit:      1  SERCOM Enable Synchronization Busy       */
+    uint32_t CTRLB:1;                   /**< bit:      2  CTRLB Synchronization Busy               */
+    uint32_t RXERRCNT:1;                /**< bit:      3  RXERRCNT Synchronization Busy            */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_USART_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_SYNCBUSY_OFFSET        (0x1C)                                        /**<  (SERCOM_USART_SYNCBUSY) USART Synchronization Busy  Offset */
+#define SERCOM_USART_SYNCBUSY_RESETVALUE    _U_(0x00)                                     /**<  (SERCOM_USART_SYNCBUSY) USART Synchronization Busy  Reset Value */
+
+#define SERCOM_USART_SYNCBUSY_SWRST_Pos     0                                              /**< (SERCOM_USART_SYNCBUSY) Software Reset Synchronization Busy Position */
+#define SERCOM_USART_SYNCBUSY_SWRST_Msk     (_U_(0x1) << SERCOM_USART_SYNCBUSY_SWRST_Pos)  /**< (SERCOM_USART_SYNCBUSY) Software Reset Synchronization Busy Mask */
+#define SERCOM_USART_SYNCBUSY_SWRST         SERCOM_USART_SYNCBUSY_SWRST_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_SYNCBUSY_SWRST_Msk instead */
+#define SERCOM_USART_SYNCBUSY_ENABLE_Pos    1                                              /**< (SERCOM_USART_SYNCBUSY) SERCOM Enable Synchronization Busy Position */
+#define SERCOM_USART_SYNCBUSY_ENABLE_Msk    (_U_(0x1) << SERCOM_USART_SYNCBUSY_ENABLE_Pos)  /**< (SERCOM_USART_SYNCBUSY) SERCOM Enable Synchronization Busy Mask */
+#define SERCOM_USART_SYNCBUSY_ENABLE        SERCOM_USART_SYNCBUSY_ENABLE_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_SYNCBUSY_ENABLE_Msk instead */
+#define SERCOM_USART_SYNCBUSY_CTRLB_Pos     2                                              /**< (SERCOM_USART_SYNCBUSY) CTRLB Synchronization Busy Position */
+#define SERCOM_USART_SYNCBUSY_CTRLB_Msk     (_U_(0x1) << SERCOM_USART_SYNCBUSY_CTRLB_Pos)  /**< (SERCOM_USART_SYNCBUSY) CTRLB Synchronization Busy Mask */
+#define SERCOM_USART_SYNCBUSY_CTRLB         SERCOM_USART_SYNCBUSY_CTRLB_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_SYNCBUSY_CTRLB_Msk instead */
+#define SERCOM_USART_SYNCBUSY_RXERRCNT_Pos  3                                              /**< (SERCOM_USART_SYNCBUSY) RXERRCNT Synchronization Busy Position */
+#define SERCOM_USART_SYNCBUSY_RXERRCNT_Msk  (_U_(0x1) << SERCOM_USART_SYNCBUSY_RXERRCNT_Pos)  /**< (SERCOM_USART_SYNCBUSY) RXERRCNT Synchronization Busy Mask */
+#define SERCOM_USART_SYNCBUSY_RXERRCNT      SERCOM_USART_SYNCBUSY_RXERRCNT_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_SYNCBUSY_RXERRCNT_Msk instead */
+#define SERCOM_USART_SYNCBUSY_MASK          _U_(0x0F)                                      /**< \deprecated (SERCOM_USART_SYNCBUSY) Register MASK  (Use SERCOM_USART_SYNCBUSY_Msk instead)  */
+#define SERCOM_USART_SYNCBUSY_Msk           _U_(0x0F)                                      /**< (SERCOM_USART_SYNCBUSY) Register Mask  */
+
+
+/* -------- SERCOM_USART_RXERRCNT : (SERCOM Offset: 0x20) (R/ 8) USART Receive Error Count -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_RXERRCNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_RXERRCNT_OFFSET        (0x20)                                        /**<  (SERCOM_USART_RXERRCNT) USART Receive Error Count  Offset */
+#define SERCOM_USART_RXERRCNT_RESETVALUE    _U_(0x00)                                     /**<  (SERCOM_USART_RXERRCNT) USART Receive Error Count  Reset Value */
+
+#define SERCOM_USART_RXERRCNT_MASK          _U_(0x00)                                      /**< \deprecated (SERCOM_USART_RXERRCNT) Register MASK  (Use SERCOM_USART_RXERRCNT_Msk instead)  */
+#define SERCOM_USART_RXERRCNT_Msk           _U_(0x00)                                      /**< (SERCOM_USART_RXERRCNT) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_ADDR : (SERCOM Offset: 0x24) (R/W 32) I2CM Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t ADDR:11;                   /**< bit:  0..10  Address Value                            */
+    uint32_t :2;                        /**< bit: 11..12  Reserved */
+    uint32_t LENEN:1;                   /**< bit:     13  Length Enable                            */
+    uint32_t HS:1;                      /**< bit:     14  High Speed Mode                          */
+    uint32_t TENBITEN:1;                /**< bit:     15  Ten Bit Addressing Enable                */
+    uint32_t LEN:8;                     /**< bit: 16..23  Length                                   */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_ADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_ADDR_OFFSET             (0x24)                                        /**<  (SERCOM_I2CM_ADDR) I2CM Address  Offset */
+#define SERCOM_I2CM_ADDR_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_I2CM_ADDR) I2CM Address  Reset Value */
+
+#define SERCOM_I2CM_ADDR_ADDR_Pos           0                                              /**< (SERCOM_I2CM_ADDR) Address Value Position */
+#define SERCOM_I2CM_ADDR_ADDR_Msk           (_U_(0x7FF) << SERCOM_I2CM_ADDR_ADDR_Pos)      /**< (SERCOM_I2CM_ADDR) Address Value Mask */
+#define SERCOM_I2CM_ADDR_ADDR(value)        (SERCOM_I2CM_ADDR_ADDR_Msk & ((value) << SERCOM_I2CM_ADDR_ADDR_Pos))
+#define SERCOM_I2CM_ADDR_LENEN_Pos          13                                             /**< (SERCOM_I2CM_ADDR) Length Enable Position */
+#define SERCOM_I2CM_ADDR_LENEN_Msk          (_U_(0x1) << SERCOM_I2CM_ADDR_LENEN_Pos)       /**< (SERCOM_I2CM_ADDR) Length Enable Mask */
+#define SERCOM_I2CM_ADDR_LENEN              SERCOM_I2CM_ADDR_LENEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_ADDR_LENEN_Msk instead */
+#define SERCOM_I2CM_ADDR_HS_Pos             14                                             /**< (SERCOM_I2CM_ADDR) High Speed Mode Position */
+#define SERCOM_I2CM_ADDR_HS_Msk             (_U_(0x1) << SERCOM_I2CM_ADDR_HS_Pos)          /**< (SERCOM_I2CM_ADDR) High Speed Mode Mask */
+#define SERCOM_I2CM_ADDR_HS                 SERCOM_I2CM_ADDR_HS_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_ADDR_HS_Msk instead */
+#define SERCOM_I2CM_ADDR_TENBITEN_Pos       15                                             /**< (SERCOM_I2CM_ADDR) Ten Bit Addressing Enable Position */
+#define SERCOM_I2CM_ADDR_TENBITEN_Msk       (_U_(0x1) << SERCOM_I2CM_ADDR_TENBITEN_Pos)    /**< (SERCOM_I2CM_ADDR) Ten Bit Addressing Enable Mask */
+#define SERCOM_I2CM_ADDR_TENBITEN           SERCOM_I2CM_ADDR_TENBITEN_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_ADDR_TENBITEN_Msk instead */
+#define SERCOM_I2CM_ADDR_LEN_Pos            16                                             /**< (SERCOM_I2CM_ADDR) Length Position */
+#define SERCOM_I2CM_ADDR_LEN_Msk            (_U_(0xFF) << SERCOM_I2CM_ADDR_LEN_Pos)        /**< (SERCOM_I2CM_ADDR) Length Mask */
+#define SERCOM_I2CM_ADDR_LEN(value)         (SERCOM_I2CM_ADDR_LEN_Msk & ((value) << SERCOM_I2CM_ADDR_LEN_Pos))
+#define SERCOM_I2CM_ADDR_MASK               _U_(0xFFE7FF)                                  /**< \deprecated (SERCOM_I2CM_ADDR) Register MASK  (Use SERCOM_I2CM_ADDR_Msk instead)  */
+#define SERCOM_I2CM_ADDR_Msk                _U_(0xFFE7FF)                                  /**< (SERCOM_I2CM_ADDR) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_ADDR : (SERCOM Offset: 0x24) (R/W 32) I2CS Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t GENCEN:1;                  /**< bit:      0  General Call Address Enable              */
+    uint32_t ADDR:10;                   /**< bit:  1..10  Address Value                            */
+    uint32_t :4;                        /**< bit: 11..14  Reserved */
+    uint32_t TENBITEN:1;                /**< bit:     15  Ten Bit Addressing Enable                */
+    uint32_t :1;                        /**< bit:     16  Reserved */
+    uint32_t ADDRMASK:10;               /**< bit: 17..26  Address Mask                             */
+    uint32_t :5;                        /**< bit: 27..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CS_ADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_ADDR_OFFSET             (0x24)                                        /**<  (SERCOM_I2CS_ADDR) I2CS Address  Offset */
+#define SERCOM_I2CS_ADDR_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_I2CS_ADDR) I2CS Address  Reset Value */
+
+#define SERCOM_I2CS_ADDR_GENCEN_Pos         0                                              /**< (SERCOM_I2CS_ADDR) General Call Address Enable Position */
+#define SERCOM_I2CS_ADDR_GENCEN_Msk         (_U_(0x1) << SERCOM_I2CS_ADDR_GENCEN_Pos)      /**< (SERCOM_I2CS_ADDR) General Call Address Enable Mask */
+#define SERCOM_I2CS_ADDR_GENCEN             SERCOM_I2CS_ADDR_GENCEN_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_ADDR_GENCEN_Msk instead */
+#define SERCOM_I2CS_ADDR_ADDR_Pos           1                                              /**< (SERCOM_I2CS_ADDR) Address Value Position */
+#define SERCOM_I2CS_ADDR_ADDR_Msk           (_U_(0x3FF) << SERCOM_I2CS_ADDR_ADDR_Pos)      /**< (SERCOM_I2CS_ADDR) Address Value Mask */
+#define SERCOM_I2CS_ADDR_ADDR(value)        (SERCOM_I2CS_ADDR_ADDR_Msk & ((value) << SERCOM_I2CS_ADDR_ADDR_Pos))
+#define SERCOM_I2CS_ADDR_TENBITEN_Pos       15                                             /**< (SERCOM_I2CS_ADDR) Ten Bit Addressing Enable Position */
+#define SERCOM_I2CS_ADDR_TENBITEN_Msk       (_U_(0x1) << SERCOM_I2CS_ADDR_TENBITEN_Pos)    /**< (SERCOM_I2CS_ADDR) Ten Bit Addressing Enable Mask */
+#define SERCOM_I2CS_ADDR_TENBITEN           SERCOM_I2CS_ADDR_TENBITEN_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_ADDR_TENBITEN_Msk instead */
+#define SERCOM_I2CS_ADDR_ADDRMASK_Pos       17                                             /**< (SERCOM_I2CS_ADDR) Address Mask Position */
+#define SERCOM_I2CS_ADDR_ADDRMASK_Msk       (_U_(0x3FF) << SERCOM_I2CS_ADDR_ADDRMASK_Pos)  /**< (SERCOM_I2CS_ADDR) Address Mask Mask */
+#define SERCOM_I2CS_ADDR_ADDRMASK(value)    (SERCOM_I2CS_ADDR_ADDRMASK_Msk & ((value) << SERCOM_I2CS_ADDR_ADDRMASK_Pos))
+#define SERCOM_I2CS_ADDR_Msk                _U_(0x7FE87FF)                                 /**< (SERCOM_I2CS_ADDR) Register Mask  */
+
+
+/* -------- SERCOM_SPI_ADDR : (SERCOM Offset: 0x24) (R/W 32) SPI Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t ADDR:8;                    /**< bit:   0..7  Address Value                            */
+    uint32_t :8;                        /**< bit:  8..15  Reserved */
+    uint32_t ADDRMASK:8;                /**< bit: 16..23  Address Mask                             */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_ADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_ADDR_OFFSET              (0x24)                                        /**<  (SERCOM_SPI_ADDR) SPI Address  Offset */
+#define SERCOM_SPI_ADDR_RESETVALUE          _U_(0x00)                                     /**<  (SERCOM_SPI_ADDR) SPI Address  Reset Value */
+
+#define SERCOM_SPI_ADDR_ADDR_Pos            0                                              /**< (SERCOM_SPI_ADDR) Address Value Position */
+#define SERCOM_SPI_ADDR_ADDR_Msk            (_U_(0xFF) << SERCOM_SPI_ADDR_ADDR_Pos)        /**< (SERCOM_SPI_ADDR) Address Value Mask */
+#define SERCOM_SPI_ADDR_ADDR(value)         (SERCOM_SPI_ADDR_ADDR_Msk & ((value) << SERCOM_SPI_ADDR_ADDR_Pos))
+#define SERCOM_SPI_ADDR_ADDRMASK_Pos        16                                             /**< (SERCOM_SPI_ADDR) Address Mask Position */
+#define SERCOM_SPI_ADDR_ADDRMASK_Msk        (_U_(0xFF) << SERCOM_SPI_ADDR_ADDRMASK_Pos)    /**< (SERCOM_SPI_ADDR) Address Mask Mask */
+#define SERCOM_SPI_ADDR_ADDRMASK(value)     (SERCOM_SPI_ADDR_ADDRMASK_Msk & ((value) << SERCOM_SPI_ADDR_ADDRMASK_Pos))
+#define SERCOM_SPI_ADDR_Msk                 _U_(0xFF00FF)                                  /**< (SERCOM_SPI_ADDR) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_DATA : (SERCOM Offset: 0x28) (R/W 8) I2CM Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATA:8;                    /**< bit:   0..7  Data Value                               */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CM_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_DATA_OFFSET             (0x28)                                        /**<  (SERCOM_I2CM_DATA) I2CM Data  Offset */
+#define SERCOM_I2CM_DATA_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_I2CM_DATA) I2CM Data  Reset Value */
+
+#define SERCOM_I2CM_DATA_DATA_Pos           0                                              /**< (SERCOM_I2CM_DATA) Data Value Position */
+#define SERCOM_I2CM_DATA_DATA_Msk           (_U_(0xFF) << SERCOM_I2CM_DATA_DATA_Pos)       /**< (SERCOM_I2CM_DATA) Data Value Mask */
+#define SERCOM_I2CM_DATA_DATA(value)        (SERCOM_I2CM_DATA_DATA_Msk & ((value) << SERCOM_I2CM_DATA_DATA_Pos))
+#define SERCOM_I2CM_DATA_MASK               _U_(0xFF)                                      /**< \deprecated (SERCOM_I2CM_DATA) Register MASK  (Use SERCOM_I2CM_DATA_Msk instead)  */
+#define SERCOM_I2CM_DATA_Msk                _U_(0xFF)                                      /**< (SERCOM_I2CM_DATA) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_DATA : (SERCOM Offset: 0x28) (R/W 8) I2CS Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATA:8;                    /**< bit:   0..7  Data Value                               */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CS_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_DATA_OFFSET             (0x28)                                        /**<  (SERCOM_I2CS_DATA) I2CS Data  Offset */
+#define SERCOM_I2CS_DATA_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_I2CS_DATA) I2CS Data  Reset Value */
+
+#define SERCOM_I2CS_DATA_DATA_Pos           0                                              /**< (SERCOM_I2CS_DATA) Data Value Position */
+#define SERCOM_I2CS_DATA_DATA_Msk           (_U_(0xFF) << SERCOM_I2CS_DATA_DATA_Pos)       /**< (SERCOM_I2CS_DATA) Data Value Mask */
+#define SERCOM_I2CS_DATA_DATA(value)        (SERCOM_I2CS_DATA_DATA_Msk & ((value) << SERCOM_I2CS_DATA_DATA_Pos))
+#define SERCOM_I2CS_DATA_MASK               _U_(0xFF)                                      /**< \deprecated (SERCOM_I2CS_DATA) Register MASK  (Use SERCOM_I2CS_DATA_Msk instead)  */
+#define SERCOM_I2CS_DATA_Msk                _U_(0xFF)                                      /**< (SERCOM_I2CS_DATA) Register Mask  */
+
+
+/* -------- SERCOM_SPI_DATA : (SERCOM Offset: 0x28) (R/W 32) SPI Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:9;                    /**< bit:   0..8  Data Value                               */
+    uint32_t :23;                       /**< bit:  9..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_DATA_OFFSET              (0x28)                                        /**<  (SERCOM_SPI_DATA) SPI Data  Offset */
+#define SERCOM_SPI_DATA_RESETVALUE          _U_(0x00)                                     /**<  (SERCOM_SPI_DATA) SPI Data  Reset Value */
+
+#define SERCOM_SPI_DATA_DATA_Pos            0                                              /**< (SERCOM_SPI_DATA) Data Value Position */
+#define SERCOM_SPI_DATA_DATA_Msk            (_U_(0x1FF) << SERCOM_SPI_DATA_DATA_Pos)       /**< (SERCOM_SPI_DATA) Data Value Mask */
+#define SERCOM_SPI_DATA_DATA(value)         (SERCOM_SPI_DATA_DATA_Msk & ((value) << SERCOM_SPI_DATA_DATA_Pos))
+#define SERCOM_SPI_DATA_MASK                _U_(0x1FF)                                     /**< \deprecated (SERCOM_SPI_DATA) Register MASK  (Use SERCOM_SPI_DATA_Msk instead)  */
+#define SERCOM_SPI_DATA_Msk                 _U_(0x1FF)                                     /**< (SERCOM_SPI_DATA) Register Mask  */
+
+
+/* -------- SERCOM_USART_DATA : (SERCOM Offset: 0x28) (R/W 16) USART Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t DATA:9;                    /**< bit:   0..8  Data Value                               */
+    uint16_t :7;                        /**< bit:  9..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_USART_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_DATA_OFFSET            (0x28)                                        /**<  (SERCOM_USART_DATA) USART Data  Offset */
+#define SERCOM_USART_DATA_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_USART_DATA) USART Data  Reset Value */
+
+#define SERCOM_USART_DATA_DATA_Pos          0                                              /**< (SERCOM_USART_DATA) Data Value Position */
+#define SERCOM_USART_DATA_DATA_Msk          (_U_(0x1FF) << SERCOM_USART_DATA_DATA_Pos)     /**< (SERCOM_USART_DATA) Data Value Mask */
+#define SERCOM_USART_DATA_DATA(value)       (SERCOM_USART_DATA_DATA_Msk & ((value) << SERCOM_USART_DATA_DATA_Pos))
+#define SERCOM_USART_DATA_MASK              _U_(0x1FF)                                     /**< \deprecated (SERCOM_USART_DATA) Register MASK  (Use SERCOM_USART_DATA_Msk instead)  */
+#define SERCOM_USART_DATA_Msk               _U_(0x1FF)                                     /**< (SERCOM_USART_DATA) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_DBGCTRL : (SERCOM Offset: 0x30) (R/W 8) I2CM Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DBGSTOP:1;                 /**< bit:      0  Debug Mode                               */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CM_DBGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_DBGCTRL_OFFSET          (0x30)                                        /**<  (SERCOM_I2CM_DBGCTRL) I2CM Debug Control  Offset */
+#define SERCOM_I2CM_DBGCTRL_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_I2CM_DBGCTRL) I2CM Debug Control  Reset Value */
+
+#define SERCOM_I2CM_DBGCTRL_DBGSTOP_Pos     0                                              /**< (SERCOM_I2CM_DBGCTRL) Debug Mode Position */
+#define SERCOM_I2CM_DBGCTRL_DBGSTOP_Msk     (_U_(0x1) << SERCOM_I2CM_DBGCTRL_DBGSTOP_Pos)  /**< (SERCOM_I2CM_DBGCTRL) Debug Mode Mask */
+#define SERCOM_I2CM_DBGCTRL_DBGSTOP         SERCOM_I2CM_DBGCTRL_DBGSTOP_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_DBGCTRL_DBGSTOP_Msk instead */
+#define SERCOM_I2CM_DBGCTRL_MASK            _U_(0x01)                                      /**< \deprecated (SERCOM_I2CM_DBGCTRL) Register MASK  (Use SERCOM_I2CM_DBGCTRL_Msk instead)  */
+#define SERCOM_I2CM_DBGCTRL_Msk             _U_(0x01)                                      /**< (SERCOM_I2CM_DBGCTRL) Register Mask  */
+
+
+/* -------- SERCOM_SPI_DBGCTRL : (SERCOM Offset: 0x30) (R/W 8) SPI Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DBGSTOP:1;                 /**< bit:      0  Debug Mode                               */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_SPI_DBGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_DBGCTRL_OFFSET           (0x30)                                        /**<  (SERCOM_SPI_DBGCTRL) SPI Debug Control  Offset */
+#define SERCOM_SPI_DBGCTRL_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_SPI_DBGCTRL) SPI Debug Control  Reset Value */
+
+#define SERCOM_SPI_DBGCTRL_DBGSTOP_Pos      0                                              /**< (SERCOM_SPI_DBGCTRL) Debug Mode Position */
+#define SERCOM_SPI_DBGCTRL_DBGSTOP_Msk      (_U_(0x1) << SERCOM_SPI_DBGCTRL_DBGSTOP_Pos)   /**< (SERCOM_SPI_DBGCTRL) Debug Mode Mask */
+#define SERCOM_SPI_DBGCTRL_DBGSTOP          SERCOM_SPI_DBGCTRL_DBGSTOP_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_DBGCTRL_DBGSTOP_Msk instead */
+#define SERCOM_SPI_DBGCTRL_MASK             _U_(0x01)                                      /**< \deprecated (SERCOM_SPI_DBGCTRL) Register MASK  (Use SERCOM_SPI_DBGCTRL_Msk instead)  */
+#define SERCOM_SPI_DBGCTRL_Msk              _U_(0x01)                                      /**< (SERCOM_SPI_DBGCTRL) Register Mask  */
+
+
+/* -------- SERCOM_USART_DBGCTRL : (SERCOM Offset: 0x30) (R/W 8) USART Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DBGSTOP:1;                 /**< bit:      0  Debug Mode                               */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_DBGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_DBGCTRL_OFFSET         (0x30)                                        /**<  (SERCOM_USART_DBGCTRL) USART Debug Control  Offset */
+#define SERCOM_USART_DBGCTRL_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_USART_DBGCTRL) USART Debug Control  Reset Value */
+
+#define SERCOM_USART_DBGCTRL_DBGSTOP_Pos    0                                              /**< (SERCOM_USART_DBGCTRL) Debug Mode Position */
+#define SERCOM_USART_DBGCTRL_DBGSTOP_Msk    (_U_(0x1) << SERCOM_USART_DBGCTRL_DBGSTOP_Pos)  /**< (SERCOM_USART_DBGCTRL) Debug Mode Mask */
+#define SERCOM_USART_DBGCTRL_DBGSTOP        SERCOM_USART_DBGCTRL_DBGSTOP_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_DBGCTRL_DBGSTOP_Msk instead */
+#define SERCOM_USART_DBGCTRL_MASK           _U_(0x01)                                      /**< \deprecated (SERCOM_USART_DBGCTRL) Register MASK  (Use SERCOM_USART_DBGCTRL_Msk instead)  */
+#define SERCOM_USART_DBGCTRL_Msk            _U_(0x01)                                      /**< (SERCOM_USART_DBGCTRL) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief SERCOM hardware registers */
+typedef struct {  /* Serial Communication Interface */
+  __IO SERCOM_I2CM_CTRLA_Type         CTRLA;          /**< Offset: 0x00 (R/W  32) I2CM Control A */
+  __IO SERCOM_I2CM_CTRLB_Type         CTRLB;          /**< Offset: 0x04 (R/W  32) I2CM Control B */
+  __I  uint8_t                        Reserved1[4];
+  __IO SERCOM_I2CM_BAUD_Type          BAUD;           /**< Offset: 0x0C (R/W  32) I2CM Baud Rate */
+  __I  uint8_t                        Reserved2[4];
+  __IO SERCOM_I2CM_INTENCLR_Type      INTENCLR;       /**< Offset: 0x14 (R/W   8) I2CM Interrupt Enable Clear */
+  __I  uint8_t                        Reserved3[1];
+  __IO SERCOM_I2CM_INTENSET_Type      INTENSET;       /**< Offset: 0x16 (R/W   8) I2CM Interrupt Enable Set */
+  __I  uint8_t                        Reserved4[1];
+  __IO SERCOM_I2CM_INTFLAG_Type       INTFLAG;        /**< Offset: 0x18 (R/W   8) I2CM Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved5[1];
+  __IO SERCOM_I2CM_STATUS_Type        STATUS;         /**< Offset: 0x1A (R/W  16) I2CM Status */
+  __I  SERCOM_I2CM_SYNCBUSY_Type      SYNCBUSY;       /**< Offset: 0x1C (R/   32) I2CM Synchronization Busy */
+  __I  uint8_t                        Reserved6[4];
+  __IO SERCOM_I2CM_ADDR_Type          ADDR;           /**< Offset: 0x24 (R/W  32) I2CM Address */
+  __IO SERCOM_I2CM_DATA_Type          DATA;           /**< Offset: 0x28 (R/W   8) I2CM Data */
+  __I  uint8_t                        Reserved7[7];
+  __IO SERCOM_I2CM_DBGCTRL_Type       DBGCTRL;        /**< Offset: 0x30 (R/W   8) I2CM Debug Control */
+} SercomI2cm;
+
+/** \brief SERCOM hardware registers */
+typedef struct {  /* Serial Communication Interface */
+  __IO SERCOM_I2CS_CTRLA_Type         CTRLA;          /**< Offset: 0x00 (R/W  32) I2CS Control A */
+  __IO SERCOM_I2CS_CTRLB_Type         CTRLB;          /**< Offset: 0x04 (R/W  32) I2CS Control B */
+  __I  uint8_t                        Reserved1[12];
+  __IO SERCOM_I2CS_INTENCLR_Type      INTENCLR;       /**< Offset: 0x14 (R/W   8) I2CS Interrupt Enable Clear */
+  __I  uint8_t                        Reserved2[1];
+  __IO SERCOM_I2CS_INTENSET_Type      INTENSET;       /**< Offset: 0x16 (R/W   8) I2CS Interrupt Enable Set */
+  __I  uint8_t                        Reserved3[1];
+  __IO SERCOM_I2CS_INTFLAG_Type       INTFLAG;        /**< Offset: 0x18 (R/W   8) I2CS Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved4[1];
+  __IO SERCOM_I2CS_STATUS_Type        STATUS;         /**< Offset: 0x1A (R/W  16) I2CS Status */
+  __I  SERCOM_I2CS_SYNCBUSY_Type      SYNCBUSY;       /**< Offset: 0x1C (R/   32) I2CS Synchronization Busy */
+  __I  uint8_t                        Reserved5[4];
+  __IO SERCOM_I2CS_ADDR_Type          ADDR;           /**< Offset: 0x24 (R/W  32) I2CS Address */
+  __IO SERCOM_I2CS_DATA_Type          DATA;           /**< Offset: 0x28 (R/W   8) I2CS Data */
+} SercomI2cs;
+
+/** \brief SERCOM hardware registers */
+typedef struct {  /* Serial Communication Interface */
+  __IO SERCOM_SPI_CTRLA_Type          CTRLA;          /**< Offset: 0x00 (R/W  32) SPI Control A */
+  __IO SERCOM_SPI_CTRLB_Type          CTRLB;          /**< Offset: 0x04 (R/W  32) SPI Control B */
+  __I  uint8_t                        Reserved1[4];
+  __IO SERCOM_SPI_BAUD_Type           BAUD;           /**< Offset: 0x0C (R/W   8) SPI Baud Rate */
+  __I  uint8_t                        Reserved2[7];
+  __IO SERCOM_SPI_INTENCLR_Type       INTENCLR;       /**< Offset: 0x14 (R/W   8) SPI Interrupt Enable Clear */
+  __I  uint8_t                        Reserved3[1];
+  __IO SERCOM_SPI_INTENSET_Type       INTENSET;       /**< Offset: 0x16 (R/W   8) SPI Interrupt Enable Set */
+  __I  uint8_t                        Reserved4[1];
+  __IO SERCOM_SPI_INTFLAG_Type        INTFLAG;        /**< Offset: 0x18 (R/W   8) SPI Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved5[1];
+  __IO SERCOM_SPI_STATUS_Type         STATUS;         /**< Offset: 0x1A (R/W  16) SPI Status */
+  __I  SERCOM_SPI_SYNCBUSY_Type       SYNCBUSY;       /**< Offset: 0x1C (R/   32) SPI Synchronization Busy */
+  __I  uint8_t                        Reserved6[4];
+  __IO SERCOM_SPI_ADDR_Type           ADDR;           /**< Offset: 0x24 (R/W  32) SPI Address */
+  __IO SERCOM_SPI_DATA_Type           DATA;           /**< Offset: 0x28 (R/W  32) SPI Data */
+  __I  uint8_t                        Reserved7[4];
+  __IO SERCOM_SPI_DBGCTRL_Type        DBGCTRL;        /**< Offset: 0x30 (R/W   8) SPI Debug Control */
+} SercomSpi;
+
+/** \brief SERCOM hardware registers */
+typedef struct {  /* Serial Communication Interface */
+  __IO SERCOM_USART_CTRLA_Type        CTRLA;          /**< Offset: 0x00 (R/W  32) USART Control A */
+  __IO SERCOM_USART_CTRLB_Type        CTRLB;          /**< Offset: 0x04 (R/W  32) USART Control B */
+  __IO SERCOM_USART_CTRLC_Type        CTRLC;          /**< Offset: 0x08 (R/W  32) USART Control C */
+  __IO SERCOM_USART_BAUD_Type         BAUD;           /**< Offset: 0x0C (R/W  16) USART Baud Rate */
+  __IO SERCOM_USART_RXPL_Type         RXPL;           /**< Offset: 0x0E (R/W   8) USART Receive Pulse Length */
+  __I  uint8_t                        Reserved1[5];
+  __IO SERCOM_USART_INTENCLR_Type     INTENCLR;       /**< Offset: 0x14 (R/W   8) USART Interrupt Enable Clear */
+  __I  uint8_t                        Reserved2[1];
+  __IO SERCOM_USART_INTENSET_Type     INTENSET;       /**< Offset: 0x16 (R/W   8) USART Interrupt Enable Set */
+  __I  uint8_t                        Reserved3[1];
+  __IO SERCOM_USART_INTFLAG_Type      INTFLAG;        /**< Offset: 0x18 (R/W   8) USART Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved4[1];
+  __IO SERCOM_USART_STATUS_Type       STATUS;         /**< Offset: 0x1A (R/W  16) USART Status */
+  __I  SERCOM_USART_SYNCBUSY_Type     SYNCBUSY;       /**< Offset: 0x1C (R/   32) USART Synchronization Busy */
+  __I  SERCOM_USART_RXERRCNT_Type     RXERRCNT;       /**< Offset: 0x20 (R/    8) USART Receive Error Count */
+  __I  uint8_t                        Reserved5[7];
+  __IO SERCOM_USART_DATA_Type         DATA;           /**< Offset: 0x28 (R/W  16) USART Data */
+  __I  uint8_t                        Reserved6[6];
+  __IO SERCOM_USART_DBGCTRL_Type      DBGCTRL;        /**< Offset: 0x30 (R/W   8) USART Debug Control */
+} SercomUsart;
+
+/** \brief SERCOM hardware registers */
+typedef union {  /* Serial Communication Interface */
+       SercomI2cm                     I2CM;           /**< I2C Master Mode */
+       SercomI2cs                     I2CS;           /**< I2C Slave Mode */
+       SercomSpi                      SPI;            /**< SPI Mode */
+       SercomUsart                    USART;          /**< USART Mode */
+} Sercom;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Serial Communication Interface */
+
+#endif /* _SAML10_SERCOM_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/supc.h b/cpu/sam0_common/include/vendor/saml10/include/component/supc.h
new file mode 100644
index 0000000000..f1af2195df
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/supc.h
@@ -0,0 +1,653 @@
+/**
+ * \file
+ *
+ * \brief Component description for SUPC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_SUPC_COMPONENT_H_
+#define _SAML10_SUPC_COMPONENT_H_
+#define _SAML10_SUPC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Supply Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR SUPC */
+/* ========================================================================== */
+
+#define SUPC_U2117                      /**< (SUPC) Module ID */
+#define REV_SUPC 0x400                  /**< (SUPC) Module revision */
+
+/* -------- SUPC_INTENCLR : (SUPC Offset: 0x00) (R/W 32) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BOD33RDY:1;                /**< bit:      0  BOD33 Ready                              */
+    uint32_t BOD33DET:1;                /**< bit:      1  BOD33 Detection                          */
+    uint32_t B33SRDY:1;                 /**< bit:      2  BOD33 Synchronization Ready              */
+    uint32_t BOD12RDY:1;                /**< bit:      3  BOD12 Ready                              */
+    uint32_t BOD12DET:1;                /**< bit:      4  BOD12 Detection                          */
+    uint32_t B12SRDY:1;                 /**< bit:      5  BOD12 Synchronization Ready              */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t VREGRDY:1;                 /**< bit:      8  Voltage Regulator Ready                  */
+    uint32_t :1;                        /**< bit:      9  Reserved */
+    uint32_t VCORERDY:1;                /**< bit:     10  VDDCORE Ready                            */
+    uint32_t ULPVREFRDY:1;              /**< bit:     11  ULPVREF Voltage Reference Ready          */
+    uint32_t :20;                       /**< bit: 12..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_INTENCLR_OFFSET                (0x00)                                        /**<  (SUPC_INTENCLR) Interrupt Enable Clear  Offset */
+#define SUPC_INTENCLR_RESETVALUE            _U_(0x00)                                     /**<  (SUPC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define SUPC_INTENCLR_BOD33RDY_Pos          0                                              /**< (SUPC_INTENCLR) BOD33 Ready Position */
+#define SUPC_INTENCLR_BOD33RDY_Msk          (_U_(0x1) << SUPC_INTENCLR_BOD33RDY_Pos)       /**< (SUPC_INTENCLR) BOD33 Ready Mask */
+#define SUPC_INTENCLR_BOD33RDY              SUPC_INTENCLR_BOD33RDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD33RDY_Msk instead */
+#define SUPC_INTENCLR_BOD33DET_Pos          1                                              /**< (SUPC_INTENCLR) BOD33 Detection Position */
+#define SUPC_INTENCLR_BOD33DET_Msk          (_U_(0x1) << SUPC_INTENCLR_BOD33DET_Pos)       /**< (SUPC_INTENCLR) BOD33 Detection Mask */
+#define SUPC_INTENCLR_BOD33DET              SUPC_INTENCLR_BOD33DET_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD33DET_Msk instead */
+#define SUPC_INTENCLR_B33SRDY_Pos           2                                              /**< (SUPC_INTENCLR) BOD33 Synchronization Ready Position */
+#define SUPC_INTENCLR_B33SRDY_Msk           (_U_(0x1) << SUPC_INTENCLR_B33SRDY_Pos)        /**< (SUPC_INTENCLR) BOD33 Synchronization Ready Mask */
+#define SUPC_INTENCLR_B33SRDY               SUPC_INTENCLR_B33SRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_B33SRDY_Msk instead */
+#define SUPC_INTENCLR_BOD12RDY_Pos          3                                              /**< (SUPC_INTENCLR) BOD12 Ready Position */
+#define SUPC_INTENCLR_BOD12RDY_Msk          (_U_(0x1) << SUPC_INTENCLR_BOD12RDY_Pos)       /**< (SUPC_INTENCLR) BOD12 Ready Mask */
+#define SUPC_INTENCLR_BOD12RDY              SUPC_INTENCLR_BOD12RDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD12RDY_Msk instead */
+#define SUPC_INTENCLR_BOD12DET_Pos          4                                              /**< (SUPC_INTENCLR) BOD12 Detection Position */
+#define SUPC_INTENCLR_BOD12DET_Msk          (_U_(0x1) << SUPC_INTENCLR_BOD12DET_Pos)       /**< (SUPC_INTENCLR) BOD12 Detection Mask */
+#define SUPC_INTENCLR_BOD12DET              SUPC_INTENCLR_BOD12DET_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD12DET_Msk instead */
+#define SUPC_INTENCLR_B12SRDY_Pos           5                                              /**< (SUPC_INTENCLR) BOD12 Synchronization Ready Position */
+#define SUPC_INTENCLR_B12SRDY_Msk           (_U_(0x1) << SUPC_INTENCLR_B12SRDY_Pos)        /**< (SUPC_INTENCLR) BOD12 Synchronization Ready Mask */
+#define SUPC_INTENCLR_B12SRDY               SUPC_INTENCLR_B12SRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_B12SRDY_Msk instead */
+#define SUPC_INTENCLR_VREGRDY_Pos           8                                              /**< (SUPC_INTENCLR) Voltage Regulator Ready Position */
+#define SUPC_INTENCLR_VREGRDY_Msk           (_U_(0x1) << SUPC_INTENCLR_VREGRDY_Pos)        /**< (SUPC_INTENCLR) Voltage Regulator Ready Mask */
+#define SUPC_INTENCLR_VREGRDY               SUPC_INTENCLR_VREGRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_VREGRDY_Msk instead */
+#define SUPC_INTENCLR_VCORERDY_Pos          10                                             /**< (SUPC_INTENCLR) VDDCORE Ready Position */
+#define SUPC_INTENCLR_VCORERDY_Msk          (_U_(0x1) << SUPC_INTENCLR_VCORERDY_Pos)       /**< (SUPC_INTENCLR) VDDCORE Ready Mask */
+#define SUPC_INTENCLR_VCORERDY              SUPC_INTENCLR_VCORERDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_VCORERDY_Msk instead */
+#define SUPC_INTENCLR_ULPVREFRDY_Pos        11                                             /**< (SUPC_INTENCLR) ULPVREF Voltage Reference Ready Position */
+#define SUPC_INTENCLR_ULPVREFRDY_Msk        (_U_(0x1) << SUPC_INTENCLR_ULPVREFRDY_Pos)     /**< (SUPC_INTENCLR) ULPVREF Voltage Reference Ready Mask */
+#define SUPC_INTENCLR_ULPVREFRDY            SUPC_INTENCLR_ULPVREFRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_ULPVREFRDY_Msk instead */
+#define SUPC_INTENCLR_MASK                  _U_(0xD3F)                                     /**< \deprecated (SUPC_INTENCLR) Register MASK  (Use SUPC_INTENCLR_Msk instead)  */
+#define SUPC_INTENCLR_Msk                   _U_(0xD3F)                                     /**< (SUPC_INTENCLR) Register Mask  */
+
+
+/* -------- SUPC_INTENSET : (SUPC Offset: 0x04) (R/W 32) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BOD33RDY:1;                /**< bit:      0  BOD33 Ready                              */
+    uint32_t BOD33DET:1;                /**< bit:      1  BOD33 Detection                          */
+    uint32_t B33SRDY:1;                 /**< bit:      2  BOD33 Synchronization Ready              */
+    uint32_t BOD12RDY:1;                /**< bit:      3  BOD12 Ready                              */
+    uint32_t BOD12DET:1;                /**< bit:      4  BOD12 Detection                          */
+    uint32_t B12SRDY:1;                 /**< bit:      5  BOD12 Synchronization Ready              */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t VREGRDY:1;                 /**< bit:      8  Voltage Regulator Ready                  */
+    uint32_t :1;                        /**< bit:      9  Reserved */
+    uint32_t VCORERDY:1;                /**< bit:     10  VDDCORE Ready                            */
+    uint32_t ULPVREFRDY:1;              /**< bit:     11  ULPVREF Voltage Reference Ready          */
+    uint32_t :20;                       /**< bit: 12..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_INTENSET_OFFSET                (0x04)                                        /**<  (SUPC_INTENSET) Interrupt Enable Set  Offset */
+#define SUPC_INTENSET_RESETVALUE            _U_(0x00)                                     /**<  (SUPC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define SUPC_INTENSET_BOD33RDY_Pos          0                                              /**< (SUPC_INTENSET) BOD33 Ready Position */
+#define SUPC_INTENSET_BOD33RDY_Msk          (_U_(0x1) << SUPC_INTENSET_BOD33RDY_Pos)       /**< (SUPC_INTENSET) BOD33 Ready Mask */
+#define SUPC_INTENSET_BOD33RDY              SUPC_INTENSET_BOD33RDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD33RDY_Msk instead */
+#define SUPC_INTENSET_BOD33DET_Pos          1                                              /**< (SUPC_INTENSET) BOD33 Detection Position */
+#define SUPC_INTENSET_BOD33DET_Msk          (_U_(0x1) << SUPC_INTENSET_BOD33DET_Pos)       /**< (SUPC_INTENSET) BOD33 Detection Mask */
+#define SUPC_INTENSET_BOD33DET              SUPC_INTENSET_BOD33DET_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD33DET_Msk instead */
+#define SUPC_INTENSET_B33SRDY_Pos           2                                              /**< (SUPC_INTENSET) BOD33 Synchronization Ready Position */
+#define SUPC_INTENSET_B33SRDY_Msk           (_U_(0x1) << SUPC_INTENSET_B33SRDY_Pos)        /**< (SUPC_INTENSET) BOD33 Synchronization Ready Mask */
+#define SUPC_INTENSET_B33SRDY               SUPC_INTENSET_B33SRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_B33SRDY_Msk instead */
+#define SUPC_INTENSET_BOD12RDY_Pos          3                                              /**< (SUPC_INTENSET) BOD12 Ready Position */
+#define SUPC_INTENSET_BOD12RDY_Msk          (_U_(0x1) << SUPC_INTENSET_BOD12RDY_Pos)       /**< (SUPC_INTENSET) BOD12 Ready Mask */
+#define SUPC_INTENSET_BOD12RDY              SUPC_INTENSET_BOD12RDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD12RDY_Msk instead */
+#define SUPC_INTENSET_BOD12DET_Pos          4                                              /**< (SUPC_INTENSET) BOD12 Detection Position */
+#define SUPC_INTENSET_BOD12DET_Msk          (_U_(0x1) << SUPC_INTENSET_BOD12DET_Pos)       /**< (SUPC_INTENSET) BOD12 Detection Mask */
+#define SUPC_INTENSET_BOD12DET              SUPC_INTENSET_BOD12DET_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD12DET_Msk instead */
+#define SUPC_INTENSET_B12SRDY_Pos           5                                              /**< (SUPC_INTENSET) BOD12 Synchronization Ready Position */
+#define SUPC_INTENSET_B12SRDY_Msk           (_U_(0x1) << SUPC_INTENSET_B12SRDY_Pos)        /**< (SUPC_INTENSET) BOD12 Synchronization Ready Mask */
+#define SUPC_INTENSET_B12SRDY               SUPC_INTENSET_B12SRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_B12SRDY_Msk instead */
+#define SUPC_INTENSET_VREGRDY_Pos           8                                              /**< (SUPC_INTENSET) Voltage Regulator Ready Position */
+#define SUPC_INTENSET_VREGRDY_Msk           (_U_(0x1) << SUPC_INTENSET_VREGRDY_Pos)        /**< (SUPC_INTENSET) Voltage Regulator Ready Mask */
+#define SUPC_INTENSET_VREGRDY               SUPC_INTENSET_VREGRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_VREGRDY_Msk instead */
+#define SUPC_INTENSET_VCORERDY_Pos          10                                             /**< (SUPC_INTENSET) VDDCORE Ready Position */
+#define SUPC_INTENSET_VCORERDY_Msk          (_U_(0x1) << SUPC_INTENSET_VCORERDY_Pos)       /**< (SUPC_INTENSET) VDDCORE Ready Mask */
+#define SUPC_INTENSET_VCORERDY              SUPC_INTENSET_VCORERDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_VCORERDY_Msk instead */
+#define SUPC_INTENSET_ULPVREFRDY_Pos        11                                             /**< (SUPC_INTENSET) ULPVREF Voltage Reference Ready Position */
+#define SUPC_INTENSET_ULPVREFRDY_Msk        (_U_(0x1) << SUPC_INTENSET_ULPVREFRDY_Pos)     /**< (SUPC_INTENSET) ULPVREF Voltage Reference Ready Mask */
+#define SUPC_INTENSET_ULPVREFRDY            SUPC_INTENSET_ULPVREFRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_ULPVREFRDY_Msk instead */
+#define SUPC_INTENSET_MASK                  _U_(0xD3F)                                     /**< \deprecated (SUPC_INTENSET) Register MASK  (Use SUPC_INTENSET_Msk instead)  */
+#define SUPC_INTENSET_Msk                   _U_(0xD3F)                                     /**< (SUPC_INTENSET) Register Mask  */
+
+
+/* -------- SUPC_INTFLAG : (SUPC Offset: 0x08) (R/W 32) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t BOD33RDY:1;                /**< bit:      0  BOD33 Ready                              */
+    __I uint32_t BOD33DET:1;                /**< bit:      1  BOD33 Detection                          */
+    __I uint32_t B33SRDY:1;                 /**< bit:      2  BOD33 Synchronization Ready              */
+    __I uint32_t BOD12RDY:1;                /**< bit:      3  BOD12 Ready                              */
+    __I uint32_t BOD12DET:1;                /**< bit:      4  BOD12 Detection                          */
+    __I uint32_t B12SRDY:1;                 /**< bit:      5  BOD12 Synchronization Ready              */
+    __I uint32_t :2;                        /**< bit:   6..7  Reserved */
+    __I uint32_t VREGRDY:1;                 /**< bit:      8  Voltage Regulator Ready                  */
+    __I uint32_t :1;                        /**< bit:      9  Reserved */
+    __I uint32_t VCORERDY:1;                /**< bit:     10  VDDCORE Ready                            */
+    __I uint32_t ULPVREFRDY:1;              /**< bit:     11  ULPVREF Voltage Reference Ready          */
+    __I uint32_t :20;                       /**< bit: 12..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_INTFLAG_OFFSET                 (0x08)                                        /**<  (SUPC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define SUPC_INTFLAG_RESETVALUE             _U_(0x00)                                     /**<  (SUPC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define SUPC_INTFLAG_BOD33RDY_Pos           0                                              /**< (SUPC_INTFLAG) BOD33 Ready Position */
+#define SUPC_INTFLAG_BOD33RDY_Msk           (_U_(0x1) << SUPC_INTFLAG_BOD33RDY_Pos)        /**< (SUPC_INTFLAG) BOD33 Ready Mask */
+#define SUPC_INTFLAG_BOD33RDY               SUPC_INTFLAG_BOD33RDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD33RDY_Msk instead */
+#define SUPC_INTFLAG_BOD33DET_Pos           1                                              /**< (SUPC_INTFLAG) BOD33 Detection Position */
+#define SUPC_INTFLAG_BOD33DET_Msk           (_U_(0x1) << SUPC_INTFLAG_BOD33DET_Pos)        /**< (SUPC_INTFLAG) BOD33 Detection Mask */
+#define SUPC_INTFLAG_BOD33DET               SUPC_INTFLAG_BOD33DET_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD33DET_Msk instead */
+#define SUPC_INTFLAG_B33SRDY_Pos            2                                              /**< (SUPC_INTFLAG) BOD33 Synchronization Ready Position */
+#define SUPC_INTFLAG_B33SRDY_Msk            (_U_(0x1) << SUPC_INTFLAG_B33SRDY_Pos)         /**< (SUPC_INTFLAG) BOD33 Synchronization Ready Mask */
+#define SUPC_INTFLAG_B33SRDY                SUPC_INTFLAG_B33SRDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_B33SRDY_Msk instead */
+#define SUPC_INTFLAG_BOD12RDY_Pos           3                                              /**< (SUPC_INTFLAG) BOD12 Ready Position */
+#define SUPC_INTFLAG_BOD12RDY_Msk           (_U_(0x1) << SUPC_INTFLAG_BOD12RDY_Pos)        /**< (SUPC_INTFLAG) BOD12 Ready Mask */
+#define SUPC_INTFLAG_BOD12RDY               SUPC_INTFLAG_BOD12RDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD12RDY_Msk instead */
+#define SUPC_INTFLAG_BOD12DET_Pos           4                                              /**< (SUPC_INTFLAG) BOD12 Detection Position */
+#define SUPC_INTFLAG_BOD12DET_Msk           (_U_(0x1) << SUPC_INTFLAG_BOD12DET_Pos)        /**< (SUPC_INTFLAG) BOD12 Detection Mask */
+#define SUPC_INTFLAG_BOD12DET               SUPC_INTFLAG_BOD12DET_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD12DET_Msk instead */
+#define SUPC_INTFLAG_B12SRDY_Pos            5                                              /**< (SUPC_INTFLAG) BOD12 Synchronization Ready Position */
+#define SUPC_INTFLAG_B12SRDY_Msk            (_U_(0x1) << SUPC_INTFLAG_B12SRDY_Pos)         /**< (SUPC_INTFLAG) BOD12 Synchronization Ready Mask */
+#define SUPC_INTFLAG_B12SRDY                SUPC_INTFLAG_B12SRDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_B12SRDY_Msk instead */
+#define SUPC_INTFLAG_VREGRDY_Pos            8                                              /**< (SUPC_INTFLAG) Voltage Regulator Ready Position */
+#define SUPC_INTFLAG_VREGRDY_Msk            (_U_(0x1) << SUPC_INTFLAG_VREGRDY_Pos)         /**< (SUPC_INTFLAG) Voltage Regulator Ready Mask */
+#define SUPC_INTFLAG_VREGRDY                SUPC_INTFLAG_VREGRDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_VREGRDY_Msk instead */
+#define SUPC_INTFLAG_VCORERDY_Pos           10                                             /**< (SUPC_INTFLAG) VDDCORE Ready Position */
+#define SUPC_INTFLAG_VCORERDY_Msk           (_U_(0x1) << SUPC_INTFLAG_VCORERDY_Pos)        /**< (SUPC_INTFLAG) VDDCORE Ready Mask */
+#define SUPC_INTFLAG_VCORERDY               SUPC_INTFLAG_VCORERDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_VCORERDY_Msk instead */
+#define SUPC_INTFLAG_ULPVREFRDY_Pos         11                                             /**< (SUPC_INTFLAG) ULPVREF Voltage Reference Ready Position */
+#define SUPC_INTFLAG_ULPVREFRDY_Msk         (_U_(0x1) << SUPC_INTFLAG_ULPVREFRDY_Pos)      /**< (SUPC_INTFLAG) ULPVREF Voltage Reference Ready Mask */
+#define SUPC_INTFLAG_ULPVREFRDY             SUPC_INTFLAG_ULPVREFRDY_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_ULPVREFRDY_Msk instead */
+#define SUPC_INTFLAG_MASK                   _U_(0xD3F)                                     /**< \deprecated (SUPC_INTFLAG) Register MASK  (Use SUPC_INTFLAG_Msk instead)  */
+#define SUPC_INTFLAG_Msk                    _U_(0xD3F)                                     /**< (SUPC_INTFLAG) Register Mask  */
+
+
+/* -------- SUPC_STATUS : (SUPC Offset: 0x0c) (R/ 32) Power and Clocks Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BOD33RDY:1;                /**< bit:      0  BOD33 Ready                              */
+    uint32_t BOD33DET:1;                /**< bit:      1  BOD33 Detection                          */
+    uint32_t B33SRDY:1;                 /**< bit:      2  BOD33 Synchronization Ready              */
+    uint32_t BOD12RDY:1;                /**< bit:      3  BOD12 Ready                              */
+    uint32_t BOD12DET:1;                /**< bit:      4  BOD12 Detection                          */
+    uint32_t B12SRDY:1;                 /**< bit:      5  BOD12 Synchronization Ready              */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t VREGRDY:1;                 /**< bit:      8  Voltage Regulator Ready                  */
+    uint32_t :1;                        /**< bit:      9  Reserved */
+    uint32_t VCORERDY:1;                /**< bit:     10  VDDCORE Ready                            */
+    uint32_t :1;                        /**< bit:     11  Reserved */
+    uint32_t ULPVREFRDY:1;              /**< bit:     12  Low Power Voltage Reference Ready        */
+    uint32_t ULPBIASRDY:1;              /**< bit:     13  Low Power Voltage Bias Ready             */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_STATUS_OFFSET                  (0x0C)                                        /**<  (SUPC_STATUS) Power and Clocks Status  Offset */
+#define SUPC_STATUS_RESETVALUE              _U_(0x00)                                     /**<  (SUPC_STATUS) Power and Clocks Status  Reset Value */
+
+#define SUPC_STATUS_BOD33RDY_Pos            0                                              /**< (SUPC_STATUS) BOD33 Ready Position */
+#define SUPC_STATUS_BOD33RDY_Msk            (_U_(0x1) << SUPC_STATUS_BOD33RDY_Pos)         /**< (SUPC_STATUS) BOD33 Ready Mask */
+#define SUPC_STATUS_BOD33RDY                SUPC_STATUS_BOD33RDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD33RDY_Msk instead */
+#define SUPC_STATUS_BOD33DET_Pos            1                                              /**< (SUPC_STATUS) BOD33 Detection Position */
+#define SUPC_STATUS_BOD33DET_Msk            (_U_(0x1) << SUPC_STATUS_BOD33DET_Pos)         /**< (SUPC_STATUS) BOD33 Detection Mask */
+#define SUPC_STATUS_BOD33DET                SUPC_STATUS_BOD33DET_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD33DET_Msk instead */
+#define SUPC_STATUS_B33SRDY_Pos             2                                              /**< (SUPC_STATUS) BOD33 Synchronization Ready Position */
+#define SUPC_STATUS_B33SRDY_Msk             (_U_(0x1) << SUPC_STATUS_B33SRDY_Pos)          /**< (SUPC_STATUS) BOD33 Synchronization Ready Mask */
+#define SUPC_STATUS_B33SRDY                 SUPC_STATUS_B33SRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_B33SRDY_Msk instead */
+#define SUPC_STATUS_BOD12RDY_Pos            3                                              /**< (SUPC_STATUS) BOD12 Ready Position */
+#define SUPC_STATUS_BOD12RDY_Msk            (_U_(0x1) << SUPC_STATUS_BOD12RDY_Pos)         /**< (SUPC_STATUS) BOD12 Ready Mask */
+#define SUPC_STATUS_BOD12RDY                SUPC_STATUS_BOD12RDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD12RDY_Msk instead */
+#define SUPC_STATUS_BOD12DET_Pos            4                                              /**< (SUPC_STATUS) BOD12 Detection Position */
+#define SUPC_STATUS_BOD12DET_Msk            (_U_(0x1) << SUPC_STATUS_BOD12DET_Pos)         /**< (SUPC_STATUS) BOD12 Detection Mask */
+#define SUPC_STATUS_BOD12DET                SUPC_STATUS_BOD12DET_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD12DET_Msk instead */
+#define SUPC_STATUS_B12SRDY_Pos             5                                              /**< (SUPC_STATUS) BOD12 Synchronization Ready Position */
+#define SUPC_STATUS_B12SRDY_Msk             (_U_(0x1) << SUPC_STATUS_B12SRDY_Pos)          /**< (SUPC_STATUS) BOD12 Synchronization Ready Mask */
+#define SUPC_STATUS_B12SRDY                 SUPC_STATUS_B12SRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_B12SRDY_Msk instead */
+#define SUPC_STATUS_VREGRDY_Pos             8                                              /**< (SUPC_STATUS) Voltage Regulator Ready Position */
+#define SUPC_STATUS_VREGRDY_Msk             (_U_(0x1) << SUPC_STATUS_VREGRDY_Pos)          /**< (SUPC_STATUS) Voltage Regulator Ready Mask */
+#define SUPC_STATUS_VREGRDY                 SUPC_STATUS_VREGRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_VREGRDY_Msk instead */
+#define SUPC_STATUS_VCORERDY_Pos            10                                             /**< (SUPC_STATUS) VDDCORE Ready Position */
+#define SUPC_STATUS_VCORERDY_Msk            (_U_(0x1) << SUPC_STATUS_VCORERDY_Pos)         /**< (SUPC_STATUS) VDDCORE Ready Mask */
+#define SUPC_STATUS_VCORERDY                SUPC_STATUS_VCORERDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_VCORERDY_Msk instead */
+#define SUPC_STATUS_ULPVREFRDY_Pos          12                                             /**< (SUPC_STATUS) Low Power Voltage Reference Ready Position */
+#define SUPC_STATUS_ULPVREFRDY_Msk          (_U_(0x1) << SUPC_STATUS_ULPVREFRDY_Pos)       /**< (SUPC_STATUS) Low Power Voltage Reference Ready Mask */
+#define SUPC_STATUS_ULPVREFRDY              SUPC_STATUS_ULPVREFRDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_ULPVREFRDY_Msk instead */
+#define SUPC_STATUS_ULPBIASRDY_Pos          13                                             /**< (SUPC_STATUS) Low Power Voltage Bias Ready Position */
+#define SUPC_STATUS_ULPBIASRDY_Msk          (_U_(0x1) << SUPC_STATUS_ULPBIASRDY_Pos)       /**< (SUPC_STATUS) Low Power Voltage Bias Ready Mask */
+#define SUPC_STATUS_ULPBIASRDY              SUPC_STATUS_ULPBIASRDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_ULPBIASRDY_Msk instead */
+#define SUPC_STATUS_MASK                    _U_(0x353F)                                    /**< \deprecated (SUPC_STATUS) Register MASK  (Use SUPC_STATUS_Msk instead)  */
+#define SUPC_STATUS_Msk                     _U_(0x353F)                                    /**< (SUPC_STATUS) Register Mask  */
+
+
+/* -------- SUPC_BOD33 : (SUPC Offset: 0x10) (R/W 32) BOD33 Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t HYST:1;                    /**< bit:      2  Hysteresis Enable                        */
+    uint32_t ACTION:2;                  /**< bit:   3..4  Action when Threshold Crossed            */
+    uint32_t STDBYCFG:1;                /**< bit:      5  Configuration in Standby mode            */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run during Standby                       */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t ACTCFG:1;                  /**< bit:      8  Configuration in Active mode             */
+    uint32_t :2;                        /**< bit:  9..10  Reserved */
+    uint32_t REFSEL:1;                  /**< bit:     11  BOD33 Voltage Reference Selection        */
+    uint32_t PSEL:4;                    /**< bit: 12..15  Prescaler Select                         */
+    uint32_t LEVEL:6;                   /**< bit: 16..21  Threshold Level for VDD                  */
+    uint32_t :10;                       /**< bit: 22..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_BOD33_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_BOD33_OFFSET                   (0x10)                                        /**<  (SUPC_BOD33) BOD33 Control  Offset */
+#define SUPC_BOD33_RESETVALUE               _U_(0x00)                                     /**<  (SUPC_BOD33) BOD33 Control  Reset Value */
+
+#define SUPC_BOD33_ENABLE_Pos               1                                              /**< (SUPC_BOD33) Enable Position */
+#define SUPC_BOD33_ENABLE_Msk               (_U_(0x1) << SUPC_BOD33_ENABLE_Pos)            /**< (SUPC_BOD33) Enable Mask */
+#define SUPC_BOD33_ENABLE                   SUPC_BOD33_ENABLE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_ENABLE_Msk instead */
+#define SUPC_BOD33_HYST_Pos                 2                                              /**< (SUPC_BOD33) Hysteresis Enable Position */
+#define SUPC_BOD33_HYST_Msk                 (_U_(0x1) << SUPC_BOD33_HYST_Pos)              /**< (SUPC_BOD33) Hysteresis Enable Mask */
+#define SUPC_BOD33_HYST                     SUPC_BOD33_HYST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_HYST_Msk instead */
+#define SUPC_BOD33_ACTION_Pos               3                                              /**< (SUPC_BOD33) Action when Threshold Crossed Position */
+#define SUPC_BOD33_ACTION_Msk               (_U_(0x3) << SUPC_BOD33_ACTION_Pos)            /**< (SUPC_BOD33) Action when Threshold Crossed Mask */
+#define SUPC_BOD33_ACTION(value)            (SUPC_BOD33_ACTION_Msk & ((value) << SUPC_BOD33_ACTION_Pos))
+#define   SUPC_BOD33_ACTION_NONE_Val        _U_(0x0)                                       /**< (SUPC_BOD33) No action  */
+#define   SUPC_BOD33_ACTION_RESET_Val       _U_(0x1)                                       /**< (SUPC_BOD33) The BOD33 generates a reset  */
+#define   SUPC_BOD33_ACTION_INT_Val         _U_(0x2)                                       /**< (SUPC_BOD33) The BOD33 generates an interrupt  */
+#define   SUPC_BOD33_ACTION_BKUP_Val        _U_(0x3)                                       /**< (SUPC_BOD33) The BOD33 puts the device in backup sleep mode if VMON=0  */
+#define SUPC_BOD33_ACTION_NONE              (SUPC_BOD33_ACTION_NONE_Val << SUPC_BOD33_ACTION_Pos)  /**< (SUPC_BOD33) No action Position  */
+#define SUPC_BOD33_ACTION_RESET             (SUPC_BOD33_ACTION_RESET_Val << SUPC_BOD33_ACTION_Pos)  /**< (SUPC_BOD33) The BOD33 generates a reset Position  */
+#define SUPC_BOD33_ACTION_INT               (SUPC_BOD33_ACTION_INT_Val << SUPC_BOD33_ACTION_Pos)  /**< (SUPC_BOD33) The BOD33 generates an interrupt Position  */
+#define SUPC_BOD33_ACTION_BKUP              (SUPC_BOD33_ACTION_BKUP_Val << SUPC_BOD33_ACTION_Pos)  /**< (SUPC_BOD33) The BOD33 puts the device in backup sleep mode if VMON=0 Position  */
+#define SUPC_BOD33_STDBYCFG_Pos             5                                              /**< (SUPC_BOD33) Configuration in Standby mode Position */
+#define SUPC_BOD33_STDBYCFG_Msk             (_U_(0x1) << SUPC_BOD33_STDBYCFG_Pos)          /**< (SUPC_BOD33) Configuration in Standby mode Mask */
+#define SUPC_BOD33_STDBYCFG                 SUPC_BOD33_STDBYCFG_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_STDBYCFG_Msk instead */
+#define SUPC_BOD33_RUNSTDBY_Pos             6                                              /**< (SUPC_BOD33) Run during Standby Position */
+#define SUPC_BOD33_RUNSTDBY_Msk             (_U_(0x1) << SUPC_BOD33_RUNSTDBY_Pos)          /**< (SUPC_BOD33) Run during Standby Mask */
+#define SUPC_BOD33_RUNSTDBY                 SUPC_BOD33_RUNSTDBY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_RUNSTDBY_Msk instead */
+#define SUPC_BOD33_ACTCFG_Pos               8                                              /**< (SUPC_BOD33) Configuration in Active mode Position */
+#define SUPC_BOD33_ACTCFG_Msk               (_U_(0x1) << SUPC_BOD33_ACTCFG_Pos)            /**< (SUPC_BOD33) Configuration in Active mode Mask */
+#define SUPC_BOD33_ACTCFG                   SUPC_BOD33_ACTCFG_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_ACTCFG_Msk instead */
+#define SUPC_BOD33_REFSEL_Pos               11                                             /**< (SUPC_BOD33) BOD33 Voltage Reference Selection Position */
+#define SUPC_BOD33_REFSEL_Msk               (_U_(0x1) << SUPC_BOD33_REFSEL_Pos)            /**< (SUPC_BOD33) BOD33 Voltage Reference Selection Mask */
+#define SUPC_BOD33_REFSEL                   SUPC_BOD33_REFSEL_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_REFSEL_Msk instead */
+#define   SUPC_BOD33_REFSEL_SEL_VREFDETREF_Val _U_(0x0)                                       /**< (SUPC_BOD33) Selects VREFDETREF for the BOD33  */
+#define   SUPC_BOD33_REFSEL_SEL_ULPVREF_Val _U_(0x1)                                       /**< (SUPC_BOD33) Selects ULPVREF for the BOD33  */
+#define SUPC_BOD33_REFSEL_SEL_VREFDETREF    (SUPC_BOD33_REFSEL_SEL_VREFDETREF_Val << SUPC_BOD33_REFSEL_Pos)  /**< (SUPC_BOD33) Selects VREFDETREF for the BOD33 Position  */
+#define SUPC_BOD33_REFSEL_SEL_ULPVREF       (SUPC_BOD33_REFSEL_SEL_ULPVREF_Val << SUPC_BOD33_REFSEL_Pos)  /**< (SUPC_BOD33) Selects ULPVREF for the BOD33 Position  */
+#define SUPC_BOD33_PSEL_Pos                 12                                             /**< (SUPC_BOD33) Prescaler Select Position */
+#define SUPC_BOD33_PSEL_Msk                 (_U_(0xF) << SUPC_BOD33_PSEL_Pos)              /**< (SUPC_BOD33) Prescaler Select Mask */
+#define SUPC_BOD33_PSEL(value)              (SUPC_BOD33_PSEL_Msk & ((value) << SUPC_BOD33_PSEL_Pos))
+#define   SUPC_BOD33_PSEL_DIV2_Val          _U_(0x0)                                       /**< (SUPC_BOD33) Divide clock by 2  */
+#define   SUPC_BOD33_PSEL_DIV4_Val          _U_(0x1)                                       /**< (SUPC_BOD33) Divide clock by 4  */
+#define   SUPC_BOD33_PSEL_DIV8_Val          _U_(0x2)                                       /**< (SUPC_BOD33) Divide clock by 8  */
+#define   SUPC_BOD33_PSEL_DIV16_Val         _U_(0x3)                                       /**< (SUPC_BOD33) Divide clock by 16  */
+#define   SUPC_BOD33_PSEL_DIV32_Val         _U_(0x4)                                       /**< (SUPC_BOD33) Divide clock by 32  */
+#define   SUPC_BOD33_PSEL_DIV64_Val         _U_(0x5)                                       /**< (SUPC_BOD33) Divide clock by 64  */
+#define   SUPC_BOD33_PSEL_DIV128_Val        _U_(0x6)                                       /**< (SUPC_BOD33) Divide clock by 128  */
+#define   SUPC_BOD33_PSEL_DIV256_Val        _U_(0x7)                                       /**< (SUPC_BOD33) Divide clock by 256  */
+#define   SUPC_BOD33_PSEL_DIV512_Val        _U_(0x8)                                       /**< (SUPC_BOD33) Divide clock by 512  */
+#define   SUPC_BOD33_PSEL_DIV1024_Val       _U_(0x9)                                       /**< (SUPC_BOD33) Divide clock by 1024  */
+#define   SUPC_BOD33_PSEL_DIV2048_Val       _U_(0xA)                                       /**< (SUPC_BOD33) Divide clock by 2048  */
+#define   SUPC_BOD33_PSEL_DIV4096_Val       _U_(0xB)                                       /**< (SUPC_BOD33) Divide clock by 4096  */
+#define   SUPC_BOD33_PSEL_DIV8192_Val       _U_(0xC)                                       /**< (SUPC_BOD33) Divide clock by 8192  */
+#define   SUPC_BOD33_PSEL_DIV16384_Val      _U_(0xD)                                       /**< (SUPC_BOD33) Divide clock by 16384  */
+#define   SUPC_BOD33_PSEL_DIV32768_Val      _U_(0xE)                                       /**< (SUPC_BOD33) Divide clock by 32768  */
+#define   SUPC_BOD33_PSEL_DIV65536_Val      _U_(0xF)                                       /**< (SUPC_BOD33) Divide clock by 65536  */
+#define SUPC_BOD33_PSEL_DIV2                (SUPC_BOD33_PSEL_DIV2_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 2 Position  */
+#define SUPC_BOD33_PSEL_DIV4                (SUPC_BOD33_PSEL_DIV4_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 4 Position  */
+#define SUPC_BOD33_PSEL_DIV8                (SUPC_BOD33_PSEL_DIV8_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 8 Position  */
+#define SUPC_BOD33_PSEL_DIV16               (SUPC_BOD33_PSEL_DIV16_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 16 Position  */
+#define SUPC_BOD33_PSEL_DIV32               (SUPC_BOD33_PSEL_DIV32_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 32 Position  */
+#define SUPC_BOD33_PSEL_DIV64               (SUPC_BOD33_PSEL_DIV64_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 64 Position  */
+#define SUPC_BOD33_PSEL_DIV128              (SUPC_BOD33_PSEL_DIV128_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 128 Position  */
+#define SUPC_BOD33_PSEL_DIV256              (SUPC_BOD33_PSEL_DIV256_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 256 Position  */
+#define SUPC_BOD33_PSEL_DIV512              (SUPC_BOD33_PSEL_DIV512_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 512 Position  */
+#define SUPC_BOD33_PSEL_DIV1024             (SUPC_BOD33_PSEL_DIV1024_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 1024 Position  */
+#define SUPC_BOD33_PSEL_DIV2048             (SUPC_BOD33_PSEL_DIV2048_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 2048 Position  */
+#define SUPC_BOD33_PSEL_DIV4096             (SUPC_BOD33_PSEL_DIV4096_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 4096 Position  */
+#define SUPC_BOD33_PSEL_DIV8192             (SUPC_BOD33_PSEL_DIV8192_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 8192 Position  */
+#define SUPC_BOD33_PSEL_DIV16384            (SUPC_BOD33_PSEL_DIV16384_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 16384 Position  */
+#define SUPC_BOD33_PSEL_DIV32768            (SUPC_BOD33_PSEL_DIV32768_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 32768 Position  */
+#define SUPC_BOD33_PSEL_DIV65536            (SUPC_BOD33_PSEL_DIV65536_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 65536 Position  */
+#define SUPC_BOD33_LEVEL_Pos                16                                             /**< (SUPC_BOD33) Threshold Level for VDD Position */
+#define SUPC_BOD33_LEVEL_Msk                (_U_(0x3F) << SUPC_BOD33_LEVEL_Pos)            /**< (SUPC_BOD33) Threshold Level for VDD Mask */
+#define SUPC_BOD33_LEVEL(value)             (SUPC_BOD33_LEVEL_Msk & ((value) << SUPC_BOD33_LEVEL_Pos))
+#define SUPC_BOD33_MASK                     _U_(0x3FF97E)                                  /**< \deprecated (SUPC_BOD33) Register MASK  (Use SUPC_BOD33_Msk instead)  */
+#define SUPC_BOD33_Msk                      _U_(0x3FF97E)                                  /**< (SUPC_BOD33) Register Mask  */
+
+
+/* -------- SUPC_BOD12 : (SUPC Offset: 0x14) (R/W 32) BOD12 Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t HYST:1;                    /**< bit:      2  Hysteresis Enable                        */
+    uint32_t ACTION:2;                  /**< bit:   3..4  Action when Threshold Crossed            */
+    uint32_t STDBYCFG:1;                /**< bit:      5  Configuration in Standby mode            */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run during Standby                       */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t ACTCFG:1;                  /**< bit:      8  Configuration in Active mode             */
+    uint32_t :3;                        /**< bit:  9..11  Reserved */
+    uint32_t PSEL:4;                    /**< bit: 12..15  Prescaler Select                         */
+    uint32_t LEVEL:6;                   /**< bit: 16..21  Threshold Level                          */
+    uint32_t :10;                       /**< bit: 22..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_BOD12_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_BOD12_OFFSET                   (0x14)                                        /**<  (SUPC_BOD12) BOD12 Control  Offset */
+#define SUPC_BOD12_RESETVALUE               _U_(0x00)                                     /**<  (SUPC_BOD12) BOD12 Control  Reset Value */
+
+#define SUPC_BOD12_ENABLE_Pos               1                                              /**< (SUPC_BOD12) Enable Position */
+#define SUPC_BOD12_ENABLE_Msk               (_U_(0x1) << SUPC_BOD12_ENABLE_Pos)            /**< (SUPC_BOD12) Enable Mask */
+#define SUPC_BOD12_ENABLE                   SUPC_BOD12_ENABLE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_ENABLE_Msk instead */
+#define SUPC_BOD12_HYST_Pos                 2                                              /**< (SUPC_BOD12) Hysteresis Enable Position */
+#define SUPC_BOD12_HYST_Msk                 (_U_(0x1) << SUPC_BOD12_HYST_Pos)              /**< (SUPC_BOD12) Hysteresis Enable Mask */
+#define SUPC_BOD12_HYST                     SUPC_BOD12_HYST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_HYST_Msk instead */
+#define SUPC_BOD12_ACTION_Pos               3                                              /**< (SUPC_BOD12) Action when Threshold Crossed Position */
+#define SUPC_BOD12_ACTION_Msk               (_U_(0x3) << SUPC_BOD12_ACTION_Pos)            /**< (SUPC_BOD12) Action when Threshold Crossed Mask */
+#define SUPC_BOD12_ACTION(value)            (SUPC_BOD12_ACTION_Msk & ((value) << SUPC_BOD12_ACTION_Pos))
+#define   SUPC_BOD12_ACTION_NONE_Val        _U_(0x0)                                       /**< (SUPC_BOD12) No action  */
+#define   SUPC_BOD12_ACTION_RESET_Val       _U_(0x1)                                       /**< (SUPC_BOD12) The BOD12 generates a reset  */
+#define   SUPC_BOD12_ACTION_INT_Val         _U_(0x2)                                       /**< (SUPC_BOD12) The BOD12 generates an interrupt  */
+#define SUPC_BOD12_ACTION_NONE              (SUPC_BOD12_ACTION_NONE_Val << SUPC_BOD12_ACTION_Pos)  /**< (SUPC_BOD12) No action Position  */
+#define SUPC_BOD12_ACTION_RESET             (SUPC_BOD12_ACTION_RESET_Val << SUPC_BOD12_ACTION_Pos)  /**< (SUPC_BOD12) The BOD12 generates a reset Position  */
+#define SUPC_BOD12_ACTION_INT               (SUPC_BOD12_ACTION_INT_Val << SUPC_BOD12_ACTION_Pos)  /**< (SUPC_BOD12) The BOD12 generates an interrupt Position  */
+#define SUPC_BOD12_STDBYCFG_Pos             5                                              /**< (SUPC_BOD12) Configuration in Standby mode Position */
+#define SUPC_BOD12_STDBYCFG_Msk             (_U_(0x1) << SUPC_BOD12_STDBYCFG_Pos)          /**< (SUPC_BOD12) Configuration in Standby mode Mask */
+#define SUPC_BOD12_STDBYCFG                 SUPC_BOD12_STDBYCFG_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_STDBYCFG_Msk instead */
+#define SUPC_BOD12_RUNSTDBY_Pos             6                                              /**< (SUPC_BOD12) Run during Standby Position */
+#define SUPC_BOD12_RUNSTDBY_Msk             (_U_(0x1) << SUPC_BOD12_RUNSTDBY_Pos)          /**< (SUPC_BOD12) Run during Standby Mask */
+#define SUPC_BOD12_RUNSTDBY                 SUPC_BOD12_RUNSTDBY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_RUNSTDBY_Msk instead */
+#define SUPC_BOD12_ACTCFG_Pos               8                                              /**< (SUPC_BOD12) Configuration in Active mode Position */
+#define SUPC_BOD12_ACTCFG_Msk               (_U_(0x1) << SUPC_BOD12_ACTCFG_Pos)            /**< (SUPC_BOD12) Configuration in Active mode Mask */
+#define SUPC_BOD12_ACTCFG                   SUPC_BOD12_ACTCFG_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_ACTCFG_Msk instead */
+#define SUPC_BOD12_PSEL_Pos                 12                                             /**< (SUPC_BOD12) Prescaler Select Position */
+#define SUPC_BOD12_PSEL_Msk                 (_U_(0xF) << SUPC_BOD12_PSEL_Pos)              /**< (SUPC_BOD12) Prescaler Select Mask */
+#define SUPC_BOD12_PSEL(value)              (SUPC_BOD12_PSEL_Msk & ((value) << SUPC_BOD12_PSEL_Pos))
+#define   SUPC_BOD12_PSEL_DIV2_Val          _U_(0x0)                                       /**< (SUPC_BOD12) Divide clock by 2  */
+#define   SUPC_BOD12_PSEL_DIV4_Val          _U_(0x1)                                       /**< (SUPC_BOD12) Divide clock by 4  */
+#define   SUPC_BOD12_PSEL_DIV8_Val          _U_(0x2)                                       /**< (SUPC_BOD12) Divide clock by 8  */
+#define   SUPC_BOD12_PSEL_DIV16_Val         _U_(0x3)                                       /**< (SUPC_BOD12) Divide clock by 16  */
+#define   SUPC_BOD12_PSEL_DIV32_Val         _U_(0x4)                                       /**< (SUPC_BOD12) Divide clock by 32  */
+#define   SUPC_BOD12_PSEL_DIV64_Val         _U_(0x5)                                       /**< (SUPC_BOD12) Divide clock by 64  */
+#define   SUPC_BOD12_PSEL_DIV128_Val        _U_(0x6)                                       /**< (SUPC_BOD12) Divide clock by 128  */
+#define   SUPC_BOD12_PSEL_DIV256_Val        _U_(0x7)                                       /**< (SUPC_BOD12) Divide clock by 256  */
+#define   SUPC_BOD12_PSEL_DIV512_Val        _U_(0x8)                                       /**< (SUPC_BOD12) Divide clock by 512  */
+#define   SUPC_BOD12_PSEL_DIV1024_Val       _U_(0x9)                                       /**< (SUPC_BOD12) Divide clock by 1024  */
+#define   SUPC_BOD12_PSEL_DIV2048_Val       _U_(0xA)                                       /**< (SUPC_BOD12) Divide clock by 2048  */
+#define   SUPC_BOD12_PSEL_DIV4096_Val       _U_(0xB)                                       /**< (SUPC_BOD12) Divide clock by 4096  */
+#define   SUPC_BOD12_PSEL_DIV8192_Val       _U_(0xC)                                       /**< (SUPC_BOD12) Divide clock by 8192  */
+#define   SUPC_BOD12_PSEL_DIV16384_Val      _U_(0xD)                                       /**< (SUPC_BOD12) Divide clock by 16384  */
+#define   SUPC_BOD12_PSEL_DIV32768_Val      _U_(0xE)                                       /**< (SUPC_BOD12) Divide clock by 32768  */
+#define   SUPC_BOD12_PSEL_DIV65536_Val      _U_(0xF)                                       /**< (SUPC_BOD12) Divide clock by 65536  */
+#define SUPC_BOD12_PSEL_DIV2                (SUPC_BOD12_PSEL_DIV2_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 2 Position  */
+#define SUPC_BOD12_PSEL_DIV4                (SUPC_BOD12_PSEL_DIV4_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 4 Position  */
+#define SUPC_BOD12_PSEL_DIV8                (SUPC_BOD12_PSEL_DIV8_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 8 Position  */
+#define SUPC_BOD12_PSEL_DIV16               (SUPC_BOD12_PSEL_DIV16_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 16 Position  */
+#define SUPC_BOD12_PSEL_DIV32               (SUPC_BOD12_PSEL_DIV32_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 32 Position  */
+#define SUPC_BOD12_PSEL_DIV64               (SUPC_BOD12_PSEL_DIV64_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 64 Position  */
+#define SUPC_BOD12_PSEL_DIV128              (SUPC_BOD12_PSEL_DIV128_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 128 Position  */
+#define SUPC_BOD12_PSEL_DIV256              (SUPC_BOD12_PSEL_DIV256_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 256 Position  */
+#define SUPC_BOD12_PSEL_DIV512              (SUPC_BOD12_PSEL_DIV512_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 512 Position  */
+#define SUPC_BOD12_PSEL_DIV1024             (SUPC_BOD12_PSEL_DIV1024_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 1024 Position  */
+#define SUPC_BOD12_PSEL_DIV2048             (SUPC_BOD12_PSEL_DIV2048_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 2048 Position  */
+#define SUPC_BOD12_PSEL_DIV4096             (SUPC_BOD12_PSEL_DIV4096_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 4096 Position  */
+#define SUPC_BOD12_PSEL_DIV8192             (SUPC_BOD12_PSEL_DIV8192_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 8192 Position  */
+#define SUPC_BOD12_PSEL_DIV16384            (SUPC_BOD12_PSEL_DIV16384_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 16384 Position  */
+#define SUPC_BOD12_PSEL_DIV32768            (SUPC_BOD12_PSEL_DIV32768_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 32768 Position  */
+#define SUPC_BOD12_PSEL_DIV65536            (SUPC_BOD12_PSEL_DIV65536_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 65536 Position  */
+#define SUPC_BOD12_LEVEL_Pos                16                                             /**< (SUPC_BOD12) Threshold Level Position */
+#define SUPC_BOD12_LEVEL_Msk                (_U_(0x3F) << SUPC_BOD12_LEVEL_Pos)            /**< (SUPC_BOD12) Threshold Level Mask */
+#define SUPC_BOD12_LEVEL(value)             (SUPC_BOD12_LEVEL_Msk & ((value) << SUPC_BOD12_LEVEL_Pos))
+#define SUPC_BOD12_MASK                     _U_(0x3FF17E)                                  /**< \deprecated (SUPC_BOD12) Register MASK  (Use SUPC_BOD12_Msk instead)  */
+#define SUPC_BOD12_Msk                      _U_(0x3FF17E)                                  /**< (SUPC_BOD12) Register Mask  */
+
+
+/* -------- SUPC_VREG : (SUPC Offset: 0x18) (R/W 32) VREG Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t SEL:2;                     /**< bit:   2..3  Voltage Regulator Selection in active mode */
+    uint32_t :1;                        /**< bit:      4  Reserved */
+    uint32_t STDBYPL0:1;                /**< bit:      5  Standby in PL0                           */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run during Standby                       */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t LPEFF:1;                   /**< bit:      8  Low Power efficiency                     */
+    uint32_t VREFSEL:1;                 /**< bit:      9  Voltage Regulator Voltage Reference Selection */
+    uint32_t :6;                        /**< bit: 10..15  Reserved */
+    uint32_t VSVSTEP:4;                 /**< bit: 16..19  Voltage Scaling Voltage Step             */
+    uint32_t :4;                        /**< bit: 20..23  Reserved */
+    uint32_t VSPER:8;                   /**< bit: 24..31  Voltage Scaling Period                   */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :5;                        /**< bit:   0..4  Reserved */
+    uint32_t STDBYPL:1;                 /**< bit:      5  Standby in PLx                           */
+    uint32_t :26;                       /**< bit:  6..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_VREG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_VREG_OFFSET                    (0x18)                                        /**<  (SUPC_VREG) VREG Control  Offset */
+#define SUPC_VREG_RESETVALUE                _U_(0x02)                                     /**<  (SUPC_VREG) VREG Control  Reset Value */
+
+#define SUPC_VREG_ENABLE_Pos                1                                              /**< (SUPC_VREG) Enable Position */
+#define SUPC_VREG_ENABLE_Msk                (_U_(0x1) << SUPC_VREG_ENABLE_Pos)             /**< (SUPC_VREG) Enable Mask */
+#define SUPC_VREG_ENABLE                    SUPC_VREG_ENABLE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_ENABLE_Msk instead */
+#define SUPC_VREG_SEL_Pos                   2                                              /**< (SUPC_VREG) Voltage Regulator Selection in active mode Position */
+#define SUPC_VREG_SEL_Msk                   (_U_(0x3) << SUPC_VREG_SEL_Pos)                /**< (SUPC_VREG) Voltage Regulator Selection in active mode Mask */
+#define SUPC_VREG_SEL(value)                (SUPC_VREG_SEL_Msk & ((value) << SUPC_VREG_SEL_Pos))
+#define   SUPC_VREG_SEL_LDO_Val             _U_(0x0)                                       /**< (SUPC_VREG) LDO selection  */
+#define   SUPC_VREG_SEL_BUCK_Val            _U_(0x1)                                       /**< (SUPC_VREG) Buck selection  */
+#define SUPC_VREG_SEL_LDO                   (SUPC_VREG_SEL_LDO_Val << SUPC_VREG_SEL_Pos)   /**< (SUPC_VREG) LDO selection Position  */
+#define SUPC_VREG_SEL_BUCK                  (SUPC_VREG_SEL_BUCK_Val << SUPC_VREG_SEL_Pos)  /**< (SUPC_VREG) Buck selection Position  */
+#define SUPC_VREG_STDBYPL0_Pos              5                                              /**< (SUPC_VREG) Standby in PL0 Position */
+#define SUPC_VREG_STDBYPL0_Msk              (_U_(0x1) << SUPC_VREG_STDBYPL0_Pos)           /**< (SUPC_VREG) Standby in PL0 Mask */
+#define SUPC_VREG_STDBYPL0                  SUPC_VREG_STDBYPL0_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_STDBYPL0_Msk instead */
+#define SUPC_VREG_RUNSTDBY_Pos              6                                              /**< (SUPC_VREG) Run during Standby Position */
+#define SUPC_VREG_RUNSTDBY_Msk              (_U_(0x1) << SUPC_VREG_RUNSTDBY_Pos)           /**< (SUPC_VREG) Run during Standby Mask */
+#define SUPC_VREG_RUNSTDBY                  SUPC_VREG_RUNSTDBY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_RUNSTDBY_Msk instead */
+#define SUPC_VREG_LPEFF_Pos                 8                                              /**< (SUPC_VREG) Low Power efficiency Position */
+#define SUPC_VREG_LPEFF_Msk                 (_U_(0x1) << SUPC_VREG_LPEFF_Pos)              /**< (SUPC_VREG) Low Power efficiency Mask */
+#define SUPC_VREG_LPEFF                     SUPC_VREG_LPEFF_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_LPEFF_Msk instead */
+#define SUPC_VREG_VREFSEL_Pos               9                                              /**< (SUPC_VREG) Voltage Regulator Voltage Reference Selection Position */
+#define SUPC_VREG_VREFSEL_Msk               (_U_(0x1) << SUPC_VREG_VREFSEL_Pos)            /**< (SUPC_VREG) Voltage Regulator Voltage Reference Selection Mask */
+#define SUPC_VREG_VREFSEL                   SUPC_VREG_VREFSEL_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_VREFSEL_Msk instead */
+#define SUPC_VREG_VSVSTEP_Pos               16                                             /**< (SUPC_VREG) Voltage Scaling Voltage Step Position */
+#define SUPC_VREG_VSVSTEP_Msk               (_U_(0xF) << SUPC_VREG_VSVSTEP_Pos)            /**< (SUPC_VREG) Voltage Scaling Voltage Step Mask */
+#define SUPC_VREG_VSVSTEP(value)            (SUPC_VREG_VSVSTEP_Msk & ((value) << SUPC_VREG_VSVSTEP_Pos))
+#define SUPC_VREG_VSPER_Pos                 24                                             /**< (SUPC_VREG) Voltage Scaling Period Position */
+#define SUPC_VREG_VSPER_Msk                 (_U_(0xFF) << SUPC_VREG_VSPER_Pos)             /**< (SUPC_VREG) Voltage Scaling Period Mask */
+#define SUPC_VREG_VSPER(value)              (SUPC_VREG_VSPER_Msk & ((value) << SUPC_VREG_VSPER_Pos))
+#define SUPC_VREG_MASK                      _U_(0xFF0F036E)                                /**< \deprecated (SUPC_VREG) Register MASK  (Use SUPC_VREG_Msk instead)  */
+#define SUPC_VREG_Msk                       _U_(0xFF0F036E)                                /**< (SUPC_VREG) Register Mask  */
+
+#define SUPC_VREG_STDBYPL_Pos               5                                              /**< (SUPC_VREG Position) Standby in PLx */
+#define SUPC_VREG_STDBYPL_Msk               (_U_(0x1) << SUPC_VREG_STDBYPL_Pos)            /**< (SUPC_VREG Mask) STDBYPL */
+#define SUPC_VREG_STDBYPL(value)            (SUPC_VREG_STDBYPL_Msk & ((value) << SUPC_VREG_STDBYPL_Pos))  
+
+/* -------- SUPC_VREF : (SUPC Offset: 0x1c) (R/W 32) VREF Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t TSEN:1;                    /**< bit:      1  Temperature Sensor Output Enable         */
+    uint32_t VREFOE:1;                  /**< bit:      2  Voltage Reference Output Enable          */
+    uint32_t TSSEL:1;                   /**< bit:      3  Temperature Sensor Selection             */
+    uint32_t :2;                        /**< bit:   4..5  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run during Standby                       */
+    uint32_t ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+    uint32_t :8;                        /**< bit:  8..15  Reserved */
+    uint32_t SEL:4;                     /**< bit: 16..19  Voltage Reference Selection              */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_VREF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_VREF_OFFSET                    (0x1C)                                        /**<  (SUPC_VREF) VREF Control  Offset */
+#define SUPC_VREF_RESETVALUE                _U_(0x00)                                     /**<  (SUPC_VREF) VREF Control  Reset Value */
+
+#define SUPC_VREF_TSEN_Pos                  1                                              /**< (SUPC_VREF) Temperature Sensor Output Enable Position */
+#define SUPC_VREF_TSEN_Msk                  (_U_(0x1) << SUPC_VREF_TSEN_Pos)               /**< (SUPC_VREF) Temperature Sensor Output Enable Mask */
+#define SUPC_VREF_TSEN                      SUPC_VREF_TSEN_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_TSEN_Msk instead */
+#define SUPC_VREF_VREFOE_Pos                2                                              /**< (SUPC_VREF) Voltage Reference Output Enable Position */
+#define SUPC_VREF_VREFOE_Msk                (_U_(0x1) << SUPC_VREF_VREFOE_Pos)             /**< (SUPC_VREF) Voltage Reference Output Enable Mask */
+#define SUPC_VREF_VREFOE                    SUPC_VREF_VREFOE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_VREFOE_Msk instead */
+#define SUPC_VREF_TSSEL_Pos                 3                                              /**< (SUPC_VREF) Temperature Sensor Selection Position */
+#define SUPC_VREF_TSSEL_Msk                 (_U_(0x1) << SUPC_VREF_TSSEL_Pos)              /**< (SUPC_VREF) Temperature Sensor Selection Mask */
+#define SUPC_VREF_TSSEL                     SUPC_VREF_TSSEL_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_TSSEL_Msk instead */
+#define SUPC_VREF_RUNSTDBY_Pos              6                                              /**< (SUPC_VREF) Run during Standby Position */
+#define SUPC_VREF_RUNSTDBY_Msk              (_U_(0x1) << SUPC_VREF_RUNSTDBY_Pos)           /**< (SUPC_VREF) Run during Standby Mask */
+#define SUPC_VREF_RUNSTDBY                  SUPC_VREF_RUNSTDBY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_RUNSTDBY_Msk instead */
+#define SUPC_VREF_ONDEMAND_Pos              7                                              /**< (SUPC_VREF) On Demand Control Position */
+#define SUPC_VREF_ONDEMAND_Msk              (_U_(0x1) << SUPC_VREF_ONDEMAND_Pos)           /**< (SUPC_VREF) On Demand Control Mask */
+#define SUPC_VREF_ONDEMAND                  SUPC_VREF_ONDEMAND_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_ONDEMAND_Msk instead */
+#define SUPC_VREF_SEL_Pos                   16                                             /**< (SUPC_VREF) Voltage Reference Selection Position */
+#define SUPC_VREF_SEL_Msk                   (_U_(0xF) << SUPC_VREF_SEL_Pos)                /**< (SUPC_VREF) Voltage Reference Selection Mask */
+#define SUPC_VREF_SEL(value)                (SUPC_VREF_SEL_Msk & ((value) << SUPC_VREF_SEL_Pos))
+#define   SUPC_VREF_SEL_1V0_Val             _U_(0x0)                                       /**< (SUPC_VREF) 1.0V voltage reference typical value  */
+#define   SUPC_VREF_SEL_1V1_Val             _U_(0x1)                                       /**< (SUPC_VREF) 1.1V voltage reference typical value  */
+#define   SUPC_VREF_SEL_1V2_Val             _U_(0x2)                                       /**< (SUPC_VREF) 1.2V voltage reference typical value  */
+#define   SUPC_VREF_SEL_1V25_Val            _U_(0x3)                                       /**< (SUPC_VREF) 1.25V voltage reference typical value  */
+#define   SUPC_VREF_SEL_2V0_Val             _U_(0x4)                                       /**< (SUPC_VREF) 2.0V voltage reference typical value  */
+#define   SUPC_VREF_SEL_2V2_Val             _U_(0x5)                                       /**< (SUPC_VREF) 2.2V voltage reference typical value  */
+#define   SUPC_VREF_SEL_2V4_Val             _U_(0x6)                                       /**< (SUPC_VREF) 2.4V voltage reference typical value  */
+#define   SUPC_VREF_SEL_2V5_Val             _U_(0x7)                                       /**< (SUPC_VREF) 2.5V voltage reference typical value  */
+#define SUPC_VREF_SEL_1V0                   (SUPC_VREF_SEL_1V0_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 1.0V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_1V1                   (SUPC_VREF_SEL_1V1_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 1.1V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_1V2                   (SUPC_VREF_SEL_1V2_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 1.2V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_1V25                  (SUPC_VREF_SEL_1V25_Val << SUPC_VREF_SEL_Pos)  /**< (SUPC_VREF) 1.25V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_2V0                   (SUPC_VREF_SEL_2V0_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 2.0V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_2V2                   (SUPC_VREF_SEL_2V2_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 2.2V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_2V4                   (SUPC_VREF_SEL_2V4_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 2.4V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_2V5                   (SUPC_VREF_SEL_2V5_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 2.5V voltage reference typical value Position  */
+#define SUPC_VREF_MASK                      _U_(0xF00CE)                                   /**< \deprecated (SUPC_VREF) Register MASK  (Use SUPC_VREF_Msk instead)  */
+#define SUPC_VREF_Msk                       _U_(0xF00CE)                                   /**< (SUPC_VREF) Register Mask  */
+
+
+/* -------- SUPC_EVCTRL : (SUPC Offset: 0x2c) (R/W 32) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t BOD33DETEO:1;              /**< bit:      1  BOD33 Detection Event Output Enable      */
+    uint32_t :2;                        /**< bit:   2..3  Reserved */
+    uint32_t BOD12DETEO:1;              /**< bit:      4  BOD12 Detection Event Output Enable      */
+    uint32_t :27;                       /**< bit:  5..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_EVCTRL_OFFSET                  (0x2C)                                        /**<  (SUPC_EVCTRL) Event Control  Offset */
+#define SUPC_EVCTRL_RESETVALUE              _U_(0x00)                                     /**<  (SUPC_EVCTRL) Event Control  Reset Value */
+
+#define SUPC_EVCTRL_BOD33DETEO_Pos          1                                              /**< (SUPC_EVCTRL) BOD33 Detection Event Output Enable Position */
+#define SUPC_EVCTRL_BOD33DETEO_Msk          (_U_(0x1) << SUPC_EVCTRL_BOD33DETEO_Pos)       /**< (SUPC_EVCTRL) BOD33 Detection Event Output Enable Mask */
+#define SUPC_EVCTRL_BOD33DETEO              SUPC_EVCTRL_BOD33DETEO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_EVCTRL_BOD33DETEO_Msk instead */
+#define SUPC_EVCTRL_BOD12DETEO_Pos          4                                              /**< (SUPC_EVCTRL) BOD12 Detection Event Output Enable Position */
+#define SUPC_EVCTRL_BOD12DETEO_Msk          (_U_(0x1) << SUPC_EVCTRL_BOD12DETEO_Pos)       /**< (SUPC_EVCTRL) BOD12 Detection Event Output Enable Mask */
+#define SUPC_EVCTRL_BOD12DETEO              SUPC_EVCTRL_BOD12DETEO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_EVCTRL_BOD12DETEO_Msk instead */
+#define SUPC_EVCTRL_MASK                    _U_(0x12)                                      /**< \deprecated (SUPC_EVCTRL) Register MASK  (Use SUPC_EVCTRL_Msk instead)  */
+#define SUPC_EVCTRL_Msk                     _U_(0x12)                                      /**< (SUPC_EVCTRL) Register Mask  */
+
+
+/* -------- SUPC_VREGSUSP : (SUPC Offset: 0x30) (R/W 32) VREG Suspend Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t VREGSEN:1;                 /**< bit:      0  Enable Voltage Regulator Suspend         */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_VREGSUSP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_VREGSUSP_OFFSET                (0x30)                                        /**<  (SUPC_VREGSUSP) VREG Suspend Control  Offset */
+#define SUPC_VREGSUSP_RESETVALUE            _U_(0x00)                                     /**<  (SUPC_VREGSUSP) VREG Suspend Control  Reset Value */
+
+#define SUPC_VREGSUSP_VREGSEN_Pos           0                                              /**< (SUPC_VREGSUSP) Enable Voltage Regulator Suspend Position */
+#define SUPC_VREGSUSP_VREGSEN_Msk           (_U_(0x1) << SUPC_VREGSUSP_VREGSEN_Pos)        /**< (SUPC_VREGSUSP) Enable Voltage Regulator Suspend Mask */
+#define SUPC_VREGSUSP_VREGSEN               SUPC_VREGSUSP_VREGSEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREGSUSP_VREGSEN_Msk instead */
+#define SUPC_VREGSUSP_MASK                  _U_(0x01)                                      /**< \deprecated (SUPC_VREGSUSP) Register MASK  (Use SUPC_VREGSUSP_Msk instead)  */
+#define SUPC_VREGSUSP_Msk                   _U_(0x01)                                      /**< (SUPC_VREGSUSP) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief SUPC hardware registers */
+typedef struct {  /* Supply Controller */
+  __IO SUPC_INTENCLR_Type             INTENCLR;       /**< Offset: 0x00 (R/W  32) Interrupt Enable Clear */
+  __IO SUPC_INTENSET_Type             INTENSET;       /**< Offset: 0x04 (R/W  32) Interrupt Enable Set */
+  __IO SUPC_INTFLAG_Type              INTFLAG;        /**< Offset: 0x08 (R/W  32) Interrupt Flag Status and Clear */
+  __I  SUPC_STATUS_Type               STATUS;         /**< Offset: 0x0C (R/   32) Power and Clocks Status */
+  __IO SUPC_BOD33_Type                BOD33;          /**< Offset: 0x10 (R/W  32) BOD33 Control */
+  __IO SUPC_BOD12_Type                BOD12;          /**< Offset: 0x14 (R/W  32) BOD12 Control */
+  __IO SUPC_VREG_Type                 VREG;           /**< Offset: 0x18 (R/W  32) VREG Control */
+  __IO SUPC_VREF_Type                 VREF;           /**< Offset: 0x1C (R/W  32) VREF Control */
+  __I  uint8_t                        Reserved1[12];
+  __IO SUPC_EVCTRL_Type               EVCTRL;         /**< Offset: 0x2C (R/W  32) Event Control */
+  __IO SUPC_VREGSUSP_Type             VREGSUSP;       /**< Offset: 0x30 (R/W  32) VREG Suspend Control */
+} Supc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Supply Controller */
+
+#endif /* _SAML10_SUPC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/tc.h b/cpu/sam0_common/include/vendor/saml10/include/component/tc.h
new file mode 100644
index 0000000000..aba9aa7fce
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/tc.h
@@ -0,0 +1,1027 @@
+/**
+ * \file
+ *
+ * \brief Component description for TC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_TC_COMPONENT_H_
+#define _SAML10_TC_COMPONENT_H_
+#define _SAML10_TC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Basic Timer Counter
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR TC */
+/* ========================================================================== */
+
+#define TC_U2249                      /**< (TC) Module ID */
+#define REV_TC 0x310                  /**< (TC) Module revision */
+
+/* -------- TC_CTRLA : (TC Offset: 0x00) (R/W 32) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t MODE:2;                    /**< bit:   2..3  Timer Counter Mode                       */
+    uint32_t PRESCSYNC:2;               /**< bit:   4..5  Prescaler and Counter Synchronization    */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run during Standby                       */
+    uint32_t ONDEMAND:1;                /**< bit:      7  Clock On Demand                          */
+    uint32_t PRESCALER:3;               /**< bit:  8..10  Prescaler                                */
+    uint32_t ALOCK:1;                   /**< bit:     11  Auto Lock                                */
+    uint32_t :4;                        /**< bit: 12..15  Reserved */
+    uint32_t CAPTEN0:1;                 /**< bit:     16  Capture Channel 0 Enable                 */
+    uint32_t CAPTEN1:1;                 /**< bit:     17  Capture Channel 1 Enable                 */
+    uint32_t :2;                        /**< bit: 18..19  Reserved */
+    uint32_t COPEN0:1;                  /**< bit:     20  Capture On Pin 0 Enable                  */
+    uint32_t COPEN1:1;                  /**< bit:     21  Capture On Pin 1 Enable                  */
+    uint32_t :2;                        /**< bit: 22..23  Reserved */
+    uint32_t CAPTMODE0:2;               /**< bit: 24..25  Capture Mode Channel 0                   */
+    uint32_t :1;                        /**< bit:     26  Reserved */
+    uint32_t CAPTMODE1:2;               /**< bit: 27..28  Capture mode Channel 1                   */
+    uint32_t :3;                        /**< bit: 29..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :16;                       /**< bit:  0..15  Reserved */
+    uint32_t CAPTEN:2;                  /**< bit: 16..17  Capture Channel x Enable                 */
+    uint32_t :2;                        /**< bit: 18..19  Reserved */
+    uint32_t COPEN:2;                   /**< bit: 20..21  Capture On Pin x Enable                  */
+    uint32_t :10;                       /**< bit: 22..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_CTRLA_OFFSET                     (0x00)                                        /**<  (TC_CTRLA) Control A  Offset */
+#define TC_CTRLA_RESETVALUE                 _U_(0x00)                                     /**<  (TC_CTRLA) Control A  Reset Value */
+
+#define TC_CTRLA_SWRST_Pos                  0                                              /**< (TC_CTRLA) Software Reset Position */
+#define TC_CTRLA_SWRST_Msk                  (_U_(0x1) << TC_CTRLA_SWRST_Pos)               /**< (TC_CTRLA) Software Reset Mask */
+#define TC_CTRLA_SWRST                      TC_CTRLA_SWRST_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_SWRST_Msk instead */
+#define TC_CTRLA_ENABLE_Pos                 1                                              /**< (TC_CTRLA) Enable Position */
+#define TC_CTRLA_ENABLE_Msk                 (_U_(0x1) << TC_CTRLA_ENABLE_Pos)              /**< (TC_CTRLA) Enable Mask */
+#define TC_CTRLA_ENABLE                     TC_CTRLA_ENABLE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_ENABLE_Msk instead */
+#define TC_CTRLA_MODE_Pos                   2                                              /**< (TC_CTRLA) Timer Counter Mode Position */
+#define TC_CTRLA_MODE_Msk                   (_U_(0x3) << TC_CTRLA_MODE_Pos)                /**< (TC_CTRLA) Timer Counter Mode Mask */
+#define TC_CTRLA_MODE(value)                (TC_CTRLA_MODE_Msk & ((value) << TC_CTRLA_MODE_Pos))
+#define   TC_CTRLA_MODE_COUNT16_Val         _U_(0x0)                                       /**< (TC_CTRLA) Counter in 16-bit mode  */
+#define   TC_CTRLA_MODE_COUNT8_Val          _U_(0x1)                                       /**< (TC_CTRLA) Counter in 8-bit mode  */
+#define   TC_CTRLA_MODE_COUNT32_Val         _U_(0x2)                                       /**< (TC_CTRLA) Counter in 32-bit mode  */
+#define TC_CTRLA_MODE_COUNT16               (TC_CTRLA_MODE_COUNT16_Val << TC_CTRLA_MODE_Pos)  /**< (TC_CTRLA) Counter in 16-bit mode Position  */
+#define TC_CTRLA_MODE_COUNT8                (TC_CTRLA_MODE_COUNT8_Val << TC_CTRLA_MODE_Pos)  /**< (TC_CTRLA) Counter in 8-bit mode Position  */
+#define TC_CTRLA_MODE_COUNT32               (TC_CTRLA_MODE_COUNT32_Val << TC_CTRLA_MODE_Pos)  /**< (TC_CTRLA) Counter in 32-bit mode Position  */
+#define TC_CTRLA_PRESCSYNC_Pos              4                                              /**< (TC_CTRLA) Prescaler and Counter Synchronization Position */
+#define TC_CTRLA_PRESCSYNC_Msk              (_U_(0x3) << TC_CTRLA_PRESCSYNC_Pos)           /**< (TC_CTRLA) Prescaler and Counter Synchronization Mask */
+#define TC_CTRLA_PRESCSYNC(value)           (TC_CTRLA_PRESCSYNC_Msk & ((value) << TC_CTRLA_PRESCSYNC_Pos))
+#define   TC_CTRLA_PRESCSYNC_GCLK_Val       _U_(0x0)                                       /**< (TC_CTRLA) Reload or reset the counter on next generic clock  */
+#define   TC_CTRLA_PRESCSYNC_PRESC_Val      _U_(0x1)                                       /**< (TC_CTRLA) Reload or reset the counter on next prescaler clock  */
+#define   TC_CTRLA_PRESCSYNC_RESYNC_Val     _U_(0x2)                                       /**< (TC_CTRLA) Reload or reset the counter on next generic clock and reset the prescaler counter  */
+#define TC_CTRLA_PRESCSYNC_GCLK             (TC_CTRLA_PRESCSYNC_GCLK_Val << TC_CTRLA_PRESCSYNC_Pos)  /**< (TC_CTRLA) Reload or reset the counter on next generic clock Position  */
+#define TC_CTRLA_PRESCSYNC_PRESC            (TC_CTRLA_PRESCSYNC_PRESC_Val << TC_CTRLA_PRESCSYNC_Pos)  /**< (TC_CTRLA) Reload or reset the counter on next prescaler clock Position  */
+#define TC_CTRLA_PRESCSYNC_RESYNC           (TC_CTRLA_PRESCSYNC_RESYNC_Val << TC_CTRLA_PRESCSYNC_Pos)  /**< (TC_CTRLA) Reload or reset the counter on next generic clock and reset the prescaler counter Position  */
+#define TC_CTRLA_RUNSTDBY_Pos               6                                              /**< (TC_CTRLA) Run during Standby Position */
+#define TC_CTRLA_RUNSTDBY_Msk               (_U_(0x1) << TC_CTRLA_RUNSTDBY_Pos)            /**< (TC_CTRLA) Run during Standby Mask */
+#define TC_CTRLA_RUNSTDBY                   TC_CTRLA_RUNSTDBY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_RUNSTDBY_Msk instead */
+#define TC_CTRLA_ONDEMAND_Pos               7                                              /**< (TC_CTRLA) Clock On Demand Position */
+#define TC_CTRLA_ONDEMAND_Msk               (_U_(0x1) << TC_CTRLA_ONDEMAND_Pos)            /**< (TC_CTRLA) Clock On Demand Mask */
+#define TC_CTRLA_ONDEMAND                   TC_CTRLA_ONDEMAND_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_ONDEMAND_Msk instead */
+#define TC_CTRLA_PRESCALER_Pos              8                                              /**< (TC_CTRLA) Prescaler Position */
+#define TC_CTRLA_PRESCALER_Msk              (_U_(0x7) << TC_CTRLA_PRESCALER_Pos)           /**< (TC_CTRLA) Prescaler Mask */
+#define TC_CTRLA_PRESCALER(value)           (TC_CTRLA_PRESCALER_Msk & ((value) << TC_CTRLA_PRESCALER_Pos))
+#define   TC_CTRLA_PRESCALER_DIV1_Val       _U_(0x0)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC  */
+#define   TC_CTRLA_PRESCALER_DIV2_Val       _U_(0x1)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/2  */
+#define   TC_CTRLA_PRESCALER_DIV4_Val       _U_(0x2)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/4  */
+#define   TC_CTRLA_PRESCALER_DIV8_Val       _U_(0x3)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/8  */
+#define   TC_CTRLA_PRESCALER_DIV16_Val      _U_(0x4)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/16  */
+#define   TC_CTRLA_PRESCALER_DIV64_Val      _U_(0x5)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/64  */
+#define   TC_CTRLA_PRESCALER_DIV256_Val     _U_(0x6)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/256  */
+#define   TC_CTRLA_PRESCALER_DIV1024_Val    _U_(0x7)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/1024  */
+#define TC_CTRLA_PRESCALER_DIV1             (TC_CTRLA_PRESCALER_DIV1_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC Position  */
+#define TC_CTRLA_PRESCALER_DIV2             (TC_CTRLA_PRESCALER_DIV2_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/2 Position  */
+#define TC_CTRLA_PRESCALER_DIV4             (TC_CTRLA_PRESCALER_DIV4_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/4 Position  */
+#define TC_CTRLA_PRESCALER_DIV8             (TC_CTRLA_PRESCALER_DIV8_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/8 Position  */
+#define TC_CTRLA_PRESCALER_DIV16            (TC_CTRLA_PRESCALER_DIV16_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/16 Position  */
+#define TC_CTRLA_PRESCALER_DIV64            (TC_CTRLA_PRESCALER_DIV64_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/64 Position  */
+#define TC_CTRLA_PRESCALER_DIV256           (TC_CTRLA_PRESCALER_DIV256_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/256 Position  */
+#define TC_CTRLA_PRESCALER_DIV1024          (TC_CTRLA_PRESCALER_DIV1024_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/1024 Position  */
+#define TC_CTRLA_ALOCK_Pos                  11                                             /**< (TC_CTRLA) Auto Lock Position */
+#define TC_CTRLA_ALOCK_Msk                  (_U_(0x1) << TC_CTRLA_ALOCK_Pos)               /**< (TC_CTRLA) Auto Lock Mask */
+#define TC_CTRLA_ALOCK                      TC_CTRLA_ALOCK_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_ALOCK_Msk instead */
+#define TC_CTRLA_CAPTEN0_Pos                16                                             /**< (TC_CTRLA) Capture Channel 0 Enable Position */
+#define TC_CTRLA_CAPTEN0_Msk                (_U_(0x1) << TC_CTRLA_CAPTEN0_Pos)             /**< (TC_CTRLA) Capture Channel 0 Enable Mask */
+#define TC_CTRLA_CAPTEN0                    TC_CTRLA_CAPTEN0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_CAPTEN0_Msk instead */
+#define TC_CTRLA_CAPTEN1_Pos                17                                             /**< (TC_CTRLA) Capture Channel 1 Enable Position */
+#define TC_CTRLA_CAPTEN1_Msk                (_U_(0x1) << TC_CTRLA_CAPTEN1_Pos)             /**< (TC_CTRLA) Capture Channel 1 Enable Mask */
+#define TC_CTRLA_CAPTEN1                    TC_CTRLA_CAPTEN1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_CAPTEN1_Msk instead */
+#define TC_CTRLA_COPEN0_Pos                 20                                             /**< (TC_CTRLA) Capture On Pin 0 Enable Position */
+#define TC_CTRLA_COPEN0_Msk                 (_U_(0x1) << TC_CTRLA_COPEN0_Pos)              /**< (TC_CTRLA) Capture On Pin 0 Enable Mask */
+#define TC_CTRLA_COPEN0                     TC_CTRLA_COPEN0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_COPEN0_Msk instead */
+#define TC_CTRLA_COPEN1_Pos                 21                                             /**< (TC_CTRLA) Capture On Pin 1 Enable Position */
+#define TC_CTRLA_COPEN1_Msk                 (_U_(0x1) << TC_CTRLA_COPEN1_Pos)              /**< (TC_CTRLA) Capture On Pin 1 Enable Mask */
+#define TC_CTRLA_COPEN1                     TC_CTRLA_COPEN1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_COPEN1_Msk instead */
+#define TC_CTRLA_CAPTMODE0_Pos              24                                             /**< (TC_CTRLA) Capture Mode Channel 0 Position */
+#define TC_CTRLA_CAPTMODE0_Msk              (_U_(0x3) << TC_CTRLA_CAPTMODE0_Pos)           /**< (TC_CTRLA) Capture Mode Channel 0 Mask */
+#define TC_CTRLA_CAPTMODE0(value)           (TC_CTRLA_CAPTMODE0_Msk & ((value) << TC_CTRLA_CAPTMODE0_Pos))
+#define   TC_CTRLA_CAPTMODE0_DEFAULT_Val    _U_(0x0)                                       /**< (TC_CTRLA) Default capture  */
+#define   TC_CTRLA_CAPTMODE0_CAPTMIN_Val    _U_(0x1)                                       /**< (TC_CTRLA) Minimum capture  */
+#define   TC_CTRLA_CAPTMODE0_CAPTMAX_Val    _U_(0x2)                                       /**< (TC_CTRLA) Maximum capture  */
+#define TC_CTRLA_CAPTMODE0_DEFAULT          (TC_CTRLA_CAPTMODE0_DEFAULT_Val << TC_CTRLA_CAPTMODE0_Pos)  /**< (TC_CTRLA) Default capture Position  */
+#define TC_CTRLA_CAPTMODE0_CAPTMIN          (TC_CTRLA_CAPTMODE0_CAPTMIN_Val << TC_CTRLA_CAPTMODE0_Pos)  /**< (TC_CTRLA) Minimum capture Position  */
+#define TC_CTRLA_CAPTMODE0_CAPTMAX          (TC_CTRLA_CAPTMODE0_CAPTMAX_Val << TC_CTRLA_CAPTMODE0_Pos)  /**< (TC_CTRLA) Maximum capture Position  */
+#define TC_CTRLA_CAPTMODE1_Pos              27                                             /**< (TC_CTRLA) Capture mode Channel 1 Position */
+#define TC_CTRLA_CAPTMODE1_Msk              (_U_(0x3) << TC_CTRLA_CAPTMODE1_Pos)           /**< (TC_CTRLA) Capture mode Channel 1 Mask */
+#define TC_CTRLA_CAPTMODE1(value)           (TC_CTRLA_CAPTMODE1_Msk & ((value) << TC_CTRLA_CAPTMODE1_Pos))
+#define   TC_CTRLA_CAPTMODE1_DEFAULT_Val    _U_(0x0)                                       /**< (TC_CTRLA) Default capture  */
+#define   TC_CTRLA_CAPTMODE1_CAPTMIN_Val    _U_(0x1)                                       /**< (TC_CTRLA) Minimum capture  */
+#define   TC_CTRLA_CAPTMODE1_CAPTMAX_Val    _U_(0x2)                                       /**< (TC_CTRLA) Maximum capture  */
+#define TC_CTRLA_CAPTMODE1_DEFAULT          (TC_CTRLA_CAPTMODE1_DEFAULT_Val << TC_CTRLA_CAPTMODE1_Pos)  /**< (TC_CTRLA) Default capture Position  */
+#define TC_CTRLA_CAPTMODE1_CAPTMIN          (TC_CTRLA_CAPTMODE1_CAPTMIN_Val << TC_CTRLA_CAPTMODE1_Pos)  /**< (TC_CTRLA) Minimum capture Position  */
+#define TC_CTRLA_CAPTMODE1_CAPTMAX          (TC_CTRLA_CAPTMODE1_CAPTMAX_Val << TC_CTRLA_CAPTMODE1_Pos)  /**< (TC_CTRLA) Maximum capture Position  */
+#define TC_CTRLA_MASK                       _U_(0x1B330FFF)                                /**< \deprecated (TC_CTRLA) Register MASK  (Use TC_CTRLA_Msk instead)  */
+#define TC_CTRLA_Msk                        _U_(0x1B330FFF)                                /**< (TC_CTRLA) Register Mask  */
+
+#define TC_CTRLA_CAPTEN_Pos                 16                                             /**< (TC_CTRLA Position) Capture Channel x Enable */
+#define TC_CTRLA_CAPTEN_Msk                 (_U_(0x3) << TC_CTRLA_CAPTEN_Pos)              /**< (TC_CTRLA Mask) CAPTEN */
+#define TC_CTRLA_CAPTEN(value)              (TC_CTRLA_CAPTEN_Msk & ((value) << TC_CTRLA_CAPTEN_Pos))  
+#define TC_CTRLA_COPEN_Pos                  20                                             /**< (TC_CTRLA Position) Capture On Pin x Enable */
+#define TC_CTRLA_COPEN_Msk                  (_U_(0x3) << TC_CTRLA_COPEN_Pos)               /**< (TC_CTRLA Mask) COPEN */
+#define TC_CTRLA_COPEN(value)               (TC_CTRLA_COPEN_Msk & ((value) << TC_CTRLA_COPEN_Pos))  
+
+/* -------- TC_CTRLBCLR : (TC Offset: 0x04) (R/W 8) Control B Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DIR:1;                     /**< bit:      0  Counter Direction                        */
+    uint8_t  LUPD:1;                    /**< bit:      1  Lock Update                              */
+    uint8_t  ONESHOT:1;                 /**< bit:      2  One-Shot on Counter                      */
+    uint8_t  :2;                        /**< bit:   3..4  Reserved */
+    uint8_t  CMD:3;                     /**< bit:   5..7  Command                                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_CTRLBCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_CTRLBCLR_OFFSET                  (0x04)                                        /**<  (TC_CTRLBCLR) Control B Clear  Offset */
+#define TC_CTRLBCLR_RESETVALUE              _U_(0x00)                                     /**<  (TC_CTRLBCLR) Control B Clear  Reset Value */
+
+#define TC_CTRLBCLR_DIR_Pos                 0                                              /**< (TC_CTRLBCLR) Counter Direction Position */
+#define TC_CTRLBCLR_DIR_Msk                 (_U_(0x1) << TC_CTRLBCLR_DIR_Pos)              /**< (TC_CTRLBCLR) Counter Direction Mask */
+#define TC_CTRLBCLR_DIR                     TC_CTRLBCLR_DIR_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBCLR_DIR_Msk instead */
+#define TC_CTRLBCLR_LUPD_Pos                1                                              /**< (TC_CTRLBCLR) Lock Update Position */
+#define TC_CTRLBCLR_LUPD_Msk                (_U_(0x1) << TC_CTRLBCLR_LUPD_Pos)             /**< (TC_CTRLBCLR) Lock Update Mask */
+#define TC_CTRLBCLR_LUPD                    TC_CTRLBCLR_LUPD_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBCLR_LUPD_Msk instead */
+#define TC_CTRLBCLR_ONESHOT_Pos             2                                              /**< (TC_CTRLBCLR) One-Shot on Counter Position */
+#define TC_CTRLBCLR_ONESHOT_Msk             (_U_(0x1) << TC_CTRLBCLR_ONESHOT_Pos)          /**< (TC_CTRLBCLR) One-Shot on Counter Mask */
+#define TC_CTRLBCLR_ONESHOT                 TC_CTRLBCLR_ONESHOT_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBCLR_ONESHOT_Msk instead */
+#define TC_CTRLBCLR_CMD_Pos                 5                                              /**< (TC_CTRLBCLR) Command Position */
+#define TC_CTRLBCLR_CMD_Msk                 (_U_(0x7) << TC_CTRLBCLR_CMD_Pos)              /**< (TC_CTRLBCLR) Command Mask */
+#define TC_CTRLBCLR_CMD(value)              (TC_CTRLBCLR_CMD_Msk & ((value) << TC_CTRLBCLR_CMD_Pos))
+#define   TC_CTRLBCLR_CMD_NONE_Val          _U_(0x0)                                       /**< (TC_CTRLBCLR) No action  */
+#define   TC_CTRLBCLR_CMD_RETRIGGER_Val     _U_(0x1)                                       /**< (TC_CTRLBCLR) Force a start, restart or retrigger  */
+#define   TC_CTRLBCLR_CMD_STOP_Val          _U_(0x2)                                       /**< (TC_CTRLBCLR) Force a stop  */
+#define   TC_CTRLBCLR_CMD_UPDATE_Val        _U_(0x3)                                       /**< (TC_CTRLBCLR) Force update of double-buffered register  */
+#define   TC_CTRLBCLR_CMD_READSYNC_Val      _U_(0x4)                                       /**< (TC_CTRLBCLR) Force a read synchronization of COUNT  */
+#define   TC_CTRLBCLR_CMD_DMAOS_Val         _U_(0x5)                                       /**< (TC_CTRLBCLR) One-shot DMA trigger  */
+#define TC_CTRLBCLR_CMD_NONE                (TC_CTRLBCLR_CMD_NONE_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) No action Position  */
+#define TC_CTRLBCLR_CMD_RETRIGGER           (TC_CTRLBCLR_CMD_RETRIGGER_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) Force a start, restart or retrigger Position  */
+#define TC_CTRLBCLR_CMD_STOP                (TC_CTRLBCLR_CMD_STOP_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) Force a stop Position  */
+#define TC_CTRLBCLR_CMD_UPDATE              (TC_CTRLBCLR_CMD_UPDATE_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) Force update of double-buffered register Position  */
+#define TC_CTRLBCLR_CMD_READSYNC            (TC_CTRLBCLR_CMD_READSYNC_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) Force a read synchronization of COUNT Position  */
+#define TC_CTRLBCLR_CMD_DMAOS               (TC_CTRLBCLR_CMD_DMAOS_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) One-shot DMA trigger Position  */
+#define TC_CTRLBCLR_MASK                    _U_(0xE7)                                      /**< \deprecated (TC_CTRLBCLR) Register MASK  (Use TC_CTRLBCLR_Msk instead)  */
+#define TC_CTRLBCLR_Msk                     _U_(0xE7)                                      /**< (TC_CTRLBCLR) Register Mask  */
+
+
+/* -------- TC_CTRLBSET : (TC Offset: 0x05) (R/W 8) Control B Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DIR:1;                     /**< bit:      0  Counter Direction                        */
+    uint8_t  LUPD:1;                    /**< bit:      1  Lock Update                              */
+    uint8_t  ONESHOT:1;                 /**< bit:      2  One-Shot on Counter                      */
+    uint8_t  :2;                        /**< bit:   3..4  Reserved */
+    uint8_t  CMD:3;                     /**< bit:   5..7  Command                                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_CTRLBSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_CTRLBSET_OFFSET                  (0x05)                                        /**<  (TC_CTRLBSET) Control B Set  Offset */
+#define TC_CTRLBSET_RESETVALUE              _U_(0x00)                                     /**<  (TC_CTRLBSET) Control B Set  Reset Value */
+
+#define TC_CTRLBSET_DIR_Pos                 0                                              /**< (TC_CTRLBSET) Counter Direction Position */
+#define TC_CTRLBSET_DIR_Msk                 (_U_(0x1) << TC_CTRLBSET_DIR_Pos)              /**< (TC_CTRLBSET) Counter Direction Mask */
+#define TC_CTRLBSET_DIR                     TC_CTRLBSET_DIR_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBSET_DIR_Msk instead */
+#define TC_CTRLBSET_LUPD_Pos                1                                              /**< (TC_CTRLBSET) Lock Update Position */
+#define TC_CTRLBSET_LUPD_Msk                (_U_(0x1) << TC_CTRLBSET_LUPD_Pos)             /**< (TC_CTRLBSET) Lock Update Mask */
+#define TC_CTRLBSET_LUPD                    TC_CTRLBSET_LUPD_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBSET_LUPD_Msk instead */
+#define TC_CTRLBSET_ONESHOT_Pos             2                                              /**< (TC_CTRLBSET) One-Shot on Counter Position */
+#define TC_CTRLBSET_ONESHOT_Msk             (_U_(0x1) << TC_CTRLBSET_ONESHOT_Pos)          /**< (TC_CTRLBSET) One-Shot on Counter Mask */
+#define TC_CTRLBSET_ONESHOT                 TC_CTRLBSET_ONESHOT_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBSET_ONESHOT_Msk instead */
+#define TC_CTRLBSET_CMD_Pos                 5                                              /**< (TC_CTRLBSET) Command Position */
+#define TC_CTRLBSET_CMD_Msk                 (_U_(0x7) << TC_CTRLBSET_CMD_Pos)              /**< (TC_CTRLBSET) Command Mask */
+#define TC_CTRLBSET_CMD(value)              (TC_CTRLBSET_CMD_Msk & ((value) << TC_CTRLBSET_CMD_Pos))
+#define   TC_CTRLBSET_CMD_NONE_Val          _U_(0x0)                                       /**< (TC_CTRLBSET) No action  */
+#define   TC_CTRLBSET_CMD_RETRIGGER_Val     _U_(0x1)                                       /**< (TC_CTRLBSET) Force a start, restart or retrigger  */
+#define   TC_CTRLBSET_CMD_STOP_Val          _U_(0x2)                                       /**< (TC_CTRLBSET) Force a stop  */
+#define   TC_CTRLBSET_CMD_UPDATE_Val        _U_(0x3)                                       /**< (TC_CTRLBSET) Force update of double-buffered register  */
+#define   TC_CTRLBSET_CMD_READSYNC_Val      _U_(0x4)                                       /**< (TC_CTRLBSET) Force a read synchronization of COUNT  */
+#define   TC_CTRLBSET_CMD_DMAOS_Val         _U_(0x5)                                       /**< (TC_CTRLBSET) One-shot DMA trigger  */
+#define TC_CTRLBSET_CMD_NONE                (TC_CTRLBSET_CMD_NONE_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) No action Position  */
+#define TC_CTRLBSET_CMD_RETRIGGER           (TC_CTRLBSET_CMD_RETRIGGER_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) Force a start, restart or retrigger Position  */
+#define TC_CTRLBSET_CMD_STOP                (TC_CTRLBSET_CMD_STOP_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) Force a stop Position  */
+#define TC_CTRLBSET_CMD_UPDATE              (TC_CTRLBSET_CMD_UPDATE_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) Force update of double-buffered register Position  */
+#define TC_CTRLBSET_CMD_READSYNC            (TC_CTRLBSET_CMD_READSYNC_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) Force a read synchronization of COUNT Position  */
+#define TC_CTRLBSET_CMD_DMAOS               (TC_CTRLBSET_CMD_DMAOS_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) One-shot DMA trigger Position  */
+#define TC_CTRLBSET_MASK                    _U_(0xE7)                                      /**< \deprecated (TC_CTRLBSET) Register MASK  (Use TC_CTRLBSET_Msk instead)  */
+#define TC_CTRLBSET_Msk                     _U_(0xE7)                                      /**< (TC_CTRLBSET) Register Mask  */
+
+
+/* -------- TC_EVCTRL : (TC Offset: 0x06) (R/W 16) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t EVACT:3;                   /**< bit:   0..2  Event Action                             */
+    uint16_t :1;                        /**< bit:      3  Reserved */
+    uint16_t TCINV:1;                   /**< bit:      4  TC Event Input Polarity                  */
+    uint16_t TCEI:1;                    /**< bit:      5  TC Event Enable                          */
+    uint16_t :2;                        /**< bit:   6..7  Reserved */
+    uint16_t OVFEO:1;                   /**< bit:      8  Event Output Enable                      */
+    uint16_t :3;                        /**< bit:  9..11  Reserved */
+    uint16_t MCEO0:1;                   /**< bit:     12  MC Event Output Enable 0                 */
+    uint16_t MCEO1:1;                   /**< bit:     13  MC Event Output Enable 1                 */
+    uint16_t :2;                        /**< bit: 14..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t :12;                       /**< bit:  0..11  Reserved */
+    uint16_t MCEO:2;                    /**< bit: 12..13  MC Event Output Enable x                 */
+    uint16_t :2;                        /**< bit: 14..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_EVCTRL_OFFSET                    (0x06)                                        /**<  (TC_EVCTRL) Event Control  Offset */
+#define TC_EVCTRL_RESETVALUE                _U_(0x00)                                     /**<  (TC_EVCTRL) Event Control  Reset Value */
+
+#define TC_EVCTRL_EVACT_Pos                 0                                              /**< (TC_EVCTRL) Event Action Position */
+#define TC_EVCTRL_EVACT_Msk                 (_U_(0x7) << TC_EVCTRL_EVACT_Pos)              /**< (TC_EVCTRL) Event Action Mask */
+#define TC_EVCTRL_EVACT(value)              (TC_EVCTRL_EVACT_Msk & ((value) << TC_EVCTRL_EVACT_Pos))
+#define   TC_EVCTRL_EVACT_OFF_Val           _U_(0x0)                                       /**< (TC_EVCTRL) Event action disabled  */
+#define   TC_EVCTRL_EVACT_RETRIGGER_Val     _U_(0x1)                                       /**< (TC_EVCTRL) Start, restart or retrigger TC on event  */
+#define   TC_EVCTRL_EVACT_COUNT_Val         _U_(0x2)                                       /**< (TC_EVCTRL) Count on event  */
+#define   TC_EVCTRL_EVACT_START_Val         _U_(0x3)                                       /**< (TC_EVCTRL) Start TC on event  */
+#define   TC_EVCTRL_EVACT_STAMP_Val         _U_(0x4)                                       /**< (TC_EVCTRL) Time stamp capture  */
+#define   TC_EVCTRL_EVACT_PPW_Val           _U_(0x5)                                       /**< (TC_EVCTRL) Period catured in CC0, pulse width in CC1  */
+#define   TC_EVCTRL_EVACT_PWP_Val           _U_(0x6)                                       /**< (TC_EVCTRL) Period catured in CC1, pulse width in CC0  */
+#define   TC_EVCTRL_EVACT_PW_Val            _U_(0x7)                                       /**< (TC_EVCTRL) Pulse width capture  */
+#define TC_EVCTRL_EVACT_OFF                 (TC_EVCTRL_EVACT_OFF_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Event action disabled Position  */
+#define TC_EVCTRL_EVACT_RETRIGGER           (TC_EVCTRL_EVACT_RETRIGGER_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Start, restart or retrigger TC on event Position  */
+#define TC_EVCTRL_EVACT_COUNT               (TC_EVCTRL_EVACT_COUNT_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Count on event Position  */
+#define TC_EVCTRL_EVACT_START               (TC_EVCTRL_EVACT_START_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Start TC on event Position  */
+#define TC_EVCTRL_EVACT_STAMP               (TC_EVCTRL_EVACT_STAMP_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Time stamp capture Position  */
+#define TC_EVCTRL_EVACT_PPW                 (TC_EVCTRL_EVACT_PPW_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Period catured in CC0, pulse width in CC1 Position  */
+#define TC_EVCTRL_EVACT_PWP                 (TC_EVCTRL_EVACT_PWP_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Period catured in CC1, pulse width in CC0 Position  */
+#define TC_EVCTRL_EVACT_PW                  (TC_EVCTRL_EVACT_PW_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Pulse width capture Position  */
+#define TC_EVCTRL_TCINV_Pos                 4                                              /**< (TC_EVCTRL) TC Event Input Polarity Position */
+#define TC_EVCTRL_TCINV_Msk                 (_U_(0x1) << TC_EVCTRL_TCINV_Pos)              /**< (TC_EVCTRL) TC Event Input Polarity Mask */
+#define TC_EVCTRL_TCINV                     TC_EVCTRL_TCINV_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_EVCTRL_TCINV_Msk instead */
+#define TC_EVCTRL_TCEI_Pos                  5                                              /**< (TC_EVCTRL) TC Event Enable Position */
+#define TC_EVCTRL_TCEI_Msk                  (_U_(0x1) << TC_EVCTRL_TCEI_Pos)               /**< (TC_EVCTRL) TC Event Enable Mask */
+#define TC_EVCTRL_TCEI                      TC_EVCTRL_TCEI_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_EVCTRL_TCEI_Msk instead */
+#define TC_EVCTRL_OVFEO_Pos                 8                                              /**< (TC_EVCTRL) Event Output Enable Position */
+#define TC_EVCTRL_OVFEO_Msk                 (_U_(0x1) << TC_EVCTRL_OVFEO_Pos)              /**< (TC_EVCTRL) Event Output Enable Mask */
+#define TC_EVCTRL_OVFEO                     TC_EVCTRL_OVFEO_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_EVCTRL_OVFEO_Msk instead */
+#define TC_EVCTRL_MCEO0_Pos                 12                                             /**< (TC_EVCTRL) MC Event Output Enable 0 Position */
+#define TC_EVCTRL_MCEO0_Msk                 (_U_(0x1) << TC_EVCTRL_MCEO0_Pos)              /**< (TC_EVCTRL) MC Event Output Enable 0 Mask */
+#define TC_EVCTRL_MCEO0                     TC_EVCTRL_MCEO0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_EVCTRL_MCEO0_Msk instead */
+#define TC_EVCTRL_MCEO1_Pos                 13                                             /**< (TC_EVCTRL) MC Event Output Enable 1 Position */
+#define TC_EVCTRL_MCEO1_Msk                 (_U_(0x1) << TC_EVCTRL_MCEO1_Pos)              /**< (TC_EVCTRL) MC Event Output Enable 1 Mask */
+#define TC_EVCTRL_MCEO1                     TC_EVCTRL_MCEO1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_EVCTRL_MCEO1_Msk instead */
+#define TC_EVCTRL_MASK                      _U_(0x3137)                                    /**< \deprecated (TC_EVCTRL) Register MASK  (Use TC_EVCTRL_Msk instead)  */
+#define TC_EVCTRL_Msk                       _U_(0x3137)                                    /**< (TC_EVCTRL) Register Mask  */
+
+#define TC_EVCTRL_MCEO_Pos                  12                                             /**< (TC_EVCTRL Position) MC Event Output Enable x */
+#define TC_EVCTRL_MCEO_Msk                  (_U_(0x3) << TC_EVCTRL_MCEO_Pos)               /**< (TC_EVCTRL Mask) MCEO */
+#define TC_EVCTRL_MCEO(value)               (TC_EVCTRL_MCEO_Msk & ((value) << TC_EVCTRL_MCEO_Pos))  
+
+/* -------- TC_INTENCLR : (TC Offset: 0x08) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  OVF:1;                     /**< bit:      0  OVF Interrupt Disable                    */
+    uint8_t  ERR:1;                     /**< bit:      1  ERR Interrupt Disable                    */
+    uint8_t  :2;                        /**< bit:   2..3  Reserved */
+    uint8_t  MC0:1;                     /**< bit:      4  MC Interrupt Disable 0                   */
+    uint8_t  MC1:1;                     /**< bit:      5  MC Interrupt Disable 1                   */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  :4;                        /**< bit:   0..3  Reserved */
+    uint8_t  MC:2;                      /**< bit:   4..5  MC Interrupt Disable x                   */
+    uint8_t  :2;                        /**< bit:   6..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_INTENCLR_OFFSET                  (0x08)                                        /**<  (TC_INTENCLR) Interrupt Enable Clear  Offset */
+#define TC_INTENCLR_RESETVALUE              _U_(0x00)                                     /**<  (TC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define TC_INTENCLR_OVF_Pos                 0                                              /**< (TC_INTENCLR) OVF Interrupt Disable Position */
+#define TC_INTENCLR_OVF_Msk                 (_U_(0x1) << TC_INTENCLR_OVF_Pos)              /**< (TC_INTENCLR) OVF Interrupt Disable Mask */
+#define TC_INTENCLR_OVF                     TC_INTENCLR_OVF_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENCLR_OVF_Msk instead */
+#define TC_INTENCLR_ERR_Pos                 1                                              /**< (TC_INTENCLR) ERR Interrupt Disable Position */
+#define TC_INTENCLR_ERR_Msk                 (_U_(0x1) << TC_INTENCLR_ERR_Pos)              /**< (TC_INTENCLR) ERR Interrupt Disable Mask */
+#define TC_INTENCLR_ERR                     TC_INTENCLR_ERR_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENCLR_ERR_Msk instead */
+#define TC_INTENCLR_MC0_Pos                 4                                              /**< (TC_INTENCLR) MC Interrupt Disable 0 Position */
+#define TC_INTENCLR_MC0_Msk                 (_U_(0x1) << TC_INTENCLR_MC0_Pos)              /**< (TC_INTENCLR) MC Interrupt Disable 0 Mask */
+#define TC_INTENCLR_MC0                     TC_INTENCLR_MC0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENCLR_MC0_Msk instead */
+#define TC_INTENCLR_MC1_Pos                 5                                              /**< (TC_INTENCLR) MC Interrupt Disable 1 Position */
+#define TC_INTENCLR_MC1_Msk                 (_U_(0x1) << TC_INTENCLR_MC1_Pos)              /**< (TC_INTENCLR) MC Interrupt Disable 1 Mask */
+#define TC_INTENCLR_MC1                     TC_INTENCLR_MC1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENCLR_MC1_Msk instead */
+#define TC_INTENCLR_MASK                    _U_(0x33)                                      /**< \deprecated (TC_INTENCLR) Register MASK  (Use TC_INTENCLR_Msk instead)  */
+#define TC_INTENCLR_Msk                     _U_(0x33)                                      /**< (TC_INTENCLR) Register Mask  */
+
+#define TC_INTENCLR_MC_Pos                  4                                              /**< (TC_INTENCLR Position) MC Interrupt Disable x */
+#define TC_INTENCLR_MC_Msk                  (_U_(0x3) << TC_INTENCLR_MC_Pos)               /**< (TC_INTENCLR Mask) MC */
+#define TC_INTENCLR_MC(value)               (TC_INTENCLR_MC_Msk & ((value) << TC_INTENCLR_MC_Pos))  
+
+/* -------- TC_INTENSET : (TC Offset: 0x09) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  OVF:1;                     /**< bit:      0  OVF Interrupt Enable                     */
+    uint8_t  ERR:1;                     /**< bit:      1  ERR Interrupt Enable                     */
+    uint8_t  :2;                        /**< bit:   2..3  Reserved */
+    uint8_t  MC0:1;                     /**< bit:      4  MC Interrupt Enable 0                    */
+    uint8_t  MC1:1;                     /**< bit:      5  MC Interrupt Enable 1                    */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  :4;                        /**< bit:   0..3  Reserved */
+    uint8_t  MC:2;                      /**< bit:   4..5  MC Interrupt Enable x                    */
+    uint8_t  :2;                        /**< bit:   6..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_INTENSET_OFFSET                  (0x09)                                        /**<  (TC_INTENSET) Interrupt Enable Set  Offset */
+#define TC_INTENSET_RESETVALUE              _U_(0x00)                                     /**<  (TC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define TC_INTENSET_OVF_Pos                 0                                              /**< (TC_INTENSET) OVF Interrupt Enable Position */
+#define TC_INTENSET_OVF_Msk                 (_U_(0x1) << TC_INTENSET_OVF_Pos)              /**< (TC_INTENSET) OVF Interrupt Enable Mask */
+#define TC_INTENSET_OVF                     TC_INTENSET_OVF_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENSET_OVF_Msk instead */
+#define TC_INTENSET_ERR_Pos                 1                                              /**< (TC_INTENSET) ERR Interrupt Enable Position */
+#define TC_INTENSET_ERR_Msk                 (_U_(0x1) << TC_INTENSET_ERR_Pos)              /**< (TC_INTENSET) ERR Interrupt Enable Mask */
+#define TC_INTENSET_ERR                     TC_INTENSET_ERR_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENSET_ERR_Msk instead */
+#define TC_INTENSET_MC0_Pos                 4                                              /**< (TC_INTENSET) MC Interrupt Enable 0 Position */
+#define TC_INTENSET_MC0_Msk                 (_U_(0x1) << TC_INTENSET_MC0_Pos)              /**< (TC_INTENSET) MC Interrupt Enable 0 Mask */
+#define TC_INTENSET_MC0                     TC_INTENSET_MC0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENSET_MC0_Msk instead */
+#define TC_INTENSET_MC1_Pos                 5                                              /**< (TC_INTENSET) MC Interrupt Enable 1 Position */
+#define TC_INTENSET_MC1_Msk                 (_U_(0x1) << TC_INTENSET_MC1_Pos)              /**< (TC_INTENSET) MC Interrupt Enable 1 Mask */
+#define TC_INTENSET_MC1                     TC_INTENSET_MC1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENSET_MC1_Msk instead */
+#define TC_INTENSET_MASK                    _U_(0x33)                                      /**< \deprecated (TC_INTENSET) Register MASK  (Use TC_INTENSET_Msk instead)  */
+#define TC_INTENSET_Msk                     _U_(0x33)                                      /**< (TC_INTENSET) Register Mask  */
+
+#define TC_INTENSET_MC_Pos                  4                                              /**< (TC_INTENSET Position) MC Interrupt Enable x */
+#define TC_INTENSET_MC_Msk                  (_U_(0x3) << TC_INTENSET_MC_Pos)               /**< (TC_INTENSET Mask) MC */
+#define TC_INTENSET_MC(value)               (TC_INTENSET_MC_Msk & ((value) << TC_INTENSET_MC_Pos))  
+
+/* -------- TC_INTFLAG : (TC Offset: 0x0a) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t OVF:1;                     /**< bit:      0  OVF Interrupt Flag                       */
+    __I uint8_t ERR:1;                     /**< bit:      1  ERR Interrupt Flag                       */
+    __I uint8_t :2;                        /**< bit:   2..3  Reserved */
+    __I uint8_t MC0:1;                     /**< bit:      4  MC Interrupt Flag 0                      */
+    __I uint8_t MC1:1;                     /**< bit:      5  MC Interrupt Flag 1                      */
+    __I uint8_t :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    __I uint8_t :4;                        /**< bit:   0..3  Reserved */
+    __I uint8_t MC:2;                      /**< bit:   4..5  MC Interrupt Flag x                      */
+    __I uint8_t :2;                        /**< bit:   6..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_INTFLAG_OFFSET                   (0x0A)                                        /**<  (TC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define TC_INTFLAG_RESETVALUE               _U_(0x00)                                     /**<  (TC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define TC_INTFLAG_OVF_Pos                  0                                              /**< (TC_INTFLAG) OVF Interrupt Flag Position */
+#define TC_INTFLAG_OVF_Msk                  (_U_(0x1) << TC_INTFLAG_OVF_Pos)               /**< (TC_INTFLAG) OVF Interrupt Flag Mask */
+#define TC_INTFLAG_OVF                      TC_INTFLAG_OVF_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTFLAG_OVF_Msk instead */
+#define TC_INTFLAG_ERR_Pos                  1                                              /**< (TC_INTFLAG) ERR Interrupt Flag Position */
+#define TC_INTFLAG_ERR_Msk                  (_U_(0x1) << TC_INTFLAG_ERR_Pos)               /**< (TC_INTFLAG) ERR Interrupt Flag Mask */
+#define TC_INTFLAG_ERR                      TC_INTFLAG_ERR_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTFLAG_ERR_Msk instead */
+#define TC_INTFLAG_MC0_Pos                  4                                              /**< (TC_INTFLAG) MC Interrupt Flag 0 Position */
+#define TC_INTFLAG_MC0_Msk                  (_U_(0x1) << TC_INTFLAG_MC0_Pos)               /**< (TC_INTFLAG) MC Interrupt Flag 0 Mask */
+#define TC_INTFLAG_MC0                      TC_INTFLAG_MC0_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTFLAG_MC0_Msk instead */
+#define TC_INTFLAG_MC1_Pos                  5                                              /**< (TC_INTFLAG) MC Interrupt Flag 1 Position */
+#define TC_INTFLAG_MC1_Msk                  (_U_(0x1) << TC_INTFLAG_MC1_Pos)               /**< (TC_INTFLAG) MC Interrupt Flag 1 Mask */
+#define TC_INTFLAG_MC1                      TC_INTFLAG_MC1_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTFLAG_MC1_Msk instead */
+#define TC_INTFLAG_MASK                     _U_(0x33)                                      /**< \deprecated (TC_INTFLAG) Register MASK  (Use TC_INTFLAG_Msk instead)  */
+#define TC_INTFLAG_Msk                      _U_(0x33)                                      /**< (TC_INTFLAG) Register Mask  */
+
+#define TC_INTFLAG_MC_Pos                   4                                              /**< (TC_INTFLAG Position) MC Interrupt Flag x */
+#define TC_INTFLAG_MC_Msk                   (_U_(0x3) << TC_INTFLAG_MC_Pos)                /**< (TC_INTFLAG Mask) MC */
+#define TC_INTFLAG_MC(value)                (TC_INTFLAG_MC_Msk & ((value) << TC_INTFLAG_MC_Pos))  
+
+/* -------- TC_STATUS : (TC Offset: 0x0b) (R/W 8) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  STOP:1;                    /**< bit:      0  Stop Status Flag                         */
+    uint8_t  SLAVE:1;                   /**< bit:      1  Slave Status Flag                        */
+    uint8_t  :1;                        /**< bit:      2  Reserved */
+    uint8_t  PERBUFV:1;                 /**< bit:      3  Synchronization Busy Status              */
+    uint8_t  CCBUFV0:1;                 /**< bit:      4  Compare channel buffer 0 valid           */
+    uint8_t  CCBUFV1:1;                 /**< bit:      5  Compare channel buffer 1 valid           */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  :4;                        /**< bit:   0..3  Reserved */
+    uint8_t  CCBUFV:2;                  /**< bit:   4..5  Compare channel buffer x valid           */
+    uint8_t  :2;                        /**< bit:   6..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_STATUS_OFFSET                    (0x0B)                                        /**<  (TC_STATUS) Status  Offset */
+#define TC_STATUS_RESETVALUE                _U_(0x01)                                     /**<  (TC_STATUS) Status  Reset Value */
+
+#define TC_STATUS_STOP_Pos                  0                                              /**< (TC_STATUS) Stop Status Flag Position */
+#define TC_STATUS_STOP_Msk                  (_U_(0x1) << TC_STATUS_STOP_Pos)               /**< (TC_STATUS) Stop Status Flag Mask */
+#define TC_STATUS_STOP                      TC_STATUS_STOP_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_STATUS_STOP_Msk instead */
+#define TC_STATUS_SLAVE_Pos                 1                                              /**< (TC_STATUS) Slave Status Flag Position */
+#define TC_STATUS_SLAVE_Msk                 (_U_(0x1) << TC_STATUS_SLAVE_Pos)              /**< (TC_STATUS) Slave Status Flag Mask */
+#define TC_STATUS_SLAVE                     TC_STATUS_SLAVE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_STATUS_SLAVE_Msk instead */
+#define TC_STATUS_PERBUFV_Pos               3                                              /**< (TC_STATUS) Synchronization Busy Status Position */
+#define TC_STATUS_PERBUFV_Msk               (_U_(0x1) << TC_STATUS_PERBUFV_Pos)            /**< (TC_STATUS) Synchronization Busy Status Mask */
+#define TC_STATUS_PERBUFV                   TC_STATUS_PERBUFV_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_STATUS_PERBUFV_Msk instead */
+#define TC_STATUS_CCBUFV0_Pos               4                                              /**< (TC_STATUS) Compare channel buffer 0 valid Position */
+#define TC_STATUS_CCBUFV0_Msk               (_U_(0x1) << TC_STATUS_CCBUFV0_Pos)            /**< (TC_STATUS) Compare channel buffer 0 valid Mask */
+#define TC_STATUS_CCBUFV0                   TC_STATUS_CCBUFV0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_STATUS_CCBUFV0_Msk instead */
+#define TC_STATUS_CCBUFV1_Pos               5                                              /**< (TC_STATUS) Compare channel buffer 1 valid Position */
+#define TC_STATUS_CCBUFV1_Msk               (_U_(0x1) << TC_STATUS_CCBUFV1_Pos)            /**< (TC_STATUS) Compare channel buffer 1 valid Mask */
+#define TC_STATUS_CCBUFV1                   TC_STATUS_CCBUFV1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_STATUS_CCBUFV1_Msk instead */
+#define TC_STATUS_MASK                      _U_(0x3B)                                      /**< \deprecated (TC_STATUS) Register MASK  (Use TC_STATUS_Msk instead)  */
+#define TC_STATUS_Msk                       _U_(0x3B)                                      /**< (TC_STATUS) Register Mask  */
+
+#define TC_STATUS_CCBUFV_Pos                4                                              /**< (TC_STATUS Position) Compare channel buffer x valid */
+#define TC_STATUS_CCBUFV_Msk                (_U_(0x3) << TC_STATUS_CCBUFV_Pos)             /**< (TC_STATUS Mask) CCBUFV */
+#define TC_STATUS_CCBUFV(value)             (TC_STATUS_CCBUFV_Msk & ((value) << TC_STATUS_CCBUFV_Pos))  
+
+/* -------- TC_WAVE : (TC Offset: 0x0c) (R/W 8) Waveform Generation Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  WAVEGEN:2;                 /**< bit:   0..1  Waveform Generation Mode                 */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_WAVE_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_WAVE_OFFSET                      (0x0C)                                        /**<  (TC_WAVE) Waveform Generation Control  Offset */
+#define TC_WAVE_RESETVALUE                  _U_(0x00)                                     /**<  (TC_WAVE) Waveform Generation Control  Reset Value */
+
+#define TC_WAVE_WAVEGEN_Pos                 0                                              /**< (TC_WAVE) Waveform Generation Mode Position */
+#define TC_WAVE_WAVEGEN_Msk                 (_U_(0x3) << TC_WAVE_WAVEGEN_Pos)              /**< (TC_WAVE) Waveform Generation Mode Mask */
+#define TC_WAVE_WAVEGEN(value)              (TC_WAVE_WAVEGEN_Msk & ((value) << TC_WAVE_WAVEGEN_Pos))
+#define   TC_WAVE_WAVEGEN_NFRQ_Val          _U_(0x0)                                       /**< (TC_WAVE) Normal frequency  */
+#define   TC_WAVE_WAVEGEN_MFRQ_Val          _U_(0x1)                                       /**< (TC_WAVE) Match frequency  */
+#define   TC_WAVE_WAVEGEN_NPWM_Val          _U_(0x2)                                       /**< (TC_WAVE) Normal PWM  */
+#define   TC_WAVE_WAVEGEN_MPWM_Val          _U_(0x3)                                       /**< (TC_WAVE) Match PWM  */
+#define TC_WAVE_WAVEGEN_NFRQ                (TC_WAVE_WAVEGEN_NFRQ_Val << TC_WAVE_WAVEGEN_Pos)  /**< (TC_WAVE) Normal frequency Position  */
+#define TC_WAVE_WAVEGEN_MFRQ                (TC_WAVE_WAVEGEN_MFRQ_Val << TC_WAVE_WAVEGEN_Pos)  /**< (TC_WAVE) Match frequency Position  */
+#define TC_WAVE_WAVEGEN_NPWM                (TC_WAVE_WAVEGEN_NPWM_Val << TC_WAVE_WAVEGEN_Pos)  /**< (TC_WAVE) Normal PWM Position  */
+#define TC_WAVE_WAVEGEN_MPWM                (TC_WAVE_WAVEGEN_MPWM_Val << TC_WAVE_WAVEGEN_Pos)  /**< (TC_WAVE) Match PWM Position  */
+#define TC_WAVE_MASK                        _U_(0x03)                                      /**< \deprecated (TC_WAVE) Register MASK  (Use TC_WAVE_Msk instead)  */
+#define TC_WAVE_Msk                         _U_(0x03)                                      /**< (TC_WAVE) Register Mask  */
+
+
+/* -------- TC_DRVCTRL : (TC Offset: 0x0d) (R/W 8) Control C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  INVEN0:1;                  /**< bit:      0  Output Waveform Invert Enable 0          */
+    uint8_t  INVEN1:1;                  /**< bit:      1  Output Waveform Invert Enable 1          */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  INVEN:2;                   /**< bit:   0..1  Output Waveform Invert Enable x          */
+    uint8_t  :6;                        /**< bit:   2..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_DRVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_DRVCTRL_OFFSET                   (0x0D)                                        /**<  (TC_DRVCTRL) Control C  Offset */
+#define TC_DRVCTRL_RESETVALUE               _U_(0x00)                                     /**<  (TC_DRVCTRL) Control C  Reset Value */
+
+#define TC_DRVCTRL_INVEN0_Pos               0                                              /**< (TC_DRVCTRL) Output Waveform Invert Enable 0 Position */
+#define TC_DRVCTRL_INVEN0_Msk               (_U_(0x1) << TC_DRVCTRL_INVEN0_Pos)            /**< (TC_DRVCTRL) Output Waveform Invert Enable 0 Mask */
+#define TC_DRVCTRL_INVEN0                   TC_DRVCTRL_INVEN0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_DRVCTRL_INVEN0_Msk instead */
+#define TC_DRVCTRL_INVEN1_Pos               1                                              /**< (TC_DRVCTRL) Output Waveform Invert Enable 1 Position */
+#define TC_DRVCTRL_INVEN1_Msk               (_U_(0x1) << TC_DRVCTRL_INVEN1_Pos)            /**< (TC_DRVCTRL) Output Waveform Invert Enable 1 Mask */
+#define TC_DRVCTRL_INVEN1                   TC_DRVCTRL_INVEN1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_DRVCTRL_INVEN1_Msk instead */
+#define TC_DRVCTRL_MASK                     _U_(0x03)                                      /**< \deprecated (TC_DRVCTRL) Register MASK  (Use TC_DRVCTRL_Msk instead)  */
+#define TC_DRVCTRL_Msk                      _U_(0x03)                                      /**< (TC_DRVCTRL) Register Mask  */
+
+#define TC_DRVCTRL_INVEN_Pos                0                                              /**< (TC_DRVCTRL Position) Output Waveform Invert Enable x */
+#define TC_DRVCTRL_INVEN_Msk                (_U_(0x3) << TC_DRVCTRL_INVEN_Pos)             /**< (TC_DRVCTRL Mask) INVEN */
+#define TC_DRVCTRL_INVEN(value)             (TC_DRVCTRL_INVEN_Msk & ((value) << TC_DRVCTRL_INVEN_Pos))  
+
+/* -------- TC_DBGCTRL : (TC Offset: 0x0f) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DBGRUN:1;                  /**< bit:      0  Run During Debug                         */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_DBGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_DBGCTRL_OFFSET                   (0x0F)                                        /**<  (TC_DBGCTRL) Debug Control  Offset */
+#define TC_DBGCTRL_RESETVALUE               _U_(0x00)                                     /**<  (TC_DBGCTRL) Debug Control  Reset Value */
+
+#define TC_DBGCTRL_DBGRUN_Pos               0                                              /**< (TC_DBGCTRL) Run During Debug Position */
+#define TC_DBGCTRL_DBGRUN_Msk               (_U_(0x1) << TC_DBGCTRL_DBGRUN_Pos)            /**< (TC_DBGCTRL) Run During Debug Mask */
+#define TC_DBGCTRL_DBGRUN                   TC_DBGCTRL_DBGRUN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_DBGCTRL_DBGRUN_Msk instead */
+#define TC_DBGCTRL_MASK                     _U_(0x01)                                      /**< \deprecated (TC_DBGCTRL) Register MASK  (Use TC_DBGCTRL_Msk instead)  */
+#define TC_DBGCTRL_Msk                      _U_(0x01)                                      /**< (TC_DBGCTRL) Register Mask  */
+
+
+/* -------- TC_SYNCBUSY : (TC Offset: 0x10) (R/ 32) Synchronization Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  swrst                                    */
+    uint32_t ENABLE:1;                  /**< bit:      1  enable                                   */
+    uint32_t CTRLB:1;                   /**< bit:      2  CTRLB                                    */
+    uint32_t STATUS:1;                  /**< bit:      3  STATUS                                   */
+    uint32_t COUNT:1;                   /**< bit:      4  Counter                                  */
+    uint32_t PER:1;                     /**< bit:      5  Period                                   */
+    uint32_t CC0:1;                     /**< bit:      6  Compare Channel 0                        */
+    uint32_t CC1:1;                     /**< bit:      7  Compare Channel 1                        */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :6;                        /**< bit:   0..5  Reserved */
+    uint32_t CC:2;                      /**< bit:   6..7  Compare Channel x                        */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_SYNCBUSY_OFFSET                  (0x10)                                        /**<  (TC_SYNCBUSY) Synchronization Status  Offset */
+#define TC_SYNCBUSY_RESETVALUE              _U_(0x00)                                     /**<  (TC_SYNCBUSY) Synchronization Status  Reset Value */
+
+#define TC_SYNCBUSY_SWRST_Pos               0                                              /**< (TC_SYNCBUSY) swrst Position */
+#define TC_SYNCBUSY_SWRST_Msk               (_U_(0x1) << TC_SYNCBUSY_SWRST_Pos)            /**< (TC_SYNCBUSY) swrst Mask */
+#define TC_SYNCBUSY_SWRST                   TC_SYNCBUSY_SWRST_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_SWRST_Msk instead */
+#define TC_SYNCBUSY_ENABLE_Pos              1                                              /**< (TC_SYNCBUSY) enable Position */
+#define TC_SYNCBUSY_ENABLE_Msk              (_U_(0x1) << TC_SYNCBUSY_ENABLE_Pos)           /**< (TC_SYNCBUSY) enable Mask */
+#define TC_SYNCBUSY_ENABLE                  TC_SYNCBUSY_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_ENABLE_Msk instead */
+#define TC_SYNCBUSY_CTRLB_Pos               2                                              /**< (TC_SYNCBUSY) CTRLB Position */
+#define TC_SYNCBUSY_CTRLB_Msk               (_U_(0x1) << TC_SYNCBUSY_CTRLB_Pos)            /**< (TC_SYNCBUSY) CTRLB Mask */
+#define TC_SYNCBUSY_CTRLB                   TC_SYNCBUSY_CTRLB_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_CTRLB_Msk instead */
+#define TC_SYNCBUSY_STATUS_Pos              3                                              /**< (TC_SYNCBUSY) STATUS Position */
+#define TC_SYNCBUSY_STATUS_Msk              (_U_(0x1) << TC_SYNCBUSY_STATUS_Pos)           /**< (TC_SYNCBUSY) STATUS Mask */
+#define TC_SYNCBUSY_STATUS                  TC_SYNCBUSY_STATUS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_STATUS_Msk instead */
+#define TC_SYNCBUSY_COUNT_Pos               4                                              /**< (TC_SYNCBUSY) Counter Position */
+#define TC_SYNCBUSY_COUNT_Msk               (_U_(0x1) << TC_SYNCBUSY_COUNT_Pos)            /**< (TC_SYNCBUSY) Counter Mask */
+#define TC_SYNCBUSY_COUNT                   TC_SYNCBUSY_COUNT_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_COUNT_Msk instead */
+#define TC_SYNCBUSY_PER_Pos                 5                                              /**< (TC_SYNCBUSY) Period Position */
+#define TC_SYNCBUSY_PER_Msk                 (_U_(0x1) << TC_SYNCBUSY_PER_Pos)              /**< (TC_SYNCBUSY) Period Mask */
+#define TC_SYNCBUSY_PER                     TC_SYNCBUSY_PER_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_PER_Msk instead */
+#define TC_SYNCBUSY_CC0_Pos                 6                                              /**< (TC_SYNCBUSY) Compare Channel 0 Position */
+#define TC_SYNCBUSY_CC0_Msk                 (_U_(0x1) << TC_SYNCBUSY_CC0_Pos)              /**< (TC_SYNCBUSY) Compare Channel 0 Mask */
+#define TC_SYNCBUSY_CC0                     TC_SYNCBUSY_CC0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_CC0_Msk instead */
+#define TC_SYNCBUSY_CC1_Pos                 7                                              /**< (TC_SYNCBUSY) Compare Channel 1 Position */
+#define TC_SYNCBUSY_CC1_Msk                 (_U_(0x1) << TC_SYNCBUSY_CC1_Pos)              /**< (TC_SYNCBUSY) Compare Channel 1 Mask */
+#define TC_SYNCBUSY_CC1                     TC_SYNCBUSY_CC1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_CC1_Msk instead */
+#define TC_SYNCBUSY_MASK                    _U_(0xFF)                                      /**< \deprecated (TC_SYNCBUSY) Register MASK  (Use TC_SYNCBUSY_Msk instead)  */
+#define TC_SYNCBUSY_Msk                     _U_(0xFF)                                      /**< (TC_SYNCBUSY) Register Mask  */
+
+#define TC_SYNCBUSY_CC_Pos                  6                                              /**< (TC_SYNCBUSY Position) Compare Channel x */
+#define TC_SYNCBUSY_CC_Msk                  (_U_(0x3) << TC_SYNCBUSY_CC_Pos)               /**< (TC_SYNCBUSY Mask) CC */
+#define TC_SYNCBUSY_CC(value)               (TC_SYNCBUSY_CC_Msk & ((value) << TC_SYNCBUSY_CC_Pos))  
+
+/* -------- TC_COUNT8_COUNT : (TC Offset: 0x14) (R/W 8) COUNT8 Count -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  COUNT:8;                   /**< bit:   0..7  Counter Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_COUNT8_COUNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT8_COUNT_OFFSET              (0x14)                                        /**<  (TC_COUNT8_COUNT) COUNT8 Count  Offset */
+#define TC_COUNT8_COUNT_RESETVALUE          _U_(0x00)                                     /**<  (TC_COUNT8_COUNT) COUNT8 Count  Reset Value */
+
+#define TC_COUNT8_COUNT_COUNT_Pos           0                                              /**< (TC_COUNT8_COUNT) Counter Value Position */
+#define TC_COUNT8_COUNT_COUNT_Msk           (_U_(0xFF) << TC_COUNT8_COUNT_COUNT_Pos)       /**< (TC_COUNT8_COUNT) Counter Value Mask */
+#define TC_COUNT8_COUNT_COUNT(value)        (TC_COUNT8_COUNT_COUNT_Msk & ((value) << TC_COUNT8_COUNT_COUNT_Pos))
+#define TC_COUNT8_COUNT_MASK                _U_(0xFF)                                      /**< \deprecated (TC_COUNT8_COUNT) Register MASK  (Use TC_COUNT8_COUNT_Msk instead)  */
+#define TC_COUNT8_COUNT_Msk                 _U_(0xFF)                                      /**< (TC_COUNT8_COUNT) Register Mask  */
+
+
+/* -------- TC_COUNT16_COUNT : (TC Offset: 0x14) (R/W 16) COUNT16 Count -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t COUNT:16;                  /**< bit:  0..15  Counter Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_COUNT16_COUNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT16_COUNT_OFFSET             (0x14)                                        /**<  (TC_COUNT16_COUNT) COUNT16 Count  Offset */
+#define TC_COUNT16_COUNT_RESETVALUE         _U_(0x00)                                     /**<  (TC_COUNT16_COUNT) COUNT16 Count  Reset Value */
+
+#define TC_COUNT16_COUNT_COUNT_Pos          0                                              /**< (TC_COUNT16_COUNT) Counter Value Position */
+#define TC_COUNT16_COUNT_COUNT_Msk          (_U_(0xFFFF) << TC_COUNT16_COUNT_COUNT_Pos)    /**< (TC_COUNT16_COUNT) Counter Value Mask */
+#define TC_COUNT16_COUNT_COUNT(value)       (TC_COUNT16_COUNT_COUNT_Msk & ((value) << TC_COUNT16_COUNT_COUNT_Pos))
+#define TC_COUNT16_COUNT_MASK               _U_(0xFFFF)                                    /**< \deprecated (TC_COUNT16_COUNT) Register MASK  (Use TC_COUNT16_COUNT_Msk instead)  */
+#define TC_COUNT16_COUNT_Msk                _U_(0xFFFF)                                    /**< (TC_COUNT16_COUNT) Register Mask  */
+
+
+/* -------- TC_COUNT32_COUNT : (TC Offset: 0x14) (R/W 32) COUNT32 Count -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t COUNT:32;                  /**< bit:  0..31  Counter Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_COUNT32_COUNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT32_COUNT_OFFSET             (0x14)                                        /**<  (TC_COUNT32_COUNT) COUNT32 Count  Offset */
+#define TC_COUNT32_COUNT_RESETVALUE         _U_(0x00)                                     /**<  (TC_COUNT32_COUNT) COUNT32 Count  Reset Value */
+
+#define TC_COUNT32_COUNT_COUNT_Pos          0                                              /**< (TC_COUNT32_COUNT) Counter Value Position */
+#define TC_COUNT32_COUNT_COUNT_Msk          (_U_(0xFFFFFFFF) << TC_COUNT32_COUNT_COUNT_Pos)  /**< (TC_COUNT32_COUNT) Counter Value Mask */
+#define TC_COUNT32_COUNT_COUNT(value)       (TC_COUNT32_COUNT_COUNT_Msk & ((value) << TC_COUNT32_COUNT_COUNT_Pos))
+#define TC_COUNT32_COUNT_MASK               _U_(0xFFFFFFFF)                                /**< \deprecated (TC_COUNT32_COUNT) Register MASK  (Use TC_COUNT32_COUNT_Msk instead)  */
+#define TC_COUNT32_COUNT_Msk                _U_(0xFFFFFFFF)                                /**< (TC_COUNT32_COUNT) Register Mask  */
+
+
+/* -------- TC_COUNT32_PER : (TC Offset: 0x18) (R/W 32) COUNT32 Period -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PER:32;                    /**< bit:  0..31  Period Value                             */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_COUNT32_PER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT32_PER_OFFSET               (0x18)                                        /**<  (TC_COUNT32_PER) COUNT32 Period  Offset */
+#define TC_COUNT32_PER_RESETVALUE           _U_(0xFFFFFFFF)                               /**<  (TC_COUNT32_PER) COUNT32 Period  Reset Value */
+
+#define TC_COUNT32_PER_PER_Pos              0                                              /**< (TC_COUNT32_PER) Period Value Position */
+#define TC_COUNT32_PER_PER_Msk              (_U_(0xFFFFFFFF) << TC_COUNT32_PER_PER_Pos)    /**< (TC_COUNT32_PER) Period Value Mask */
+#define TC_COUNT32_PER_PER(value)           (TC_COUNT32_PER_PER_Msk & ((value) << TC_COUNT32_PER_PER_Pos))
+#define TC_COUNT32_PER_MASK                 _U_(0xFFFFFFFF)                                /**< \deprecated (TC_COUNT32_PER) Register MASK  (Use TC_COUNT32_PER_Msk instead)  */
+#define TC_COUNT32_PER_Msk                  _U_(0xFFFFFFFF)                                /**< (TC_COUNT32_PER) Register Mask  */
+
+
+/* -------- TC_COUNT16_PER : (TC Offset: 0x1a) (R/W 16) COUNT16 Period -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER:16;                    /**< bit:  0..15  Period Value                             */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_COUNT16_PER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT16_PER_OFFSET               (0x1A)                                        /**<  (TC_COUNT16_PER) COUNT16 Period  Offset */
+#define TC_COUNT16_PER_RESETVALUE           _U_(0xFFFF)                                   /**<  (TC_COUNT16_PER) COUNT16 Period  Reset Value */
+
+#define TC_COUNT16_PER_PER_Pos              0                                              /**< (TC_COUNT16_PER) Period Value Position */
+#define TC_COUNT16_PER_PER_Msk              (_U_(0xFFFF) << TC_COUNT16_PER_PER_Pos)        /**< (TC_COUNT16_PER) Period Value Mask */
+#define TC_COUNT16_PER_PER(value)           (TC_COUNT16_PER_PER_Msk & ((value) << TC_COUNT16_PER_PER_Pos))
+#define TC_COUNT16_PER_MASK                 _U_(0xFFFF)                                    /**< \deprecated (TC_COUNT16_PER) Register MASK  (Use TC_COUNT16_PER_Msk instead)  */
+#define TC_COUNT16_PER_Msk                  _U_(0xFFFF)                                    /**< (TC_COUNT16_PER) Register Mask  */
+
+
+/* -------- TC_COUNT8_PER : (TC Offset: 0x1b) (R/W 8) COUNT8 Period -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PER:8;                     /**< bit:   0..7  Period Value                             */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_COUNT8_PER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT8_PER_OFFSET                (0x1B)                                        /**<  (TC_COUNT8_PER) COUNT8 Period  Offset */
+#define TC_COUNT8_PER_RESETVALUE            _U_(0xFF)                                     /**<  (TC_COUNT8_PER) COUNT8 Period  Reset Value */
+
+#define TC_COUNT8_PER_PER_Pos               0                                              /**< (TC_COUNT8_PER) Period Value Position */
+#define TC_COUNT8_PER_PER_Msk               (_U_(0xFF) << TC_COUNT8_PER_PER_Pos)           /**< (TC_COUNT8_PER) Period Value Mask */
+#define TC_COUNT8_PER_PER(value)            (TC_COUNT8_PER_PER_Msk & ((value) << TC_COUNT8_PER_PER_Pos))
+#define TC_COUNT8_PER_MASK                  _U_(0xFF)                                      /**< \deprecated (TC_COUNT8_PER) Register MASK  (Use TC_COUNT8_PER_Msk instead)  */
+#define TC_COUNT8_PER_Msk                   _U_(0xFF)                                      /**< (TC_COUNT8_PER) Register Mask  */
+
+
+/* -------- TC_COUNT8_CC : (TC Offset: 0x1c) (R/W 8) COUNT8 Compare and Capture -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CC:8;                      /**< bit:   0..7  Counter/Compare Value                    */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_COUNT8_CC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT8_CC_OFFSET                 (0x1C)                                        /**<  (TC_COUNT8_CC) COUNT8 Compare and Capture  Offset */
+#define TC_COUNT8_CC_RESETVALUE             _U_(0x00)                                     /**<  (TC_COUNT8_CC) COUNT8 Compare and Capture  Reset Value */
+
+#define TC_COUNT8_CC_CC_Pos                 0                                              /**< (TC_COUNT8_CC) Counter/Compare Value Position */
+#define TC_COUNT8_CC_CC_Msk                 (_U_(0xFF) << TC_COUNT8_CC_CC_Pos)             /**< (TC_COUNT8_CC) Counter/Compare Value Mask */
+#define TC_COUNT8_CC_CC(value)              (TC_COUNT8_CC_CC_Msk & ((value) << TC_COUNT8_CC_CC_Pos))
+#define TC_COUNT8_CC_MASK                   _U_(0xFF)                                      /**< \deprecated (TC_COUNT8_CC) Register MASK  (Use TC_COUNT8_CC_Msk instead)  */
+#define TC_COUNT8_CC_Msk                    _U_(0xFF)                                      /**< (TC_COUNT8_CC) Register Mask  */
+
+
+/* -------- TC_COUNT16_CC : (TC Offset: 0x1c) (R/W 16) COUNT16 Compare and Capture -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t CC:16;                     /**< bit:  0..15  Counter/Compare Value                    */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_COUNT16_CC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT16_CC_OFFSET                (0x1C)                                        /**<  (TC_COUNT16_CC) COUNT16 Compare and Capture  Offset */
+#define TC_COUNT16_CC_RESETVALUE            _U_(0x00)                                     /**<  (TC_COUNT16_CC) COUNT16 Compare and Capture  Reset Value */
+
+#define TC_COUNT16_CC_CC_Pos                0                                              /**< (TC_COUNT16_CC) Counter/Compare Value Position */
+#define TC_COUNT16_CC_CC_Msk                (_U_(0xFFFF) << TC_COUNT16_CC_CC_Pos)          /**< (TC_COUNT16_CC) Counter/Compare Value Mask */
+#define TC_COUNT16_CC_CC(value)             (TC_COUNT16_CC_CC_Msk & ((value) << TC_COUNT16_CC_CC_Pos))
+#define TC_COUNT16_CC_MASK                  _U_(0xFFFF)                                    /**< \deprecated (TC_COUNT16_CC) Register MASK  (Use TC_COUNT16_CC_Msk instead)  */
+#define TC_COUNT16_CC_Msk                   _U_(0xFFFF)                                    /**< (TC_COUNT16_CC) Register Mask  */
+
+
+/* -------- TC_COUNT32_CC : (TC Offset: 0x1c) (R/W 32) COUNT32 Compare and Capture -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CC:32;                     /**< bit:  0..31  Counter/Compare Value                    */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_COUNT32_CC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT32_CC_OFFSET                (0x1C)                                        /**<  (TC_COUNT32_CC) COUNT32 Compare and Capture  Offset */
+#define TC_COUNT32_CC_RESETVALUE            _U_(0x00)                                     /**<  (TC_COUNT32_CC) COUNT32 Compare and Capture  Reset Value */
+
+#define TC_COUNT32_CC_CC_Pos                0                                              /**< (TC_COUNT32_CC) Counter/Compare Value Position */
+#define TC_COUNT32_CC_CC_Msk                (_U_(0xFFFFFFFF) << TC_COUNT32_CC_CC_Pos)      /**< (TC_COUNT32_CC) Counter/Compare Value Mask */
+#define TC_COUNT32_CC_CC(value)             (TC_COUNT32_CC_CC_Msk & ((value) << TC_COUNT32_CC_CC_Pos))
+#define TC_COUNT32_CC_MASK                  _U_(0xFFFFFFFF)                                /**< \deprecated (TC_COUNT32_CC) Register MASK  (Use TC_COUNT32_CC_Msk instead)  */
+#define TC_COUNT32_CC_Msk                   _U_(0xFFFFFFFF)                                /**< (TC_COUNT32_CC) Register Mask  */
+
+
+/* -------- TC_COUNT32_PERBUF : (TC Offset: 0x2c) (R/W 32) COUNT32 Period Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PERBUF:32;                 /**< bit:  0..31  Period Buffer Value                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_COUNT32_PERBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT32_PERBUF_OFFSET            (0x2C)                                        /**<  (TC_COUNT32_PERBUF) COUNT32 Period Buffer  Offset */
+#define TC_COUNT32_PERBUF_RESETVALUE        _U_(0xFFFFFFFF)                               /**<  (TC_COUNT32_PERBUF) COUNT32 Period Buffer  Reset Value */
+
+#define TC_COUNT32_PERBUF_PERBUF_Pos        0                                              /**< (TC_COUNT32_PERBUF) Period Buffer Value Position */
+#define TC_COUNT32_PERBUF_PERBUF_Msk        (_U_(0xFFFFFFFF) << TC_COUNT32_PERBUF_PERBUF_Pos)  /**< (TC_COUNT32_PERBUF) Period Buffer Value Mask */
+#define TC_COUNT32_PERBUF_PERBUF(value)     (TC_COUNT32_PERBUF_PERBUF_Msk & ((value) << TC_COUNT32_PERBUF_PERBUF_Pos))
+#define TC_COUNT32_PERBUF_MASK              _U_(0xFFFFFFFF)                                /**< \deprecated (TC_COUNT32_PERBUF) Register MASK  (Use TC_COUNT32_PERBUF_Msk instead)  */
+#define TC_COUNT32_PERBUF_Msk               _U_(0xFFFFFFFF)                                /**< (TC_COUNT32_PERBUF) Register Mask  */
+
+
+/* -------- TC_COUNT16_PERBUF : (TC Offset: 0x2e) (R/W 16) COUNT16 Period Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PERBUF:16;                 /**< bit:  0..15  Period Buffer Value                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_COUNT16_PERBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT16_PERBUF_OFFSET            (0x2E)                                        /**<  (TC_COUNT16_PERBUF) COUNT16 Period Buffer  Offset */
+#define TC_COUNT16_PERBUF_RESETVALUE        _U_(0xFFFF)                                   /**<  (TC_COUNT16_PERBUF) COUNT16 Period Buffer  Reset Value */
+
+#define TC_COUNT16_PERBUF_PERBUF_Pos        0                                              /**< (TC_COUNT16_PERBUF) Period Buffer Value Position */
+#define TC_COUNT16_PERBUF_PERBUF_Msk        (_U_(0xFFFF) << TC_COUNT16_PERBUF_PERBUF_Pos)  /**< (TC_COUNT16_PERBUF) Period Buffer Value Mask */
+#define TC_COUNT16_PERBUF_PERBUF(value)     (TC_COUNT16_PERBUF_PERBUF_Msk & ((value) << TC_COUNT16_PERBUF_PERBUF_Pos))
+#define TC_COUNT16_PERBUF_MASK              _U_(0xFFFF)                                    /**< \deprecated (TC_COUNT16_PERBUF) Register MASK  (Use TC_COUNT16_PERBUF_Msk instead)  */
+#define TC_COUNT16_PERBUF_Msk               _U_(0xFFFF)                                    /**< (TC_COUNT16_PERBUF) Register Mask  */
+
+
+/* -------- TC_COUNT8_PERBUF : (TC Offset: 0x2f) (R/W 8) COUNT8 Period Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PERBUF:8;                  /**< bit:   0..7  Period Buffer Value                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_COUNT8_PERBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT8_PERBUF_OFFSET             (0x2F)                                        /**<  (TC_COUNT8_PERBUF) COUNT8 Period Buffer  Offset */
+#define TC_COUNT8_PERBUF_RESETVALUE         _U_(0xFF)                                     /**<  (TC_COUNT8_PERBUF) COUNT8 Period Buffer  Reset Value */
+
+#define TC_COUNT8_PERBUF_PERBUF_Pos         0                                              /**< (TC_COUNT8_PERBUF) Period Buffer Value Position */
+#define TC_COUNT8_PERBUF_PERBUF_Msk         (_U_(0xFF) << TC_COUNT8_PERBUF_PERBUF_Pos)     /**< (TC_COUNT8_PERBUF) Period Buffer Value Mask */
+#define TC_COUNT8_PERBUF_PERBUF(value)      (TC_COUNT8_PERBUF_PERBUF_Msk & ((value) << TC_COUNT8_PERBUF_PERBUF_Pos))
+#define TC_COUNT8_PERBUF_MASK               _U_(0xFF)                                      /**< \deprecated (TC_COUNT8_PERBUF) Register MASK  (Use TC_COUNT8_PERBUF_Msk instead)  */
+#define TC_COUNT8_PERBUF_Msk                _U_(0xFF)                                      /**< (TC_COUNT8_PERBUF) Register Mask  */
+
+
+/* -------- TC_COUNT8_CCBUF : (TC Offset: 0x30) (R/W 8) COUNT8 Compare and Capture Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CCBUF:8;                   /**< bit:   0..7  Counter/Compare Buffer Value             */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_COUNT8_CCBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT8_CCBUF_OFFSET              (0x30)                                        /**<  (TC_COUNT8_CCBUF) COUNT8 Compare and Capture Buffer  Offset */
+#define TC_COUNT8_CCBUF_RESETVALUE          _U_(0x00)                                     /**<  (TC_COUNT8_CCBUF) COUNT8 Compare and Capture Buffer  Reset Value */
+
+#define TC_COUNT8_CCBUF_CCBUF_Pos           0                                              /**< (TC_COUNT8_CCBUF) Counter/Compare Buffer Value Position */
+#define TC_COUNT8_CCBUF_CCBUF_Msk           (_U_(0xFF) << TC_COUNT8_CCBUF_CCBUF_Pos)       /**< (TC_COUNT8_CCBUF) Counter/Compare Buffer Value Mask */
+#define TC_COUNT8_CCBUF_CCBUF(value)        (TC_COUNT8_CCBUF_CCBUF_Msk & ((value) << TC_COUNT8_CCBUF_CCBUF_Pos))
+#define TC_COUNT8_CCBUF_MASK                _U_(0xFF)                                      /**< \deprecated (TC_COUNT8_CCBUF) Register MASK  (Use TC_COUNT8_CCBUF_Msk instead)  */
+#define TC_COUNT8_CCBUF_Msk                 _U_(0xFF)                                      /**< (TC_COUNT8_CCBUF) Register Mask  */
+
+
+/* -------- TC_COUNT16_CCBUF : (TC Offset: 0x30) (R/W 16) COUNT16 Compare and Capture Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t CCBUF:16;                  /**< bit:  0..15  Counter/Compare Buffer Value             */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_COUNT16_CCBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT16_CCBUF_OFFSET             (0x30)                                        /**<  (TC_COUNT16_CCBUF) COUNT16 Compare and Capture Buffer  Offset */
+#define TC_COUNT16_CCBUF_RESETVALUE         _U_(0x00)                                     /**<  (TC_COUNT16_CCBUF) COUNT16 Compare and Capture Buffer  Reset Value */
+
+#define TC_COUNT16_CCBUF_CCBUF_Pos          0                                              /**< (TC_COUNT16_CCBUF) Counter/Compare Buffer Value Position */
+#define TC_COUNT16_CCBUF_CCBUF_Msk          (_U_(0xFFFF) << TC_COUNT16_CCBUF_CCBUF_Pos)    /**< (TC_COUNT16_CCBUF) Counter/Compare Buffer Value Mask */
+#define TC_COUNT16_CCBUF_CCBUF(value)       (TC_COUNT16_CCBUF_CCBUF_Msk & ((value) << TC_COUNT16_CCBUF_CCBUF_Pos))
+#define TC_COUNT16_CCBUF_MASK               _U_(0xFFFF)                                    /**< \deprecated (TC_COUNT16_CCBUF) Register MASK  (Use TC_COUNT16_CCBUF_Msk instead)  */
+#define TC_COUNT16_CCBUF_Msk                _U_(0xFFFF)                                    /**< (TC_COUNT16_CCBUF) Register Mask  */
+
+
+/* -------- TC_COUNT32_CCBUF : (TC Offset: 0x30) (R/W 32) COUNT32 Compare and Capture Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CCBUF:32;                  /**< bit:  0..31  Counter/Compare Buffer Value             */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_COUNT32_CCBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT32_CCBUF_OFFSET             (0x30)                                        /**<  (TC_COUNT32_CCBUF) COUNT32 Compare and Capture Buffer  Offset */
+#define TC_COUNT32_CCBUF_RESETVALUE         _U_(0x00)                                     /**<  (TC_COUNT32_CCBUF) COUNT32 Compare and Capture Buffer  Reset Value */
+
+#define TC_COUNT32_CCBUF_CCBUF_Pos          0                                              /**< (TC_COUNT32_CCBUF) Counter/Compare Buffer Value Position */
+#define TC_COUNT32_CCBUF_CCBUF_Msk          (_U_(0xFFFFFFFF) << TC_COUNT32_CCBUF_CCBUF_Pos)  /**< (TC_COUNT32_CCBUF) Counter/Compare Buffer Value Mask */
+#define TC_COUNT32_CCBUF_CCBUF(value)       (TC_COUNT32_CCBUF_CCBUF_Msk & ((value) << TC_COUNT32_CCBUF_CCBUF_Pos))
+#define TC_COUNT32_CCBUF_MASK               _U_(0xFFFFFFFF)                                /**< \deprecated (TC_COUNT32_CCBUF) Register MASK  (Use TC_COUNT32_CCBUF_Msk instead)  */
+#define TC_COUNT32_CCBUF_Msk                _U_(0xFFFFFFFF)                                /**< (TC_COUNT32_CCBUF) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief TC hardware registers */
+typedef struct {  /* Basic Timer Counter */
+  __IO TC_CTRLA_Type                  CTRLA;          /**< Offset: 0x00 (R/W  32) Control A */
+  __IO TC_CTRLBCLR_Type               CTRLBCLR;       /**< Offset: 0x04 (R/W   8) Control B Clear */
+  __IO TC_CTRLBSET_Type               CTRLBSET;       /**< Offset: 0x05 (R/W   8) Control B Set */
+  __IO TC_EVCTRL_Type                 EVCTRL;         /**< Offset: 0x06 (R/W  16) Event Control */
+  __IO TC_INTENCLR_Type               INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt Enable Clear */
+  __IO TC_INTENSET_Type               INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt Enable Set */
+  __IO TC_INTFLAG_Type                INTFLAG;        /**< Offset: 0x0A (R/W   8) Interrupt Flag Status and Clear */
+  __IO TC_STATUS_Type                 STATUS;         /**< Offset: 0x0B (R/W   8) Status */
+  __IO TC_WAVE_Type                   WAVE;           /**< Offset: 0x0C (R/W   8) Waveform Generation Control */
+  __IO TC_DRVCTRL_Type                DRVCTRL;        /**< Offset: 0x0D (R/W   8) Control C */
+  __I  uint8_t                        Reserved1[1];
+  __IO TC_DBGCTRL_Type                DBGCTRL;        /**< Offset: 0x0F (R/W   8) Debug Control */
+  __I  TC_SYNCBUSY_Type               SYNCBUSY;       /**< Offset: 0x10 (R/   32) Synchronization Status */
+  __IO TC_COUNT8_COUNT_Type           COUNT;          /**< Offset: 0x14 (R/W   8) COUNT8 Count */
+  __I  uint8_t                        Reserved2[6];
+  __IO TC_COUNT8_PER_Type             PER;            /**< Offset: 0x1B (R/W   8) COUNT8 Period */
+  __IO TC_COUNT8_CC_Type              CC[2];          /**< Offset: 0x1C (R/W   8) COUNT8 Compare and Capture */
+  __I  uint8_t                        Reserved3[17];
+  __IO TC_COUNT8_PERBUF_Type          PERBUF;         /**< Offset: 0x2F (R/W   8) COUNT8 Period Buffer */
+  __IO TC_COUNT8_CCBUF_Type           CCBUF[2];       /**< Offset: 0x30 (R/W   8) COUNT8 Compare and Capture Buffer */
+} TcCount8;
+
+/** \brief TC hardware registers */
+typedef struct {  /* Basic Timer Counter */
+  __IO TC_CTRLA_Type                  CTRLA;          /**< Offset: 0x00 (R/W  32) Control A */
+  __IO TC_CTRLBCLR_Type               CTRLBCLR;       /**< Offset: 0x04 (R/W   8) Control B Clear */
+  __IO TC_CTRLBSET_Type               CTRLBSET;       /**< Offset: 0x05 (R/W   8) Control B Set */
+  __IO TC_EVCTRL_Type                 EVCTRL;         /**< Offset: 0x06 (R/W  16) Event Control */
+  __IO TC_INTENCLR_Type               INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt Enable Clear */
+  __IO TC_INTENSET_Type               INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt Enable Set */
+  __IO TC_INTFLAG_Type                INTFLAG;        /**< Offset: 0x0A (R/W   8) Interrupt Flag Status and Clear */
+  __IO TC_STATUS_Type                 STATUS;         /**< Offset: 0x0B (R/W   8) Status */
+  __IO TC_WAVE_Type                   WAVE;           /**< Offset: 0x0C (R/W   8) Waveform Generation Control */
+  __IO TC_DRVCTRL_Type                DRVCTRL;        /**< Offset: 0x0D (R/W   8) Control C */
+  __I  uint8_t                        Reserved1[1];
+  __IO TC_DBGCTRL_Type                DBGCTRL;        /**< Offset: 0x0F (R/W   8) Debug Control */
+  __I  TC_SYNCBUSY_Type               SYNCBUSY;       /**< Offset: 0x10 (R/   32) Synchronization Status */
+  __IO TC_COUNT16_COUNT_Type          COUNT;          /**< Offset: 0x14 (R/W  16) COUNT16 Count */
+  __I  uint8_t                        Reserved2[4];
+  __IO TC_COUNT16_PER_Type            PER;            /**< Offset: 0x1A (R/W  16) COUNT16 Period */
+  __IO TC_COUNT16_CC_Type             CC[2];          /**< Offset: 0x1C (R/W  16) COUNT16 Compare and Capture */
+  __I  uint8_t                        Reserved3[14];
+  __IO TC_COUNT16_PERBUF_Type         PERBUF;         /**< Offset: 0x2E (R/W  16) COUNT16 Period Buffer */
+  __IO TC_COUNT16_CCBUF_Type          CCBUF[2];       /**< Offset: 0x30 (R/W  16) COUNT16 Compare and Capture Buffer */
+} TcCount16;
+
+/** \brief TC hardware registers */
+typedef struct {  /* Basic Timer Counter */
+  __IO TC_CTRLA_Type                  CTRLA;          /**< Offset: 0x00 (R/W  32) Control A */
+  __IO TC_CTRLBCLR_Type               CTRLBCLR;       /**< Offset: 0x04 (R/W   8) Control B Clear */
+  __IO TC_CTRLBSET_Type               CTRLBSET;       /**< Offset: 0x05 (R/W   8) Control B Set */
+  __IO TC_EVCTRL_Type                 EVCTRL;         /**< Offset: 0x06 (R/W  16) Event Control */
+  __IO TC_INTENCLR_Type               INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt Enable Clear */
+  __IO TC_INTENSET_Type               INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt Enable Set */
+  __IO TC_INTFLAG_Type                INTFLAG;        /**< Offset: 0x0A (R/W   8) Interrupt Flag Status and Clear */
+  __IO TC_STATUS_Type                 STATUS;         /**< Offset: 0x0B (R/W   8) Status */
+  __IO TC_WAVE_Type                   WAVE;           /**< Offset: 0x0C (R/W   8) Waveform Generation Control */
+  __IO TC_DRVCTRL_Type                DRVCTRL;        /**< Offset: 0x0D (R/W   8) Control C */
+  __I  uint8_t                        Reserved1[1];
+  __IO TC_DBGCTRL_Type                DBGCTRL;        /**< Offset: 0x0F (R/W   8) Debug Control */
+  __I  TC_SYNCBUSY_Type               SYNCBUSY;       /**< Offset: 0x10 (R/   32) Synchronization Status */
+  __IO TC_COUNT32_COUNT_Type          COUNT;          /**< Offset: 0x14 (R/W  32) COUNT32 Count */
+  __IO TC_COUNT32_PER_Type            PER;            /**< Offset: 0x18 (R/W  32) COUNT32 Period */
+  __IO TC_COUNT32_CC_Type             CC[2];          /**< Offset: 0x1C (R/W  32) COUNT32 Compare and Capture */
+  __I  uint8_t                        Reserved2[8];
+  __IO TC_COUNT32_PERBUF_Type         PERBUF;         /**< Offset: 0x2C (R/W  32) COUNT32 Period Buffer */
+  __IO TC_COUNT32_CCBUF_Type          CCBUF[2];       /**< Offset: 0x30 (R/W  32) COUNT32 Compare and Capture Buffer */
+} TcCount32;
+
+/** \brief TC hardware registers */
+typedef union {  /* Basic Timer Counter */
+       TcCount8                       COUNT8;         /**< 8-bit Counter Mode */
+       TcCount16                      COUNT16;        /**< 16-bit Counter Mode */
+       TcCount32                      COUNT32;        /**< 32-bit Counter Mode */
+} Tc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Basic Timer Counter */
+
+#endif /* _SAML10_TC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/tram.h b/cpu/sam0_common/include/vendor/saml10/include/component/tram.h
new file mode 100644
index 0000000000..ba3ad168a9
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/tram.h
@@ -0,0 +1,316 @@
+/**
+ * \file
+ *
+ * \brief Component description for TRAM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_TRAM_COMPONENT_H_
+#define _SAML10_TRAM_COMPONENT_H_
+#define _SAML10_TRAM_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 TrustRAM
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR TRAM */
+/* ========================================================================== */
+
+#define TRAM_U2801                      /**< (TRAM) Module ID */
+#define REV_TRAM 0x100                  /**< (TRAM) Module revision */
+
+/* -------- TRAM_CTRLA : (TRAM Offset: 0x00) (R/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint8_t  :2;                        /**< bit:   2..3  Reserved */
+    uint8_t  TAMPERS:1;                 /**< bit:      4  Tamper Erase                             */
+    uint8_t  :1;                        /**< bit:      5  Reserved */
+    uint8_t  DRP:1;                     /**< bit:      6  Data Remanence Prevention                */
+    uint8_t  SILACC:1;                  /**< bit:      7  Silent Access                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_CTRLA_OFFSET                   (0x00)                                        /**<  (TRAM_CTRLA) Control  Offset */
+#define TRAM_CTRLA_RESETVALUE               _U_(0x00)                                     /**<  (TRAM_CTRLA) Control  Reset Value */
+
+#define TRAM_CTRLA_SWRST_Pos                0                                              /**< (TRAM_CTRLA) Software Reset Position */
+#define TRAM_CTRLA_SWRST_Msk                (_U_(0x1) << TRAM_CTRLA_SWRST_Pos)             /**< (TRAM_CTRLA) Software Reset Mask */
+#define TRAM_CTRLA_SWRST                    TRAM_CTRLA_SWRST_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_CTRLA_SWRST_Msk instead */
+#define TRAM_CTRLA_ENABLE_Pos               1                                              /**< (TRAM_CTRLA) Enable Position */
+#define TRAM_CTRLA_ENABLE_Msk               (_U_(0x1) << TRAM_CTRLA_ENABLE_Pos)            /**< (TRAM_CTRLA) Enable Mask */
+#define TRAM_CTRLA_ENABLE                   TRAM_CTRLA_ENABLE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_CTRLA_ENABLE_Msk instead */
+#define TRAM_CTRLA_TAMPERS_Pos              4                                              /**< (TRAM_CTRLA) Tamper Erase Position */
+#define TRAM_CTRLA_TAMPERS_Msk              (_U_(0x1) << TRAM_CTRLA_TAMPERS_Pos)           /**< (TRAM_CTRLA) Tamper Erase Mask */
+#define TRAM_CTRLA_TAMPERS                  TRAM_CTRLA_TAMPERS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_CTRLA_TAMPERS_Msk instead */
+#define TRAM_CTRLA_DRP_Pos                  6                                              /**< (TRAM_CTRLA) Data Remanence Prevention Position */
+#define TRAM_CTRLA_DRP_Msk                  (_U_(0x1) << TRAM_CTRLA_DRP_Pos)               /**< (TRAM_CTRLA) Data Remanence Prevention Mask */
+#define TRAM_CTRLA_DRP                      TRAM_CTRLA_DRP_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_CTRLA_DRP_Msk instead */
+#define TRAM_CTRLA_SILACC_Pos               7                                              /**< (TRAM_CTRLA) Silent Access Position */
+#define TRAM_CTRLA_SILACC_Msk               (_U_(0x1) << TRAM_CTRLA_SILACC_Pos)            /**< (TRAM_CTRLA) Silent Access Mask */
+#define TRAM_CTRLA_SILACC                   TRAM_CTRLA_SILACC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_CTRLA_SILACC_Msk instead */
+#define TRAM_CTRLA_MASK                     _U_(0xD3)                                      /**< \deprecated (TRAM_CTRLA) Register MASK  (Use TRAM_CTRLA_Msk instead)  */
+#define TRAM_CTRLA_Msk                      _U_(0xD3)                                      /**< (TRAM_CTRLA) Register Mask  */
+
+
+/* -------- TRAM_INTENCLR : (TRAM Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ERR:1;                     /**< bit:      0  TrustRAM Readout Error Interrupt Enable  */
+    uint8_t  DRP:1;                     /**< bit:      1  Data Remanence Prevention Ended Interrupt Enable */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_INTENCLR_OFFSET                (0x04)                                        /**<  (TRAM_INTENCLR) Interrupt Enable Clear  Offset */
+#define TRAM_INTENCLR_RESETVALUE            _U_(0x00)                                     /**<  (TRAM_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define TRAM_INTENCLR_ERR_Pos               0                                              /**< (TRAM_INTENCLR) TrustRAM Readout Error Interrupt Enable Position */
+#define TRAM_INTENCLR_ERR_Msk               (_U_(0x1) << TRAM_INTENCLR_ERR_Pos)            /**< (TRAM_INTENCLR) TrustRAM Readout Error Interrupt Enable Mask */
+#define TRAM_INTENCLR_ERR                   TRAM_INTENCLR_ERR_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTENCLR_ERR_Msk instead */
+#define TRAM_INTENCLR_DRP_Pos               1                                              /**< (TRAM_INTENCLR) Data Remanence Prevention Ended Interrupt Enable Position */
+#define TRAM_INTENCLR_DRP_Msk               (_U_(0x1) << TRAM_INTENCLR_DRP_Pos)            /**< (TRAM_INTENCLR) Data Remanence Prevention Ended Interrupt Enable Mask */
+#define TRAM_INTENCLR_DRP                   TRAM_INTENCLR_DRP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTENCLR_DRP_Msk instead */
+#define TRAM_INTENCLR_MASK                  _U_(0x03)                                      /**< \deprecated (TRAM_INTENCLR) Register MASK  (Use TRAM_INTENCLR_Msk instead)  */
+#define TRAM_INTENCLR_Msk                   _U_(0x03)                                      /**< (TRAM_INTENCLR) Register Mask  */
+
+
+/* -------- TRAM_INTENSET : (TRAM Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ERR:1;                     /**< bit:      0  TrustRAM Readout Error Interrupt Enable  */
+    uint8_t  DRP:1;                     /**< bit:      1  Data Remanence Prevention Ended Interrupt Enable */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_INTENSET_OFFSET                (0x05)                                        /**<  (TRAM_INTENSET) Interrupt Enable Set  Offset */
+#define TRAM_INTENSET_RESETVALUE            _U_(0x00)                                     /**<  (TRAM_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define TRAM_INTENSET_ERR_Pos               0                                              /**< (TRAM_INTENSET) TrustRAM Readout Error Interrupt Enable Position */
+#define TRAM_INTENSET_ERR_Msk               (_U_(0x1) << TRAM_INTENSET_ERR_Pos)            /**< (TRAM_INTENSET) TrustRAM Readout Error Interrupt Enable Mask */
+#define TRAM_INTENSET_ERR                   TRAM_INTENSET_ERR_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTENSET_ERR_Msk instead */
+#define TRAM_INTENSET_DRP_Pos               1                                              /**< (TRAM_INTENSET) Data Remanence Prevention Ended Interrupt Enable Position */
+#define TRAM_INTENSET_DRP_Msk               (_U_(0x1) << TRAM_INTENSET_DRP_Pos)            /**< (TRAM_INTENSET) Data Remanence Prevention Ended Interrupt Enable Mask */
+#define TRAM_INTENSET_DRP                   TRAM_INTENSET_DRP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTENSET_DRP_Msk instead */
+#define TRAM_INTENSET_MASK                  _U_(0x03)                                      /**< \deprecated (TRAM_INTENSET) Register MASK  (Use TRAM_INTENSET_Msk instead)  */
+#define TRAM_INTENSET_Msk                   _U_(0x03)                                      /**< (TRAM_INTENSET) Register Mask  */
+
+
+/* -------- TRAM_INTFLAG : (TRAM Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t ERR:1;                     /**< bit:      0  TrustRAM Readout Error                   */
+    __I uint8_t DRP:1;                     /**< bit:      1  Data Remanence Prevention Ended          */
+    __I uint8_t :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_INTFLAG_OFFSET                 (0x06)                                        /**<  (TRAM_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define TRAM_INTFLAG_RESETVALUE             _U_(0x00)                                     /**<  (TRAM_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define TRAM_INTFLAG_ERR_Pos                0                                              /**< (TRAM_INTFLAG) TrustRAM Readout Error Position */
+#define TRAM_INTFLAG_ERR_Msk                (_U_(0x1) << TRAM_INTFLAG_ERR_Pos)             /**< (TRAM_INTFLAG) TrustRAM Readout Error Mask */
+#define TRAM_INTFLAG_ERR                    TRAM_INTFLAG_ERR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTFLAG_ERR_Msk instead */
+#define TRAM_INTFLAG_DRP_Pos                1                                              /**< (TRAM_INTFLAG) Data Remanence Prevention Ended Position */
+#define TRAM_INTFLAG_DRP_Msk                (_U_(0x1) << TRAM_INTFLAG_DRP_Pos)             /**< (TRAM_INTFLAG) Data Remanence Prevention Ended Mask */
+#define TRAM_INTFLAG_DRP                    TRAM_INTFLAG_DRP_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTFLAG_DRP_Msk instead */
+#define TRAM_INTFLAG_MASK                   _U_(0x03)                                      /**< \deprecated (TRAM_INTFLAG) Register MASK  (Use TRAM_INTFLAG_Msk instead)  */
+#define TRAM_INTFLAG_Msk                    _U_(0x03)                                      /**< (TRAM_INTFLAG) Register Mask  */
+
+
+/* -------- TRAM_STATUS : (TRAM Offset: 0x07) (R/ 8) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RAMINV:1;                  /**< bit:      0  RAM Inversion Bit                        */
+    uint8_t  DRP:1;                     /**< bit:      1  Data Remanence Prevention Ongoing        */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_STATUS_OFFSET                  (0x07)                                        /**<  (TRAM_STATUS) Status  Offset */
+#define TRAM_STATUS_RESETVALUE              _U_(0x00)                                     /**<  (TRAM_STATUS) Status  Reset Value */
+
+#define TRAM_STATUS_RAMINV_Pos              0                                              /**< (TRAM_STATUS) RAM Inversion Bit Position */
+#define TRAM_STATUS_RAMINV_Msk              (_U_(0x1) << TRAM_STATUS_RAMINV_Pos)           /**< (TRAM_STATUS) RAM Inversion Bit Mask */
+#define TRAM_STATUS_RAMINV                  TRAM_STATUS_RAMINV_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_STATUS_RAMINV_Msk instead */
+#define TRAM_STATUS_DRP_Pos                 1                                              /**< (TRAM_STATUS) Data Remanence Prevention Ongoing Position */
+#define TRAM_STATUS_DRP_Msk                 (_U_(0x1) << TRAM_STATUS_DRP_Pos)              /**< (TRAM_STATUS) Data Remanence Prevention Ongoing Mask */
+#define TRAM_STATUS_DRP                     TRAM_STATUS_DRP_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_STATUS_DRP_Msk instead */
+#define TRAM_STATUS_MASK                    _U_(0x03)                                      /**< \deprecated (TRAM_STATUS) Register MASK  (Use TRAM_STATUS_Msk instead)  */
+#define TRAM_STATUS_Msk                     _U_(0x03)                                      /**< (TRAM_STATUS) Register Mask  */
+
+
+/* -------- TRAM_SYNCBUSY : (TRAM Offset: 0x08) (R/ 32) Synchronization Busy Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Busy                      */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Busy                              */
+    uint32_t :30;                       /**< bit:  2..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TRAM_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_SYNCBUSY_OFFSET                (0x08)                                        /**<  (TRAM_SYNCBUSY) Synchronization Busy Status  Offset */
+#define TRAM_SYNCBUSY_RESETVALUE            _U_(0x00)                                     /**<  (TRAM_SYNCBUSY) Synchronization Busy Status  Reset Value */
+
+#define TRAM_SYNCBUSY_SWRST_Pos             0                                              /**< (TRAM_SYNCBUSY) Software Reset Busy Position */
+#define TRAM_SYNCBUSY_SWRST_Msk             (_U_(0x1) << TRAM_SYNCBUSY_SWRST_Pos)          /**< (TRAM_SYNCBUSY) Software Reset Busy Mask */
+#define TRAM_SYNCBUSY_SWRST                 TRAM_SYNCBUSY_SWRST_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_SYNCBUSY_SWRST_Msk instead */
+#define TRAM_SYNCBUSY_ENABLE_Pos            1                                              /**< (TRAM_SYNCBUSY) Enable Busy Position */
+#define TRAM_SYNCBUSY_ENABLE_Msk            (_U_(0x1) << TRAM_SYNCBUSY_ENABLE_Pos)         /**< (TRAM_SYNCBUSY) Enable Busy Mask */
+#define TRAM_SYNCBUSY_ENABLE                TRAM_SYNCBUSY_ENABLE_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_SYNCBUSY_ENABLE_Msk instead */
+#define TRAM_SYNCBUSY_MASK                  _U_(0x03)                                      /**< \deprecated (TRAM_SYNCBUSY) Register MASK  (Use TRAM_SYNCBUSY_Msk instead)  */
+#define TRAM_SYNCBUSY_Msk                   _U_(0x03)                                      /**< (TRAM_SYNCBUSY) Register Mask  */
+
+
+/* -------- TRAM_DSCC : (TRAM Offset: 0x0c) (/W 32) Data Scramble Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DSCKEY:30;                 /**< bit:  0..29  Data Scramble Key                        */
+    uint32_t :1;                        /**< bit:     30  Reserved */
+    uint32_t DSCEN:1;                   /**< bit:     31  Data Scramble Enable                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TRAM_DSCC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_DSCC_OFFSET                    (0x0C)                                        /**<  (TRAM_DSCC) Data Scramble Control  Offset */
+#define TRAM_DSCC_RESETVALUE                _U_(0x00)                                     /**<  (TRAM_DSCC) Data Scramble Control  Reset Value */
+
+#define TRAM_DSCC_DSCKEY_Pos                0                                              /**< (TRAM_DSCC) Data Scramble Key Position */
+#define TRAM_DSCC_DSCKEY_Msk                (_U_(0x3FFFFFFF) << TRAM_DSCC_DSCKEY_Pos)      /**< (TRAM_DSCC) Data Scramble Key Mask */
+#define TRAM_DSCC_DSCKEY(value)             (TRAM_DSCC_DSCKEY_Msk & ((value) << TRAM_DSCC_DSCKEY_Pos))
+#define TRAM_DSCC_DSCEN_Pos                 31                                             /**< (TRAM_DSCC) Data Scramble Enable Position */
+#define TRAM_DSCC_DSCEN_Msk                 (_U_(0x1) << TRAM_DSCC_DSCEN_Pos)              /**< (TRAM_DSCC) Data Scramble Enable Mask */
+#define TRAM_DSCC_DSCEN                     TRAM_DSCC_DSCEN_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_DSCC_DSCEN_Msk instead */
+#define TRAM_DSCC_MASK                      _U_(0xBFFFFFFF)                                /**< \deprecated (TRAM_DSCC) Register MASK  (Use TRAM_DSCC_Msk instead)  */
+#define TRAM_DSCC_Msk                       _U_(0xBFFFFFFF)                                /**< (TRAM_DSCC) Register Mask  */
+
+
+/* -------- TRAM_PERMW : (TRAM Offset: 0x10) (/W 8) Permutation Write -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATA:3;                    /**< bit:   0..2  Permutation Scrambler Data Input         */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_PERMW_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_PERMW_OFFSET                   (0x10)                                        /**<  (TRAM_PERMW) Permutation Write  Offset */
+#define TRAM_PERMW_RESETVALUE               _U_(0x00)                                     /**<  (TRAM_PERMW) Permutation Write  Reset Value */
+
+#define TRAM_PERMW_DATA_Pos                 0                                              /**< (TRAM_PERMW) Permutation Scrambler Data Input Position */
+#define TRAM_PERMW_DATA_Msk                 (_U_(0x7) << TRAM_PERMW_DATA_Pos)              /**< (TRAM_PERMW) Permutation Scrambler Data Input Mask */
+#define TRAM_PERMW_DATA(value)              (TRAM_PERMW_DATA_Msk & ((value) << TRAM_PERMW_DATA_Pos))
+#define TRAM_PERMW_MASK                     _U_(0x07)                                      /**< \deprecated (TRAM_PERMW) Register MASK  (Use TRAM_PERMW_Msk instead)  */
+#define TRAM_PERMW_Msk                      _U_(0x07)                                      /**< (TRAM_PERMW) Register Mask  */
+
+
+/* -------- TRAM_PERMR : (TRAM Offset: 0x11) (R/ 8) Permutation Read -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATA:3;                    /**< bit:   0..2  Permutation Scrambler Data Output        */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_PERMR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_PERMR_OFFSET                   (0x11)                                        /**<  (TRAM_PERMR) Permutation Read  Offset */
+#define TRAM_PERMR_RESETVALUE               _U_(0x00)                                     /**<  (TRAM_PERMR) Permutation Read  Reset Value */
+
+#define TRAM_PERMR_DATA_Pos                 0                                              /**< (TRAM_PERMR) Permutation Scrambler Data Output Position */
+#define TRAM_PERMR_DATA_Msk                 (_U_(0x7) << TRAM_PERMR_DATA_Pos)              /**< (TRAM_PERMR) Permutation Scrambler Data Output Mask */
+#define TRAM_PERMR_DATA(value)              (TRAM_PERMR_DATA_Msk & ((value) << TRAM_PERMR_DATA_Pos))
+#define TRAM_PERMR_MASK                     _U_(0x07)                                      /**< \deprecated (TRAM_PERMR) Register MASK  (Use TRAM_PERMR_Msk instead)  */
+#define TRAM_PERMR_Msk                      _U_(0x07)                                      /**< (TRAM_PERMR) Register Mask  */
+
+
+/* -------- TRAM_RAM : (TRAM Offset: 0x100) (R/W 32) TrustRAM -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:32;                   /**< bit:  0..31  Trust RAM Data                           */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TRAM_RAM_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_RAM_OFFSET                     (0x100)                                       /**<  (TRAM_RAM) TrustRAM  Offset */
+#define TRAM_RAM_RESETVALUE                 _U_(0x00)                                     /**<  (TRAM_RAM) TrustRAM  Reset Value */
+
+#define TRAM_RAM_DATA_Pos                   0                                              /**< (TRAM_RAM) Trust RAM Data Position */
+#define TRAM_RAM_DATA_Msk                   (_U_(0xFFFFFFFF) << TRAM_RAM_DATA_Pos)         /**< (TRAM_RAM) Trust RAM Data Mask */
+#define TRAM_RAM_DATA(value)                (TRAM_RAM_DATA_Msk & ((value) << TRAM_RAM_DATA_Pos))
+#define TRAM_RAM_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (TRAM_RAM) Register MASK  (Use TRAM_RAM_Msk instead)  */
+#define TRAM_RAM_Msk                        _U_(0xFFFFFFFF)                                /**< (TRAM_RAM) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief TRAM hardware registers */
+typedef struct {  /* TrustRAM */
+  __IO TRAM_CTRLA_Type                CTRLA;          /**< Offset: 0x00 (R/W   8) Control */
+  __I  uint8_t                        Reserved1[3];
+  __IO TRAM_INTENCLR_Type             INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO TRAM_INTENSET_Type             INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO TRAM_INTFLAG_Type              INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  TRAM_STATUS_Type               STATUS;         /**< Offset: 0x07 (R/    8) Status */
+  __I  TRAM_SYNCBUSY_Type             SYNCBUSY;       /**< Offset: 0x08 (R/   32) Synchronization Busy Status */
+  __O  TRAM_DSCC_Type                 DSCC;           /**< Offset: 0x0C ( /W  32) Data Scramble Control */
+  __O  TRAM_PERMW_Type                PERMW;          /**< Offset: 0x10 ( /W   8) Permutation Write */
+  __I  TRAM_PERMR_Type                PERMR;          /**< Offset: 0x11 (R/    8) Permutation Read */
+  __I  uint8_t                        Reserved2[238];
+  __IO TRAM_RAM_Type                  RAM[64];        /**< Offset: 0x100 (R/W  32) TrustRAM */
+} Tram;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of TrustRAM */
+
+#endif /* _SAML10_TRAM_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/trng.h b/cpu/sam0_common/include/vendor/saml10/include/component/trng.h
new file mode 100644
index 0000000000..dfadd158a9
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/trng.h
@@ -0,0 +1,194 @@
+/**
+ * \file
+ *
+ * \brief Component description for TRNG
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_TRNG_COMPONENT_H_
+#define _SAML10_TRNG_COMPONENT_H_
+#define _SAML10_TRNG_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 True Random Generator
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR TRNG */
+/* ========================================================================== */
+
+#define TRNG_U2242                      /**< (TRNG) Module ID */
+#define REV_TRNG 0x120                  /**< (TRNG) Module revision */
+
+/* -------- TRNG_CTRLA : (TRNG Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :1;                        /**< bit:      0  Reserved */
+    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 */
+} TRNG_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_CTRLA_OFFSET                   (0x00)                                        /**<  (TRNG_CTRLA) Control A  Offset */
+#define TRNG_CTRLA_RESETVALUE               _U_(0x00)                                     /**<  (TRNG_CTRLA) Control A  Reset Value */
+
+#define TRNG_CTRLA_ENABLE_Pos               1                                              /**< (TRNG_CTRLA) Enable Position */
+#define TRNG_CTRLA_ENABLE_Msk               (_U_(0x1) << TRNG_CTRLA_ENABLE_Pos)            /**< (TRNG_CTRLA) Enable Mask */
+#define TRNG_CTRLA_ENABLE                   TRNG_CTRLA_ENABLE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_CTRLA_ENABLE_Msk instead */
+#define TRNG_CTRLA_RUNSTDBY_Pos             6                                              /**< (TRNG_CTRLA) Run in Standby Position */
+#define TRNG_CTRLA_RUNSTDBY_Msk             (_U_(0x1) << TRNG_CTRLA_RUNSTDBY_Pos)          /**< (TRNG_CTRLA) Run in Standby Mask */
+#define TRNG_CTRLA_RUNSTDBY                 TRNG_CTRLA_RUNSTDBY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_CTRLA_RUNSTDBY_Msk instead */
+#define TRNG_CTRLA_MASK                     _U_(0x42)                                      /**< \deprecated (TRNG_CTRLA) Register MASK  (Use TRNG_CTRLA_Msk instead)  */
+#define TRNG_CTRLA_Msk                      _U_(0x42)                                      /**< (TRNG_CTRLA) Register Mask  */
+
+
+/* -------- TRNG_EVCTRL : (TRNG Offset: 0x04) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATARDYEO:1;               /**< bit:      0  Data Ready Event Output                  */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRNG_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_EVCTRL_OFFSET                  (0x04)                                        /**<  (TRNG_EVCTRL) Event Control  Offset */
+#define TRNG_EVCTRL_RESETVALUE              _U_(0x00)                                     /**<  (TRNG_EVCTRL) Event Control  Reset Value */
+
+#define TRNG_EVCTRL_DATARDYEO_Pos           0                                              /**< (TRNG_EVCTRL) Data Ready Event Output Position */
+#define TRNG_EVCTRL_DATARDYEO_Msk           (_U_(0x1) << TRNG_EVCTRL_DATARDYEO_Pos)        /**< (TRNG_EVCTRL) Data Ready Event Output Mask */
+#define TRNG_EVCTRL_DATARDYEO               TRNG_EVCTRL_DATARDYEO_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_EVCTRL_DATARDYEO_Msk instead */
+#define TRNG_EVCTRL_MASK                    _U_(0x01)                                      /**< \deprecated (TRNG_EVCTRL) Register MASK  (Use TRNG_EVCTRL_Msk instead)  */
+#define TRNG_EVCTRL_Msk                     _U_(0x01)                                      /**< (TRNG_EVCTRL) Register Mask  */
+
+
+/* -------- TRNG_INTENCLR : (TRNG Offset: 0x08) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATARDY:1;                 /**< bit:      0  Data Ready Interrupt Enable              */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRNG_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_INTENCLR_OFFSET                (0x08)                                        /**<  (TRNG_INTENCLR) Interrupt Enable Clear  Offset */
+#define TRNG_INTENCLR_RESETVALUE            _U_(0x00)                                     /**<  (TRNG_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define TRNG_INTENCLR_DATARDY_Pos           0                                              /**< (TRNG_INTENCLR) Data Ready Interrupt Enable Position */
+#define TRNG_INTENCLR_DATARDY_Msk           (_U_(0x1) << TRNG_INTENCLR_DATARDY_Pos)        /**< (TRNG_INTENCLR) Data Ready Interrupt Enable Mask */
+#define TRNG_INTENCLR_DATARDY               TRNG_INTENCLR_DATARDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_INTENCLR_DATARDY_Msk instead */
+#define TRNG_INTENCLR_MASK                  _U_(0x01)                                      /**< \deprecated (TRNG_INTENCLR) Register MASK  (Use TRNG_INTENCLR_Msk instead)  */
+#define TRNG_INTENCLR_Msk                   _U_(0x01)                                      /**< (TRNG_INTENCLR) Register Mask  */
+
+
+/* -------- TRNG_INTENSET : (TRNG Offset: 0x09) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATARDY:1;                 /**< bit:      0  Data Ready Interrupt Enable              */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRNG_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_INTENSET_OFFSET                (0x09)                                        /**<  (TRNG_INTENSET) Interrupt Enable Set  Offset */
+#define TRNG_INTENSET_RESETVALUE            _U_(0x00)                                     /**<  (TRNG_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define TRNG_INTENSET_DATARDY_Pos           0                                              /**< (TRNG_INTENSET) Data Ready Interrupt Enable Position */
+#define TRNG_INTENSET_DATARDY_Msk           (_U_(0x1) << TRNG_INTENSET_DATARDY_Pos)        /**< (TRNG_INTENSET) Data Ready Interrupt Enable Mask */
+#define TRNG_INTENSET_DATARDY               TRNG_INTENSET_DATARDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_INTENSET_DATARDY_Msk instead */
+#define TRNG_INTENSET_MASK                  _U_(0x01)                                      /**< \deprecated (TRNG_INTENSET) Register MASK  (Use TRNG_INTENSET_Msk instead)  */
+#define TRNG_INTENSET_Msk                   _U_(0x01)                                      /**< (TRNG_INTENSET) Register Mask  */
+
+
+/* -------- TRNG_INTFLAG : (TRNG Offset: 0x0a) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t DATARDY:1;                 /**< bit:      0  Data Ready Interrupt Flag                */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRNG_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_INTFLAG_OFFSET                 (0x0A)                                        /**<  (TRNG_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define TRNG_INTFLAG_RESETVALUE             _U_(0x00)                                     /**<  (TRNG_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define TRNG_INTFLAG_DATARDY_Pos            0                                              /**< (TRNG_INTFLAG) Data Ready Interrupt Flag Position */
+#define TRNG_INTFLAG_DATARDY_Msk            (_U_(0x1) << TRNG_INTFLAG_DATARDY_Pos)         /**< (TRNG_INTFLAG) Data Ready Interrupt Flag Mask */
+#define TRNG_INTFLAG_DATARDY                TRNG_INTFLAG_DATARDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_INTFLAG_DATARDY_Msk instead */
+#define TRNG_INTFLAG_MASK                   _U_(0x01)                                      /**< \deprecated (TRNG_INTFLAG) Register MASK  (Use TRNG_INTFLAG_Msk instead)  */
+#define TRNG_INTFLAG_Msk                    _U_(0x01)                                      /**< (TRNG_INTFLAG) Register Mask  */
+
+
+/* -------- TRNG_DATA : (TRNG Offset: 0x20) (R/ 32) Output Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:32;                   /**< bit:  0..31  Output Data                              */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TRNG_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_DATA_OFFSET                    (0x20)                                        /**<  (TRNG_DATA) Output Data  Offset */
+#define TRNG_DATA_RESETVALUE                _U_(0x00)                                     /**<  (TRNG_DATA) Output Data  Reset Value */
+
+#define TRNG_DATA_DATA_Pos                  0                                              /**< (TRNG_DATA) Output Data Position */
+#define TRNG_DATA_DATA_Msk                  (_U_(0xFFFFFFFF) << TRNG_DATA_DATA_Pos)        /**< (TRNG_DATA) Output Data Mask */
+#define TRNG_DATA_DATA(value)               (TRNG_DATA_DATA_Msk & ((value) << TRNG_DATA_DATA_Pos))
+#define TRNG_DATA_MASK                      _U_(0xFFFFFFFF)                                /**< \deprecated (TRNG_DATA) Register MASK  (Use TRNG_DATA_Msk instead)  */
+#define TRNG_DATA_Msk                       _U_(0xFFFFFFFF)                                /**< (TRNG_DATA) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief TRNG hardware registers */
+typedef struct {  /* True Random Generator */
+  __IO TRNG_CTRLA_Type                CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __I  uint8_t                        Reserved1[3];
+  __IO TRNG_EVCTRL_Type               EVCTRL;         /**< Offset: 0x04 (R/W   8) Event Control */
+  __I  uint8_t                        Reserved2[3];
+  __IO TRNG_INTENCLR_Type             INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt Enable Clear */
+  __IO TRNG_INTENSET_Type             INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt Enable Set */
+  __IO TRNG_INTFLAG_Type              INTFLAG;        /**< Offset: 0x0A (R/W   8) Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved3[21];
+  __I  TRNG_DATA_Type                 DATA;           /**< Offset: 0x20 (R/   32) Output Data */
+} Trng;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of True Random Generator */
+
+#endif /* _SAML10_TRNG_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/component/wdt.h b/cpu/sam0_common/include/vendor/saml10/include/component/wdt.h
new file mode 100644
index 0000000000..0a264d911e
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/component/wdt.h
@@ -0,0 +1,338 @@
+/**
+ * \file
+ *
+ * \brief Component description for WDT
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_WDT_COMPONENT_H_
+#define _SAML10_WDT_COMPONENT_H_
+#define _SAML10_WDT_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML10 Watchdog Timer
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR WDT */
+/* ========================================================================== */
+
+#define WDT_U2251                      /**< (WDT) Module ID */
+#define REV_WDT 0x200                  /**< (WDT) Module revision */
+
+/* -------- WDT_CTRLA : (WDT Offset: 0x00) (R/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :1;                        /**< bit:      0  Reserved */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint8_t  WEN:1;                     /**< bit:      2  Watchdog Timer Window Mode Enable        */
+    uint8_t  :3;                        /**< bit:   3..5  Reserved */
+    uint8_t  RUNSTDBY:1;                /**< bit:      6  Run During Standby                       */
+    uint8_t  ALWAYSON:1;                /**< bit:      7  Always-On                                */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_CTRLA_OFFSET                    (0x00)                                        /**<  (WDT_CTRLA) Control  Offset */
+#define WDT_CTRLA_RESETVALUE                _U_(0x00)                                     /**<  (WDT_CTRLA) Control  Reset Value */
+
+#define WDT_CTRLA_ENABLE_Pos                1                                              /**< (WDT_CTRLA) Enable Position */
+#define WDT_CTRLA_ENABLE_Msk                (_U_(0x1) << WDT_CTRLA_ENABLE_Pos)             /**< (WDT_CTRLA) Enable Mask */
+#define WDT_CTRLA_ENABLE                    WDT_CTRLA_ENABLE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_CTRLA_ENABLE_Msk instead */
+#define WDT_CTRLA_WEN_Pos                   2                                              /**< (WDT_CTRLA) Watchdog Timer Window Mode Enable Position */
+#define WDT_CTRLA_WEN_Msk                   (_U_(0x1) << WDT_CTRLA_WEN_Pos)                /**< (WDT_CTRLA) Watchdog Timer Window Mode Enable Mask */
+#define WDT_CTRLA_WEN                       WDT_CTRLA_WEN_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_CTRLA_WEN_Msk instead */
+#define WDT_CTRLA_RUNSTDBY_Pos              6                                              /**< (WDT_CTRLA) Run During Standby Position */
+#define WDT_CTRLA_RUNSTDBY_Msk              (_U_(0x1) << WDT_CTRLA_RUNSTDBY_Pos)           /**< (WDT_CTRLA) Run During Standby Mask */
+#define WDT_CTRLA_RUNSTDBY                  WDT_CTRLA_RUNSTDBY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_CTRLA_RUNSTDBY_Msk instead */
+#define WDT_CTRLA_ALWAYSON_Pos              7                                              /**< (WDT_CTRLA) Always-On Position */
+#define WDT_CTRLA_ALWAYSON_Msk              (_U_(0x1) << WDT_CTRLA_ALWAYSON_Pos)           /**< (WDT_CTRLA) Always-On Mask */
+#define WDT_CTRLA_ALWAYSON                  WDT_CTRLA_ALWAYSON_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_CTRLA_ALWAYSON_Msk instead */
+#define WDT_CTRLA_MASK                      _U_(0xC6)                                      /**< \deprecated (WDT_CTRLA) Register MASK  (Use WDT_CTRLA_Msk instead)  */
+#define WDT_CTRLA_Msk                       _U_(0xC6)                                      /**< (WDT_CTRLA) Register Mask  */
+
+
+/* -------- WDT_CONFIG : (WDT Offset: 0x01) (R/W 8) Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PER:4;                     /**< bit:   0..3  Time-Out Period                          */
+    uint8_t  WINDOW:4;                  /**< bit:   4..7  Window Mode Time-Out Period              */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_CONFIG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_CONFIG_OFFSET                   (0x01)                                        /**<  (WDT_CONFIG) Configuration  Offset */
+#define WDT_CONFIG_RESETVALUE               _U_(0xBB)                                     /**<  (WDT_CONFIG) Configuration  Reset Value */
+
+#define WDT_CONFIG_PER_Pos                  0                                              /**< (WDT_CONFIG) Time-Out Period Position */
+#define WDT_CONFIG_PER_Msk                  (_U_(0xF) << WDT_CONFIG_PER_Pos)               /**< (WDT_CONFIG) Time-Out Period Mask */
+#define WDT_CONFIG_PER(value)               (WDT_CONFIG_PER_Msk & ((value) << WDT_CONFIG_PER_Pos))
+#define   WDT_CONFIG_PER_CYC8_Val           _U_(0x0)                                       /**< (WDT_CONFIG) 8 clock cycles  */
+#define   WDT_CONFIG_PER_CYC16_Val          _U_(0x1)                                       /**< (WDT_CONFIG) 16 clock cycles  */
+#define   WDT_CONFIG_PER_CYC32_Val          _U_(0x2)                                       /**< (WDT_CONFIG) 32 clock cycles  */
+#define   WDT_CONFIG_PER_CYC64_Val          _U_(0x3)                                       /**< (WDT_CONFIG) 64 clock cycles  */
+#define   WDT_CONFIG_PER_CYC128_Val         _U_(0x4)                                       /**< (WDT_CONFIG) 128 clock cycles  */
+#define   WDT_CONFIG_PER_CYC256_Val         _U_(0x5)                                       /**< (WDT_CONFIG) 256 clock cycles  */
+#define   WDT_CONFIG_PER_CYC512_Val         _U_(0x6)                                       /**< (WDT_CONFIG) 512 clock cycles  */
+#define   WDT_CONFIG_PER_CYC1024_Val        _U_(0x7)                                       /**< (WDT_CONFIG) 1024 clock cycles  */
+#define   WDT_CONFIG_PER_CYC2048_Val        _U_(0x8)                                       /**< (WDT_CONFIG) 2048 clock cycles  */
+#define   WDT_CONFIG_PER_CYC4096_Val        _U_(0x9)                                       /**< (WDT_CONFIG) 4096 clock cycles  */
+#define   WDT_CONFIG_PER_CYC8192_Val        _U_(0xA)                                       /**< (WDT_CONFIG) 8192 clock cycles  */
+#define   WDT_CONFIG_PER_CYC16384_Val       _U_(0xB)                                       /**< (WDT_CONFIG) 16384 clock cycles  */
+#define WDT_CONFIG_PER_CYC8                 (WDT_CONFIG_PER_CYC8_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 8 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC16                (WDT_CONFIG_PER_CYC16_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 16 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC32                (WDT_CONFIG_PER_CYC32_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 32 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC64                (WDT_CONFIG_PER_CYC64_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 64 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC128               (WDT_CONFIG_PER_CYC128_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 128 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC256               (WDT_CONFIG_PER_CYC256_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 256 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC512               (WDT_CONFIG_PER_CYC512_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 512 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC1024              (WDT_CONFIG_PER_CYC1024_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 1024 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC2048              (WDT_CONFIG_PER_CYC2048_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 2048 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC4096              (WDT_CONFIG_PER_CYC4096_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 4096 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC8192              (WDT_CONFIG_PER_CYC8192_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 8192 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC16384             (WDT_CONFIG_PER_CYC16384_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 16384 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_Pos               4                                              /**< (WDT_CONFIG) Window Mode Time-Out Period Position */
+#define WDT_CONFIG_WINDOW_Msk               (_U_(0xF) << WDT_CONFIG_WINDOW_Pos)            /**< (WDT_CONFIG) Window Mode Time-Out Period Mask */
+#define WDT_CONFIG_WINDOW(value)            (WDT_CONFIG_WINDOW_Msk & ((value) << WDT_CONFIG_WINDOW_Pos))
+#define   WDT_CONFIG_WINDOW_CYC8_Val        _U_(0x0)                                       /**< (WDT_CONFIG) 8 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC16_Val       _U_(0x1)                                       /**< (WDT_CONFIG) 16 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC32_Val       _U_(0x2)                                       /**< (WDT_CONFIG) 32 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC64_Val       _U_(0x3)                                       /**< (WDT_CONFIG) 64 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC128_Val      _U_(0x4)                                       /**< (WDT_CONFIG) 128 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC256_Val      _U_(0x5)                                       /**< (WDT_CONFIG) 256 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC512_Val      _U_(0x6)                                       /**< (WDT_CONFIG) 512 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC1024_Val     _U_(0x7)                                       /**< (WDT_CONFIG) 1024 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC2048_Val     _U_(0x8)                                       /**< (WDT_CONFIG) 2048 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC4096_Val     _U_(0x9)                                       /**< (WDT_CONFIG) 4096 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC8192_Val     _U_(0xA)                                       /**< (WDT_CONFIG) 8192 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC16384_Val    _U_(0xB)                                       /**< (WDT_CONFIG) 16384 clock cycles  */
+#define WDT_CONFIG_WINDOW_CYC8              (WDT_CONFIG_WINDOW_CYC8_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 8 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC16             (WDT_CONFIG_WINDOW_CYC16_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 16 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC32             (WDT_CONFIG_WINDOW_CYC32_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 32 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC64             (WDT_CONFIG_WINDOW_CYC64_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 64 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC128            (WDT_CONFIG_WINDOW_CYC128_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 128 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC256            (WDT_CONFIG_WINDOW_CYC256_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 256 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC512            (WDT_CONFIG_WINDOW_CYC512_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 512 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC1024           (WDT_CONFIG_WINDOW_CYC1024_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 1024 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC2048           (WDT_CONFIG_WINDOW_CYC2048_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 2048 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC4096           (WDT_CONFIG_WINDOW_CYC4096_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 4096 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC8192           (WDT_CONFIG_WINDOW_CYC8192_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 8192 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC16384          (WDT_CONFIG_WINDOW_CYC16384_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 16384 clock cycles Position  */
+#define WDT_CONFIG_MASK                     _U_(0xFF)                                      /**< \deprecated (WDT_CONFIG) Register MASK  (Use WDT_CONFIG_Msk instead)  */
+#define WDT_CONFIG_Msk                      _U_(0xFF)                                      /**< (WDT_CONFIG) Register Mask  */
+
+
+/* -------- WDT_EWCTRL : (WDT Offset: 0x02) (R/W 8) Early Warning Interrupt Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  EWOFFSET:4;                /**< bit:   0..3  Early Warning Interrupt Time Offset      */
+    uint8_t  :4;                        /**< bit:   4..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_EWCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_EWCTRL_OFFSET                   (0x02)                                        /**<  (WDT_EWCTRL) Early Warning Interrupt Control  Offset */
+#define WDT_EWCTRL_RESETVALUE               _U_(0x0B)                                     /**<  (WDT_EWCTRL) Early Warning Interrupt Control  Reset Value */
+
+#define WDT_EWCTRL_EWOFFSET_Pos             0                                              /**< (WDT_EWCTRL) Early Warning Interrupt Time Offset Position */
+#define WDT_EWCTRL_EWOFFSET_Msk             (_U_(0xF) << WDT_EWCTRL_EWOFFSET_Pos)          /**< (WDT_EWCTRL) Early Warning Interrupt Time Offset Mask */
+#define WDT_EWCTRL_EWOFFSET(value)          (WDT_EWCTRL_EWOFFSET_Msk & ((value) << WDT_EWCTRL_EWOFFSET_Pos))
+#define   WDT_EWCTRL_EWOFFSET_CYC8_Val      _U_(0x0)                                       /**< (WDT_EWCTRL) 8 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC16_Val     _U_(0x1)                                       /**< (WDT_EWCTRL) 16 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC32_Val     _U_(0x2)                                       /**< (WDT_EWCTRL) 32 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC64_Val     _U_(0x3)                                       /**< (WDT_EWCTRL) 64 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC128_Val    _U_(0x4)                                       /**< (WDT_EWCTRL) 128 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC256_Val    _U_(0x5)                                       /**< (WDT_EWCTRL) 256 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC512_Val    _U_(0x6)                                       /**< (WDT_EWCTRL) 512 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC1024_Val   _U_(0x7)                                       /**< (WDT_EWCTRL) 1024 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC2048_Val   _U_(0x8)                                       /**< (WDT_EWCTRL) 2048 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC4096_Val   _U_(0x9)                                       /**< (WDT_EWCTRL) 4096 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC8192_Val   _U_(0xA)                                       /**< (WDT_EWCTRL) 8192 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC16384_Val  _U_(0xB)                                       /**< (WDT_EWCTRL) 16384 clock cycles  */
+#define WDT_EWCTRL_EWOFFSET_CYC8            (WDT_EWCTRL_EWOFFSET_CYC8_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 8 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC16           (WDT_EWCTRL_EWOFFSET_CYC16_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 16 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC32           (WDT_EWCTRL_EWOFFSET_CYC32_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 32 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC64           (WDT_EWCTRL_EWOFFSET_CYC64_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 64 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC128          (WDT_EWCTRL_EWOFFSET_CYC128_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 128 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC256          (WDT_EWCTRL_EWOFFSET_CYC256_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 256 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC512          (WDT_EWCTRL_EWOFFSET_CYC512_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 512 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC1024         (WDT_EWCTRL_EWOFFSET_CYC1024_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 1024 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC2048         (WDT_EWCTRL_EWOFFSET_CYC2048_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 2048 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC4096         (WDT_EWCTRL_EWOFFSET_CYC4096_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 4096 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC8192         (WDT_EWCTRL_EWOFFSET_CYC8192_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 8192 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC16384        (WDT_EWCTRL_EWOFFSET_CYC16384_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 16384 clock cycles Position  */
+#define WDT_EWCTRL_MASK                     _U_(0x0F)                                      /**< \deprecated (WDT_EWCTRL) Register MASK  (Use WDT_EWCTRL_Msk instead)  */
+#define WDT_EWCTRL_Msk                      _U_(0x0F)                                      /**< (WDT_EWCTRL) Register Mask  */
+
+
+/* -------- WDT_INTENCLR : (WDT Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  EW:1;                      /**< bit:      0  Early Warning Interrupt Enable           */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_INTENCLR_OFFSET                 (0x04)                                        /**<  (WDT_INTENCLR) Interrupt Enable Clear  Offset */
+#define WDT_INTENCLR_RESETVALUE             _U_(0x00)                                     /**<  (WDT_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define WDT_INTENCLR_EW_Pos                 0                                              /**< (WDT_INTENCLR) Early Warning Interrupt Enable Position */
+#define WDT_INTENCLR_EW_Msk                 (_U_(0x1) << WDT_INTENCLR_EW_Pos)              /**< (WDT_INTENCLR) Early Warning Interrupt Enable Mask */
+#define WDT_INTENCLR_EW                     WDT_INTENCLR_EW_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_INTENCLR_EW_Msk instead */
+#define WDT_INTENCLR_MASK                   _U_(0x01)                                      /**< \deprecated (WDT_INTENCLR) Register MASK  (Use WDT_INTENCLR_Msk instead)  */
+#define WDT_INTENCLR_Msk                    _U_(0x01)                                      /**< (WDT_INTENCLR) Register Mask  */
+
+
+/* -------- WDT_INTENSET : (WDT Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  EW:1;                      /**< bit:      0  Early Warning Interrupt Enable           */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_INTENSET_OFFSET                 (0x05)                                        /**<  (WDT_INTENSET) Interrupt Enable Set  Offset */
+#define WDT_INTENSET_RESETVALUE             _U_(0x00)                                     /**<  (WDT_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define WDT_INTENSET_EW_Pos                 0                                              /**< (WDT_INTENSET) Early Warning Interrupt Enable Position */
+#define WDT_INTENSET_EW_Msk                 (_U_(0x1) << WDT_INTENSET_EW_Pos)              /**< (WDT_INTENSET) Early Warning Interrupt Enable Mask */
+#define WDT_INTENSET_EW                     WDT_INTENSET_EW_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_INTENSET_EW_Msk instead */
+#define WDT_INTENSET_MASK                   _U_(0x01)                                      /**< \deprecated (WDT_INTENSET) Register MASK  (Use WDT_INTENSET_Msk instead)  */
+#define WDT_INTENSET_Msk                    _U_(0x01)                                      /**< (WDT_INTENSET) Register Mask  */
+
+
+/* -------- WDT_INTFLAG : (WDT Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t EW:1;                      /**< bit:      0  Early Warning                            */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_INTFLAG_OFFSET                  (0x06)                                        /**<  (WDT_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define WDT_INTFLAG_RESETVALUE              _U_(0x00)                                     /**<  (WDT_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define WDT_INTFLAG_EW_Pos                  0                                              /**< (WDT_INTFLAG) Early Warning Position */
+#define WDT_INTFLAG_EW_Msk                  (_U_(0x1) << WDT_INTFLAG_EW_Pos)               /**< (WDT_INTFLAG) Early Warning Mask */
+#define WDT_INTFLAG_EW                      WDT_INTFLAG_EW_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_INTFLAG_EW_Msk instead */
+#define WDT_INTFLAG_MASK                    _U_(0x01)                                      /**< \deprecated (WDT_INTFLAG) Register MASK  (Use WDT_INTFLAG_Msk instead)  */
+#define WDT_INTFLAG_Msk                     _U_(0x01)                                      /**< (WDT_INTFLAG) Register Mask  */
+
+
+/* -------- WDT_SYNCBUSY : (WDT Offset: 0x08) (R/ 32) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Synchronization Busy              */
+    uint32_t WEN:1;                     /**< bit:      2  Window Enable Synchronization Busy       */
+    uint32_t RUNSTDBY:1;                /**< bit:      3  Run During Standby Synchronization Busy  */
+    uint32_t ALWAYSON:1;                /**< bit:      4  Always-On Synchronization Busy           */
+    uint32_t CLEAR:1;                   /**< bit:      5  Clear Synchronization Busy               */
+    uint32_t :26;                       /**< bit:  6..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} WDT_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_SYNCBUSY_OFFSET                 (0x08)                                        /**<  (WDT_SYNCBUSY) Synchronization Busy  Offset */
+#define WDT_SYNCBUSY_RESETVALUE             _U_(0x00)                                     /**<  (WDT_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define WDT_SYNCBUSY_ENABLE_Pos             1                                              /**< (WDT_SYNCBUSY) Enable Synchronization Busy Position */
+#define WDT_SYNCBUSY_ENABLE_Msk             (_U_(0x1) << WDT_SYNCBUSY_ENABLE_Pos)          /**< (WDT_SYNCBUSY) Enable Synchronization Busy Mask */
+#define WDT_SYNCBUSY_ENABLE                 WDT_SYNCBUSY_ENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_SYNCBUSY_ENABLE_Msk instead */
+#define WDT_SYNCBUSY_WEN_Pos                2                                              /**< (WDT_SYNCBUSY) Window Enable Synchronization Busy Position */
+#define WDT_SYNCBUSY_WEN_Msk                (_U_(0x1) << WDT_SYNCBUSY_WEN_Pos)             /**< (WDT_SYNCBUSY) Window Enable Synchronization Busy Mask */
+#define WDT_SYNCBUSY_WEN                    WDT_SYNCBUSY_WEN_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_SYNCBUSY_WEN_Msk instead */
+#define WDT_SYNCBUSY_RUNSTDBY_Pos           3                                              /**< (WDT_SYNCBUSY) Run During Standby Synchronization Busy Position */
+#define WDT_SYNCBUSY_RUNSTDBY_Msk           (_U_(0x1) << WDT_SYNCBUSY_RUNSTDBY_Pos)        /**< (WDT_SYNCBUSY) Run During Standby Synchronization Busy Mask */
+#define WDT_SYNCBUSY_RUNSTDBY               WDT_SYNCBUSY_RUNSTDBY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_SYNCBUSY_RUNSTDBY_Msk instead */
+#define WDT_SYNCBUSY_ALWAYSON_Pos           4                                              /**< (WDT_SYNCBUSY) Always-On Synchronization Busy Position */
+#define WDT_SYNCBUSY_ALWAYSON_Msk           (_U_(0x1) << WDT_SYNCBUSY_ALWAYSON_Pos)        /**< (WDT_SYNCBUSY) Always-On Synchronization Busy Mask */
+#define WDT_SYNCBUSY_ALWAYSON               WDT_SYNCBUSY_ALWAYSON_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_SYNCBUSY_ALWAYSON_Msk instead */
+#define WDT_SYNCBUSY_CLEAR_Pos              5                                              /**< (WDT_SYNCBUSY) Clear Synchronization Busy Position */
+#define WDT_SYNCBUSY_CLEAR_Msk              (_U_(0x1) << WDT_SYNCBUSY_CLEAR_Pos)           /**< (WDT_SYNCBUSY) Clear Synchronization Busy Mask */
+#define WDT_SYNCBUSY_CLEAR                  WDT_SYNCBUSY_CLEAR_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_SYNCBUSY_CLEAR_Msk instead */
+#define WDT_SYNCBUSY_MASK                   _U_(0x3E)                                      /**< \deprecated (WDT_SYNCBUSY) Register MASK  (Use WDT_SYNCBUSY_Msk instead)  */
+#define WDT_SYNCBUSY_Msk                    _U_(0x3E)                                      /**< (WDT_SYNCBUSY) Register Mask  */
+
+
+/* -------- WDT_CLEAR : (WDT Offset: 0x0c) (/W 8) Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CLEAR:8;                   /**< bit:   0..7  Watchdog Clear                           */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_CLEAR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_CLEAR_OFFSET                    (0x0C)                                        /**<  (WDT_CLEAR) Clear  Offset */
+#define WDT_CLEAR_RESETVALUE                _U_(0x00)                                     /**<  (WDT_CLEAR) Clear  Reset Value */
+
+#define WDT_CLEAR_CLEAR_Pos                 0                                              /**< (WDT_CLEAR) Watchdog Clear Position */
+#define WDT_CLEAR_CLEAR_Msk                 (_U_(0xFF) << WDT_CLEAR_CLEAR_Pos)             /**< (WDT_CLEAR) Watchdog Clear Mask */
+#define WDT_CLEAR_CLEAR(value)              (WDT_CLEAR_CLEAR_Msk & ((value) << WDT_CLEAR_CLEAR_Pos))
+#define   WDT_CLEAR_CLEAR_KEY_Val           _U_(0xA5)                                      /**< (WDT_CLEAR) Clear Key  */
+#define WDT_CLEAR_CLEAR_KEY                 (WDT_CLEAR_CLEAR_KEY_Val << WDT_CLEAR_CLEAR_Pos)  /**< (WDT_CLEAR) Clear Key Position  */
+#define WDT_CLEAR_MASK                      _U_(0xFF)                                      /**< \deprecated (WDT_CLEAR) Register MASK  (Use WDT_CLEAR_Msk instead)  */
+#define WDT_CLEAR_Msk                       _U_(0xFF)                                      /**< (WDT_CLEAR) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief WDT hardware registers */
+typedef struct {  /* Watchdog Timer */
+  __IO WDT_CTRLA_Type                 CTRLA;          /**< Offset: 0x00 (R/W   8) Control */
+  __IO WDT_CONFIG_Type                CONFIG;         /**< Offset: 0x01 (R/W   8) Configuration */
+  __IO WDT_EWCTRL_Type                EWCTRL;         /**< Offset: 0x02 (R/W   8) Early Warning Interrupt Control */
+  __I  uint8_t                        Reserved1[1];
+  __IO WDT_INTENCLR_Type              INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO WDT_INTENSET_Type              INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO WDT_INTFLAG_Type               INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved2[1];
+  __I  WDT_SYNCBUSY_Type              SYNCBUSY;       /**< Offset: 0x08 (R/   32) Synchronization Busy */
+  __O  WDT_CLEAR_Type                 CLEAR;          /**< Offset: 0x0C ( /W   8) Clear */
+} Wdt;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Watchdog Timer */
+
+#endif /* _SAML10_WDT_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/ac.h b/cpu/sam0_common/include/vendor/saml10/include/instance/ac.h
new file mode 100644
index 0000000000..d4e7b0a25f
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/ac.h
@@ -0,0 +1,83 @@
+/**
+ * \file
+ *
+ * \brief Instance description for AC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_AC_INSTANCE_H_
+#define _SAML10_AC_INSTANCE_H_
+
+/* ========== Register definition for AC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_AC_CTRLA            (0x40003400) /**< (AC) Control A */
+#define REG_AC_CTRLB            (0x40003401) /**< (AC) Control B */
+#define REG_AC_EVCTRL           (0x40003402) /**< (AC) Event Control */
+#define REG_AC_INTENCLR         (0x40003404) /**< (AC) Interrupt Enable Clear */
+#define REG_AC_INTENSET         (0x40003405) /**< (AC) Interrupt Enable Set */
+#define REG_AC_INTFLAG          (0x40003406) /**< (AC) Interrupt Flag Status and Clear */
+#define REG_AC_STATUSA          (0x40003407) /**< (AC) Status A */
+#define REG_AC_STATUSB          (0x40003408) /**< (AC) Status B */
+#define REG_AC_DBGCTRL          (0x40003409) /**< (AC) Debug Control */
+#define REG_AC_WINCTRL          (0x4000340A) /**< (AC) Window Control */
+#define REG_AC_SCALER           (0x4000340C) /**< (AC) Scaler n */
+#define REG_AC_SCALER0          (0x4000340C) /**< (AC) Scaler 0 */
+#define REG_AC_SCALER1          (0x4000340D) /**< (AC) Scaler 1 */
+#define REG_AC_COMPCTRL         (0x40003410) /**< (AC) Comparator Control n */
+#define REG_AC_COMPCTRL0        (0x40003410) /**< (AC) Comparator Control 0 */
+#define REG_AC_COMPCTRL1        (0x40003414) /**< (AC) Comparator Control 1 */
+#define REG_AC_SYNCBUSY         (0x40003420) /**< (AC) Synchronization Busy */
+
+#else
+
+#define REG_AC_CTRLA            (*(__IO uint8_t*)0x40003400U) /**< (AC) Control A */
+#define REG_AC_CTRLB            (*(__O  uint8_t*)0x40003401U) /**< (AC) Control B */
+#define REG_AC_EVCTRL           (*(__IO uint16_t*)0x40003402U) /**< (AC) Event Control */
+#define REG_AC_INTENCLR         (*(__IO uint8_t*)0x40003404U) /**< (AC) Interrupt Enable Clear */
+#define REG_AC_INTENSET         (*(__IO uint8_t*)0x40003405U) /**< (AC) Interrupt Enable Set */
+#define REG_AC_INTFLAG          (*(__IO uint8_t*)0x40003406U) /**< (AC) Interrupt Flag Status and Clear */
+#define REG_AC_STATUSA          (*(__I  uint8_t*)0x40003407U) /**< (AC) Status A */
+#define REG_AC_STATUSB          (*(__I  uint8_t*)0x40003408U) /**< (AC) Status B */
+#define REG_AC_DBGCTRL          (*(__IO uint8_t*)0x40003409U) /**< (AC) Debug Control */
+#define REG_AC_WINCTRL          (*(__IO uint8_t*)0x4000340AU) /**< (AC) Window Control */
+#define REG_AC_SCALER           (*(__IO uint8_t*)0x4000340CU) /**< (AC) Scaler n */
+#define REG_AC_SCALER0          (*(__IO uint8_t*)0x4000340CU) /**< (AC) Scaler 0 */
+#define REG_AC_SCALER1          (*(__IO uint8_t*)0x4000340DU) /**< (AC) Scaler 1 */
+#define REG_AC_COMPCTRL         (*(__IO uint32_t*)0x40003410U) /**< (AC) Comparator Control n */
+#define REG_AC_COMPCTRL0        (*(__IO uint32_t*)0x40003410U) /**< (AC) Comparator Control 0 */
+#define REG_AC_COMPCTRL1        (*(__IO uint32_t*)0x40003414U) /**< (AC) Comparator Control 1 */
+#define REG_AC_SYNCBUSY         (*(__I  uint32_t*)0x40003420U) /**< (AC) Synchronization Busy */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for AC peripheral ========== */
+#define AC_GCLK_ID                               17         /* Index of Generic Clock */
+#define AC_NUM_CMP                               2          /* Number of comparators */
+#define AC_PAIRS                                 1          /* Number of pairs of comparators */
+#define AC_INSTANCE_ID                           13         
+
+#endif /* _SAML10_AC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/adc.h b/cpu/sam0_common/include/vendor/saml10/include/instance/adc.h
new file mode 100644
index 0000000000..e40fdee2fd
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/adc.h
@@ -0,0 +1,95 @@
+/**
+ * \file
+ *
+ * \brief Instance description for ADC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_ADC_INSTANCE_H_
+#define _SAML10_ADC_INSTANCE_H_
+
+/* ========== Register definition for ADC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_ADC_CTRLA           (0x42001C00) /**< (ADC) Control A */
+#define REG_ADC_CTRLB           (0x42001C01) /**< (ADC) Control B */
+#define REG_ADC_REFCTRL         (0x42001C02) /**< (ADC) Reference Control */
+#define REG_ADC_EVCTRL          (0x42001C03) /**< (ADC) Event Control */
+#define REG_ADC_INTENCLR        (0x42001C04) /**< (ADC) Interrupt Enable Clear */
+#define REG_ADC_INTENSET        (0x42001C05) /**< (ADC) Interrupt Enable Set */
+#define REG_ADC_INTFLAG         (0x42001C06) /**< (ADC) Interrupt Flag Status and Clear */
+#define REG_ADC_SEQSTATUS       (0x42001C07) /**< (ADC) Sequence Status */
+#define REG_ADC_INPUTCTRL       (0x42001C08) /**< (ADC) Input Control */
+#define REG_ADC_CTRLC           (0x42001C0A) /**< (ADC) Control C */
+#define REG_ADC_AVGCTRL         (0x42001C0C) /**< (ADC) Average Control */
+#define REG_ADC_SAMPCTRL        (0x42001C0D) /**< (ADC) Sample Time Control */
+#define REG_ADC_WINLT           (0x42001C0E) /**< (ADC) Window Monitor Lower Threshold */
+#define REG_ADC_WINUT           (0x42001C10) /**< (ADC) Window Monitor Upper Threshold */
+#define REG_ADC_GAINCORR        (0x42001C12) /**< (ADC) Gain Correction */
+#define REG_ADC_OFFSETCORR      (0x42001C14) /**< (ADC) Offset Correction */
+#define REG_ADC_SWTRIG          (0x42001C18) /**< (ADC) Software Trigger */
+#define REG_ADC_DBGCTRL         (0x42001C1C) /**< (ADC) Debug Control */
+#define REG_ADC_SYNCBUSY        (0x42001C20) /**< (ADC) Synchronization Busy */
+#define REG_ADC_RESULT          (0x42001C24) /**< (ADC) Result */
+#define REG_ADC_SEQCTRL         (0x42001C28) /**< (ADC) Sequence Control */
+#define REG_ADC_CALIB           (0x42001C2C) /**< (ADC) Calibration */
+
+#else
+
+#define REG_ADC_CTRLA           (*(__IO uint8_t*)0x42001C00U) /**< (ADC) Control A */
+#define REG_ADC_CTRLB           (*(__IO uint8_t*)0x42001C01U) /**< (ADC) Control B */
+#define REG_ADC_REFCTRL         (*(__IO uint8_t*)0x42001C02U) /**< (ADC) Reference Control */
+#define REG_ADC_EVCTRL          (*(__IO uint8_t*)0x42001C03U) /**< (ADC) Event Control */
+#define REG_ADC_INTENCLR        (*(__IO uint8_t*)0x42001C04U) /**< (ADC) Interrupt Enable Clear */
+#define REG_ADC_INTENSET        (*(__IO uint8_t*)0x42001C05U) /**< (ADC) Interrupt Enable Set */
+#define REG_ADC_INTFLAG         (*(__IO uint8_t*)0x42001C06U) /**< (ADC) Interrupt Flag Status and Clear */
+#define REG_ADC_SEQSTATUS       (*(__I  uint8_t*)0x42001C07U) /**< (ADC) Sequence Status */
+#define REG_ADC_INPUTCTRL       (*(__IO uint16_t*)0x42001C08U) /**< (ADC) Input Control */
+#define REG_ADC_CTRLC           (*(__IO uint16_t*)0x42001C0AU) /**< (ADC) Control C */
+#define REG_ADC_AVGCTRL         (*(__IO uint8_t*)0x42001C0CU) /**< (ADC) Average Control */
+#define REG_ADC_SAMPCTRL        (*(__IO uint8_t*)0x42001C0DU) /**< (ADC) Sample Time Control */
+#define REG_ADC_WINLT           (*(__IO uint16_t*)0x42001C0EU) /**< (ADC) Window Monitor Lower Threshold */
+#define REG_ADC_WINUT           (*(__IO uint16_t*)0x42001C10U) /**< (ADC) Window Monitor Upper Threshold */
+#define REG_ADC_GAINCORR        (*(__IO uint16_t*)0x42001C12U) /**< (ADC) Gain Correction */
+#define REG_ADC_OFFSETCORR      (*(__IO uint16_t*)0x42001C14U) /**< (ADC) Offset Correction */
+#define REG_ADC_SWTRIG          (*(__IO uint8_t*)0x42001C18U) /**< (ADC) Software Trigger */
+#define REG_ADC_DBGCTRL         (*(__IO uint8_t*)0x42001C1CU) /**< (ADC) Debug Control */
+#define REG_ADC_SYNCBUSY        (*(__I  uint16_t*)0x42001C20U) /**< (ADC) Synchronization Busy */
+#define REG_ADC_RESULT          (*(__I  uint16_t*)0x42001C24U) /**< (ADC) Result */
+#define REG_ADC_SEQCTRL         (*(__IO uint32_t*)0x42001C28U) /**< (ADC) Sequence Control */
+#define REG_ADC_CALIB           (*(__IO uint16_t*)0x42001C2CU) /**< (ADC) Calibration */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for ADC peripheral ========== */
+#define ADC_DMAC_ID_RESRDY                       19         /* index of DMA RESRDY trigger */
+#define ADC_EXTCHANNEL_MSB                       9          /* Number of external channels */
+#define ADC_GCLK_ID                              16         /* index of Generic Clock */
+#define ADC_INT_CH30                             1          /* Select OPAMP or CTAT on Channel 30 */
+#define ADC_MASTER_SLAVE_MODE                    0          /* ADC Master/Slave Mode */
+#define ADC_INSTANCE_ID                          71         
+
+#endif /* _SAML10_ADC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/ccl.h b/cpu/sam0_common/include/vendor/saml10/include/instance/ccl.h
new file mode 100644
index 0000000000..1b14f38e0f
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/ccl.h
@@ -0,0 +1,61 @@
+/**
+ * \file
+ *
+ * \brief Instance description for CCL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_CCL_INSTANCE_H_
+#define _SAML10_CCL_INSTANCE_H_
+
+/* ========== Register definition for CCL peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_CCL_CTRL            (0x42002C00) /**< (CCL) Control */
+#define REG_CCL_SEQCTRL         (0x42002C04) /**< (CCL) SEQ Control x */
+#define REG_CCL_SEQCTRL0        (0x42002C04) /**< (CCL) SEQ Control x 0 */
+#define REG_CCL_LUTCTRL         (0x42002C08) /**< (CCL) LUT Control x */
+#define REG_CCL_LUTCTRL0        (0x42002C08) /**< (CCL) LUT Control x 0 */
+#define REG_CCL_LUTCTRL1        (0x42002C0C) /**< (CCL) LUT Control x 1 */
+
+#else
+
+#define REG_CCL_CTRL            (*(__IO uint8_t*)0x42002C00U) /**< (CCL) Control */
+#define REG_CCL_SEQCTRL         (*(__IO uint8_t*)0x42002C04U) /**< (CCL) SEQ Control x */
+#define REG_CCL_SEQCTRL0        (*(__IO uint8_t*)0x42002C04U) /**< (CCL) SEQ Control x 0 */
+#define REG_CCL_LUTCTRL         (*(__IO uint32_t*)0x42002C08U) /**< (CCL) LUT Control x */
+#define REG_CCL_LUTCTRL0        (*(__IO uint32_t*)0x42002C08U) /**< (CCL) LUT Control x 0 */
+#define REG_CCL_LUTCTRL1        (*(__IO uint32_t*)0x42002C0CU) /**< (CCL) LUT Control x 1 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for CCL peripheral ========== */
+#define CCL_GCLK_ID                              20         /* GCLK index for CCL */
+#define CCL_LUT_NUM                              2          /* Number of LUT in a CCL */
+#define CCL_SEQ_NUM                              1          /* Number of SEQ in a CCL */
+#define CCL_INSTANCE_ID                          75         
+
+#endif /* _SAML10_CCL_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/dac.h b/cpu/sam0_common/include/vendor/saml10/include/instance/dac.h
new file mode 100644
index 0000000000..739a62734e
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/dac.h
@@ -0,0 +1,70 @@
+/**
+ * \file
+ *
+ * \brief Instance description for DAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_DAC_INSTANCE_H_
+#define _SAML10_DAC_INSTANCE_H_
+
+/* ========== Register definition for DAC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_DAC_CTRLA           (0x42002000) /**< (DAC) Control A */
+#define REG_DAC_CTRLB           (0x42002001) /**< (DAC) Control B */
+#define REG_DAC_EVCTRL          (0x42002002) /**< (DAC) Event Control */
+#define REG_DAC_INTENCLR        (0x42002004) /**< (DAC) Interrupt Enable Clear */
+#define REG_DAC_INTENSET        (0x42002005) /**< (DAC) Interrupt Enable Set */
+#define REG_DAC_INTFLAG         (0x42002006) /**< (DAC) Interrupt Flag Status and Clear */
+#define REG_DAC_STATUS          (0x42002007) /**< (DAC) Status */
+#define REG_DAC_DATA            (0x42002008) /**< (DAC) Data */
+#define REG_DAC_DATABUF         (0x4200200C) /**< (DAC) Data Buffer */
+#define REG_DAC_SYNCBUSY        (0x42002010) /**< (DAC) Synchronization Busy */
+#define REG_DAC_DBGCTRL         (0x42002014) /**< (DAC) Debug Control */
+
+#else
+
+#define REG_DAC_CTRLA           (*(__IO uint8_t*)0x42002000U) /**< (DAC) Control A */
+#define REG_DAC_CTRLB           (*(__IO uint8_t*)0x42002001U) /**< (DAC) Control B */
+#define REG_DAC_EVCTRL          (*(__IO uint8_t*)0x42002002U) /**< (DAC) Event Control */
+#define REG_DAC_INTENCLR        (*(__IO uint8_t*)0x42002004U) /**< (DAC) Interrupt Enable Clear */
+#define REG_DAC_INTENSET        (*(__IO uint8_t*)0x42002005U) /**< (DAC) Interrupt Enable Set */
+#define REG_DAC_INTFLAG         (*(__IO uint8_t*)0x42002006U) /**< (DAC) Interrupt Flag Status and Clear */
+#define REG_DAC_STATUS          (*(__I  uint8_t*)0x42002007U) /**< (DAC) Status */
+#define REG_DAC_DATA            (*(__O  uint16_t*)0x42002008U) /**< (DAC) Data */
+#define REG_DAC_DATABUF         (*(__O  uint16_t*)0x4200200CU) /**< (DAC) Data Buffer */
+#define REG_DAC_SYNCBUSY        (*(__I  uint32_t*)0x42002010U) /**< (DAC) Synchronization Busy */
+#define REG_DAC_DBGCTRL         (*(__IO uint8_t*)0x42002014U) /**< (DAC) Debug Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for DAC peripheral ========== */
+#define DAC_DMAC_ID_EMPTY                        20         /* Index of DMA EMPTY trigger */
+#define DAC_GCLK_ID                              18         
+#define DAC_INSTANCE_ID                          72         
+
+#endif /* _SAML10_DAC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/dmac.h b/cpu/sam0_common/include/vendor/saml10/include/instance/dmac.h
new file mode 100644
index 0000000000..8c433d4519
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/dmac.h
@@ -0,0 +1,103 @@
+/**
+ * \file
+ *
+ * \brief Instance description for DMAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_DMAC_INSTANCE_H_
+#define _SAML10_DMAC_INSTANCE_H_
+
+/* ========== Register definition for DMAC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_DMAC_CTRL           (0x41006000) /**< (DMAC) Control */
+#define REG_DMAC_CRCCTRL        (0x41006002) /**< (DMAC) CRC Control */
+#define REG_DMAC_CRCDATAIN      (0x41006004) /**< (DMAC) CRC Data Input */
+#define REG_DMAC_CRCCHKSUM      (0x41006008) /**< (DMAC) CRC Checksum */
+#define REG_DMAC_CRCSTATUS      (0x4100600C) /**< (DMAC) CRC Status */
+#define REG_DMAC_DBGCTRL        (0x4100600D) /**< (DMAC) Debug Control */
+#define REG_DMAC_QOSCTRL        (0x4100600E) /**< (DMAC) QOS Control */
+#define REG_DMAC_SWTRIGCTRL     (0x41006010) /**< (DMAC) Software Trigger Control */
+#define REG_DMAC_PRICTRL0       (0x41006014) /**< (DMAC) Priority Control 0 */
+#define REG_DMAC_INTPEND        (0x41006020) /**< (DMAC) Interrupt Pending */
+#define REG_DMAC_INTSTATUS      (0x41006024) /**< (DMAC) Interrupt Status */
+#define REG_DMAC_BUSYCH         (0x41006028) /**< (DMAC) Busy Channels */
+#define REG_DMAC_PENDCH         (0x4100602C) /**< (DMAC) Pending Channels */
+#define REG_DMAC_ACTIVE         (0x41006030) /**< (DMAC) Active Channel and Levels */
+#define REG_DMAC_BASEADDR       (0x41006034) /**< (DMAC) Descriptor Memory Section Base Address */
+#define REG_DMAC_WRBADDR        (0x41006038) /**< (DMAC) Write-Back Memory Section Base Address */
+#define REG_DMAC_CHID           (0x4100603F) /**< (DMAC) Channel ID */
+#define REG_DMAC_CHCTRLA        (0x41006040) /**< (DMAC) Channel Control A */
+#define REG_DMAC_CHCTRLB        (0x41006044) /**< (DMAC) Channel Control B */
+#define REG_DMAC_CHINTENCLR     (0x4100604C) /**< (DMAC) Channel Interrupt Enable Clear */
+#define REG_DMAC_CHINTENSET     (0x4100604D) /**< (DMAC) Channel Interrupt Enable Set */
+#define REG_DMAC_CHINTFLAG      (0x4100604E) /**< (DMAC) Channel Interrupt Flag Status and Clear */
+#define REG_DMAC_CHSTATUS       (0x4100604F) /**< (DMAC) Channel Status */
+
+#else
+
+#define REG_DMAC_CTRL           (*(__IO uint16_t*)0x41006000U) /**< (DMAC) Control */
+#define REG_DMAC_CRCCTRL        (*(__IO uint16_t*)0x41006002U) /**< (DMAC) CRC Control */
+#define REG_DMAC_CRCDATAIN      (*(__IO uint32_t*)0x41006004U) /**< (DMAC) CRC Data Input */
+#define REG_DMAC_CRCCHKSUM      (*(__IO uint32_t*)0x41006008U) /**< (DMAC) CRC Checksum */
+#define REG_DMAC_CRCSTATUS      (*(__IO uint8_t*)0x4100600CU) /**< (DMAC) CRC Status */
+#define REG_DMAC_DBGCTRL        (*(__IO uint8_t*)0x4100600DU) /**< (DMAC) Debug Control */
+#define REG_DMAC_QOSCTRL        (*(__IO uint8_t*)0x4100600EU) /**< (DMAC) QOS Control */
+#define REG_DMAC_SWTRIGCTRL     (*(__IO uint32_t*)0x41006010U) /**< (DMAC) Software Trigger Control */
+#define REG_DMAC_PRICTRL0       (*(__IO uint32_t*)0x41006014U) /**< (DMAC) Priority Control 0 */
+#define REG_DMAC_INTPEND        (*(__IO uint16_t*)0x41006020U) /**< (DMAC) Interrupt Pending */
+#define REG_DMAC_INTSTATUS      (*(__I  uint32_t*)0x41006024U) /**< (DMAC) Interrupt Status */
+#define REG_DMAC_BUSYCH         (*(__I  uint32_t*)0x41006028U) /**< (DMAC) Busy Channels */
+#define REG_DMAC_PENDCH         (*(__I  uint32_t*)0x4100602CU) /**< (DMAC) Pending Channels */
+#define REG_DMAC_ACTIVE         (*(__I  uint32_t*)0x41006030U) /**< (DMAC) Active Channel and Levels */
+#define REG_DMAC_BASEADDR       (*(__IO uint32_t*)0x41006034U) /**< (DMAC) Descriptor Memory Section Base Address */
+#define REG_DMAC_WRBADDR        (*(__IO uint32_t*)0x41006038U) /**< (DMAC) Write-Back Memory Section Base Address */
+#define REG_DMAC_CHID           (*(__IO uint8_t*)0x4100603FU) /**< (DMAC) Channel ID */
+#define REG_DMAC_CHCTRLA        (*(__IO uint8_t*)0x41006040U) /**< (DMAC) Channel Control A */
+#define REG_DMAC_CHCTRLB        (*(__IO uint32_t*)0x41006044U) /**< (DMAC) Channel Control B */
+#define REG_DMAC_CHINTENCLR     (*(__IO uint8_t*)0x4100604CU) /**< (DMAC) Channel Interrupt Enable Clear */
+#define REG_DMAC_CHINTENSET     (*(__IO uint8_t*)0x4100604DU) /**< (DMAC) Channel Interrupt Enable Set */
+#define REG_DMAC_CHINTFLAG      (*(__IO uint8_t*)0x4100604EU) /**< (DMAC) Channel Interrupt Flag Status and Clear */
+#define REG_DMAC_CHSTATUS       (*(__I  uint8_t*)0x4100604FU) /**< (DMAC) Channel Status */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for DMAC peripheral ========== */
+#define DMAC_CH_BITS                             3          /* Number of bits to select channel */
+#define DMAC_CH_NUM                              8          /* Number of channels */
+#define DMAC_EVIN_NUM                            4          /* Number of input events */
+#define DMAC_EVOUT_NUM                           4          /* Number of output events */
+#define DMAC_LVL_BITS                            2          /* Number of bit to select level priority */
+#define DMAC_LVL_NUM                             4          /* Enable priority level number */
+#define DMAC_QOSCTRL_D_RESETVALUE                2          /* QOS dmac ahb interface reset value */
+#define DMAC_QOSCTRL_F_RESETVALUE                2          /* QOS dmac fetch interface reset value */
+#define DMAC_QOSCTRL_WRB_RESETVALUE              2          /* QOS dmac write back interface reset value */
+#define DMAC_TRIG_BITS                           5          /* Number of bits to select trigger source */
+#define DMAC_TRIG_NUM                            24         /* Number of peripheral triggers */
+#define DMAC_INSTANCE_ID                         35         
+
+#endif /* _SAML10_DMAC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/dsu.h b/cpu/sam0_common/include/vendor/saml10/include/instance/dsu.h
new file mode 100644
index 0000000000..99143b1d19
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/dsu.h
@@ -0,0 +1,116 @@
+/**
+ * \file
+ *
+ * \brief Instance description for DSU
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_DSU_INSTANCE_H_
+#define _SAML10_DSU_INSTANCE_H_
+
+/* ========== Register definition for DSU peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_DSU_CTRL            (0x41002000) /**< (DSU) Control */
+#define REG_DSU_STATUSA         (0x41002001) /**< (DSU) Status A */
+#define REG_DSU_STATUSB         (0x41002002) /**< (DSU) Status B */
+#define REG_DSU_STATUSC         (0x41002003) /**< (DSU) Status C */
+#define REG_DSU_ADDR            (0x41002004) /**< (DSU) Address */
+#define REG_DSU_LENGTH          (0x41002008) /**< (DSU) Length */
+#define REG_DSU_DATA            (0x4100200C) /**< (DSU) Data */
+#define REG_DSU_DCC             (0x41002010) /**< (DSU) Debug Communication Channel n */
+#define REG_DSU_DCC0            (0x41002010) /**< (DSU) Debug Communication Channel 0 */
+#define REG_DSU_DCC1            (0x41002014) /**< (DSU) Debug Communication Channel 1 */
+#define REG_DSU_DID             (0x41002018) /**< (DSU) Device Identification */
+#define REG_DSU_CFG             (0x4100201C) /**< (DSU) Configuration */
+#define REG_DSU_BCC             (0x41002020) /**< (DSU) Boot ROM Communication Channel n */
+#define REG_DSU_BCC0            (0x41002020) /**< (DSU) Boot ROM Communication Channel 0 */
+#define REG_DSU_BCC1            (0x41002024) /**< (DSU) Boot ROM Communication Channel 1 */
+#define REG_DSU_DCFG            (0x410020F0) /**< (DSU) Device Configuration */
+#define REG_DSU_DCFG0           (0x410020F0) /**< (DSU) Device Configuration 0 */
+#define REG_DSU_DCFG1           (0x410020F4) /**< (DSU) Device Configuration 1 */
+#define REG_DSU_ENTRY0          (0x41003000) /**< (DSU) CoreSight ROM Table Entry 0 */
+#define REG_DSU_ENTRY1          (0x41003004) /**< (DSU) CoreSight ROM Table Entry 1 */
+#define REG_DSU_END             (0x41003008) /**< (DSU) CoreSight ROM Table End */
+#define REG_DSU_MEMTYPE         (0x41003FCC) /**< (DSU) CoreSight ROM Table Memory Type */
+#define REG_DSU_PID4            (0x41003FD0) /**< (DSU) Peripheral Identification 4 */
+#define REG_DSU_PID5            (0x41003FD4) /**< (DSU) Peripheral Identification 5 */
+#define REG_DSU_PID6            (0x41003FD8) /**< (DSU) Peripheral Identification 6 */
+#define REG_DSU_PID7            (0x41003FDC) /**< (DSU) Peripheral Identification 7 */
+#define REG_DSU_PID0            (0x41003FE0) /**< (DSU) Peripheral Identification 0 */
+#define REG_DSU_PID1            (0x41003FE4) /**< (DSU) Peripheral Identification 1 */
+#define REG_DSU_PID2            (0x41003FE8) /**< (DSU) Peripheral Identification 2 */
+#define REG_DSU_PID3            (0x41003FEC) /**< (DSU) Peripheral Identification 3 */
+#define REG_DSU_CID0            (0x41003FF0) /**< (DSU) Component Identification 0 */
+#define REG_DSU_CID1            (0x41003FF4) /**< (DSU) Component Identification 1 */
+#define REG_DSU_CID2            (0x41003FF8) /**< (DSU) Component Identification 2 */
+#define REG_DSU_CID3            (0x41003FFC) /**< (DSU) Component Identification 3 */
+
+#else
+
+#define REG_DSU_CTRL            (*(__O  uint8_t*)0x41002000U) /**< (DSU) Control */
+#define REG_DSU_STATUSA         (*(__IO uint8_t*)0x41002001U) /**< (DSU) Status A */
+#define REG_DSU_STATUSB         (*(__I  uint8_t*)0x41002002U) /**< (DSU) Status B */
+#define REG_DSU_STATUSC         (*(__I  uint8_t*)0x41002003U) /**< (DSU) Status C */
+#define REG_DSU_ADDR            (*(__IO uint32_t*)0x41002004U) /**< (DSU) Address */
+#define REG_DSU_LENGTH          (*(__IO uint32_t*)0x41002008U) /**< (DSU) Length */
+#define REG_DSU_DATA            (*(__IO uint32_t*)0x4100200CU) /**< (DSU) Data */
+#define REG_DSU_DCC             (*(__IO uint32_t*)0x41002010U) /**< (DSU) Debug Communication Channel n */
+#define REG_DSU_DCC0            (*(__IO uint32_t*)0x41002010U) /**< (DSU) Debug Communication Channel 0 */
+#define REG_DSU_DCC1            (*(__IO uint32_t*)0x41002014U) /**< (DSU) Debug Communication Channel 1 */
+#define REG_DSU_DID             (*(__I  uint32_t*)0x41002018U) /**< (DSU) Device Identification */
+#define REG_DSU_CFG             (*(__IO uint32_t*)0x4100201CU) /**< (DSU) Configuration */
+#define REG_DSU_BCC             (*(__IO uint32_t*)0x41002020U) /**< (DSU) Boot ROM Communication Channel n */
+#define REG_DSU_BCC0            (*(__IO uint32_t*)0x41002020U) /**< (DSU) Boot ROM Communication Channel 0 */
+#define REG_DSU_BCC1            (*(__IO uint32_t*)0x41002024U) /**< (DSU) Boot ROM Communication Channel 1 */
+#define REG_DSU_DCFG            (*(__IO uint32_t*)0x410020F0U) /**< (DSU) Device Configuration */
+#define REG_DSU_DCFG0           (*(__IO uint32_t*)0x410020F0U) /**< (DSU) Device Configuration 0 */
+#define REG_DSU_DCFG1           (*(__IO uint32_t*)0x410020F4U) /**< (DSU) Device Configuration 1 */
+#define REG_DSU_ENTRY0          (*(__I  uint32_t*)0x41003000U) /**< (DSU) CoreSight ROM Table Entry 0 */
+#define REG_DSU_ENTRY1          (*(__I  uint32_t*)0x41003004U) /**< (DSU) CoreSight ROM Table Entry 1 */
+#define REG_DSU_END             (*(__I  uint32_t*)0x41003008U) /**< (DSU) CoreSight ROM Table End */
+#define REG_DSU_MEMTYPE         (*(__I  uint32_t*)0x41003FCCU) /**< (DSU) CoreSight ROM Table Memory Type */
+#define REG_DSU_PID4            (*(__I  uint32_t*)0x41003FD0U) /**< (DSU) Peripheral Identification 4 */
+#define REG_DSU_PID5            (*(__I  uint32_t*)0x41003FD4U) /**< (DSU) Peripheral Identification 5 */
+#define REG_DSU_PID6            (*(__I  uint32_t*)0x41003FD8U) /**< (DSU) Peripheral Identification 6 */
+#define REG_DSU_PID7            (*(__I  uint32_t*)0x41003FDCU) /**< (DSU) Peripheral Identification 7 */
+#define REG_DSU_PID0            (*(__I  uint32_t*)0x41003FE0U) /**< (DSU) Peripheral Identification 0 */
+#define REG_DSU_PID1            (*(__I  uint32_t*)0x41003FE4U) /**< (DSU) Peripheral Identification 1 */
+#define REG_DSU_PID2            (*(__I  uint32_t*)0x41003FE8U) /**< (DSU) Peripheral Identification 2 */
+#define REG_DSU_PID3            (*(__I  uint32_t*)0x41003FECU) /**< (DSU) Peripheral Identification 3 */
+#define REG_DSU_CID0            (*(__I  uint32_t*)0x41003FF0U) /**< (DSU) Component Identification 0 */
+#define REG_DSU_CID1            (*(__I  uint32_t*)0x41003FF4U) /**< (DSU) Component Identification 1 */
+#define REG_DSU_CID2            (*(__I  uint32_t*)0x41003FF8U) /**< (DSU) Component Identification 2 */
+#define REG_DSU_CID3            (*(__I  uint32_t*)0x41003FFCU) /**< (DSU) Component Identification 3 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for DSU peripheral ========== */
+#define DSU_DMAC_ID_DCC0                         2          /* DMAC ID for DCC0 register */
+#define DSU_DMAC_ID_DCC1                         3          /* DMAC ID for DCC1 register */
+#define DSU_INSTANCE_ID                          33         
+
+#endif /* _SAML10_DSU_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/eic.h b/cpu/sam0_common/include/vendor/saml10/include/instance/eic.h
new file mode 100644
index 0000000000..8235957d2d
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/eic.h
@@ -0,0 +1,84 @@
+/**
+ * \file
+ *
+ * \brief Instance description for EIC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_EIC_INSTANCE_H_
+#define _SAML10_EIC_INSTANCE_H_
+
+/* ========== Register definition for EIC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_EIC_CTRLA           (0x40002800) /**< (EIC) Control A */
+#define REG_EIC_NMICTRL         (0x40002801) /**< (EIC) Non-Maskable Interrupt Control */
+#define REG_EIC_NMIFLAG         (0x40002802) /**< (EIC) Non-Maskable Interrupt Flag Status and Clear */
+#define REG_EIC_SYNCBUSY        (0x40002804) /**< (EIC) Synchronization Busy */
+#define REG_EIC_EVCTRL          (0x40002808) /**< (EIC) Event Control */
+#define REG_EIC_INTENCLR        (0x4000280C) /**< (EIC) Interrupt Enable Clear */
+#define REG_EIC_INTENSET        (0x40002810) /**< (EIC) Interrupt Enable Set */
+#define REG_EIC_INTFLAG         (0x40002814) /**< (EIC) Interrupt Flag Status and Clear */
+#define REG_EIC_ASYNCH          (0x40002818) /**< (EIC) External Interrupt Asynchronous Mode */
+#define REG_EIC_CONFIG          (0x4000281C) /**< (EIC) External Interrupt Sense Configuration */
+#define REG_EIC_CONFIG0         (0x4000281C) /**< (EIC) External Interrupt Sense Configuration 0 */
+#define REG_EIC_DEBOUNCEN       (0x40002830) /**< (EIC) Debouncer Enable */
+#define REG_EIC_DPRESCALER      (0x40002834) /**< (EIC) Debouncer Prescaler */
+#define REG_EIC_PINSTATE        (0x40002838) /**< (EIC) Pin State */
+#define REG_EIC_NSCHK           (0x4000283C) /**< (EIC) Non-secure Interrupt Check Enable */
+#define REG_EIC_NONSEC          (0x40002840) /**< (EIC) Non-secure Interrupt */
+
+#else
+
+#define REG_EIC_CTRLA           (*(__IO uint8_t*)0x40002800U) /**< (EIC) Control A */
+#define REG_EIC_NMICTRL         (*(__IO uint8_t*)0x40002801U) /**< (EIC) Non-Maskable Interrupt Control */
+#define REG_EIC_NMIFLAG         (*(__IO uint16_t*)0x40002802U) /**< (EIC) Non-Maskable Interrupt Flag Status and Clear */
+#define REG_EIC_SYNCBUSY        (*(__I  uint32_t*)0x40002804U) /**< (EIC) Synchronization Busy */
+#define REG_EIC_EVCTRL          (*(__IO uint32_t*)0x40002808U) /**< (EIC) Event Control */
+#define REG_EIC_INTENCLR        (*(__IO uint32_t*)0x4000280CU) /**< (EIC) Interrupt Enable Clear */
+#define REG_EIC_INTENSET        (*(__IO uint32_t*)0x40002810U) /**< (EIC) Interrupt Enable Set */
+#define REG_EIC_INTFLAG         (*(__IO uint32_t*)0x40002814U) /**< (EIC) Interrupt Flag Status and Clear */
+#define REG_EIC_ASYNCH          (*(__IO uint32_t*)0x40002818U) /**< (EIC) External Interrupt Asynchronous Mode */
+#define REG_EIC_CONFIG          (*(__IO uint32_t*)0x4000281CU) /**< (EIC) External Interrupt Sense Configuration */
+#define REG_EIC_CONFIG0         (*(__IO uint32_t*)0x4000281CU) /**< (EIC) External Interrupt Sense Configuration 0 */
+#define REG_EIC_DEBOUNCEN       (*(__IO uint32_t*)0x40002830U) /**< (EIC) Debouncer Enable */
+#define REG_EIC_DPRESCALER      (*(__IO uint32_t*)0x40002834U) /**< (EIC) Debouncer Prescaler */
+#define REG_EIC_PINSTATE        (*(__I  uint32_t*)0x40002838U) /**< (EIC) Pin State */
+#define REG_EIC_NSCHK           (*(__IO uint32_t*)0x4000283CU) /**< (EIC) Non-secure Interrupt Check Enable */
+#define REG_EIC_NONSEC          (*(__IO uint32_t*)0x40002840U) /**< (EIC) Non-secure Interrupt */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for EIC peripheral ========== */
+#define EIC_EXTINT_NUM                           8          /* Number of external interrupts */
+#define EIC_GCLK_ID                              3          /* Generic Clock index */
+#define EIC_NUMBER_OF_CONFIG_REGS                1          /* Number of CONFIG registers */
+#define EIC_NUMBER_OF_DPRESCALER_REGS            1          /* Number of DPRESCALER registers */
+#define EIC_NUMBER_OF_INTERRUPTS                 8          /* Number of external interrupts (obsolete) */
+#define EIC_SECURE_IMPLEMENTED                   1          /* Security Configuration implemented? */
+#define EIC_INSTANCE_ID                          10         
+
+#endif /* _SAML10_EIC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/evsys.h b/cpu/sam0_common/include/vendor/saml10/include/instance/evsys.h
new file mode 100644
index 0000000000..4c63d0abd5
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/evsys.h
@@ -0,0 +1,221 @@
+/**
+ * \file
+ *
+ * \brief Instance description for EVSYS
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_EVSYS_INSTANCE_H_
+#define _SAML10_EVSYS_INSTANCE_H_
+
+/* ========== Register definition for EVSYS peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_EVSYS_CHANNEL0      (0x42000020) /**< (EVSYS) Channel 0 Control */
+#define REG_EVSYS_CHINTENCLR0   (0x42000024) /**< (EVSYS) Channel 0 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET0   (0x42000025) /**< (EVSYS) Channel 0 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG0    (0x42000026) /**< (EVSYS) Channel 0 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS0     (0x42000027) /**< (EVSYS) Channel 0 Status */
+#define REG_EVSYS_CHANNEL1      (0x42000028) /**< (EVSYS) Channel 1 Control */
+#define REG_EVSYS_CHINTENCLR1   (0x4200002C) /**< (EVSYS) Channel 1 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET1   (0x4200002D) /**< (EVSYS) Channel 1 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG1    (0x4200002E) /**< (EVSYS) Channel 1 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS1     (0x4200002F) /**< (EVSYS) Channel 1 Status */
+#define REG_EVSYS_CHANNEL2      (0x42000030) /**< (EVSYS) Channel 2 Control */
+#define REG_EVSYS_CHINTENCLR2   (0x42000034) /**< (EVSYS) Channel 2 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET2   (0x42000035) /**< (EVSYS) Channel 2 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG2    (0x42000036) /**< (EVSYS) Channel 2 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS2     (0x42000037) /**< (EVSYS) Channel 2 Status */
+#define REG_EVSYS_CHANNEL3      (0x42000038) /**< (EVSYS) Channel 3 Control */
+#define REG_EVSYS_CHINTENCLR3   (0x4200003C) /**< (EVSYS) Channel 3 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET3   (0x4200003D) /**< (EVSYS) Channel 3 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG3    (0x4200003E) /**< (EVSYS) Channel 3 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS3     (0x4200003F) /**< (EVSYS) Channel 3 Status */
+#define REG_EVSYS_CHANNEL4      (0x42000040) /**< (EVSYS) Channel 4 Control */
+#define REG_EVSYS_CHINTENCLR4   (0x42000044) /**< (EVSYS) Channel 4 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET4   (0x42000045) /**< (EVSYS) Channel 4 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG4    (0x42000046) /**< (EVSYS) Channel 4 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS4     (0x42000047) /**< (EVSYS) Channel 4 Status */
+#define REG_EVSYS_CHANNEL5      (0x42000048) /**< (EVSYS) Channel 5 Control */
+#define REG_EVSYS_CHINTENCLR5   (0x4200004C) /**< (EVSYS) Channel 5 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET5   (0x4200004D) /**< (EVSYS) Channel 5 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG5    (0x4200004E) /**< (EVSYS) Channel 5 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS5     (0x4200004F) /**< (EVSYS) Channel 5 Status */
+#define REG_EVSYS_CHANNEL6      (0x42000050) /**< (EVSYS) Channel 6 Control */
+#define REG_EVSYS_CHINTENCLR6   (0x42000054) /**< (EVSYS) Channel 6 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET6   (0x42000055) /**< (EVSYS) Channel 6 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG6    (0x42000056) /**< (EVSYS) Channel 6 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS6     (0x42000057) /**< (EVSYS) Channel 6 Status */
+#define REG_EVSYS_CHANNEL7      (0x42000058) /**< (EVSYS) Channel 7 Control */
+#define REG_EVSYS_CHINTENCLR7   (0x4200005C) /**< (EVSYS) Channel 7 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET7   (0x4200005D) /**< (EVSYS) Channel 7 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG7    (0x4200005E) /**< (EVSYS) Channel 7 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS7     (0x4200005F) /**< (EVSYS) Channel 7 Status */
+#define REG_EVSYS_CTRLA         (0x42000000) /**< (EVSYS) Control */
+#define REG_EVSYS_SWEVT         (0x42000004) /**< (EVSYS) Software Event */
+#define REG_EVSYS_PRICTRL       (0x42000008) /**< (EVSYS) Priority Control */
+#define REG_EVSYS_INTPEND       (0x42000010) /**< (EVSYS) Channel Pending Interrupt */
+#define REG_EVSYS_INTSTATUS     (0x42000014) /**< (EVSYS) Interrupt Status */
+#define REG_EVSYS_BUSYCH        (0x42000018) /**< (EVSYS) Busy Channels */
+#define REG_EVSYS_READYUSR      (0x4200001C) /**< (EVSYS) Ready Users */
+#define REG_EVSYS_USER          (0x42000120) /**< (EVSYS) User Multiplexer n */
+#define REG_EVSYS_USER0         (0x42000120) /**< (EVSYS) User Multiplexer 0 */
+#define REG_EVSYS_USER1         (0x42000121) /**< (EVSYS) User Multiplexer 1 */
+#define REG_EVSYS_USER2         (0x42000122) /**< (EVSYS) User Multiplexer 2 */
+#define REG_EVSYS_USER3         (0x42000123) /**< (EVSYS) User Multiplexer 3 */
+#define REG_EVSYS_USER4         (0x42000124) /**< (EVSYS) User Multiplexer 4 */
+#define REG_EVSYS_USER5         (0x42000125) /**< (EVSYS) User Multiplexer 5 */
+#define REG_EVSYS_USER6         (0x42000126) /**< (EVSYS) User Multiplexer 6 */
+#define REG_EVSYS_USER7         (0x42000127) /**< (EVSYS) User Multiplexer 7 */
+#define REG_EVSYS_USER8         (0x42000128) /**< (EVSYS) User Multiplexer 8 */
+#define REG_EVSYS_USER9         (0x42000129) /**< (EVSYS) User Multiplexer 9 */
+#define REG_EVSYS_USER10        (0x4200012A) /**< (EVSYS) User Multiplexer 10 */
+#define REG_EVSYS_USER11        (0x4200012B) /**< (EVSYS) User Multiplexer 11 */
+#define REG_EVSYS_USER12        (0x4200012C) /**< (EVSYS) User Multiplexer 12 */
+#define REG_EVSYS_USER13        (0x4200012D) /**< (EVSYS) User Multiplexer 13 */
+#define REG_EVSYS_USER14        (0x4200012E) /**< (EVSYS) User Multiplexer 14 */
+#define REG_EVSYS_USER15        (0x4200012F) /**< (EVSYS) User Multiplexer 15 */
+#define REG_EVSYS_USER16        (0x42000130) /**< (EVSYS) User Multiplexer 16 */
+#define REG_EVSYS_USER17        (0x42000131) /**< (EVSYS) User Multiplexer 17 */
+#define REG_EVSYS_USER18        (0x42000132) /**< (EVSYS) User Multiplexer 18 */
+#define REG_EVSYS_USER19        (0x42000133) /**< (EVSYS) User Multiplexer 19 */
+#define REG_EVSYS_USER20        (0x42000134) /**< (EVSYS) User Multiplexer 20 */
+#define REG_EVSYS_USER21        (0x42000135) /**< (EVSYS) User Multiplexer 21 */
+#define REG_EVSYS_USER22        (0x42000136) /**< (EVSYS) User Multiplexer 22 */
+#define REG_EVSYS_INTENCLR      (0x420001D4) /**< (EVSYS) Interrupt Enable Clear */
+#define REG_EVSYS_INTENSET      (0x420001D5) /**< (EVSYS) Interrupt Enable Set */
+#define REG_EVSYS_INTFLAG       (0x420001D6) /**< (EVSYS) Interrupt Flag Status and Clear */
+#define REG_EVSYS_NONSECCHAN    (0x420001D8) /**< (EVSYS) Channels Security Attribution */
+#define REG_EVSYS_NSCHKCHAN     (0x420001DC) /**< (EVSYS) Non-Secure Channels Check */
+#define REG_EVSYS_NONSECUSER    (0x420001E0) /**< (EVSYS) Users Security Attribution */
+#define REG_EVSYS_NONSECUSER0   (0x420001E0) /**< (EVSYS) Users Security Attribution 0 */
+#define REG_EVSYS_NSCHKUSER     (0x420001F0) /**< (EVSYS) Non-Secure Users Check */
+#define REG_EVSYS_NSCHKUSER0    (0x420001F0) /**< (EVSYS) Non-Secure Users Check 0 */
+
+#else
+
+#define REG_EVSYS_CHANNEL0      (*(__IO uint32_t*)0x42000020U) /**< (EVSYS) Channel 0 Control */
+#define REG_EVSYS_CHINTENCLR0   (*(__IO uint8_t*)0x42000024U) /**< (EVSYS) Channel 0 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET0   (*(__IO uint8_t*)0x42000025U) /**< (EVSYS) Channel 0 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG0    (*(__IO uint8_t*)0x42000026U) /**< (EVSYS) Channel 0 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS0     (*(__I  uint8_t*)0x42000027U) /**< (EVSYS) Channel 0 Status */
+#define REG_EVSYS_CHANNEL1      (*(__IO uint32_t*)0x42000028U) /**< (EVSYS) Channel 1 Control */
+#define REG_EVSYS_CHINTENCLR1   (*(__IO uint8_t*)0x4200002CU) /**< (EVSYS) Channel 1 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET1   (*(__IO uint8_t*)0x4200002DU) /**< (EVSYS) Channel 1 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG1    (*(__IO uint8_t*)0x4200002EU) /**< (EVSYS) Channel 1 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS1     (*(__I  uint8_t*)0x4200002FU) /**< (EVSYS) Channel 1 Status */
+#define REG_EVSYS_CHANNEL2      (*(__IO uint32_t*)0x42000030U) /**< (EVSYS) Channel 2 Control */
+#define REG_EVSYS_CHINTENCLR2   (*(__IO uint8_t*)0x42000034U) /**< (EVSYS) Channel 2 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET2   (*(__IO uint8_t*)0x42000035U) /**< (EVSYS) Channel 2 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG2    (*(__IO uint8_t*)0x42000036U) /**< (EVSYS) Channel 2 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS2     (*(__I  uint8_t*)0x42000037U) /**< (EVSYS) Channel 2 Status */
+#define REG_EVSYS_CHANNEL3      (*(__IO uint32_t*)0x42000038U) /**< (EVSYS) Channel 3 Control */
+#define REG_EVSYS_CHINTENCLR3   (*(__IO uint8_t*)0x4200003CU) /**< (EVSYS) Channel 3 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET3   (*(__IO uint8_t*)0x4200003DU) /**< (EVSYS) Channel 3 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG3    (*(__IO uint8_t*)0x4200003EU) /**< (EVSYS) Channel 3 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS3     (*(__I  uint8_t*)0x4200003FU) /**< (EVSYS) Channel 3 Status */
+#define REG_EVSYS_CHANNEL4      (*(__IO uint32_t*)0x42000040U) /**< (EVSYS) Channel 4 Control */
+#define REG_EVSYS_CHINTENCLR4   (*(__IO uint8_t*)0x42000044U) /**< (EVSYS) Channel 4 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET4   (*(__IO uint8_t*)0x42000045U) /**< (EVSYS) Channel 4 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG4    (*(__IO uint8_t*)0x42000046U) /**< (EVSYS) Channel 4 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS4     (*(__I  uint8_t*)0x42000047U) /**< (EVSYS) Channel 4 Status */
+#define REG_EVSYS_CHANNEL5      (*(__IO uint32_t*)0x42000048U) /**< (EVSYS) Channel 5 Control */
+#define REG_EVSYS_CHINTENCLR5   (*(__IO uint8_t*)0x4200004CU) /**< (EVSYS) Channel 5 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET5   (*(__IO uint8_t*)0x4200004DU) /**< (EVSYS) Channel 5 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG5    (*(__IO uint8_t*)0x4200004EU) /**< (EVSYS) Channel 5 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS5     (*(__I  uint8_t*)0x4200004FU) /**< (EVSYS) Channel 5 Status */
+#define REG_EVSYS_CHANNEL6      (*(__IO uint32_t*)0x42000050U) /**< (EVSYS) Channel 6 Control */
+#define REG_EVSYS_CHINTENCLR6   (*(__IO uint8_t*)0x42000054U) /**< (EVSYS) Channel 6 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET6   (*(__IO uint8_t*)0x42000055U) /**< (EVSYS) Channel 6 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG6    (*(__IO uint8_t*)0x42000056U) /**< (EVSYS) Channel 6 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS6     (*(__I  uint8_t*)0x42000057U) /**< (EVSYS) Channel 6 Status */
+#define REG_EVSYS_CHANNEL7      (*(__IO uint32_t*)0x42000058U) /**< (EVSYS) Channel 7 Control */
+#define REG_EVSYS_CHINTENCLR7   (*(__IO uint8_t*)0x4200005CU) /**< (EVSYS) Channel 7 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET7   (*(__IO uint8_t*)0x4200005DU) /**< (EVSYS) Channel 7 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG7    (*(__IO uint8_t*)0x4200005EU) /**< (EVSYS) Channel 7 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS7     (*(__I  uint8_t*)0x4200005FU) /**< (EVSYS) Channel 7 Status */
+#define REG_EVSYS_CTRLA         (*(__O  uint8_t*)0x42000000U) /**< (EVSYS) Control */
+#define REG_EVSYS_SWEVT         (*(__O  uint32_t*)0x42000004U) /**< (EVSYS) Software Event */
+#define REG_EVSYS_PRICTRL       (*(__IO uint8_t*)0x42000008U) /**< (EVSYS) Priority Control */
+#define REG_EVSYS_INTPEND       (*(__IO uint16_t*)0x42000010U) /**< (EVSYS) Channel Pending Interrupt */
+#define REG_EVSYS_INTSTATUS     (*(__I  uint32_t*)0x42000014U) /**< (EVSYS) Interrupt Status */
+#define REG_EVSYS_BUSYCH        (*(__I  uint32_t*)0x42000018U) /**< (EVSYS) Busy Channels */
+#define REG_EVSYS_READYUSR      (*(__I  uint32_t*)0x4200001CU) /**< (EVSYS) Ready Users */
+#define REG_EVSYS_USER          (*(__IO uint8_t*)0x42000120U) /**< (EVSYS) User Multiplexer n */
+#define REG_EVSYS_USER0         (*(__IO uint8_t*)0x42000120U) /**< (EVSYS) User Multiplexer 0 */
+#define REG_EVSYS_USER1         (*(__IO uint8_t*)0x42000121U) /**< (EVSYS) User Multiplexer 1 */
+#define REG_EVSYS_USER2         (*(__IO uint8_t*)0x42000122U) /**< (EVSYS) User Multiplexer 2 */
+#define REG_EVSYS_USER3         (*(__IO uint8_t*)0x42000123U) /**< (EVSYS) User Multiplexer 3 */
+#define REG_EVSYS_USER4         (*(__IO uint8_t*)0x42000124U) /**< (EVSYS) User Multiplexer 4 */
+#define REG_EVSYS_USER5         (*(__IO uint8_t*)0x42000125U) /**< (EVSYS) User Multiplexer 5 */
+#define REG_EVSYS_USER6         (*(__IO uint8_t*)0x42000126U) /**< (EVSYS) User Multiplexer 6 */
+#define REG_EVSYS_USER7         (*(__IO uint8_t*)0x42000127U) /**< (EVSYS) User Multiplexer 7 */
+#define REG_EVSYS_USER8         (*(__IO uint8_t*)0x42000128U) /**< (EVSYS) User Multiplexer 8 */
+#define REG_EVSYS_USER9         (*(__IO uint8_t*)0x42000129U) /**< (EVSYS) User Multiplexer 9 */
+#define REG_EVSYS_USER10        (*(__IO uint8_t*)0x4200012AU) /**< (EVSYS) User Multiplexer 10 */
+#define REG_EVSYS_USER11        (*(__IO uint8_t*)0x4200012BU) /**< (EVSYS) User Multiplexer 11 */
+#define REG_EVSYS_USER12        (*(__IO uint8_t*)0x4200012CU) /**< (EVSYS) User Multiplexer 12 */
+#define REG_EVSYS_USER13        (*(__IO uint8_t*)0x4200012DU) /**< (EVSYS) User Multiplexer 13 */
+#define REG_EVSYS_USER14        (*(__IO uint8_t*)0x4200012EU) /**< (EVSYS) User Multiplexer 14 */
+#define REG_EVSYS_USER15        (*(__IO uint8_t*)0x4200012FU) /**< (EVSYS) User Multiplexer 15 */
+#define REG_EVSYS_USER16        (*(__IO uint8_t*)0x42000130U) /**< (EVSYS) User Multiplexer 16 */
+#define REG_EVSYS_USER17        (*(__IO uint8_t*)0x42000131U) /**< (EVSYS) User Multiplexer 17 */
+#define REG_EVSYS_USER18        (*(__IO uint8_t*)0x42000132U) /**< (EVSYS) User Multiplexer 18 */
+#define REG_EVSYS_USER19        (*(__IO uint8_t*)0x42000133U) /**< (EVSYS) User Multiplexer 19 */
+#define REG_EVSYS_USER20        (*(__IO uint8_t*)0x42000134U) /**< (EVSYS) User Multiplexer 20 */
+#define REG_EVSYS_USER21        (*(__IO uint8_t*)0x42000135U) /**< (EVSYS) User Multiplexer 21 */
+#define REG_EVSYS_USER22        (*(__IO uint8_t*)0x42000136U) /**< (EVSYS) User Multiplexer 22 */
+#define REG_EVSYS_INTENCLR      (*(__IO uint8_t*)0x420001D4U) /**< (EVSYS) Interrupt Enable Clear */
+#define REG_EVSYS_INTENSET      (*(__IO uint8_t*)0x420001D5U) /**< (EVSYS) Interrupt Enable Set */
+#define REG_EVSYS_INTFLAG       (*(__IO uint8_t*)0x420001D6U) /**< (EVSYS) Interrupt Flag Status and Clear */
+#define REG_EVSYS_NONSECCHAN    (*(__IO uint32_t*)0x420001D8U) /**< (EVSYS) Channels Security Attribution */
+#define REG_EVSYS_NSCHKCHAN     (*(__IO uint32_t*)0x420001DCU) /**< (EVSYS) Non-Secure Channels Check */
+#define REG_EVSYS_NONSECUSER    (*(__IO uint32_t*)0x420001E0U) /**< (EVSYS) Users Security Attribution */
+#define REG_EVSYS_NONSECUSER0   (*(__IO uint32_t*)0x420001E0U) /**< (EVSYS) Users Security Attribution 0 */
+#define REG_EVSYS_NSCHKUSER     (*(__IO uint32_t*)0x420001F0U) /**< (EVSYS) Non-Secure Users Check */
+#define REG_EVSYS_NSCHKUSER0    (*(__IO uint32_t*)0x420001F0U) /**< (EVSYS) Non-Secure Users Check 0 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for EVSYS peripheral ========== */
+#define EVSYS_ASYNCHRONOUS_CHANNELS              0x000000F0 /* Mask of Only Asynchronous Channels */
+#define EVSYS_CHANNELS                           8          /* Number of Channels */
+#define EVSYS_CHANNELS_BITS                      3          /* Number of bits to select Channel */
+#define EVSYS_GCLK_ID_0                          6          /* Index of Generic Clock 0 */
+#define EVSYS_GCLK_ID_1                          7          /* Index of Generic Clock 1 */
+#define EVSYS_GCLK_ID_2                          8          /* Index of Generic Clock 2 */
+#define EVSYS_GCLK_ID_3                          9          /* Index of Generic Clock 3 */
+#define EVSYS_GENERATORS                         49         /* Total Number of Event Generators */
+#define EVSYS_GENERATORS_BITS                    6          /* Number of bits to select Event Generator */
+#define EVSYS_SECURE_IMPLEMENTED                 1          /* Secure Channels/Users supported? */
+#define EVSYS_SYNCH_NUM                          4          /* Number of Synchronous Channels */
+#define EVSYS_SYNCH_NUM_BITS                     2          /* Number of bits to select Synchronous Channels */
+#define EVSYS_USERS                              23         /* Total Number of Event Users */
+#define EVSYS_USERS_BITS                         5          /* Number of bits to select Event User */
+#define EVSYS_USERS_GROUPS                       1          /* Number of 32-user groups */
+#define EVSYS_INSTANCE_ID                        64         
+
+#endif /* _SAML10_EVSYS_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/freqm.h b/cpu/sam0_common/include/vendor/saml10/include/instance/freqm.h
new file mode 100644
index 0000000000..260a38e036
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/freqm.h
@@ -0,0 +1,66 @@
+/**
+ * \file
+ *
+ * \brief Instance description for FREQM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_FREQM_INSTANCE_H_
+#define _SAML10_FREQM_INSTANCE_H_
+
+/* ========== Register definition for FREQM peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_FREQM_CTRLA         (0x40002C00) /**< (FREQM) Control A Register */
+#define REG_FREQM_CTRLB         (0x40002C01) /**< (FREQM) Control B Register */
+#define REG_FREQM_CFGA          (0x40002C02) /**< (FREQM) Config A register */
+#define REG_FREQM_INTENCLR      (0x40002C08) /**< (FREQM) Interrupt Enable Clear Register */
+#define REG_FREQM_INTENSET      (0x40002C09) /**< (FREQM) Interrupt Enable Set Register */
+#define REG_FREQM_INTFLAG       (0x40002C0A) /**< (FREQM) Interrupt Flag Register */
+#define REG_FREQM_STATUS        (0x40002C0B) /**< (FREQM) Status Register */
+#define REG_FREQM_SYNCBUSY      (0x40002C0C) /**< (FREQM) Synchronization Busy Register */
+#define REG_FREQM_VALUE         (0x40002C10) /**< (FREQM) Count Value Register */
+
+#else
+
+#define REG_FREQM_CTRLA         (*(__IO uint8_t*)0x40002C00U) /**< (FREQM) Control A Register */
+#define REG_FREQM_CTRLB         (*(__O  uint8_t*)0x40002C01U) /**< (FREQM) Control B Register */
+#define REG_FREQM_CFGA          (*(__IO uint16_t*)0x40002C02U) /**< (FREQM) Config A register */
+#define REG_FREQM_INTENCLR      (*(__IO uint8_t*)0x40002C08U) /**< (FREQM) Interrupt Enable Clear Register */
+#define REG_FREQM_INTENSET      (*(__IO uint8_t*)0x40002C09U) /**< (FREQM) Interrupt Enable Set Register */
+#define REG_FREQM_INTFLAG       (*(__IO uint8_t*)0x40002C0AU) /**< (FREQM) Interrupt Flag Register */
+#define REG_FREQM_STATUS        (*(__IO uint8_t*)0x40002C0BU) /**< (FREQM) Status Register */
+#define REG_FREQM_SYNCBUSY      (*(__I  uint32_t*)0x40002C0CU) /**< (FREQM) Synchronization Busy Register */
+#define REG_FREQM_VALUE         (*(__I  uint32_t*)0x40002C10U) /**< (FREQM) Count Value Register */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for FREQM peripheral ========== */
+#define FREQM_GCLK_ID_MSR                        4          /* Index of measure generic clock */
+#define FREQM_GCLK_ID_REF                        5          /* Index of reference generic clock */
+#define FREQM_INSTANCE_ID                        11         
+
+#endif /* _SAML10_FREQM_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/gclk.h b/cpu/sam0_common/include/vendor/saml10/include/instance/gclk.h
new file mode 100644
index 0000000000..f9e30efe9e
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/gclk.h
@@ -0,0 +1,114 @@
+/**
+ * \file
+ *
+ * \brief Instance description for GCLK
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_GCLK_INSTANCE_H_
+#define _SAML10_GCLK_INSTANCE_H_
+
+/* ========== Register definition for GCLK peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_GCLK_CTRLA          (0x40001C00) /**< (GCLK) Control */
+#define REG_GCLK_SYNCBUSY       (0x40001C04) /**< (GCLK) Synchronization Busy */
+#define REG_GCLK_GENCTRL        (0x40001C20) /**< (GCLK) Generic Clock Generator Control */
+#define REG_GCLK_GENCTRL0       (0x40001C20) /**< (GCLK) Generic Clock Generator Control 0 */
+#define REG_GCLK_GENCTRL1       (0x40001C24) /**< (GCLK) Generic Clock Generator Control 1 */
+#define REG_GCLK_GENCTRL2       (0x40001C28) /**< (GCLK) Generic Clock Generator Control 2 */
+#define REG_GCLK_GENCTRL3       (0x40001C2C) /**< (GCLK) Generic Clock Generator Control 3 */
+#define REG_GCLK_GENCTRL4       (0x40001C30) /**< (GCLK) Generic Clock Generator Control 4 */
+#define REG_GCLK_PCHCTRL        (0x40001C80) /**< (GCLK) Peripheral Clock Control */
+#define REG_GCLK_PCHCTRL0       (0x40001C80) /**< (GCLK) Peripheral Clock Control 0 */
+#define REG_GCLK_PCHCTRL1       (0x40001C84) /**< (GCLK) Peripheral Clock Control 1 */
+#define REG_GCLK_PCHCTRL2       (0x40001C88) /**< (GCLK) Peripheral Clock Control 2 */
+#define REG_GCLK_PCHCTRL3       (0x40001C8C) /**< (GCLK) Peripheral Clock Control 3 */
+#define REG_GCLK_PCHCTRL4       (0x40001C90) /**< (GCLK) Peripheral Clock Control 4 */
+#define REG_GCLK_PCHCTRL5       (0x40001C94) /**< (GCLK) Peripheral Clock Control 5 */
+#define REG_GCLK_PCHCTRL6       (0x40001C98) /**< (GCLK) Peripheral Clock Control 6 */
+#define REG_GCLK_PCHCTRL7       (0x40001C9C) /**< (GCLK) Peripheral Clock Control 7 */
+#define REG_GCLK_PCHCTRL8       (0x40001CA0) /**< (GCLK) Peripheral Clock Control 8 */
+#define REG_GCLK_PCHCTRL9       (0x40001CA4) /**< (GCLK) Peripheral Clock Control 9 */
+#define REG_GCLK_PCHCTRL10      (0x40001CA8) /**< (GCLK) Peripheral Clock Control 10 */
+#define REG_GCLK_PCHCTRL11      (0x40001CAC) /**< (GCLK) Peripheral Clock Control 11 */
+#define REG_GCLK_PCHCTRL12      (0x40001CB0) /**< (GCLK) Peripheral Clock Control 12 */
+#define REG_GCLK_PCHCTRL13      (0x40001CB4) /**< (GCLK) Peripheral Clock Control 13 */
+#define REG_GCLK_PCHCTRL14      (0x40001CB8) /**< (GCLK) Peripheral Clock Control 14 */
+#define REG_GCLK_PCHCTRL15      (0x40001CBC) /**< (GCLK) Peripheral Clock Control 15 */
+#define REG_GCLK_PCHCTRL16      (0x40001CC0) /**< (GCLK) Peripheral Clock Control 16 */
+#define REG_GCLK_PCHCTRL17      (0x40001CC4) /**< (GCLK) Peripheral Clock Control 17 */
+#define REG_GCLK_PCHCTRL18      (0x40001CC8) /**< (GCLK) Peripheral Clock Control 18 */
+#define REG_GCLK_PCHCTRL19      (0x40001CCC) /**< (GCLK) Peripheral Clock Control 19 */
+#define REG_GCLK_PCHCTRL20      (0x40001CD0) /**< (GCLK) Peripheral Clock Control 20 */
+
+#else
+
+#define REG_GCLK_CTRLA          (*(__IO uint8_t*)0x40001C00U) /**< (GCLK) Control */
+#define REG_GCLK_SYNCBUSY       (*(__I  uint32_t*)0x40001C04U) /**< (GCLK) Synchronization Busy */
+#define REG_GCLK_GENCTRL        (*(__IO uint32_t*)0x40001C20U) /**< (GCLK) Generic Clock Generator Control */
+#define REG_GCLK_GENCTRL0       (*(__IO uint32_t*)0x40001C20U) /**< (GCLK) Generic Clock Generator Control 0 */
+#define REG_GCLK_GENCTRL1       (*(__IO uint32_t*)0x40001C24U) /**< (GCLK) Generic Clock Generator Control 1 */
+#define REG_GCLK_GENCTRL2       (*(__IO uint32_t*)0x40001C28U) /**< (GCLK) Generic Clock Generator Control 2 */
+#define REG_GCLK_GENCTRL3       (*(__IO uint32_t*)0x40001C2CU) /**< (GCLK) Generic Clock Generator Control 3 */
+#define REG_GCLK_GENCTRL4       (*(__IO uint32_t*)0x40001C30U) /**< (GCLK) Generic Clock Generator Control 4 */
+#define REG_GCLK_PCHCTRL        (*(__IO uint32_t*)0x40001C80U) /**< (GCLK) Peripheral Clock Control */
+#define REG_GCLK_PCHCTRL0       (*(__IO uint32_t*)0x40001C80U) /**< (GCLK) Peripheral Clock Control 0 */
+#define REG_GCLK_PCHCTRL1       (*(__IO uint32_t*)0x40001C84U) /**< (GCLK) Peripheral Clock Control 1 */
+#define REG_GCLK_PCHCTRL2       (*(__IO uint32_t*)0x40001C88U) /**< (GCLK) Peripheral Clock Control 2 */
+#define REG_GCLK_PCHCTRL3       (*(__IO uint32_t*)0x40001C8CU) /**< (GCLK) Peripheral Clock Control 3 */
+#define REG_GCLK_PCHCTRL4       (*(__IO uint32_t*)0x40001C90U) /**< (GCLK) Peripheral Clock Control 4 */
+#define REG_GCLK_PCHCTRL5       (*(__IO uint32_t*)0x40001C94U) /**< (GCLK) Peripheral Clock Control 5 */
+#define REG_GCLK_PCHCTRL6       (*(__IO uint32_t*)0x40001C98U) /**< (GCLK) Peripheral Clock Control 6 */
+#define REG_GCLK_PCHCTRL7       (*(__IO uint32_t*)0x40001C9CU) /**< (GCLK) Peripheral Clock Control 7 */
+#define REG_GCLK_PCHCTRL8       (*(__IO uint32_t*)0x40001CA0U) /**< (GCLK) Peripheral Clock Control 8 */
+#define REG_GCLK_PCHCTRL9       (*(__IO uint32_t*)0x40001CA4U) /**< (GCLK) Peripheral Clock Control 9 */
+#define REG_GCLK_PCHCTRL10      (*(__IO uint32_t*)0x40001CA8U) /**< (GCLK) Peripheral Clock Control 10 */
+#define REG_GCLK_PCHCTRL11      (*(__IO uint32_t*)0x40001CACU) /**< (GCLK) Peripheral Clock Control 11 */
+#define REG_GCLK_PCHCTRL12      (*(__IO uint32_t*)0x40001CB0U) /**< (GCLK) Peripheral Clock Control 12 */
+#define REG_GCLK_PCHCTRL13      (*(__IO uint32_t*)0x40001CB4U) /**< (GCLK) Peripheral Clock Control 13 */
+#define REG_GCLK_PCHCTRL14      (*(__IO uint32_t*)0x40001CB8U) /**< (GCLK) Peripheral Clock Control 14 */
+#define REG_GCLK_PCHCTRL15      (*(__IO uint32_t*)0x40001CBCU) /**< (GCLK) Peripheral Clock Control 15 */
+#define REG_GCLK_PCHCTRL16      (*(__IO uint32_t*)0x40001CC0U) /**< (GCLK) Peripheral Clock Control 16 */
+#define REG_GCLK_PCHCTRL17      (*(__IO uint32_t*)0x40001CC4U) /**< (GCLK) Peripheral Clock Control 17 */
+#define REG_GCLK_PCHCTRL18      (*(__IO uint32_t*)0x40001CC8U) /**< (GCLK) Peripheral Clock Control 18 */
+#define REG_GCLK_PCHCTRL19      (*(__IO uint32_t*)0x40001CCCU) /**< (GCLK) Peripheral Clock Control 19 */
+#define REG_GCLK_PCHCTRL20      (*(__IO uint32_t*)0x40001CD0U) /**< (GCLK) Peripheral Clock Control 20 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for GCLK peripheral ========== */
+#define GCLK_GENDIV_BITS                         16         
+#define GCLK_GEN_BITS                            3          
+#define GCLK_GEN_NUM                             5          /* Number of Generic Clock Generators */
+#define GCLK_GEN_NUM_MSB                         4          /* Number of Generic Clock Generators - 1 */
+#define GCLK_GEN_SOURCE_NUM_MSB                  7          /* Number of Generic Clock Sources - 1 */
+#define GCLK_NUM                                 21         /* Number of Generic Clock Users */
+#define GCLK_SOURCE_BITS                         3          
+#define GCLK_SOURCE_NUM                          8          /* Number of Generic Clock Sources */
+#define GCLK_INSTANCE_ID                         7          
+
+#endif /* _SAML10_GCLK_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/idau.h b/cpu/sam0_common/include/vendor/saml10/include/instance/idau.h
new file mode 100644
index 0000000000..9c86638177
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/idau.h
@@ -0,0 +1,53 @@
+/**
+ * \file
+ *
+ * \brief Instance description for IDAU
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_IDAU_INSTANCE_H_
+#define _SAML10_IDAU_INSTANCE_H_
+
+/* ========== Register definition for IDAU peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+
+
+#else
+
+
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for IDAU peripheral ========== */
+#define IDAU_GRANULARITY_BOOTPROT                0x100      /* BOOTPROT region granularity */
+#define IDAU_REGION_BOOTROM                      0x09       /* Boot ROM region number */
+#define IDAU_REGION_IOBUS                        0x00       /* IOBUS region number (invalid) */
+#define IDAU_REGION_OTHER                        0x00       /* Others region number (invalid) */
+#define IDAU_REGION_PERIPHERALS                  0x00       /* Peripherals region number (invalid) */
+#define IDAU_INSTANCE_ID                         32         
+
+#endif /* _SAML10_IDAU_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/mclk.h b/cpu/sam0_common/include/vendor/saml10/include/instance/mclk.h
new file mode 100644
index 0000000000..5ae8db2733
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/mclk.h
@@ -0,0 +1,66 @@
+/**
+ * \file
+ *
+ * \brief Instance description for MCLK
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_MCLK_INSTANCE_H_
+#define _SAML10_MCLK_INSTANCE_H_
+
+/* ========== Register definition for MCLK peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_MCLK_CTRLA          (0x40000800) /**< (MCLK) Control */
+#define REG_MCLK_INTENCLR       (0x40000801) /**< (MCLK) Interrupt Enable Clear */
+#define REG_MCLK_INTENSET       (0x40000802) /**< (MCLK) Interrupt Enable Set */
+#define REG_MCLK_INTFLAG        (0x40000803) /**< (MCLK) Interrupt Flag Status and Clear */
+#define REG_MCLK_CPUDIV         (0x40000804) /**< (MCLK) CPU Clock Division */
+#define REG_MCLK_AHBMASK        (0x40000810) /**< (MCLK) AHB Mask */
+#define REG_MCLK_APBAMASK       (0x40000814) /**< (MCLK) APBA Mask */
+#define REG_MCLK_APBBMASK       (0x40000818) /**< (MCLK) APBB Mask */
+#define REG_MCLK_APBCMASK       (0x4000081C) /**< (MCLK) APBC Mask */
+
+#else
+
+#define REG_MCLK_CTRLA          (*(__IO uint8_t*)0x40000800U) /**< (MCLK) Control */
+#define REG_MCLK_INTENCLR       (*(__IO uint8_t*)0x40000801U) /**< (MCLK) Interrupt Enable Clear */
+#define REG_MCLK_INTENSET       (*(__IO uint8_t*)0x40000802U) /**< (MCLK) Interrupt Enable Set */
+#define REG_MCLK_INTFLAG        (*(__IO uint8_t*)0x40000803U) /**< (MCLK) Interrupt Flag Status and Clear */
+#define REG_MCLK_CPUDIV         (*(__IO uint8_t*)0x40000804U) /**< (MCLK) CPU Clock Division */
+#define REG_MCLK_AHBMASK        (*(__IO uint32_t*)0x40000810U) /**< (MCLK) AHB Mask */
+#define REG_MCLK_APBAMASK       (*(__IO uint32_t*)0x40000814U) /**< (MCLK) APBA Mask */
+#define REG_MCLK_APBBMASK       (*(__IO uint32_t*)0x40000818U) /**< (MCLK) APBB Mask */
+#define REG_MCLK_APBCMASK       (*(__IO uint32_t*)0x4000081CU) /**< (MCLK) APBC Mask */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for MCLK peripheral ========== */
+#define MCLK_MCLK_CLK_APB_NUM                    3          
+#define MCLK_SYSTEM_CLOCK                        4000000    /* System Clock Frequency at Reset */
+#define MCLK_INSTANCE_ID                         2          
+
+#endif /* _SAML10_MCLK_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/nvmctrl.h b/cpu/sam0_common/include/vendor/saml10/include/instance/nvmctrl.h
new file mode 100644
index 0000000000..95c1ae88d6
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/nvmctrl.h
@@ -0,0 +1,100 @@
+/**
+ * \file
+ *
+ * \brief Instance description for NVMCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_NVMCTRL_INSTANCE_H_
+#define _SAML10_NVMCTRL_INSTANCE_H_
+
+/* ========== Register definition for NVMCTRL peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_NVMCTRL_CTRLA       (0x41004000) /**< (NVMCTRL) Control A */
+#define REG_NVMCTRL_CTRLB       (0x41004004) /**< (NVMCTRL) Control B */
+#define REG_NVMCTRL_CTRLC       (0x41004008) /**< (NVMCTRL) Control C */
+#define REG_NVMCTRL_EVCTRL      (0x4100400A) /**< (NVMCTRL) Event Control */
+#define REG_NVMCTRL_INTENCLR    (0x4100400C) /**< (NVMCTRL) Interrupt Enable Clear */
+#define REG_NVMCTRL_INTENSET    (0x41004010) /**< (NVMCTRL) Interrupt Enable Set */
+#define REG_NVMCTRL_INTFLAG     (0x41004014) /**< (NVMCTRL) Interrupt Flag Status and Clear */
+#define REG_NVMCTRL_STATUS      (0x41004018) /**< (NVMCTRL) Status */
+#define REG_NVMCTRL_ADDR        (0x4100401C) /**< (NVMCTRL) Address */
+#define REG_NVMCTRL_SULCK       (0x41004020) /**< (NVMCTRL) Secure Unlock Register */
+#define REG_NVMCTRL_NSULCK      (0x41004022) /**< (NVMCTRL) Non-Secure Unlock Register */
+#define REG_NVMCTRL_PARAM       (0x41004024) /**< (NVMCTRL) NVM Parameter */
+#define REG_NVMCTRL_DSCC        (0x41004030) /**< (NVMCTRL) Data Scramble Configuration */
+#define REG_NVMCTRL_SECCTRL     (0x41004034) /**< (NVMCTRL) Security Control */
+#define REG_NVMCTRL_SCFGB       (0x41004038) /**< (NVMCTRL) Secure Boot Configuration */
+#define REG_NVMCTRL_SCFGAD      (0x4100403C) /**< (NVMCTRL) Secure Application and Data Configuration */
+#define REG_NVMCTRL_NONSEC      (0x41004040) /**< (NVMCTRL) Non-secure Write Enable */
+#define REG_NVMCTRL_NSCHK       (0x41004044) /**< (NVMCTRL) Non-secure Write Reference Value */
+
+#else
+
+#define REG_NVMCTRL_CTRLA       (*(__O  uint16_t*)0x41004000U) /**< (NVMCTRL) Control A */
+#define REG_NVMCTRL_CTRLB       (*(__IO uint32_t*)0x41004004U) /**< (NVMCTRL) Control B */
+#define REG_NVMCTRL_CTRLC       (*(__IO uint8_t*)0x41004008U) /**< (NVMCTRL) Control C */
+#define REG_NVMCTRL_EVCTRL      (*(__IO uint8_t*)0x4100400AU) /**< (NVMCTRL) Event Control */
+#define REG_NVMCTRL_INTENCLR    (*(__IO uint8_t*)0x4100400CU) /**< (NVMCTRL) Interrupt Enable Clear */
+#define REG_NVMCTRL_INTENSET    (*(__IO uint8_t*)0x41004010U) /**< (NVMCTRL) Interrupt Enable Set */
+#define REG_NVMCTRL_INTFLAG     (*(__IO uint8_t*)0x41004014U) /**< (NVMCTRL) Interrupt Flag Status and Clear */
+#define REG_NVMCTRL_STATUS      (*(__I  uint16_t*)0x41004018U) /**< (NVMCTRL) Status */
+#define REG_NVMCTRL_ADDR        (*(__IO uint32_t*)0x4100401CU) /**< (NVMCTRL) Address */
+#define REG_NVMCTRL_SULCK       (*(__IO uint16_t*)0x41004020U) /**< (NVMCTRL) Secure Unlock Register */
+#define REG_NVMCTRL_NSULCK      (*(__IO uint16_t*)0x41004022U) /**< (NVMCTRL) Non-Secure Unlock Register */
+#define REG_NVMCTRL_PARAM       (*(__IO uint32_t*)0x41004024U) /**< (NVMCTRL) NVM Parameter */
+#define REG_NVMCTRL_DSCC        (*(__O  uint32_t*)0x41004030U) /**< (NVMCTRL) Data Scramble Configuration */
+#define REG_NVMCTRL_SECCTRL     (*(__IO uint32_t*)0x41004034U) /**< (NVMCTRL) Security Control */
+#define REG_NVMCTRL_SCFGB       (*(__IO uint32_t*)0x41004038U) /**< (NVMCTRL) Secure Boot Configuration */
+#define REG_NVMCTRL_SCFGAD      (*(__IO uint32_t*)0x4100403CU) /**< (NVMCTRL) Secure Application and Data Configuration */
+#define REG_NVMCTRL_NONSEC      (*(__IO uint32_t*)0x41004040U) /**< (NVMCTRL) Non-secure Write Enable */
+#define REG_NVMCTRL_NSCHK       (*(__IO uint32_t*)0x41004044U) /**< (NVMCTRL) Non-secure Write Reference Value */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for NVMCTRL peripheral ========== */
+#define NVMCTRL_DATAFLASH_PAGES                  32         
+#define NVMCTRL_PMSB                             3          
+#define NVMCTRL_PSZ_BITS                         6          
+#define NVMCTRL_ROW_PAGES                        4          
+#define NVMCTRL_SECURE_IMPLEMENTED               1          /* Security Configuration implemented? */
+#define NVMCTRL_FLASH_SIZE                       65536      
+#define NVMCTRL_PAGE_SIZE                        64         
+#define NVMCTRL_PAGES                            1024       
+#define NVMCTRL_PAGES_PR_REGION                  64         
+#define NVMCTRL_PSM_0_FRMFW_FWS_1_MAX_FREQ       12000000   
+#define NVMCTRL_PSM_0_FRMLP_FWS_0_MAX_FREQ       18000000   
+#define NVMCTRL_PSM_0_FRMLP_FWS_1_MAX_FREQ       36000000   
+#define NVMCTRL_PSM_0_FRMHS_FWS_0_MAX_FREQ       25000000   
+#define NVMCTRL_PSM_0_FRMHS_FWS_1_MAX_FREQ       50000000   
+#define NVMCTRL_PSM_1_FRMFW_FWS_1_MAX_FREQ       12000000   
+#define NVMCTRL_PSM_1_FRMLP_FWS_0_MAX_FREQ       8000000    
+#define NVMCTRL_PSM_1_FRMLP_FWS_1_MAX_FREQ       12000000   
+#define NVMCTRL_INSTANCE_ID                      34         
+#define NVMCTRL_ROW_SIZE                         256        
+
+#endif /* _SAML10_NVMCTRL_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/opamp.h b/cpu/sam0_common/include/vendor/saml10/include/instance/opamp.h
new file mode 100644
index 0000000000..ae9c6b59af
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/opamp.h
@@ -0,0 +1,60 @@
+/**
+ * \file
+ *
+ * \brief Instance description for OPAMP
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_OPAMP_INSTANCE_H_
+#define _SAML10_OPAMP_INSTANCE_H_
+
+/* ========== Register definition for OPAMP peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_OPAMP_CTRLA         (0x42003000) /**< (OPAMP) Control A */
+#define REG_OPAMP_STATUS        (0x42003002) /**< (OPAMP) Status */
+#define REG_OPAMP_OPAMPCTRL     (0x42003004) /**< (OPAMP) OPAMP n Control */
+#define REG_OPAMP_OPAMPCTRL0    (0x42003004) /**< (OPAMP) OPAMP 0 Control */
+#define REG_OPAMP_OPAMPCTRL1    (0x42003008) /**< (OPAMP) OPAMP 1 Control */
+#define REG_OPAMP_OPAMPCTRL2    (0x4200300C) /**< (OPAMP) OPAMP 2 Control */
+#define REG_OPAMP_RESCTRL       (0x42003010) /**< (OPAMP) Resister Control */
+
+#else
+
+#define REG_OPAMP_CTRLA         (*(__IO uint8_t*)0x42003000U) /**< (OPAMP) Control A */
+#define REG_OPAMP_STATUS        (*(__I  uint8_t*)0x42003002U) /**< (OPAMP) Status */
+#define REG_OPAMP_OPAMPCTRL     (*(__IO uint32_t*)0x42003004U) /**< (OPAMP) OPAMP n Control */
+#define REG_OPAMP_OPAMPCTRL0    (*(__IO uint32_t*)0x42003004U) /**< (OPAMP) OPAMP 0 Control */
+#define REG_OPAMP_OPAMPCTRL1    (*(__IO uint32_t*)0x42003008U) /**< (OPAMP) OPAMP 1 Control */
+#define REG_OPAMP_OPAMPCTRL2    (*(__IO uint32_t*)0x4200300CU) /**< (OPAMP) OPAMP 2 Control */
+#define REG_OPAMP_RESCTRL       (*(__IO uint8_t*)0x42003010U) /**< (OPAMP) Resister Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for OPAMP peripheral ========== */
+#define OPAMP_INSTANCE_ID                        76         
+
+#endif /* _SAML10_OPAMP_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/osc32kctrl.h b/cpu/sam0_common/include/vendor/saml10/include/instance/osc32kctrl.h
new file mode 100644
index 0000000000..bfcfd83850
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/osc32kctrl.h
@@ -0,0 +1,65 @@
+/**
+ * \file
+ *
+ * \brief Instance description for OSC32KCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_OSC32KCTRL_INSTANCE_H_
+#define _SAML10_OSC32KCTRL_INSTANCE_H_
+
+/* ========== Register definition for OSC32KCTRL peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_OSC32KCTRL_INTENCLR (0x40001400) /**< (OSC32KCTRL) Interrupt Enable Clear */
+#define REG_OSC32KCTRL_INTENSET (0x40001404) /**< (OSC32KCTRL) Interrupt Enable Set */
+#define REG_OSC32KCTRL_INTFLAG  (0x40001408) /**< (OSC32KCTRL) Interrupt Flag Status and Clear */
+#define REG_OSC32KCTRL_STATUS   (0x4000140C) /**< (OSC32KCTRL) Power and Clocks Status */
+#define REG_OSC32KCTRL_RTCCTRL  (0x40001410) /**< (OSC32KCTRL) RTC Clock Selection */
+#define REG_OSC32KCTRL_XOSC32K  (0x40001414) /**< (OSC32KCTRL) 32kHz External Crystal Oscillator (XOSC32K) Control */
+#define REG_OSC32KCTRL_CFDCTRL  (0x40001416) /**< (OSC32KCTRL) Clock Failure Detector Control */
+#define REG_OSC32KCTRL_EVCTRL   (0x40001417) /**< (OSC32KCTRL) Event Control */
+#define REG_OSC32KCTRL_OSCULP32K (0x4000141C) /**< (OSC32KCTRL) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control */
+
+#else
+
+#define REG_OSC32KCTRL_INTENCLR (*(__IO uint32_t*)0x40001400U) /**< (OSC32KCTRL) Interrupt Enable Clear */
+#define REG_OSC32KCTRL_INTENSET (*(__IO uint32_t*)0x40001404U) /**< (OSC32KCTRL) Interrupt Enable Set */
+#define REG_OSC32KCTRL_INTFLAG  (*(__IO uint32_t*)0x40001408U) /**< (OSC32KCTRL) Interrupt Flag Status and Clear */
+#define REG_OSC32KCTRL_STATUS   (*(__I  uint32_t*)0x4000140CU) /**< (OSC32KCTRL) Power and Clocks Status */
+#define REG_OSC32KCTRL_RTCCTRL  (*(__IO uint8_t*)0x40001410U) /**< (OSC32KCTRL) RTC Clock Selection */
+#define REG_OSC32KCTRL_XOSC32K  (*(__IO uint16_t*)0x40001414U) /**< (OSC32KCTRL) 32kHz External Crystal Oscillator (XOSC32K) Control */
+#define REG_OSC32KCTRL_CFDCTRL  (*(__IO uint8_t*)0x40001416U) /**< (OSC32KCTRL) Clock Failure Detector Control */
+#define REG_OSC32KCTRL_EVCTRL   (*(__IO uint8_t*)0x40001417U) /**< (OSC32KCTRL) Event Control */
+#define REG_OSC32KCTRL_OSCULP32K (*(__IO uint32_t*)0x4000141CU) /**< (OSC32KCTRL) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for OSC32KCTRL peripheral ========== */
+#define OSC32KCTRL_OSC32K_COARSE_CALIB_MSB       0          
+#define OSC32KCTRL_INSTANCE_ID                   5          
+
+#endif /* _SAML10_OSC32KCTRL_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/oscctrl.h b/cpu/sam0_common/include/vendor/saml10/include/instance/oscctrl.h
new file mode 100644
index 0000000000..78c92822c6
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/oscctrl.h
@@ -0,0 +1,94 @@
+/**
+ * \file
+ *
+ * \brief Instance description for OSCCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_OSCCTRL_INSTANCE_H_
+#define _SAML10_OSCCTRL_INSTANCE_H_
+
+/* ========== Register definition for OSCCTRL peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_OSCCTRL_EVCTRL      (0x40001000) /**< (OSCCTRL) Event Control */
+#define REG_OSCCTRL_INTENCLR    (0x40001004) /**< (OSCCTRL) Interrupt Enable Clear */
+#define REG_OSCCTRL_INTENSET    (0x40001008) /**< (OSCCTRL) Interrupt Enable Set */
+#define REG_OSCCTRL_INTFLAG     (0x4000100C) /**< (OSCCTRL) Interrupt Flag Status and Clear */
+#define REG_OSCCTRL_STATUS      (0x40001010) /**< (OSCCTRL) Status */
+#define REG_OSCCTRL_XOSCCTRL    (0x40001014) /**< (OSCCTRL) External Multipurpose Crystal Oscillator (XOSC) Control */
+#define REG_OSCCTRL_CFDPRESC    (0x40001016) /**< (OSCCTRL) Clock Failure Detector Prescaler */
+#define REG_OSCCTRL_OSC16MCTRL  (0x40001018) /**< (OSCCTRL) 16MHz Internal Oscillator (OSC16M) Control */
+#define REG_OSCCTRL_DFLLULPCTRL (0x4000101C) /**< (OSCCTRL) DFLLULP Control */
+#define REG_OSCCTRL_DFLLULPDITHER (0x4000101E) /**< (OSCCTRL) DFLLULP Dither Control */
+#define REG_OSCCTRL_DFLLULPRREQ (0x4000101F) /**< (OSCCTRL) DFLLULP Read Request */
+#define REG_OSCCTRL_DFLLULPDLY  (0x40001020) /**< (OSCCTRL) DFLLULP Delay Value */
+#define REG_OSCCTRL_DFLLULPRATIO (0x40001024) /**< (OSCCTRL) DFLLULP Target Ratio */
+#define REG_OSCCTRL_DFLLULPSYNCBUSY (0x40001028) /**< (OSCCTRL) DFLLULP Synchronization Busy */
+#define REG_OSCCTRL_DPLLCTRLA   (0x4000102C) /**< (OSCCTRL) DPLL Control A */
+#define REG_OSCCTRL_DPLLRATIO   (0x40001030) /**< (OSCCTRL) DPLL Ratio Control */
+#define REG_OSCCTRL_DPLLCTRLB   (0x40001034) /**< (OSCCTRL) DPLL Control B */
+#define REG_OSCCTRL_DPLLPRESC   (0x40001038) /**< (OSCCTRL) DPLL Prescaler */
+#define REG_OSCCTRL_DPLLSYNCBUSY (0x4000103C) /**< (OSCCTRL) DPLL Synchronization Busy */
+#define REG_OSCCTRL_DPLLSTATUS  (0x40001040) /**< (OSCCTRL) DPLL Status */
+
+#else
+
+#define REG_OSCCTRL_EVCTRL      (*(__IO uint8_t*)0x40001000U) /**< (OSCCTRL) Event Control */
+#define REG_OSCCTRL_INTENCLR    (*(__IO uint32_t*)0x40001004U) /**< (OSCCTRL) Interrupt Enable Clear */
+#define REG_OSCCTRL_INTENSET    (*(__IO uint32_t*)0x40001008U) /**< (OSCCTRL) Interrupt Enable Set */
+#define REG_OSCCTRL_INTFLAG     (*(__IO uint32_t*)0x4000100CU) /**< (OSCCTRL) Interrupt Flag Status and Clear */
+#define REG_OSCCTRL_STATUS      (*(__I  uint32_t*)0x40001010U) /**< (OSCCTRL) Status */
+#define REG_OSCCTRL_XOSCCTRL    (*(__IO uint16_t*)0x40001014U) /**< (OSCCTRL) External Multipurpose Crystal Oscillator (XOSC) Control */
+#define REG_OSCCTRL_CFDPRESC    (*(__IO uint8_t*)0x40001016U) /**< (OSCCTRL) Clock Failure Detector Prescaler */
+#define REG_OSCCTRL_OSC16MCTRL  (*(__IO uint8_t*)0x40001018U) /**< (OSCCTRL) 16MHz Internal Oscillator (OSC16M) Control */
+#define REG_OSCCTRL_DFLLULPCTRL (*(__IO uint16_t*)0x4000101CU) /**< (OSCCTRL) DFLLULP Control */
+#define REG_OSCCTRL_DFLLULPDITHER (*(__IO uint8_t*)0x4000101EU) /**< (OSCCTRL) DFLLULP Dither Control */
+#define REG_OSCCTRL_DFLLULPRREQ (*(__IO uint8_t*)0x4000101FU) /**< (OSCCTRL) DFLLULP Read Request */
+#define REG_OSCCTRL_DFLLULPDLY  (*(__IO uint32_t*)0x40001020U) /**< (OSCCTRL) DFLLULP Delay Value */
+#define REG_OSCCTRL_DFLLULPRATIO (*(__IO uint32_t*)0x40001024U) /**< (OSCCTRL) DFLLULP Target Ratio */
+#define REG_OSCCTRL_DFLLULPSYNCBUSY (*(__I  uint32_t*)0x40001028U) /**< (OSCCTRL) DFLLULP Synchronization Busy */
+#define REG_OSCCTRL_DPLLCTRLA   (*(__IO uint8_t*)0x4000102CU) /**< (OSCCTRL) DPLL Control A */
+#define REG_OSCCTRL_DPLLRATIO   (*(__IO uint32_t*)0x40001030U) /**< (OSCCTRL) DPLL Ratio Control */
+#define REG_OSCCTRL_DPLLCTRLB   (*(__IO uint32_t*)0x40001034U) /**< (OSCCTRL) DPLL Control B */
+#define REG_OSCCTRL_DPLLPRESC   (*(__IO uint8_t*)0x40001038U) /**< (OSCCTRL) DPLL Prescaler */
+#define REG_OSCCTRL_DPLLSYNCBUSY (*(__I  uint8_t*)0x4000103CU) /**< (OSCCTRL) DPLL Synchronization Busy */
+#define REG_OSCCTRL_DPLLSTATUS  (*(__I  uint8_t*)0x40001040U) /**< (OSCCTRL) DPLL Status */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for OSCCTRL peripheral ========== */
+#define OSCCTRL_GCLK_ID_DFLLULP                  2          /* Index of Generic Clock for DFLLULP */
+#define OSCCTRL_GCLK_ID_DPLL                     0          /* Index of Generic Clock for DPLL */
+#define OSCCTRL_GCLK_ID_DPLL32K                  1          /* Index of Generic Clock for DPLL 32K */
+#define OSCCTRL_CFD_VERSION                      0x112      
+#define OSCCTRL_DFLLULP_VERSION                  0x100      
+#define OSCCTRL_FDPLL_VERSION                    0x213      
+#define OSCCTRL_OSC16M_VERSION                   0x102      
+#define OSCCTRL_XOSC_VERSION                     0x210      
+#define OSCCTRL_INSTANCE_ID                      4          
+
+#endif /* _SAML10_OSCCTRL_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/pac.h b/cpu/sam0_common/include/vendor/saml10/include/instance/pac.h
new file mode 100644
index 0000000000..2429a887d0
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/pac.h
@@ -0,0 +1,82 @@
+/**
+ * \file
+ *
+ * \brief Instance description for PAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_PAC_INSTANCE_H_
+#define _SAML10_PAC_INSTANCE_H_
+
+/* ========== Register definition for PAC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_PAC_WRCTRL          (0x40000000) /**< (PAC) Write control */
+#define REG_PAC_EVCTRL          (0x40000004) /**< (PAC) Event control */
+#define REG_PAC_INTENCLR        (0x40000008) /**< (PAC) Interrupt enable clear */
+#define REG_PAC_INTENSET        (0x40000009) /**< (PAC) Interrupt enable set */
+#define REG_PAC_INTFLAGAHB      (0x40000010) /**< (PAC) Bridge interrupt flag status */
+#define REG_PAC_INTFLAGA        (0x40000014) /**< (PAC) Peripheral interrupt flag status - Bridge A */
+#define REG_PAC_INTFLAGB        (0x40000018) /**< (PAC) Peripheral interrupt flag status - Bridge B */
+#define REG_PAC_INTFLAGC        (0x4000001C) /**< (PAC) Peripheral interrupt flag status - Bridge C */
+#define REG_PAC_STATUSA         (0x40000034) /**< (PAC) Peripheral write protection status - Bridge A */
+#define REG_PAC_STATUSB         (0x40000038) /**< (PAC) Peripheral write protection status - Bridge B */
+#define REG_PAC_STATUSC         (0x4000003C) /**< (PAC) Peripheral write protection status - Bridge C */
+#define REG_PAC_NONSECA         (0x40000054) /**< (PAC) Peripheral non-secure status - Bridge A */
+#define REG_PAC_NONSECB         (0x40000058) /**< (PAC) Peripheral non-secure status - Bridge B */
+#define REG_PAC_NONSECC         (0x4000005C) /**< (PAC) Peripheral non-secure status - Bridge C */
+#define REG_PAC_SECLOCKA        (0x40000074) /**< (PAC) Peripheral secure status locked - Bridge A */
+#define REG_PAC_SECLOCKB        (0x40000078) /**< (PAC) Peripheral secure status locked - Bridge B */
+#define REG_PAC_SECLOCKC        (0x4000007C) /**< (PAC) Peripheral secure status locked - Bridge C */
+
+#else
+
+#define REG_PAC_WRCTRL          (*(__IO uint32_t*)0x40000000U) /**< (PAC) Write control */
+#define REG_PAC_EVCTRL          (*(__IO uint8_t*)0x40000004U) /**< (PAC) Event control */
+#define REG_PAC_INTENCLR        (*(__IO uint8_t*)0x40000008U) /**< (PAC) Interrupt enable clear */
+#define REG_PAC_INTENSET        (*(__IO uint8_t*)0x40000009U) /**< (PAC) Interrupt enable set */
+#define REG_PAC_INTFLAGAHB      (*(__IO uint32_t*)0x40000010U) /**< (PAC) Bridge interrupt flag status */
+#define REG_PAC_INTFLAGA        (*(__IO uint32_t*)0x40000014U) /**< (PAC) Peripheral interrupt flag status - Bridge A */
+#define REG_PAC_INTFLAGB        (*(__IO uint32_t*)0x40000018U) /**< (PAC) Peripheral interrupt flag status - Bridge B */
+#define REG_PAC_INTFLAGC        (*(__IO uint32_t*)0x4000001CU) /**< (PAC) Peripheral interrupt flag status - Bridge C */
+#define REG_PAC_STATUSA         (*(__I  uint32_t*)0x40000034U) /**< (PAC) Peripheral write protection status - Bridge A */
+#define REG_PAC_STATUSB         (*(__I  uint32_t*)0x40000038U) /**< (PAC) Peripheral write protection status - Bridge B */
+#define REG_PAC_STATUSC         (*(__I  uint32_t*)0x4000003CU) /**< (PAC) Peripheral write protection status - Bridge C */
+#define REG_PAC_NONSECA         (*(__I  uint32_t*)0x40000054U) /**< (PAC) Peripheral non-secure status - Bridge A */
+#define REG_PAC_NONSECB         (*(__I  uint32_t*)0x40000058U) /**< (PAC) Peripheral non-secure status - Bridge B */
+#define REG_PAC_NONSECC         (*(__I  uint32_t*)0x4000005CU) /**< (PAC) Peripheral non-secure status - Bridge C */
+#define REG_PAC_SECLOCKA        (*(__I  uint32_t*)0x40000074U) /**< (PAC) Peripheral secure status locked - Bridge A */
+#define REG_PAC_SECLOCKB        (*(__I  uint32_t*)0x40000078U) /**< (PAC) Peripheral secure status locked - Bridge B */
+#define REG_PAC_SECLOCKC        (*(__I  uint32_t*)0x4000007CU) /**< (PAC) Peripheral secure status locked - Bridge C */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for PAC peripheral ========== */
+#define PAC_HPB_NUM                              3          /* Number of bridges AHB/APB */
+#define PAC_SECURE_IMPLEMENTED                   1          /* Security Configuration implemented? */
+#define PAC_INSTANCE_ID                          0          
+
+#endif /* _SAML10_PAC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/pm.h b/cpu/sam0_common/include/vendor/saml10/include/instance/pm.h
new file mode 100644
index 0000000000..2f680620a3
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/pm.h
@@ -0,0 +1,62 @@
+/**
+ * \file
+ *
+ * \brief Instance description for PM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_PM_INSTANCE_H_
+#define _SAML10_PM_INSTANCE_H_
+
+/* ========== Register definition for PM peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_PM_SLEEPCFG         (0x40000401) /**< (PM) Sleep Configuration */
+#define REG_PM_PLCFG            (0x40000402) /**< (PM) Performance Level Configuration */
+#define REG_PM_PWCFG            (0x40000403) /**< (PM) Power Configuration */
+#define REG_PM_INTENCLR         (0x40000404) /**< (PM) Interrupt Enable Clear */
+#define REG_PM_INTENSET         (0x40000405) /**< (PM) Interrupt Enable Set */
+#define REG_PM_INTFLAG          (0x40000406) /**< (PM) Interrupt Flag Status and Clear */
+#define REG_PM_STDBYCFG         (0x40000408) /**< (PM) Standby Configuration */
+
+#else
+
+#define REG_PM_SLEEPCFG         (*(__IO uint8_t*)0x40000401U) /**< (PM) Sleep Configuration */
+#define REG_PM_PLCFG            (*(__IO uint8_t*)0x40000402U) /**< (PM) Performance Level Configuration */
+#define REG_PM_PWCFG            (*(__IO uint8_t*)0x40000403U) /**< (PM) Power Configuration */
+#define REG_PM_INTENCLR         (*(__IO uint8_t*)0x40000404U) /**< (PM) Interrupt Enable Clear */
+#define REG_PM_INTENSET         (*(__IO uint8_t*)0x40000405U) /**< (PM) Interrupt Enable Set */
+#define REG_PM_INTFLAG          (*(__IO uint8_t*)0x40000406U) /**< (PM) Interrupt Flag Status and Clear */
+#define REG_PM_STDBYCFG         (*(__IO uint16_t*)0x40000408U) /**< (PM) Standby Configuration */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for PM peripheral ========== */
+#define PM_BIAS_RAM_HS                           1          /* one if RAM HS can be back biased */
+#define PM_PD_NUM                                1          /* Number of switchable Power Domain */
+#define PM_INSTANCE_ID                           1          
+
+#endif /* _SAML10_PM_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/port.h b/cpu/sam0_common/include/vendor/saml10/include/instance/port.h
new file mode 100644
index 0000000000..b1c1a2891d
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/port.h
@@ -0,0 +1,93 @@
+/**
+ * \file
+ *
+ * \brief Instance description for PORT
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_PORT_INSTANCE_H_
+#define _SAML10_PORT_INSTANCE_H_
+
+/* ========== Register definition for PORT peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_PORT_DIR0           (0x40003000) /**< (PORT) Data Direction 0 */
+#define REG_PORT_DIRCLR0        (0x40003004) /**< (PORT) Data Direction Clear 0 */
+#define REG_PORT_DIRSET0        (0x40003008) /**< (PORT) Data Direction Set 0 */
+#define REG_PORT_DIRTGL0        (0x4000300C) /**< (PORT) Data Direction Toggle 0 */
+#define REG_PORT_OUT0           (0x40003010) /**< (PORT) Data Output Value 0 */
+#define REG_PORT_OUTCLR0        (0x40003014) /**< (PORT) Data Output Value Clear 0 */
+#define REG_PORT_OUTSET0        (0x40003018) /**< (PORT) Data Output Value Set 0 */
+#define REG_PORT_OUTTGL0        (0x4000301C) /**< (PORT) Data Output Value Toggle 0 */
+#define REG_PORT_IN0            (0x40003020) /**< (PORT) Data Input Value 0 */
+#define REG_PORT_CTRL0          (0x40003024) /**< (PORT) Control 0 */
+#define REG_PORT_WRCONFIG0      (0x40003028) /**< (PORT) Write Configuration 0 */
+#define REG_PORT_EVCTRL0        (0x4000302C) /**< (PORT) Event Input Control 0 */
+#define REG_PORT_PMUX0          (0x40003030) /**< (PORT) Peripheral Multiplexing 0 */
+#define REG_PORT_PINCFG0        (0x40003040) /**< (PORT) Pin Configuration 0 */
+#define REG_PORT_INTENCLR0      (0x40003060) /**< (PORT) Interrupt Enable Clear 0 */
+#define REG_PORT_INTENSET0      (0x40003064) /**< (PORT) Interrupt Enable Set 0 */
+#define REG_PORT_INTFLAG0       (0x40003068) /**< (PORT) Interrupt Flag Status and Clear 0 */
+#define REG_PORT_NONSEC0        (0x4000306C) /**< (PORT) Security Attribution 0 */
+#define REG_PORT_NSCHK0         (0x40003070) /**< (PORT) Security Attribution Check 0 */
+
+#else
+
+#define REG_PORT_DIR0           (*(__IO uint32_t*)0x40003000U) /**< (PORT) Data Direction 0 */
+#define REG_PORT_DIRCLR0        (*(__IO uint32_t*)0x40003004U) /**< (PORT) Data Direction Clear 0 */
+#define REG_PORT_DIRSET0        (*(__IO uint32_t*)0x40003008U) /**< (PORT) Data Direction Set 0 */
+#define REG_PORT_DIRTGL0        (*(__IO uint32_t*)0x4000300CU) /**< (PORT) Data Direction Toggle 0 */
+#define REG_PORT_OUT0           (*(__IO uint32_t*)0x40003010U) /**< (PORT) Data Output Value 0 */
+#define REG_PORT_OUTCLR0        (*(__IO uint32_t*)0x40003014U) /**< (PORT) Data Output Value Clear 0 */
+#define REG_PORT_OUTSET0        (*(__IO uint32_t*)0x40003018U) /**< (PORT) Data Output Value Set 0 */
+#define REG_PORT_OUTTGL0        (*(__IO uint32_t*)0x4000301CU) /**< (PORT) Data Output Value Toggle 0 */
+#define REG_PORT_IN0            (*(__I  uint32_t*)0x40003020U) /**< (PORT) Data Input Value 0 */
+#define REG_PORT_CTRL0          (*(__IO uint32_t*)0x40003024U) /**< (PORT) Control 0 */
+#define REG_PORT_WRCONFIG0      (*(__O  uint32_t*)0x40003028U) /**< (PORT) Write Configuration 0 */
+#define REG_PORT_EVCTRL0        (*(__IO uint32_t*)0x4000302CU) /**< (PORT) Event Input Control 0 */
+#define REG_PORT_PMUX0          (*(__IO uint8_t*)0x40003030U) /**< (PORT) Peripheral Multiplexing 0 */
+#define REG_PORT_PINCFG0        (*(__IO uint8_t*)0x40003040U) /**< (PORT) Pin Configuration 0 */
+#define REG_PORT_INTENCLR0      (*(__IO uint32_t*)0x40003060U) /**< (PORT) Interrupt Enable Clear 0 */
+#define REG_PORT_INTENSET0      (*(__IO uint32_t*)0x40003064U) /**< (PORT) Interrupt Enable Set 0 */
+#define REG_PORT_INTFLAG0       (*(__IO uint32_t*)0x40003068U) /**< (PORT) Interrupt Flag Status and Clear 0 */
+#define REG_PORT_NONSEC0        (*(__IO uint32_t*)0x4000306CU) /**< (PORT) Security Attribution 0 */
+#define REG_PORT_NSCHK0         (*(__IO uint32_t*)0x40003070U) /**< (PORT) Security Attribution Check 0 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for PORT peripheral ========== */
+#define PORT_BITS                                32         
+#define PORT_DRVSTR                              1          /* DRVSTR supported */
+#define PORT_EV_NUM                              4          
+#define PORT_GROUPS                              1          
+#define PORT_MSB                                 31         
+#define PORT_ODRAIN                              0          /* ODRAIN supported */
+#define PORT_PPP_IMPLEMENTED                     0          /* IOBUS2 implemented? */
+#define PORT_SECURE_IMPLEMENTED                  1          /* Secure I/Os supported? */
+#define PORT_SLEWLIM                             0          /* SLEWLIM supported */
+#define PORT_INSTANCE_ID                         12         
+
+#endif /* _SAML10_PORT_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/ptc.h b/cpu/sam0_common/include/vendor/saml10/include/instance/ptc.h
new file mode 100644
index 0000000000..c85dfd7395
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/ptc.h
@@ -0,0 +1,54 @@
+/**
+ * \file
+ *
+ * \brief Instance description for PTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_PTC_INSTANCE_H_
+#define _SAML10_PTC_INSTANCE_H_
+
+/* ========== Register definition for PTC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+
+
+#else
+
+
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for PTC peripheral ========== */
+#define PTC_DMAC_ID_EOC                          21         /* Index of DMA EOC trigger */
+#define PTC_DMAC_ID_SEQ                          22         /* Index of DMA SEQ trigger */
+#define PTC_DMAC_ID_WCOMP                        23         /* Index of DMA WCOMP trigger */
+#define PTC_GCLK_ID                              19         /* Index of Generic Clock */
+#define PTC_LINES_MSB                            19         
+#define PTC_LINES_NUM                            20         /* Number of PTC lines */
+#define PTC_INSTANCE_ID                          73         
+
+#endif /* _SAML10_PTC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/rstc.h b/cpu/sam0_common/include/vendor/saml10/include/instance/rstc.h
new file mode 100644
index 0000000000..e7b122ecad
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/rstc.h
@@ -0,0 +1,50 @@
+/**
+ * \file
+ *
+ * \brief Instance description for RSTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_RSTC_INSTANCE_H_
+#define _SAML10_RSTC_INSTANCE_H_
+
+/* ========== Register definition for RSTC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_RSTC_RCAUSE         (0x40000C00) /**< (RSTC) Reset Cause */
+
+#else
+
+#define REG_RSTC_RCAUSE         (*(__I  uint8_t*)0x40000C00U) /**< (RSTC) Reset Cause */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for RSTC peripheral ========== */
+#define RSTC_BACKUP_IMPLEMENTED                  0          
+#define RSTC_NUMBER_OF_EXTWAKE                   0          /* number of external wakeup line */
+#define RSTC_INSTANCE_ID                         3          
+
+#endif /* _SAML10_RSTC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/rtc.h b/cpu/sam0_common/include/vendor/saml10/include/instance/rtc.h
new file mode 100644
index 0000000000..c30d9275fb
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/rtc.h
@@ -0,0 +1,140 @@
+/**
+ * \file
+ *
+ * \brief Instance description for RTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_RTC_INSTANCE_H_
+#define _SAML10_RTC_INSTANCE_H_
+
+/* ========== Register definition for RTC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_RTC_DBGCTRL         (0x4000240E) /**< (RTC) Debug Control */
+#define REG_RTC_FREQCORR        (0x40002414) /**< (RTC) Frequency Correction */
+#define REG_RTC_GP              (0x40002440) /**< (RTC) General Purpose */
+#define REG_RTC_GP0             (0x40002440) /**< (RTC) General Purpose 0 */
+#define REG_RTC_GP1             (0x40002444) /**< (RTC) General Purpose 1 */
+#define REG_RTC_TAMPCTRL        (0x40002460) /**< (RTC) Tamper Control */
+#define REG_RTC_TAMPID          (0x40002468) /**< (RTC) Tamper ID */
+#define REG_RTC_TAMPCTRLB       (0x4000246C) /**< (RTC) Tamper Control B */
+#define REG_RTC_MODE0_CTRLA     (0x40002400) /**< (RTC) MODE0 Control A */
+#define REG_RTC_MODE0_CTRLB     (0x40002402) /**< (RTC) MODE0 Control B */
+#define REG_RTC_MODE0_EVCTRL    (0x40002404) /**< (RTC) MODE0 Event Control */
+#define REG_RTC_MODE0_INTENCLR  (0x40002408) /**< (RTC) MODE0 Interrupt Enable Clear */
+#define REG_RTC_MODE0_INTENSET  (0x4000240A) /**< (RTC) MODE0 Interrupt Enable Set */
+#define REG_RTC_MODE0_INTFLAG   (0x4000240C) /**< (RTC) MODE0 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE0_SYNCBUSY  (0x40002410) /**< (RTC) MODE0 Synchronization Busy Status */
+#define REG_RTC_MODE0_COUNT     (0x40002418) /**< (RTC) MODE0 Counter Value */
+#define REG_RTC_MODE0_COMP      (0x40002420) /**< (RTC) MODE0 Compare n Value */
+#define REG_RTC_MODE0_COMP0     (0x40002420) /**< (RTC) MODE0 Compare 0 Value */
+#define REG_RTC_MODE0_TIMESTAMP (0x40002464) /**< (RTC) MODE0 Timestamp */
+#define REG_RTC_MODE1_CTRLA     (0x40002400) /**< (RTC) MODE1 Control A */
+#define REG_RTC_MODE1_CTRLB     (0x40002402) /**< (RTC) MODE1 Control B */
+#define REG_RTC_MODE1_EVCTRL    (0x40002404) /**< (RTC) MODE1 Event Control */
+#define REG_RTC_MODE1_INTENCLR  (0x40002408) /**< (RTC) MODE1 Interrupt Enable Clear */
+#define REG_RTC_MODE1_INTENSET  (0x4000240A) /**< (RTC) MODE1 Interrupt Enable Set */
+#define REG_RTC_MODE1_INTFLAG   (0x4000240C) /**< (RTC) MODE1 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE1_SYNCBUSY  (0x40002410) /**< (RTC) MODE1 Synchronization Busy Status */
+#define REG_RTC_MODE1_COUNT     (0x40002418) /**< (RTC) MODE1 Counter Value */
+#define REG_RTC_MODE1_PER       (0x4000241C) /**< (RTC) MODE1 Counter Period */
+#define REG_RTC_MODE1_COMP      (0x40002420) /**< (RTC) MODE1 Compare n Value */
+#define REG_RTC_MODE1_COMP0     (0x40002420) /**< (RTC) MODE1 Compare 0 Value */
+#define REG_RTC_MODE1_COMP1     (0x40002422) /**< (RTC) MODE1 Compare 1 Value */
+#define REG_RTC_MODE1_TIMESTAMP (0x40002464) /**< (RTC) MODE1 Timestamp */
+#define REG_RTC_MODE2_ALARM0    (0x40002420) /**< (RTC) MODE2_ALARM Alarm 0 Value */
+#define REG_RTC_MODE2_MASK0     (0x40002424) /**< (RTC) MODE2_ALARM Alarm 0 Mask */
+#define REG_RTC_MODE2_CTRLA     (0x40002400) /**< (RTC) MODE2 Control A */
+#define REG_RTC_MODE2_CTRLB     (0x40002402) /**< (RTC) MODE2 Control B */
+#define REG_RTC_MODE2_EVCTRL    (0x40002404) /**< (RTC) MODE2 Event Control */
+#define REG_RTC_MODE2_INTENCLR  (0x40002408) /**< (RTC) MODE2 Interrupt Enable Clear */
+#define REG_RTC_MODE2_INTENSET  (0x4000240A) /**< (RTC) MODE2 Interrupt Enable Set */
+#define REG_RTC_MODE2_INTFLAG   (0x4000240C) /**< (RTC) MODE2 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE2_SYNCBUSY  (0x40002410) /**< (RTC) MODE2 Synchronization Busy Status */
+#define REG_RTC_MODE2_CLOCK     (0x40002418) /**< (RTC) MODE2 Clock Value */
+#define REG_RTC_MODE2_TIMESTAMP (0x40002464) /**< (RTC) MODE2 Timestamp */
+
+#else
+
+#define REG_RTC_DBGCTRL         (*(__IO uint8_t*)0x4000240EU) /**< (RTC) Debug Control */
+#define REG_RTC_FREQCORR        (*(__IO uint8_t*)0x40002414U) /**< (RTC) Frequency Correction */
+#define REG_RTC_GP              (*(__IO uint32_t*)0x40002440U) /**< (RTC) General Purpose */
+#define REG_RTC_GP0             (*(__IO uint32_t*)0x40002440U) /**< (RTC) General Purpose 0 */
+#define REG_RTC_GP1             (*(__IO uint32_t*)0x40002444U) /**< (RTC) General Purpose 1 */
+#define REG_RTC_TAMPCTRL        (*(__IO uint32_t*)0x40002460U) /**< (RTC) Tamper Control */
+#define REG_RTC_TAMPID          (*(__IO uint32_t*)0x40002468U) /**< (RTC) Tamper ID */
+#define REG_RTC_TAMPCTRLB       (*(__IO uint32_t*)0x4000246CU) /**< (RTC) Tamper Control B */
+#define REG_RTC_MODE0_CTRLA     (*(__IO uint16_t*)0x40002400U) /**< (RTC) MODE0 Control A */
+#define REG_RTC_MODE0_CTRLB     (*(__IO uint16_t*)0x40002402U) /**< (RTC) MODE0 Control B */
+#define REG_RTC_MODE0_EVCTRL    (*(__IO uint32_t*)0x40002404U) /**< (RTC) MODE0 Event Control */
+#define REG_RTC_MODE0_INTENCLR  (*(__IO uint16_t*)0x40002408U) /**< (RTC) MODE0 Interrupt Enable Clear */
+#define REG_RTC_MODE0_INTENSET  (*(__IO uint16_t*)0x4000240AU) /**< (RTC) MODE0 Interrupt Enable Set */
+#define REG_RTC_MODE0_INTFLAG   (*(__IO uint16_t*)0x4000240CU) /**< (RTC) MODE0 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE0_SYNCBUSY  (*(__I  uint32_t*)0x40002410U) /**< (RTC) MODE0 Synchronization Busy Status */
+#define REG_RTC_MODE0_COUNT     (*(__IO uint32_t*)0x40002418U) /**< (RTC) MODE0 Counter Value */
+#define REG_RTC_MODE0_COMP      (*(__IO uint32_t*)0x40002420U) /**< (RTC) MODE0 Compare n Value */
+#define REG_RTC_MODE0_COMP0     (*(__IO uint32_t*)0x40002420U) /**< (RTC) MODE0 Compare 0 Value */
+#define REG_RTC_MODE0_TIMESTAMP (*(__I  uint32_t*)0x40002464U) /**< (RTC) MODE0 Timestamp */
+#define REG_RTC_MODE1_CTRLA     (*(__IO uint16_t*)0x40002400U) /**< (RTC) MODE1 Control A */
+#define REG_RTC_MODE1_CTRLB     (*(__IO uint16_t*)0x40002402U) /**< (RTC) MODE1 Control B */
+#define REG_RTC_MODE1_EVCTRL    (*(__IO uint32_t*)0x40002404U) /**< (RTC) MODE1 Event Control */
+#define REG_RTC_MODE1_INTENCLR  (*(__IO uint16_t*)0x40002408U) /**< (RTC) MODE1 Interrupt Enable Clear */
+#define REG_RTC_MODE1_INTENSET  (*(__IO uint16_t*)0x4000240AU) /**< (RTC) MODE1 Interrupt Enable Set */
+#define REG_RTC_MODE1_INTFLAG   (*(__IO uint16_t*)0x4000240CU) /**< (RTC) MODE1 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE1_SYNCBUSY  (*(__I  uint32_t*)0x40002410U) /**< (RTC) MODE1 Synchronization Busy Status */
+#define REG_RTC_MODE1_COUNT     (*(__IO uint16_t*)0x40002418U) /**< (RTC) MODE1 Counter Value */
+#define REG_RTC_MODE1_PER       (*(__IO uint16_t*)0x4000241CU) /**< (RTC) MODE1 Counter Period */
+#define REG_RTC_MODE1_COMP      (*(__IO uint16_t*)0x40002420U) /**< (RTC) MODE1 Compare n Value */
+#define REG_RTC_MODE1_COMP0     (*(__IO uint16_t*)0x40002420U) /**< (RTC) MODE1 Compare 0 Value */
+#define REG_RTC_MODE1_COMP1     (*(__IO uint16_t*)0x40002422U) /**< (RTC) MODE1 Compare 1 Value */
+#define REG_RTC_MODE1_TIMESTAMP (*(__I  uint32_t*)0x40002464U) /**< (RTC) MODE1 Timestamp */
+#define REG_RTC_MODE2_ALARM0    (*(__IO uint32_t*)0x40002420U) /**< (RTC) MODE2_ALARM Alarm 0 Value */
+#define REG_RTC_MODE2_MASK0     (*(__IO uint8_t*)0x40002424U) /**< (RTC) MODE2_ALARM Alarm 0 Mask */
+#define REG_RTC_MODE2_CTRLA     (*(__IO uint16_t*)0x40002400U) /**< (RTC) MODE2 Control A */
+#define REG_RTC_MODE2_CTRLB     (*(__IO uint16_t*)0x40002402U) /**< (RTC) MODE2 Control B */
+#define REG_RTC_MODE2_EVCTRL    (*(__IO uint32_t*)0x40002404U) /**< (RTC) MODE2 Event Control */
+#define REG_RTC_MODE2_INTENCLR  (*(__IO uint16_t*)0x40002408U) /**< (RTC) MODE2 Interrupt Enable Clear */
+#define REG_RTC_MODE2_INTENSET  (*(__IO uint16_t*)0x4000240AU) /**< (RTC) MODE2 Interrupt Enable Set */
+#define REG_RTC_MODE2_INTFLAG   (*(__IO uint16_t*)0x4000240CU) /**< (RTC) MODE2 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE2_SYNCBUSY  (*(__I  uint32_t*)0x40002410U) /**< (RTC) MODE2 Synchronization Busy Status */
+#define REG_RTC_MODE2_CLOCK     (*(__IO uint32_t*)0x40002418U) /**< (RTC) MODE2 Clock Value */
+#define REG_RTC_MODE2_TIMESTAMP (*(__I  uint32_t*)0x40002464U) /**< (RTC) MODE2 Timestamp */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for RTC peripheral ========== */
+#define RTC_DMAC_ID_TIMESTAMP                    1          /* DMA RTC timestamp trigger */
+#define RTC_GPR_NUM                              2          /* Number of General-Purpose Registers */
+#define RTC_NUM_OF_ALARMS                        1          /* Number of Alarms */
+#define RTC_NUM_OF_BKREGS                        0          /* Number of Backup Registers */
+#define RTC_NUM_OF_COMP16                        2          /* Number of 16-bit Comparators */
+#define RTC_NUM_OF_COMP32                        1          /* Number of 32-bit Comparators */
+#define RTC_NUM_OF_TAMPERS                       4          /* Number of Tamper Inputs */
+#define RTC_PER_NUM                              8          /* Number of Periodic Intervals */
+#define RTC_INSTANCE_ID                          9          
+
+#endif /* _SAML10_RTC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/sercom0.h b/cpu/sam0_common/include/vendor/saml10/include/instance/sercom0.h
new file mode 100644
index 0000000000..0aeba73982
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/sercom0.h
@@ -0,0 +1,150 @@
+/**
+ * \file
+ *
+ * \brief Instance description for SERCOM0
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_SERCOM0_INSTANCE_H_
+#define _SAML10_SERCOM0_INSTANCE_H_
+
+/* ========== Register definition for SERCOM0 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_SERCOM0_I2CM_CTRLA  (0x42000400) /**< (SERCOM0) I2CM Control A */
+#define REG_SERCOM0_I2CM_CTRLB  (0x42000404) /**< (SERCOM0) I2CM Control B */
+#define REG_SERCOM0_I2CM_BAUD   (0x4200040C) /**< (SERCOM0) I2CM Baud Rate */
+#define REG_SERCOM0_I2CM_INTENCLR (0x42000414) /**< (SERCOM0) I2CM Interrupt Enable Clear */
+#define REG_SERCOM0_I2CM_INTENSET (0x42000416) /**< (SERCOM0) I2CM Interrupt Enable Set */
+#define REG_SERCOM0_I2CM_INTFLAG (0x42000418) /**< (SERCOM0) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM0_I2CM_STATUS (0x4200041A) /**< (SERCOM0) I2CM Status */
+#define REG_SERCOM0_I2CM_SYNCBUSY (0x4200041C) /**< (SERCOM0) I2CM Synchronization Busy */
+#define REG_SERCOM0_I2CM_ADDR   (0x42000424) /**< (SERCOM0) I2CM Address */
+#define REG_SERCOM0_I2CM_DATA   (0x42000428) /**< (SERCOM0) I2CM Data */
+#define REG_SERCOM0_I2CM_DBGCTRL (0x42000430) /**< (SERCOM0) I2CM Debug Control */
+#define REG_SERCOM0_I2CS_CTRLA  (0x42000400) /**< (SERCOM0) I2CS Control A */
+#define REG_SERCOM0_I2CS_CTRLB  (0x42000404) /**< (SERCOM0) I2CS Control B */
+#define REG_SERCOM0_I2CS_INTENCLR (0x42000414) /**< (SERCOM0) I2CS Interrupt Enable Clear */
+#define REG_SERCOM0_I2CS_INTENSET (0x42000416) /**< (SERCOM0) I2CS Interrupt Enable Set */
+#define REG_SERCOM0_I2CS_INTFLAG (0x42000418) /**< (SERCOM0) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM0_I2CS_STATUS (0x4200041A) /**< (SERCOM0) I2CS Status */
+#define REG_SERCOM0_I2CS_SYNCBUSY (0x4200041C) /**< (SERCOM0) I2CS Synchronization Busy */
+#define REG_SERCOM0_I2CS_ADDR   (0x42000424) /**< (SERCOM0) I2CS Address */
+#define REG_SERCOM0_I2CS_DATA   (0x42000428) /**< (SERCOM0) I2CS Data */
+#define REG_SERCOM0_SPI_CTRLA   (0x42000400) /**< (SERCOM0) SPI Control A */
+#define REG_SERCOM0_SPI_CTRLB   (0x42000404) /**< (SERCOM0) SPI Control B */
+#define REG_SERCOM0_SPI_BAUD    (0x4200040C) /**< (SERCOM0) SPI Baud Rate */
+#define REG_SERCOM0_SPI_INTENCLR (0x42000414) /**< (SERCOM0) SPI Interrupt Enable Clear */
+#define REG_SERCOM0_SPI_INTENSET (0x42000416) /**< (SERCOM0) SPI Interrupt Enable Set */
+#define REG_SERCOM0_SPI_INTFLAG (0x42000418) /**< (SERCOM0) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM0_SPI_STATUS  (0x4200041A) /**< (SERCOM0) SPI Status */
+#define REG_SERCOM0_SPI_SYNCBUSY (0x4200041C) /**< (SERCOM0) SPI Synchronization Busy */
+#define REG_SERCOM0_SPI_ADDR    (0x42000424) /**< (SERCOM0) SPI Address */
+#define REG_SERCOM0_SPI_DATA    (0x42000428) /**< (SERCOM0) SPI Data */
+#define REG_SERCOM0_SPI_DBGCTRL (0x42000430) /**< (SERCOM0) SPI Debug Control */
+#define REG_SERCOM0_USART_CTRLA (0x42000400) /**< (SERCOM0) USART Control A */
+#define REG_SERCOM0_USART_CTRLB (0x42000404) /**< (SERCOM0) USART Control B */
+#define REG_SERCOM0_USART_CTRLC (0x42000408) /**< (SERCOM0) USART Control C */
+#define REG_SERCOM0_USART_BAUD  (0x4200040C) /**< (SERCOM0) USART Baud Rate */
+#define REG_SERCOM0_USART_RXPL  (0x4200040E) /**< (SERCOM0) USART Receive Pulse Length */
+#define REG_SERCOM0_USART_INTENCLR (0x42000414) /**< (SERCOM0) USART Interrupt Enable Clear */
+#define REG_SERCOM0_USART_INTENSET (0x42000416) /**< (SERCOM0) USART Interrupt Enable Set */
+#define REG_SERCOM0_USART_INTFLAG (0x42000418) /**< (SERCOM0) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM0_USART_STATUS (0x4200041A) /**< (SERCOM0) USART Status */
+#define REG_SERCOM0_USART_SYNCBUSY (0x4200041C) /**< (SERCOM0) USART Synchronization Busy */
+#define REG_SERCOM0_USART_RXERRCNT (0x42000420) /**< (SERCOM0) USART Receive Error Count */
+#define REG_SERCOM0_USART_DATA  (0x42000428) /**< (SERCOM0) USART Data */
+#define REG_SERCOM0_USART_DBGCTRL (0x42000430) /**< (SERCOM0) USART Debug Control */
+
+#else
+
+#define REG_SERCOM0_I2CM_CTRLA  (*(__IO uint32_t*)0x42000400U) /**< (SERCOM0) I2CM Control A */
+#define REG_SERCOM0_I2CM_CTRLB  (*(__IO uint32_t*)0x42000404U) /**< (SERCOM0) I2CM Control B */
+#define REG_SERCOM0_I2CM_BAUD   (*(__IO uint32_t*)0x4200040CU) /**< (SERCOM0) I2CM Baud Rate */
+#define REG_SERCOM0_I2CM_INTENCLR (*(__IO uint8_t*)0x42000414U) /**< (SERCOM0) I2CM Interrupt Enable Clear */
+#define REG_SERCOM0_I2CM_INTENSET (*(__IO uint8_t*)0x42000416U) /**< (SERCOM0) I2CM Interrupt Enable Set */
+#define REG_SERCOM0_I2CM_INTFLAG (*(__IO uint8_t*)0x42000418U) /**< (SERCOM0) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM0_I2CM_STATUS (*(__IO uint16_t*)0x4200041AU) /**< (SERCOM0) I2CM Status */
+#define REG_SERCOM0_I2CM_SYNCBUSY (*(__I  uint32_t*)0x4200041CU) /**< (SERCOM0) I2CM Synchronization Busy */
+#define REG_SERCOM0_I2CM_ADDR   (*(__IO uint32_t*)0x42000424U) /**< (SERCOM0) I2CM Address */
+#define REG_SERCOM0_I2CM_DATA   (*(__IO uint8_t*)0x42000428U) /**< (SERCOM0) I2CM Data */
+#define REG_SERCOM0_I2CM_DBGCTRL (*(__IO uint8_t*)0x42000430U) /**< (SERCOM0) I2CM Debug Control */
+#define REG_SERCOM0_I2CS_CTRLA  (*(__IO uint32_t*)0x42000400U) /**< (SERCOM0) I2CS Control A */
+#define REG_SERCOM0_I2CS_CTRLB  (*(__IO uint32_t*)0x42000404U) /**< (SERCOM0) I2CS Control B */
+#define REG_SERCOM0_I2CS_INTENCLR (*(__IO uint8_t*)0x42000414U) /**< (SERCOM0) I2CS Interrupt Enable Clear */
+#define REG_SERCOM0_I2CS_INTENSET (*(__IO uint8_t*)0x42000416U) /**< (SERCOM0) I2CS Interrupt Enable Set */
+#define REG_SERCOM0_I2CS_INTFLAG (*(__IO uint8_t*)0x42000418U) /**< (SERCOM0) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM0_I2CS_STATUS (*(__IO uint16_t*)0x4200041AU) /**< (SERCOM0) I2CS Status */
+#define REG_SERCOM0_I2CS_SYNCBUSY (*(__I  uint32_t*)0x4200041CU) /**< (SERCOM0) I2CS Synchronization Busy */
+#define REG_SERCOM0_I2CS_ADDR   (*(__IO uint32_t*)0x42000424U) /**< (SERCOM0) I2CS Address */
+#define REG_SERCOM0_I2CS_DATA   (*(__IO uint8_t*)0x42000428U) /**< (SERCOM0) I2CS Data */
+#define REG_SERCOM0_SPI_CTRLA   (*(__IO uint32_t*)0x42000400U) /**< (SERCOM0) SPI Control A */
+#define REG_SERCOM0_SPI_CTRLB   (*(__IO uint32_t*)0x42000404U) /**< (SERCOM0) SPI Control B */
+#define REG_SERCOM0_SPI_BAUD    (*(__IO uint8_t*)0x4200040CU) /**< (SERCOM0) SPI Baud Rate */
+#define REG_SERCOM0_SPI_INTENCLR (*(__IO uint8_t*)0x42000414U) /**< (SERCOM0) SPI Interrupt Enable Clear */
+#define REG_SERCOM0_SPI_INTENSET (*(__IO uint8_t*)0x42000416U) /**< (SERCOM0) SPI Interrupt Enable Set */
+#define REG_SERCOM0_SPI_INTFLAG (*(__IO uint8_t*)0x42000418U) /**< (SERCOM0) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM0_SPI_STATUS  (*(__IO uint16_t*)0x4200041AU) /**< (SERCOM0) SPI Status */
+#define REG_SERCOM0_SPI_SYNCBUSY (*(__I  uint32_t*)0x4200041CU) /**< (SERCOM0) SPI Synchronization Busy */
+#define REG_SERCOM0_SPI_ADDR    (*(__IO uint32_t*)0x42000424U) /**< (SERCOM0) SPI Address */
+#define REG_SERCOM0_SPI_DATA    (*(__IO uint32_t*)0x42000428U) /**< (SERCOM0) SPI Data */
+#define REG_SERCOM0_SPI_DBGCTRL (*(__IO uint8_t*)0x42000430U) /**< (SERCOM0) SPI Debug Control */
+#define REG_SERCOM0_USART_CTRLA (*(__IO uint32_t*)0x42000400U) /**< (SERCOM0) USART Control A */
+#define REG_SERCOM0_USART_CTRLB (*(__IO uint32_t*)0x42000404U) /**< (SERCOM0) USART Control B */
+#define REG_SERCOM0_USART_CTRLC (*(__IO uint32_t*)0x42000408U) /**< (SERCOM0) USART Control C */
+#define REG_SERCOM0_USART_BAUD  (*(__IO uint16_t*)0x4200040CU) /**< (SERCOM0) USART Baud Rate */
+#define REG_SERCOM0_USART_RXPL  (*(__IO uint8_t*)0x4200040EU) /**< (SERCOM0) USART Receive Pulse Length */
+#define REG_SERCOM0_USART_INTENCLR (*(__IO uint8_t*)0x42000414U) /**< (SERCOM0) USART Interrupt Enable Clear */
+#define REG_SERCOM0_USART_INTENSET (*(__IO uint8_t*)0x42000416U) /**< (SERCOM0) USART Interrupt Enable Set */
+#define REG_SERCOM0_USART_INTFLAG (*(__IO uint8_t*)0x42000418U) /**< (SERCOM0) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM0_USART_STATUS (*(__IO uint16_t*)0x4200041AU) /**< (SERCOM0) USART Status */
+#define REG_SERCOM0_USART_SYNCBUSY (*(__I  uint32_t*)0x4200041CU) /**< (SERCOM0) USART Synchronization Busy */
+#define REG_SERCOM0_USART_RXERRCNT (*(__I  uint8_t*)0x42000420U) /**< (SERCOM0) USART Receive Error Count */
+#define REG_SERCOM0_USART_DATA  (*(__IO uint16_t*)0x42000428U) /**< (SERCOM0) USART Data */
+#define REG_SERCOM0_USART_DBGCTRL (*(__IO uint8_t*)0x42000430U) /**< (SERCOM0) USART Debug Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for SERCOM0 peripheral ========== */
+#define SERCOM0_DMAC_ID_RX                       4          /* Index of DMA RX trigger */
+#define SERCOM0_DMAC_ID_TX                       5          /* Index of DMA TX trigger */
+#define SERCOM0_FIFO_DEPTH_POWER                 1          /* Rx Fifo depth = 2^FIFO_DEPTH_POWER */
+#define SERCOM0_GCLK_ID_CORE                     11         
+#define SERCOM0_GCLK_ID_SLOW                     10         
+#define SERCOM0_INT_MSB                          6          
+#define SERCOM0_PMSB                             3          
+#define SERCOM0_SPI                              1          /* SPI mode implemented? */
+#define SERCOM0_TWIM                             1          /* TWI Master mode implemented? */
+#define SERCOM0_TWIS                             1          /* TWI Slave mode implemented? */
+#define SERCOM0_TWI_HSMODE                       1          /* TWI HighSpeed mode implemented? */
+#define SERCOM0_USART                            1          /* USART mode implemented? */
+#define SERCOM0_USART_AUTOBAUD                   0          /* USART AUTOBAUD mode implemented? */
+#define SERCOM0_USART_ISO7816                    0          /* USART ISO7816 mode implemented? */
+#define SERCOM0_USART_LIN_MASTER                 0          /* USART LIN Master mode implemented? */
+#define SERCOM0_USART_RS485                      0          /* USART RS485 mode implemented? */
+#define SERCOM0_INSTANCE_ID                      65         
+
+#endif /* _SAML10_SERCOM0_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/sercom1.h b/cpu/sam0_common/include/vendor/saml10/include/instance/sercom1.h
new file mode 100644
index 0000000000..a17071aa9a
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/sercom1.h
@@ -0,0 +1,150 @@
+/**
+ * \file
+ *
+ * \brief Instance description for SERCOM1
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_SERCOM1_INSTANCE_H_
+#define _SAML10_SERCOM1_INSTANCE_H_
+
+/* ========== Register definition for SERCOM1 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_SERCOM1_I2CM_CTRLA  (0x42000800) /**< (SERCOM1) I2CM Control A */
+#define REG_SERCOM1_I2CM_CTRLB  (0x42000804) /**< (SERCOM1) I2CM Control B */
+#define REG_SERCOM1_I2CM_BAUD   (0x4200080C) /**< (SERCOM1) I2CM Baud Rate */
+#define REG_SERCOM1_I2CM_INTENCLR (0x42000814) /**< (SERCOM1) I2CM Interrupt Enable Clear */
+#define REG_SERCOM1_I2CM_INTENSET (0x42000816) /**< (SERCOM1) I2CM Interrupt Enable Set */
+#define REG_SERCOM1_I2CM_INTFLAG (0x42000818) /**< (SERCOM1) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM1_I2CM_STATUS (0x4200081A) /**< (SERCOM1) I2CM Status */
+#define REG_SERCOM1_I2CM_SYNCBUSY (0x4200081C) /**< (SERCOM1) I2CM Synchronization Busy */
+#define REG_SERCOM1_I2CM_ADDR   (0x42000824) /**< (SERCOM1) I2CM Address */
+#define REG_SERCOM1_I2CM_DATA   (0x42000828) /**< (SERCOM1) I2CM Data */
+#define REG_SERCOM1_I2CM_DBGCTRL (0x42000830) /**< (SERCOM1) I2CM Debug Control */
+#define REG_SERCOM1_I2CS_CTRLA  (0x42000800) /**< (SERCOM1) I2CS Control A */
+#define REG_SERCOM1_I2CS_CTRLB  (0x42000804) /**< (SERCOM1) I2CS Control B */
+#define REG_SERCOM1_I2CS_INTENCLR (0x42000814) /**< (SERCOM1) I2CS Interrupt Enable Clear */
+#define REG_SERCOM1_I2CS_INTENSET (0x42000816) /**< (SERCOM1) I2CS Interrupt Enable Set */
+#define REG_SERCOM1_I2CS_INTFLAG (0x42000818) /**< (SERCOM1) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM1_I2CS_STATUS (0x4200081A) /**< (SERCOM1) I2CS Status */
+#define REG_SERCOM1_I2CS_SYNCBUSY (0x4200081C) /**< (SERCOM1) I2CS Synchronization Busy */
+#define REG_SERCOM1_I2CS_ADDR   (0x42000824) /**< (SERCOM1) I2CS Address */
+#define REG_SERCOM1_I2CS_DATA   (0x42000828) /**< (SERCOM1) I2CS Data */
+#define REG_SERCOM1_SPI_CTRLA   (0x42000800) /**< (SERCOM1) SPI Control A */
+#define REG_SERCOM1_SPI_CTRLB   (0x42000804) /**< (SERCOM1) SPI Control B */
+#define REG_SERCOM1_SPI_BAUD    (0x4200080C) /**< (SERCOM1) SPI Baud Rate */
+#define REG_SERCOM1_SPI_INTENCLR (0x42000814) /**< (SERCOM1) SPI Interrupt Enable Clear */
+#define REG_SERCOM1_SPI_INTENSET (0x42000816) /**< (SERCOM1) SPI Interrupt Enable Set */
+#define REG_SERCOM1_SPI_INTFLAG (0x42000818) /**< (SERCOM1) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM1_SPI_STATUS  (0x4200081A) /**< (SERCOM1) SPI Status */
+#define REG_SERCOM1_SPI_SYNCBUSY (0x4200081C) /**< (SERCOM1) SPI Synchronization Busy */
+#define REG_SERCOM1_SPI_ADDR    (0x42000824) /**< (SERCOM1) SPI Address */
+#define REG_SERCOM1_SPI_DATA    (0x42000828) /**< (SERCOM1) SPI Data */
+#define REG_SERCOM1_SPI_DBGCTRL (0x42000830) /**< (SERCOM1) SPI Debug Control */
+#define REG_SERCOM1_USART_CTRLA (0x42000800) /**< (SERCOM1) USART Control A */
+#define REG_SERCOM1_USART_CTRLB (0x42000804) /**< (SERCOM1) USART Control B */
+#define REG_SERCOM1_USART_CTRLC (0x42000808) /**< (SERCOM1) USART Control C */
+#define REG_SERCOM1_USART_BAUD  (0x4200080C) /**< (SERCOM1) USART Baud Rate */
+#define REG_SERCOM1_USART_RXPL  (0x4200080E) /**< (SERCOM1) USART Receive Pulse Length */
+#define REG_SERCOM1_USART_INTENCLR (0x42000814) /**< (SERCOM1) USART Interrupt Enable Clear */
+#define REG_SERCOM1_USART_INTENSET (0x42000816) /**< (SERCOM1) USART Interrupt Enable Set */
+#define REG_SERCOM1_USART_INTFLAG (0x42000818) /**< (SERCOM1) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM1_USART_STATUS (0x4200081A) /**< (SERCOM1) USART Status */
+#define REG_SERCOM1_USART_SYNCBUSY (0x4200081C) /**< (SERCOM1) USART Synchronization Busy */
+#define REG_SERCOM1_USART_RXERRCNT (0x42000820) /**< (SERCOM1) USART Receive Error Count */
+#define REG_SERCOM1_USART_DATA  (0x42000828) /**< (SERCOM1) USART Data */
+#define REG_SERCOM1_USART_DBGCTRL (0x42000830) /**< (SERCOM1) USART Debug Control */
+
+#else
+
+#define REG_SERCOM1_I2CM_CTRLA  (*(__IO uint32_t*)0x42000800U) /**< (SERCOM1) I2CM Control A */
+#define REG_SERCOM1_I2CM_CTRLB  (*(__IO uint32_t*)0x42000804U) /**< (SERCOM1) I2CM Control B */
+#define REG_SERCOM1_I2CM_BAUD   (*(__IO uint32_t*)0x4200080CU) /**< (SERCOM1) I2CM Baud Rate */
+#define REG_SERCOM1_I2CM_INTENCLR (*(__IO uint8_t*)0x42000814U) /**< (SERCOM1) I2CM Interrupt Enable Clear */
+#define REG_SERCOM1_I2CM_INTENSET (*(__IO uint8_t*)0x42000816U) /**< (SERCOM1) I2CM Interrupt Enable Set */
+#define REG_SERCOM1_I2CM_INTFLAG (*(__IO uint8_t*)0x42000818U) /**< (SERCOM1) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM1_I2CM_STATUS (*(__IO uint16_t*)0x4200081AU) /**< (SERCOM1) I2CM Status */
+#define REG_SERCOM1_I2CM_SYNCBUSY (*(__I  uint32_t*)0x4200081CU) /**< (SERCOM1) I2CM Synchronization Busy */
+#define REG_SERCOM1_I2CM_ADDR   (*(__IO uint32_t*)0x42000824U) /**< (SERCOM1) I2CM Address */
+#define REG_SERCOM1_I2CM_DATA   (*(__IO uint8_t*)0x42000828U) /**< (SERCOM1) I2CM Data */
+#define REG_SERCOM1_I2CM_DBGCTRL (*(__IO uint8_t*)0x42000830U) /**< (SERCOM1) I2CM Debug Control */
+#define REG_SERCOM1_I2CS_CTRLA  (*(__IO uint32_t*)0x42000800U) /**< (SERCOM1) I2CS Control A */
+#define REG_SERCOM1_I2CS_CTRLB  (*(__IO uint32_t*)0x42000804U) /**< (SERCOM1) I2CS Control B */
+#define REG_SERCOM1_I2CS_INTENCLR (*(__IO uint8_t*)0x42000814U) /**< (SERCOM1) I2CS Interrupt Enable Clear */
+#define REG_SERCOM1_I2CS_INTENSET (*(__IO uint8_t*)0x42000816U) /**< (SERCOM1) I2CS Interrupt Enable Set */
+#define REG_SERCOM1_I2CS_INTFLAG (*(__IO uint8_t*)0x42000818U) /**< (SERCOM1) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM1_I2CS_STATUS (*(__IO uint16_t*)0x4200081AU) /**< (SERCOM1) I2CS Status */
+#define REG_SERCOM1_I2CS_SYNCBUSY (*(__I  uint32_t*)0x4200081CU) /**< (SERCOM1) I2CS Synchronization Busy */
+#define REG_SERCOM1_I2CS_ADDR   (*(__IO uint32_t*)0x42000824U) /**< (SERCOM1) I2CS Address */
+#define REG_SERCOM1_I2CS_DATA   (*(__IO uint8_t*)0x42000828U) /**< (SERCOM1) I2CS Data */
+#define REG_SERCOM1_SPI_CTRLA   (*(__IO uint32_t*)0x42000800U) /**< (SERCOM1) SPI Control A */
+#define REG_SERCOM1_SPI_CTRLB   (*(__IO uint32_t*)0x42000804U) /**< (SERCOM1) SPI Control B */
+#define REG_SERCOM1_SPI_BAUD    (*(__IO uint8_t*)0x4200080CU) /**< (SERCOM1) SPI Baud Rate */
+#define REG_SERCOM1_SPI_INTENCLR (*(__IO uint8_t*)0x42000814U) /**< (SERCOM1) SPI Interrupt Enable Clear */
+#define REG_SERCOM1_SPI_INTENSET (*(__IO uint8_t*)0x42000816U) /**< (SERCOM1) SPI Interrupt Enable Set */
+#define REG_SERCOM1_SPI_INTFLAG (*(__IO uint8_t*)0x42000818U) /**< (SERCOM1) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM1_SPI_STATUS  (*(__IO uint16_t*)0x4200081AU) /**< (SERCOM1) SPI Status */
+#define REG_SERCOM1_SPI_SYNCBUSY (*(__I  uint32_t*)0x4200081CU) /**< (SERCOM1) SPI Synchronization Busy */
+#define REG_SERCOM1_SPI_ADDR    (*(__IO uint32_t*)0x42000824U) /**< (SERCOM1) SPI Address */
+#define REG_SERCOM1_SPI_DATA    (*(__IO uint32_t*)0x42000828U) /**< (SERCOM1) SPI Data */
+#define REG_SERCOM1_SPI_DBGCTRL (*(__IO uint8_t*)0x42000830U) /**< (SERCOM1) SPI Debug Control */
+#define REG_SERCOM1_USART_CTRLA (*(__IO uint32_t*)0x42000800U) /**< (SERCOM1) USART Control A */
+#define REG_SERCOM1_USART_CTRLB (*(__IO uint32_t*)0x42000804U) /**< (SERCOM1) USART Control B */
+#define REG_SERCOM1_USART_CTRLC (*(__IO uint32_t*)0x42000808U) /**< (SERCOM1) USART Control C */
+#define REG_SERCOM1_USART_BAUD  (*(__IO uint16_t*)0x4200080CU) /**< (SERCOM1) USART Baud Rate */
+#define REG_SERCOM1_USART_RXPL  (*(__IO uint8_t*)0x4200080EU) /**< (SERCOM1) USART Receive Pulse Length */
+#define REG_SERCOM1_USART_INTENCLR (*(__IO uint8_t*)0x42000814U) /**< (SERCOM1) USART Interrupt Enable Clear */
+#define REG_SERCOM1_USART_INTENSET (*(__IO uint8_t*)0x42000816U) /**< (SERCOM1) USART Interrupt Enable Set */
+#define REG_SERCOM1_USART_INTFLAG (*(__IO uint8_t*)0x42000818U) /**< (SERCOM1) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM1_USART_STATUS (*(__IO uint16_t*)0x4200081AU) /**< (SERCOM1) USART Status */
+#define REG_SERCOM1_USART_SYNCBUSY (*(__I  uint32_t*)0x4200081CU) /**< (SERCOM1) USART Synchronization Busy */
+#define REG_SERCOM1_USART_RXERRCNT (*(__I  uint8_t*)0x42000820U) /**< (SERCOM1) USART Receive Error Count */
+#define REG_SERCOM1_USART_DATA  (*(__IO uint16_t*)0x42000828U) /**< (SERCOM1) USART Data */
+#define REG_SERCOM1_USART_DBGCTRL (*(__IO uint8_t*)0x42000830U) /**< (SERCOM1) USART Debug Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for SERCOM1 peripheral ========== */
+#define SERCOM1_DMAC_ID_RX                       6          /* Index of DMA RX trigger */
+#define SERCOM1_DMAC_ID_TX                       7          /* Index of DMA TX trigger */
+#define SERCOM1_FIFO_DEPTH_POWER                 2          /* Rx Fifo depth = 2^FIFO_DEPTH_POWER */
+#define SERCOM1_GCLK_ID_CORE                     12         
+#define SERCOM1_GCLK_ID_SLOW                     10         
+#define SERCOM1_INT_MSB                          6          
+#define SERCOM1_PMSB                             3          
+#define SERCOM1_SPI                              1          /* SPI mode implemented? */
+#define SERCOM1_TWIM                             1          /* TWI Master mode implemented? */
+#define SERCOM1_TWIS                             1          /* TWI Slave mode implemented? */
+#define SERCOM1_TWI_HSMODE                       0          /* TWI HighSpeed mode implemented? */
+#define SERCOM1_USART                            1          /* USART mode implemented? */
+#define SERCOM1_USART_AUTOBAUD                   0          /* USART AUTOBAUD mode implemented? */
+#define SERCOM1_USART_ISO7816                    0          /* USART ISO7816 mode implemented? */
+#define SERCOM1_USART_LIN_MASTER                 0          /* USART LIN Master mode implemented? */
+#define SERCOM1_USART_RS485                      0          /* USART RS485 mode implemented? */
+#define SERCOM1_INSTANCE_ID                      66         
+
+#endif /* _SAML10_SERCOM1_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/sercom2.h b/cpu/sam0_common/include/vendor/saml10/include/instance/sercom2.h
new file mode 100644
index 0000000000..05dc17c4df
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/sercom2.h
@@ -0,0 +1,150 @@
+/**
+ * \file
+ *
+ * \brief Instance description for SERCOM2
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_SERCOM2_INSTANCE_H_
+#define _SAML10_SERCOM2_INSTANCE_H_
+
+/* ========== Register definition for SERCOM2 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_SERCOM2_I2CM_CTRLA  (0x42000C00) /**< (SERCOM2) I2CM Control A */
+#define REG_SERCOM2_I2CM_CTRLB  (0x42000C04) /**< (SERCOM2) I2CM Control B */
+#define REG_SERCOM2_I2CM_BAUD   (0x42000C0C) /**< (SERCOM2) I2CM Baud Rate */
+#define REG_SERCOM2_I2CM_INTENCLR (0x42000C14) /**< (SERCOM2) I2CM Interrupt Enable Clear */
+#define REG_SERCOM2_I2CM_INTENSET (0x42000C16) /**< (SERCOM2) I2CM Interrupt Enable Set */
+#define REG_SERCOM2_I2CM_INTFLAG (0x42000C18) /**< (SERCOM2) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM2_I2CM_STATUS (0x42000C1A) /**< (SERCOM2) I2CM Status */
+#define REG_SERCOM2_I2CM_SYNCBUSY (0x42000C1C) /**< (SERCOM2) I2CM Synchronization Busy */
+#define REG_SERCOM2_I2CM_ADDR   (0x42000C24) /**< (SERCOM2) I2CM Address */
+#define REG_SERCOM2_I2CM_DATA   (0x42000C28) /**< (SERCOM2) I2CM Data */
+#define REG_SERCOM2_I2CM_DBGCTRL (0x42000C30) /**< (SERCOM2) I2CM Debug Control */
+#define REG_SERCOM2_I2CS_CTRLA  (0x42000C00) /**< (SERCOM2) I2CS Control A */
+#define REG_SERCOM2_I2CS_CTRLB  (0x42000C04) /**< (SERCOM2) I2CS Control B */
+#define REG_SERCOM2_I2CS_INTENCLR (0x42000C14) /**< (SERCOM2) I2CS Interrupt Enable Clear */
+#define REG_SERCOM2_I2CS_INTENSET (0x42000C16) /**< (SERCOM2) I2CS Interrupt Enable Set */
+#define REG_SERCOM2_I2CS_INTFLAG (0x42000C18) /**< (SERCOM2) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM2_I2CS_STATUS (0x42000C1A) /**< (SERCOM2) I2CS Status */
+#define REG_SERCOM2_I2CS_SYNCBUSY (0x42000C1C) /**< (SERCOM2) I2CS Synchronization Busy */
+#define REG_SERCOM2_I2CS_ADDR   (0x42000C24) /**< (SERCOM2) I2CS Address */
+#define REG_SERCOM2_I2CS_DATA   (0x42000C28) /**< (SERCOM2) I2CS Data */
+#define REG_SERCOM2_SPI_CTRLA   (0x42000C00) /**< (SERCOM2) SPI Control A */
+#define REG_SERCOM2_SPI_CTRLB   (0x42000C04) /**< (SERCOM2) SPI Control B */
+#define REG_SERCOM2_SPI_BAUD    (0x42000C0C) /**< (SERCOM2) SPI Baud Rate */
+#define REG_SERCOM2_SPI_INTENCLR (0x42000C14) /**< (SERCOM2) SPI Interrupt Enable Clear */
+#define REG_SERCOM2_SPI_INTENSET (0x42000C16) /**< (SERCOM2) SPI Interrupt Enable Set */
+#define REG_SERCOM2_SPI_INTFLAG (0x42000C18) /**< (SERCOM2) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM2_SPI_STATUS  (0x42000C1A) /**< (SERCOM2) SPI Status */
+#define REG_SERCOM2_SPI_SYNCBUSY (0x42000C1C) /**< (SERCOM2) SPI Synchronization Busy */
+#define REG_SERCOM2_SPI_ADDR    (0x42000C24) /**< (SERCOM2) SPI Address */
+#define REG_SERCOM2_SPI_DATA    (0x42000C28) /**< (SERCOM2) SPI Data */
+#define REG_SERCOM2_SPI_DBGCTRL (0x42000C30) /**< (SERCOM2) SPI Debug Control */
+#define REG_SERCOM2_USART_CTRLA (0x42000C00) /**< (SERCOM2) USART Control A */
+#define REG_SERCOM2_USART_CTRLB (0x42000C04) /**< (SERCOM2) USART Control B */
+#define REG_SERCOM2_USART_CTRLC (0x42000C08) /**< (SERCOM2) USART Control C */
+#define REG_SERCOM2_USART_BAUD  (0x42000C0C) /**< (SERCOM2) USART Baud Rate */
+#define REG_SERCOM2_USART_RXPL  (0x42000C0E) /**< (SERCOM2) USART Receive Pulse Length */
+#define REG_SERCOM2_USART_INTENCLR (0x42000C14) /**< (SERCOM2) USART Interrupt Enable Clear */
+#define REG_SERCOM2_USART_INTENSET (0x42000C16) /**< (SERCOM2) USART Interrupt Enable Set */
+#define REG_SERCOM2_USART_INTFLAG (0x42000C18) /**< (SERCOM2) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM2_USART_STATUS (0x42000C1A) /**< (SERCOM2) USART Status */
+#define REG_SERCOM2_USART_SYNCBUSY (0x42000C1C) /**< (SERCOM2) USART Synchronization Busy */
+#define REG_SERCOM2_USART_RXERRCNT (0x42000C20) /**< (SERCOM2) USART Receive Error Count */
+#define REG_SERCOM2_USART_DATA  (0x42000C28) /**< (SERCOM2) USART Data */
+#define REG_SERCOM2_USART_DBGCTRL (0x42000C30) /**< (SERCOM2) USART Debug Control */
+
+#else
+
+#define REG_SERCOM2_I2CM_CTRLA  (*(__IO uint32_t*)0x42000C00U) /**< (SERCOM2) I2CM Control A */
+#define REG_SERCOM2_I2CM_CTRLB  (*(__IO uint32_t*)0x42000C04U) /**< (SERCOM2) I2CM Control B */
+#define REG_SERCOM2_I2CM_BAUD   (*(__IO uint32_t*)0x42000C0CU) /**< (SERCOM2) I2CM Baud Rate */
+#define REG_SERCOM2_I2CM_INTENCLR (*(__IO uint8_t*)0x42000C14U) /**< (SERCOM2) I2CM Interrupt Enable Clear */
+#define REG_SERCOM2_I2CM_INTENSET (*(__IO uint8_t*)0x42000C16U) /**< (SERCOM2) I2CM Interrupt Enable Set */
+#define REG_SERCOM2_I2CM_INTFLAG (*(__IO uint8_t*)0x42000C18U) /**< (SERCOM2) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM2_I2CM_STATUS (*(__IO uint16_t*)0x42000C1AU) /**< (SERCOM2) I2CM Status */
+#define REG_SERCOM2_I2CM_SYNCBUSY (*(__I  uint32_t*)0x42000C1CU) /**< (SERCOM2) I2CM Synchronization Busy */
+#define REG_SERCOM2_I2CM_ADDR   (*(__IO uint32_t*)0x42000C24U) /**< (SERCOM2) I2CM Address */
+#define REG_SERCOM2_I2CM_DATA   (*(__IO uint8_t*)0x42000C28U) /**< (SERCOM2) I2CM Data */
+#define REG_SERCOM2_I2CM_DBGCTRL (*(__IO uint8_t*)0x42000C30U) /**< (SERCOM2) I2CM Debug Control */
+#define REG_SERCOM2_I2CS_CTRLA  (*(__IO uint32_t*)0x42000C00U) /**< (SERCOM2) I2CS Control A */
+#define REG_SERCOM2_I2CS_CTRLB  (*(__IO uint32_t*)0x42000C04U) /**< (SERCOM2) I2CS Control B */
+#define REG_SERCOM2_I2CS_INTENCLR (*(__IO uint8_t*)0x42000C14U) /**< (SERCOM2) I2CS Interrupt Enable Clear */
+#define REG_SERCOM2_I2CS_INTENSET (*(__IO uint8_t*)0x42000C16U) /**< (SERCOM2) I2CS Interrupt Enable Set */
+#define REG_SERCOM2_I2CS_INTFLAG (*(__IO uint8_t*)0x42000C18U) /**< (SERCOM2) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM2_I2CS_STATUS (*(__IO uint16_t*)0x42000C1AU) /**< (SERCOM2) I2CS Status */
+#define REG_SERCOM2_I2CS_SYNCBUSY (*(__I  uint32_t*)0x42000C1CU) /**< (SERCOM2) I2CS Synchronization Busy */
+#define REG_SERCOM2_I2CS_ADDR   (*(__IO uint32_t*)0x42000C24U) /**< (SERCOM2) I2CS Address */
+#define REG_SERCOM2_I2CS_DATA   (*(__IO uint8_t*)0x42000C28U) /**< (SERCOM2) I2CS Data */
+#define REG_SERCOM2_SPI_CTRLA   (*(__IO uint32_t*)0x42000C00U) /**< (SERCOM2) SPI Control A */
+#define REG_SERCOM2_SPI_CTRLB   (*(__IO uint32_t*)0x42000C04U) /**< (SERCOM2) SPI Control B */
+#define REG_SERCOM2_SPI_BAUD    (*(__IO uint8_t*)0x42000C0CU) /**< (SERCOM2) SPI Baud Rate */
+#define REG_SERCOM2_SPI_INTENCLR (*(__IO uint8_t*)0x42000C14U) /**< (SERCOM2) SPI Interrupt Enable Clear */
+#define REG_SERCOM2_SPI_INTENSET (*(__IO uint8_t*)0x42000C16U) /**< (SERCOM2) SPI Interrupt Enable Set */
+#define REG_SERCOM2_SPI_INTFLAG (*(__IO uint8_t*)0x42000C18U) /**< (SERCOM2) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM2_SPI_STATUS  (*(__IO uint16_t*)0x42000C1AU) /**< (SERCOM2) SPI Status */
+#define REG_SERCOM2_SPI_SYNCBUSY (*(__I  uint32_t*)0x42000C1CU) /**< (SERCOM2) SPI Synchronization Busy */
+#define REG_SERCOM2_SPI_ADDR    (*(__IO uint32_t*)0x42000C24U) /**< (SERCOM2) SPI Address */
+#define REG_SERCOM2_SPI_DATA    (*(__IO uint32_t*)0x42000C28U) /**< (SERCOM2) SPI Data */
+#define REG_SERCOM2_SPI_DBGCTRL (*(__IO uint8_t*)0x42000C30U) /**< (SERCOM2) SPI Debug Control */
+#define REG_SERCOM2_USART_CTRLA (*(__IO uint32_t*)0x42000C00U) /**< (SERCOM2) USART Control A */
+#define REG_SERCOM2_USART_CTRLB (*(__IO uint32_t*)0x42000C04U) /**< (SERCOM2) USART Control B */
+#define REG_SERCOM2_USART_CTRLC (*(__IO uint32_t*)0x42000C08U) /**< (SERCOM2) USART Control C */
+#define REG_SERCOM2_USART_BAUD  (*(__IO uint16_t*)0x42000C0CU) /**< (SERCOM2) USART Baud Rate */
+#define REG_SERCOM2_USART_RXPL  (*(__IO uint8_t*)0x42000C0EU) /**< (SERCOM2) USART Receive Pulse Length */
+#define REG_SERCOM2_USART_INTENCLR (*(__IO uint8_t*)0x42000C14U) /**< (SERCOM2) USART Interrupt Enable Clear */
+#define REG_SERCOM2_USART_INTENSET (*(__IO uint8_t*)0x42000C16U) /**< (SERCOM2) USART Interrupt Enable Set */
+#define REG_SERCOM2_USART_INTFLAG (*(__IO uint8_t*)0x42000C18U) /**< (SERCOM2) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM2_USART_STATUS (*(__IO uint16_t*)0x42000C1AU) /**< (SERCOM2) USART Status */
+#define REG_SERCOM2_USART_SYNCBUSY (*(__I  uint32_t*)0x42000C1CU) /**< (SERCOM2) USART Synchronization Busy */
+#define REG_SERCOM2_USART_RXERRCNT (*(__I  uint8_t*)0x42000C20U) /**< (SERCOM2) USART Receive Error Count */
+#define REG_SERCOM2_USART_DATA  (*(__IO uint16_t*)0x42000C28U) /**< (SERCOM2) USART Data */
+#define REG_SERCOM2_USART_DBGCTRL (*(__IO uint8_t*)0x42000C30U) /**< (SERCOM2) USART Debug Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for SERCOM2 peripheral ========== */
+#define SERCOM2_DMAC_ID_RX                       8          /* Index of DMA RX trigger */
+#define SERCOM2_DMAC_ID_TX                       9          /* Index of DMA TX trigger */
+#define SERCOM2_FIFO_DEPTH_POWER                 1          /* Rx Fifo depth = 2^FIFO_DEPTH_POWER */
+#define SERCOM2_GCLK_ID_CORE                     13         
+#define SERCOM2_GCLK_ID_SLOW                     10         
+#define SERCOM2_INT_MSB                          6          
+#define SERCOM2_PMSB                             3          
+#define SERCOM2_SPI                              1          /* SPI mode implemented? */
+#define SERCOM2_TWIM                             0          /* TWI Master mode implemented? */
+#define SERCOM2_TWIS                             0          /* TWI Slave mode implemented? */
+#define SERCOM2_TWI_HSMODE                       0          /* TWI HighSpeed mode implemented? */
+#define SERCOM2_USART                            1          /* USART mode implemented? */
+#define SERCOM2_USART_AUTOBAUD                   1          /* USART AUTOBAUD mode implemented? */
+#define SERCOM2_USART_ISO7816                    1          /* USART ISO7816 mode implemented? */
+#define SERCOM2_USART_LIN_MASTER                 0          /* USART LIN Master mode implemented? */
+#define SERCOM2_USART_RS485                      1          /* USART RS485 mode implemented? */
+#define SERCOM2_INSTANCE_ID                      67         
+
+#endif /* _SAML10_SERCOM2_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/supc.h b/cpu/sam0_common/include/vendor/saml10/include/instance/supc.h
new file mode 100644
index 0000000000..95a5d2185b
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/supc.h
@@ -0,0 +1,68 @@
+/**
+ * \file
+ *
+ * \brief Instance description for SUPC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_SUPC_INSTANCE_H_
+#define _SAML10_SUPC_INSTANCE_H_
+
+/* ========== Register definition for SUPC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_SUPC_INTENCLR       (0x40001800) /**< (SUPC) Interrupt Enable Clear */
+#define REG_SUPC_INTENSET       (0x40001804) /**< (SUPC) Interrupt Enable Set */
+#define REG_SUPC_INTFLAG        (0x40001808) /**< (SUPC) Interrupt Flag Status and Clear */
+#define REG_SUPC_STATUS         (0x4000180C) /**< (SUPC) Power and Clocks Status */
+#define REG_SUPC_BOD33          (0x40001810) /**< (SUPC) BOD33 Control */
+#define REG_SUPC_BOD12          (0x40001814) /**< (SUPC) BOD12 Control */
+#define REG_SUPC_VREG           (0x40001818) /**< (SUPC) VREG Control */
+#define REG_SUPC_VREF           (0x4000181C) /**< (SUPC) VREF Control */
+#define REG_SUPC_EVCTRL         (0x4000182C) /**< (SUPC) Event Control */
+#define REG_SUPC_VREGSUSP       (0x40001830) /**< (SUPC) VREG Suspend Control */
+
+#else
+
+#define REG_SUPC_INTENCLR       (*(__IO uint32_t*)0x40001800U) /**< (SUPC) Interrupt Enable Clear */
+#define REG_SUPC_INTENSET       (*(__IO uint32_t*)0x40001804U) /**< (SUPC) Interrupt Enable Set */
+#define REG_SUPC_INTFLAG        (*(__IO uint32_t*)0x40001808U) /**< (SUPC) Interrupt Flag Status and Clear */
+#define REG_SUPC_STATUS         (*(__I  uint32_t*)0x4000180CU) /**< (SUPC) Power and Clocks Status */
+#define REG_SUPC_BOD33          (*(__IO uint32_t*)0x40001810U) /**< (SUPC) BOD33 Control */
+#define REG_SUPC_BOD12          (*(__IO uint32_t*)0x40001814U) /**< (SUPC) BOD12 Control */
+#define REG_SUPC_VREG           (*(__IO uint32_t*)0x40001818U) /**< (SUPC) VREG Control */
+#define REG_SUPC_VREF           (*(__IO uint32_t*)0x4000181CU) /**< (SUPC) VREF Control */
+#define REG_SUPC_EVCTRL         (*(__IO uint32_t*)0x4000182CU) /**< (SUPC) Event Control */
+#define REG_SUPC_VREGSUSP       (*(__IO uint32_t*)0x40001830U) /**< (SUPC) VREG Suspend Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for SUPC peripheral ========== */
+#define SUPC_BOD12_CALIB_MSB                     5          
+#define SUPC_BOD33_CALIB_MSB                     5          
+#define SUPC_INSTANCE_ID                         6          
+
+#endif /* _SAML10_SUPC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/tc0.h b/cpu/sam0_common/include/vendor/saml10/include/instance/tc0.h
new file mode 100644
index 0000000000..2d268beff6
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/tc0.h
@@ -0,0 +1,130 @@
+/**
+ * \file
+ *
+ * \brief Instance description for TC0
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_TC0_INSTANCE_H_
+#define _SAML10_TC0_INSTANCE_H_
+
+/* ========== Register definition for TC0 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_TC0_CTRLA           (0x42001000) /**< (TC0) Control A */
+#define REG_TC0_CTRLBCLR        (0x42001004) /**< (TC0) Control B Clear */
+#define REG_TC0_CTRLBSET        (0x42001005) /**< (TC0) Control B Set */
+#define REG_TC0_EVCTRL          (0x42001006) /**< (TC0) Event Control */
+#define REG_TC0_INTENCLR        (0x42001008) /**< (TC0) Interrupt Enable Clear */
+#define REG_TC0_INTENSET        (0x42001009) /**< (TC0) Interrupt Enable Set */
+#define REG_TC0_INTFLAG         (0x4200100A) /**< (TC0) Interrupt Flag Status and Clear */
+#define REG_TC0_STATUS          (0x4200100B) /**< (TC0) Status */
+#define REG_TC0_WAVE            (0x4200100C) /**< (TC0) Waveform Generation Control */
+#define REG_TC0_DRVCTRL         (0x4200100D) /**< (TC0) Control C */
+#define REG_TC0_DBGCTRL         (0x4200100F) /**< (TC0) Debug Control */
+#define REG_TC0_SYNCBUSY        (0x42001010) /**< (TC0) Synchronization Status */
+#define REG_TC0_COUNT8_COUNT    (0x42001014) /**< (TC0) COUNT8 Count */
+#define REG_TC0_COUNT8_PER      (0x4200101B) /**< (TC0) COUNT8 Period */
+#define REG_TC0_COUNT8_CC       (0x4200101C) /**< (TC0) COUNT8 Compare and Capture */
+#define REG_TC0_COUNT8_CC0      (0x4200101C) /**< (TC0) COUNT8 Compare and Capture 0 */
+#define REG_TC0_COUNT8_CC1      (0x4200101D) /**< (TC0) COUNT8 Compare and Capture 1 */
+#define REG_TC0_COUNT8_PERBUF   (0x4200102F) /**< (TC0) COUNT8 Period Buffer */
+#define REG_TC0_COUNT8_CCBUF    (0x42001030) /**< (TC0) COUNT8 Compare and Capture Buffer */
+#define REG_TC0_COUNT8_CCBUF0   (0x42001030) /**< (TC0) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT8_CCBUF1   (0x42001031) /**< (TC0) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC0_COUNT16_COUNT   (0x42001014) /**< (TC0) COUNT16 Count */
+#define REG_TC0_COUNT16_PER     (0x4200101A) /**< (TC0) COUNT16 Period */
+#define REG_TC0_COUNT16_CC      (0x4200101C) /**< (TC0) COUNT16 Compare and Capture */
+#define REG_TC0_COUNT16_CC0     (0x4200101C) /**< (TC0) COUNT16 Compare and Capture 0 */
+#define REG_TC0_COUNT16_CC1     (0x4200101E) /**< (TC0) COUNT16 Compare and Capture 1 */
+#define REG_TC0_COUNT16_PERBUF  (0x4200102E) /**< (TC0) COUNT16 Period Buffer */
+#define REG_TC0_COUNT16_CCBUF   (0x42001030) /**< (TC0) COUNT16 Compare and Capture Buffer */
+#define REG_TC0_COUNT16_CCBUF0  (0x42001030) /**< (TC0) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT16_CCBUF1  (0x42001032) /**< (TC0) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC0_COUNT32_COUNT   (0x42001014) /**< (TC0) COUNT32 Count */
+#define REG_TC0_COUNT32_PER     (0x42001018) /**< (TC0) COUNT32 Period */
+#define REG_TC0_COUNT32_CC      (0x4200101C) /**< (TC0) COUNT32 Compare and Capture */
+#define REG_TC0_COUNT32_CC0     (0x4200101C) /**< (TC0) COUNT32 Compare and Capture 0 */
+#define REG_TC0_COUNT32_CC1     (0x42001020) /**< (TC0) COUNT32 Compare and Capture 1 */
+#define REG_TC0_COUNT32_PERBUF  (0x4200102C) /**< (TC0) COUNT32 Period Buffer */
+#define REG_TC0_COUNT32_CCBUF   (0x42001030) /**< (TC0) COUNT32 Compare and Capture Buffer */
+#define REG_TC0_COUNT32_CCBUF0  (0x42001030) /**< (TC0) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT32_CCBUF1  (0x42001034) /**< (TC0) COUNT32 Compare and Capture Buffer 1 */
+
+#else
+
+#define REG_TC0_CTRLA           (*(__IO uint32_t*)0x42001000U) /**< (TC0) Control A */
+#define REG_TC0_CTRLBCLR        (*(__IO uint8_t*)0x42001004U) /**< (TC0) Control B Clear */
+#define REG_TC0_CTRLBSET        (*(__IO uint8_t*)0x42001005U) /**< (TC0) Control B Set */
+#define REG_TC0_EVCTRL          (*(__IO uint16_t*)0x42001006U) /**< (TC0) Event Control */
+#define REG_TC0_INTENCLR        (*(__IO uint8_t*)0x42001008U) /**< (TC0) Interrupt Enable Clear */
+#define REG_TC0_INTENSET        (*(__IO uint8_t*)0x42001009U) /**< (TC0) Interrupt Enable Set */
+#define REG_TC0_INTFLAG         (*(__IO uint8_t*)0x4200100AU) /**< (TC0) Interrupt Flag Status and Clear */
+#define REG_TC0_STATUS          (*(__IO uint8_t*)0x4200100BU) /**< (TC0) Status */
+#define REG_TC0_WAVE            (*(__IO uint8_t*)0x4200100CU) /**< (TC0) Waveform Generation Control */
+#define REG_TC0_DRVCTRL         (*(__IO uint8_t*)0x4200100DU) /**< (TC0) Control C */
+#define REG_TC0_DBGCTRL         (*(__IO uint8_t*)0x4200100FU) /**< (TC0) Debug Control */
+#define REG_TC0_SYNCBUSY        (*(__I  uint32_t*)0x42001010U) /**< (TC0) Synchronization Status */
+#define REG_TC0_COUNT8_COUNT    (*(__IO uint8_t*)0x42001014U) /**< (TC0) COUNT8 Count */
+#define REG_TC0_COUNT8_PER      (*(__IO uint8_t*)0x4200101BU) /**< (TC0) COUNT8 Period */
+#define REG_TC0_COUNT8_CC       (*(__IO uint8_t*)0x4200101CU) /**< (TC0) COUNT8 Compare and Capture */
+#define REG_TC0_COUNT8_CC0      (*(__IO uint8_t*)0x4200101CU) /**< (TC0) COUNT8 Compare and Capture 0 */
+#define REG_TC0_COUNT8_CC1      (*(__IO uint8_t*)0x4200101DU) /**< (TC0) COUNT8 Compare and Capture 1 */
+#define REG_TC0_COUNT8_PERBUF   (*(__IO uint8_t*)0x4200102FU) /**< (TC0) COUNT8 Period Buffer */
+#define REG_TC0_COUNT8_CCBUF    (*(__IO uint8_t*)0x42001030U) /**< (TC0) COUNT8 Compare and Capture Buffer */
+#define REG_TC0_COUNT8_CCBUF0   (*(__IO uint8_t*)0x42001030U) /**< (TC0) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT8_CCBUF1   (*(__IO uint8_t*)0x42001031U) /**< (TC0) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC0_COUNT16_COUNT   (*(__IO uint16_t*)0x42001014U) /**< (TC0) COUNT16 Count */
+#define REG_TC0_COUNT16_PER     (*(__IO uint16_t*)0x4200101AU) /**< (TC0) COUNT16 Period */
+#define REG_TC0_COUNT16_CC      (*(__IO uint16_t*)0x4200101CU) /**< (TC0) COUNT16 Compare and Capture */
+#define REG_TC0_COUNT16_CC0     (*(__IO uint16_t*)0x4200101CU) /**< (TC0) COUNT16 Compare and Capture 0 */
+#define REG_TC0_COUNT16_CC1     (*(__IO uint16_t*)0x4200101EU) /**< (TC0) COUNT16 Compare and Capture 1 */
+#define REG_TC0_COUNT16_PERBUF  (*(__IO uint16_t*)0x4200102EU) /**< (TC0) COUNT16 Period Buffer */
+#define REG_TC0_COUNT16_CCBUF   (*(__IO uint16_t*)0x42001030U) /**< (TC0) COUNT16 Compare and Capture Buffer */
+#define REG_TC0_COUNT16_CCBUF0  (*(__IO uint16_t*)0x42001030U) /**< (TC0) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT16_CCBUF1  (*(__IO uint16_t*)0x42001032U) /**< (TC0) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC0_COUNT32_COUNT   (*(__IO uint32_t*)0x42001014U) /**< (TC0) COUNT32 Count */
+#define REG_TC0_COUNT32_PER     (*(__IO uint32_t*)0x42001018U) /**< (TC0) COUNT32 Period */
+#define REG_TC0_COUNT32_CC      (*(__IO uint32_t*)0x4200101CU) /**< (TC0) COUNT32 Compare and Capture */
+#define REG_TC0_COUNT32_CC0     (*(__IO uint32_t*)0x4200101CU) /**< (TC0) COUNT32 Compare and Capture 0 */
+#define REG_TC0_COUNT32_CC1     (*(__IO uint32_t*)0x42001020U) /**< (TC0) COUNT32 Compare and Capture 1 */
+#define REG_TC0_COUNT32_PERBUF  (*(__IO uint32_t*)0x4200102CU) /**< (TC0) COUNT32 Period Buffer */
+#define REG_TC0_COUNT32_CCBUF   (*(__IO uint32_t*)0x42001030U) /**< (TC0) COUNT32 Compare and Capture Buffer */
+#define REG_TC0_COUNT32_CCBUF0  (*(__IO uint32_t*)0x42001030U) /**< (TC0) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT32_CCBUF1  (*(__IO uint32_t*)0x42001034U) /**< (TC0) COUNT32 Compare and Capture Buffer 1 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for TC0 peripheral ========== */
+#define TC0_CC_NUM                               2          
+#define TC0_DMAC_ID_OVF                          10         /* Indexes of DMA Overflow trigger */
+#define TC0_EXT                                  1          /* Coding of implemented extended features (keep 0 value) */
+#define TC0_GCLK_ID                              14         /* Index of Generic Clock */
+#define TC0_MASTER_SLAVE_MODE                    1          /* TC type 0 : NA, 1 : Master, 2 : Slave */
+#define TC0_OW_NUM                               2          /* Number of Output Waveforms */
+#define TC0_INSTANCE_ID                          68         
+
+#endif /* _SAML10_TC0_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/tc1.h b/cpu/sam0_common/include/vendor/saml10/include/instance/tc1.h
new file mode 100644
index 0000000000..cd432cf4a7
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/tc1.h
@@ -0,0 +1,130 @@
+/**
+ * \file
+ *
+ * \brief Instance description for TC1
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_TC1_INSTANCE_H_
+#define _SAML10_TC1_INSTANCE_H_
+
+/* ========== Register definition for TC1 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_TC1_CTRLA           (0x42001400) /**< (TC1) Control A */
+#define REG_TC1_CTRLBCLR        (0x42001404) /**< (TC1) Control B Clear */
+#define REG_TC1_CTRLBSET        (0x42001405) /**< (TC1) Control B Set */
+#define REG_TC1_EVCTRL          (0x42001406) /**< (TC1) Event Control */
+#define REG_TC1_INTENCLR        (0x42001408) /**< (TC1) Interrupt Enable Clear */
+#define REG_TC1_INTENSET        (0x42001409) /**< (TC1) Interrupt Enable Set */
+#define REG_TC1_INTFLAG         (0x4200140A) /**< (TC1) Interrupt Flag Status and Clear */
+#define REG_TC1_STATUS          (0x4200140B) /**< (TC1) Status */
+#define REG_TC1_WAVE            (0x4200140C) /**< (TC1) Waveform Generation Control */
+#define REG_TC1_DRVCTRL         (0x4200140D) /**< (TC1) Control C */
+#define REG_TC1_DBGCTRL         (0x4200140F) /**< (TC1) Debug Control */
+#define REG_TC1_SYNCBUSY        (0x42001410) /**< (TC1) Synchronization Status */
+#define REG_TC1_COUNT8_COUNT    (0x42001414) /**< (TC1) COUNT8 Count */
+#define REG_TC1_COUNT8_PER      (0x4200141B) /**< (TC1) COUNT8 Period */
+#define REG_TC1_COUNT8_CC       (0x4200141C) /**< (TC1) COUNT8 Compare and Capture */
+#define REG_TC1_COUNT8_CC0      (0x4200141C) /**< (TC1) COUNT8 Compare and Capture 0 */
+#define REG_TC1_COUNT8_CC1      (0x4200141D) /**< (TC1) COUNT8 Compare and Capture 1 */
+#define REG_TC1_COUNT8_PERBUF   (0x4200142F) /**< (TC1) COUNT8 Period Buffer */
+#define REG_TC1_COUNT8_CCBUF    (0x42001430) /**< (TC1) COUNT8 Compare and Capture Buffer */
+#define REG_TC1_COUNT8_CCBUF0   (0x42001430) /**< (TC1) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT8_CCBUF1   (0x42001431) /**< (TC1) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC1_COUNT16_COUNT   (0x42001414) /**< (TC1) COUNT16 Count */
+#define REG_TC1_COUNT16_PER     (0x4200141A) /**< (TC1) COUNT16 Period */
+#define REG_TC1_COUNT16_CC      (0x4200141C) /**< (TC1) COUNT16 Compare and Capture */
+#define REG_TC1_COUNT16_CC0     (0x4200141C) /**< (TC1) COUNT16 Compare and Capture 0 */
+#define REG_TC1_COUNT16_CC1     (0x4200141E) /**< (TC1) COUNT16 Compare and Capture 1 */
+#define REG_TC1_COUNT16_PERBUF  (0x4200142E) /**< (TC1) COUNT16 Period Buffer */
+#define REG_TC1_COUNT16_CCBUF   (0x42001430) /**< (TC1) COUNT16 Compare and Capture Buffer */
+#define REG_TC1_COUNT16_CCBUF0  (0x42001430) /**< (TC1) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT16_CCBUF1  (0x42001432) /**< (TC1) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC1_COUNT32_COUNT   (0x42001414) /**< (TC1) COUNT32 Count */
+#define REG_TC1_COUNT32_PER     (0x42001418) /**< (TC1) COUNT32 Period */
+#define REG_TC1_COUNT32_CC      (0x4200141C) /**< (TC1) COUNT32 Compare and Capture */
+#define REG_TC1_COUNT32_CC0     (0x4200141C) /**< (TC1) COUNT32 Compare and Capture 0 */
+#define REG_TC1_COUNT32_CC1     (0x42001420) /**< (TC1) COUNT32 Compare and Capture 1 */
+#define REG_TC1_COUNT32_PERBUF  (0x4200142C) /**< (TC1) COUNT32 Period Buffer */
+#define REG_TC1_COUNT32_CCBUF   (0x42001430) /**< (TC1) COUNT32 Compare and Capture Buffer */
+#define REG_TC1_COUNT32_CCBUF0  (0x42001430) /**< (TC1) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT32_CCBUF1  (0x42001434) /**< (TC1) COUNT32 Compare and Capture Buffer 1 */
+
+#else
+
+#define REG_TC1_CTRLA           (*(__IO uint32_t*)0x42001400U) /**< (TC1) Control A */
+#define REG_TC1_CTRLBCLR        (*(__IO uint8_t*)0x42001404U) /**< (TC1) Control B Clear */
+#define REG_TC1_CTRLBSET        (*(__IO uint8_t*)0x42001405U) /**< (TC1) Control B Set */
+#define REG_TC1_EVCTRL          (*(__IO uint16_t*)0x42001406U) /**< (TC1) Event Control */
+#define REG_TC1_INTENCLR        (*(__IO uint8_t*)0x42001408U) /**< (TC1) Interrupt Enable Clear */
+#define REG_TC1_INTENSET        (*(__IO uint8_t*)0x42001409U) /**< (TC1) Interrupt Enable Set */
+#define REG_TC1_INTFLAG         (*(__IO uint8_t*)0x4200140AU) /**< (TC1) Interrupt Flag Status and Clear */
+#define REG_TC1_STATUS          (*(__IO uint8_t*)0x4200140BU) /**< (TC1) Status */
+#define REG_TC1_WAVE            (*(__IO uint8_t*)0x4200140CU) /**< (TC1) Waveform Generation Control */
+#define REG_TC1_DRVCTRL         (*(__IO uint8_t*)0x4200140DU) /**< (TC1) Control C */
+#define REG_TC1_DBGCTRL         (*(__IO uint8_t*)0x4200140FU) /**< (TC1) Debug Control */
+#define REG_TC1_SYNCBUSY        (*(__I  uint32_t*)0x42001410U) /**< (TC1) Synchronization Status */
+#define REG_TC1_COUNT8_COUNT    (*(__IO uint8_t*)0x42001414U) /**< (TC1) COUNT8 Count */
+#define REG_TC1_COUNT8_PER      (*(__IO uint8_t*)0x4200141BU) /**< (TC1) COUNT8 Period */
+#define REG_TC1_COUNT8_CC       (*(__IO uint8_t*)0x4200141CU) /**< (TC1) COUNT8 Compare and Capture */
+#define REG_TC1_COUNT8_CC0      (*(__IO uint8_t*)0x4200141CU) /**< (TC1) COUNT8 Compare and Capture 0 */
+#define REG_TC1_COUNT8_CC1      (*(__IO uint8_t*)0x4200141DU) /**< (TC1) COUNT8 Compare and Capture 1 */
+#define REG_TC1_COUNT8_PERBUF   (*(__IO uint8_t*)0x4200142FU) /**< (TC1) COUNT8 Period Buffer */
+#define REG_TC1_COUNT8_CCBUF    (*(__IO uint8_t*)0x42001430U) /**< (TC1) COUNT8 Compare and Capture Buffer */
+#define REG_TC1_COUNT8_CCBUF0   (*(__IO uint8_t*)0x42001430U) /**< (TC1) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT8_CCBUF1   (*(__IO uint8_t*)0x42001431U) /**< (TC1) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC1_COUNT16_COUNT   (*(__IO uint16_t*)0x42001414U) /**< (TC1) COUNT16 Count */
+#define REG_TC1_COUNT16_PER     (*(__IO uint16_t*)0x4200141AU) /**< (TC1) COUNT16 Period */
+#define REG_TC1_COUNT16_CC      (*(__IO uint16_t*)0x4200141CU) /**< (TC1) COUNT16 Compare and Capture */
+#define REG_TC1_COUNT16_CC0     (*(__IO uint16_t*)0x4200141CU) /**< (TC1) COUNT16 Compare and Capture 0 */
+#define REG_TC1_COUNT16_CC1     (*(__IO uint16_t*)0x4200141EU) /**< (TC1) COUNT16 Compare and Capture 1 */
+#define REG_TC1_COUNT16_PERBUF  (*(__IO uint16_t*)0x4200142EU) /**< (TC1) COUNT16 Period Buffer */
+#define REG_TC1_COUNT16_CCBUF   (*(__IO uint16_t*)0x42001430U) /**< (TC1) COUNT16 Compare and Capture Buffer */
+#define REG_TC1_COUNT16_CCBUF0  (*(__IO uint16_t*)0x42001430U) /**< (TC1) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT16_CCBUF1  (*(__IO uint16_t*)0x42001432U) /**< (TC1) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC1_COUNT32_COUNT   (*(__IO uint32_t*)0x42001414U) /**< (TC1) COUNT32 Count */
+#define REG_TC1_COUNT32_PER     (*(__IO uint32_t*)0x42001418U) /**< (TC1) COUNT32 Period */
+#define REG_TC1_COUNT32_CC      (*(__IO uint32_t*)0x4200141CU) /**< (TC1) COUNT32 Compare and Capture */
+#define REG_TC1_COUNT32_CC0     (*(__IO uint32_t*)0x4200141CU) /**< (TC1) COUNT32 Compare and Capture 0 */
+#define REG_TC1_COUNT32_CC1     (*(__IO uint32_t*)0x42001420U) /**< (TC1) COUNT32 Compare and Capture 1 */
+#define REG_TC1_COUNT32_PERBUF  (*(__IO uint32_t*)0x4200142CU) /**< (TC1) COUNT32 Period Buffer */
+#define REG_TC1_COUNT32_CCBUF   (*(__IO uint32_t*)0x42001430U) /**< (TC1) COUNT32 Compare and Capture Buffer */
+#define REG_TC1_COUNT32_CCBUF0  (*(__IO uint32_t*)0x42001430U) /**< (TC1) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT32_CCBUF1  (*(__IO uint32_t*)0x42001434U) /**< (TC1) COUNT32 Compare and Capture Buffer 1 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for TC1 peripheral ========== */
+#define TC1_CC_NUM                               2          
+#define TC1_DMAC_ID_OVF                          13         /* Indexes of DMA Overflow trigger */
+#define TC1_EXT                                  1          /* Coding of implemented extended features (keep 0 value) */
+#define TC1_GCLK_ID                              14         /* Index of Generic Clock */
+#define TC1_MASTER_SLAVE_MODE                    2          /* TC type 0 : NA, 1 : Master, 2 : Slave */
+#define TC1_OW_NUM                               2          /* Number of Output Waveforms */
+#define TC1_INSTANCE_ID                          69         
+
+#endif /* _SAML10_TC1_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/tc2.h b/cpu/sam0_common/include/vendor/saml10/include/instance/tc2.h
new file mode 100644
index 0000000000..838cd0d740
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/tc2.h
@@ -0,0 +1,130 @@
+/**
+ * \file
+ *
+ * \brief Instance description for TC2
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_TC2_INSTANCE_H_
+#define _SAML10_TC2_INSTANCE_H_
+
+/* ========== Register definition for TC2 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_TC2_CTRLA           (0x42001800) /**< (TC2) Control A */
+#define REG_TC2_CTRLBCLR        (0x42001804) /**< (TC2) Control B Clear */
+#define REG_TC2_CTRLBSET        (0x42001805) /**< (TC2) Control B Set */
+#define REG_TC2_EVCTRL          (0x42001806) /**< (TC2) Event Control */
+#define REG_TC2_INTENCLR        (0x42001808) /**< (TC2) Interrupt Enable Clear */
+#define REG_TC2_INTENSET        (0x42001809) /**< (TC2) Interrupt Enable Set */
+#define REG_TC2_INTFLAG         (0x4200180A) /**< (TC2) Interrupt Flag Status and Clear */
+#define REG_TC2_STATUS          (0x4200180B) /**< (TC2) Status */
+#define REG_TC2_WAVE            (0x4200180C) /**< (TC2) Waveform Generation Control */
+#define REG_TC2_DRVCTRL         (0x4200180D) /**< (TC2) Control C */
+#define REG_TC2_DBGCTRL         (0x4200180F) /**< (TC2) Debug Control */
+#define REG_TC2_SYNCBUSY        (0x42001810) /**< (TC2) Synchronization Status */
+#define REG_TC2_COUNT8_COUNT    (0x42001814) /**< (TC2) COUNT8 Count */
+#define REG_TC2_COUNT8_PER      (0x4200181B) /**< (TC2) COUNT8 Period */
+#define REG_TC2_COUNT8_CC       (0x4200181C) /**< (TC2) COUNT8 Compare and Capture */
+#define REG_TC2_COUNT8_CC0      (0x4200181C) /**< (TC2) COUNT8 Compare and Capture 0 */
+#define REG_TC2_COUNT8_CC1      (0x4200181D) /**< (TC2) COUNT8 Compare and Capture 1 */
+#define REG_TC2_COUNT8_PERBUF   (0x4200182F) /**< (TC2) COUNT8 Period Buffer */
+#define REG_TC2_COUNT8_CCBUF    (0x42001830) /**< (TC2) COUNT8 Compare and Capture Buffer */
+#define REG_TC2_COUNT8_CCBUF0   (0x42001830) /**< (TC2) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT8_CCBUF1   (0x42001831) /**< (TC2) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC2_COUNT16_COUNT   (0x42001814) /**< (TC2) COUNT16 Count */
+#define REG_TC2_COUNT16_PER     (0x4200181A) /**< (TC2) COUNT16 Period */
+#define REG_TC2_COUNT16_CC      (0x4200181C) /**< (TC2) COUNT16 Compare and Capture */
+#define REG_TC2_COUNT16_CC0     (0x4200181C) /**< (TC2) COUNT16 Compare and Capture 0 */
+#define REG_TC2_COUNT16_CC1     (0x4200181E) /**< (TC2) COUNT16 Compare and Capture 1 */
+#define REG_TC2_COUNT16_PERBUF  (0x4200182E) /**< (TC2) COUNT16 Period Buffer */
+#define REG_TC2_COUNT16_CCBUF   (0x42001830) /**< (TC2) COUNT16 Compare and Capture Buffer */
+#define REG_TC2_COUNT16_CCBUF0  (0x42001830) /**< (TC2) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT16_CCBUF1  (0x42001832) /**< (TC2) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC2_COUNT32_COUNT   (0x42001814) /**< (TC2) COUNT32 Count */
+#define REG_TC2_COUNT32_PER     (0x42001818) /**< (TC2) COUNT32 Period */
+#define REG_TC2_COUNT32_CC      (0x4200181C) /**< (TC2) COUNT32 Compare and Capture */
+#define REG_TC2_COUNT32_CC0     (0x4200181C) /**< (TC2) COUNT32 Compare and Capture 0 */
+#define REG_TC2_COUNT32_CC1     (0x42001820) /**< (TC2) COUNT32 Compare and Capture 1 */
+#define REG_TC2_COUNT32_PERBUF  (0x4200182C) /**< (TC2) COUNT32 Period Buffer */
+#define REG_TC2_COUNT32_CCBUF   (0x42001830) /**< (TC2) COUNT32 Compare and Capture Buffer */
+#define REG_TC2_COUNT32_CCBUF0  (0x42001830) /**< (TC2) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT32_CCBUF1  (0x42001834) /**< (TC2) COUNT32 Compare and Capture Buffer 1 */
+
+#else
+
+#define REG_TC2_CTRLA           (*(__IO uint32_t*)0x42001800U) /**< (TC2) Control A */
+#define REG_TC2_CTRLBCLR        (*(__IO uint8_t*)0x42001804U) /**< (TC2) Control B Clear */
+#define REG_TC2_CTRLBSET        (*(__IO uint8_t*)0x42001805U) /**< (TC2) Control B Set */
+#define REG_TC2_EVCTRL          (*(__IO uint16_t*)0x42001806U) /**< (TC2) Event Control */
+#define REG_TC2_INTENCLR        (*(__IO uint8_t*)0x42001808U) /**< (TC2) Interrupt Enable Clear */
+#define REG_TC2_INTENSET        (*(__IO uint8_t*)0x42001809U) /**< (TC2) Interrupt Enable Set */
+#define REG_TC2_INTFLAG         (*(__IO uint8_t*)0x4200180AU) /**< (TC2) Interrupt Flag Status and Clear */
+#define REG_TC2_STATUS          (*(__IO uint8_t*)0x4200180BU) /**< (TC2) Status */
+#define REG_TC2_WAVE            (*(__IO uint8_t*)0x4200180CU) /**< (TC2) Waveform Generation Control */
+#define REG_TC2_DRVCTRL         (*(__IO uint8_t*)0x4200180DU) /**< (TC2) Control C */
+#define REG_TC2_DBGCTRL         (*(__IO uint8_t*)0x4200180FU) /**< (TC2) Debug Control */
+#define REG_TC2_SYNCBUSY        (*(__I  uint32_t*)0x42001810U) /**< (TC2) Synchronization Status */
+#define REG_TC2_COUNT8_COUNT    (*(__IO uint8_t*)0x42001814U) /**< (TC2) COUNT8 Count */
+#define REG_TC2_COUNT8_PER      (*(__IO uint8_t*)0x4200181BU) /**< (TC2) COUNT8 Period */
+#define REG_TC2_COUNT8_CC       (*(__IO uint8_t*)0x4200181CU) /**< (TC2) COUNT8 Compare and Capture */
+#define REG_TC2_COUNT8_CC0      (*(__IO uint8_t*)0x4200181CU) /**< (TC2) COUNT8 Compare and Capture 0 */
+#define REG_TC2_COUNT8_CC1      (*(__IO uint8_t*)0x4200181DU) /**< (TC2) COUNT8 Compare and Capture 1 */
+#define REG_TC2_COUNT8_PERBUF   (*(__IO uint8_t*)0x4200182FU) /**< (TC2) COUNT8 Period Buffer */
+#define REG_TC2_COUNT8_CCBUF    (*(__IO uint8_t*)0x42001830U) /**< (TC2) COUNT8 Compare and Capture Buffer */
+#define REG_TC2_COUNT8_CCBUF0   (*(__IO uint8_t*)0x42001830U) /**< (TC2) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT8_CCBUF1   (*(__IO uint8_t*)0x42001831U) /**< (TC2) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC2_COUNT16_COUNT   (*(__IO uint16_t*)0x42001814U) /**< (TC2) COUNT16 Count */
+#define REG_TC2_COUNT16_PER     (*(__IO uint16_t*)0x4200181AU) /**< (TC2) COUNT16 Period */
+#define REG_TC2_COUNT16_CC      (*(__IO uint16_t*)0x4200181CU) /**< (TC2) COUNT16 Compare and Capture */
+#define REG_TC2_COUNT16_CC0     (*(__IO uint16_t*)0x4200181CU) /**< (TC2) COUNT16 Compare and Capture 0 */
+#define REG_TC2_COUNT16_CC1     (*(__IO uint16_t*)0x4200181EU) /**< (TC2) COUNT16 Compare and Capture 1 */
+#define REG_TC2_COUNT16_PERBUF  (*(__IO uint16_t*)0x4200182EU) /**< (TC2) COUNT16 Period Buffer */
+#define REG_TC2_COUNT16_CCBUF   (*(__IO uint16_t*)0x42001830U) /**< (TC2) COUNT16 Compare and Capture Buffer */
+#define REG_TC2_COUNT16_CCBUF0  (*(__IO uint16_t*)0x42001830U) /**< (TC2) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT16_CCBUF1  (*(__IO uint16_t*)0x42001832U) /**< (TC2) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC2_COUNT32_COUNT   (*(__IO uint32_t*)0x42001814U) /**< (TC2) COUNT32 Count */
+#define REG_TC2_COUNT32_PER     (*(__IO uint32_t*)0x42001818U) /**< (TC2) COUNT32 Period */
+#define REG_TC2_COUNT32_CC      (*(__IO uint32_t*)0x4200181CU) /**< (TC2) COUNT32 Compare and Capture */
+#define REG_TC2_COUNT32_CC0     (*(__IO uint32_t*)0x4200181CU) /**< (TC2) COUNT32 Compare and Capture 0 */
+#define REG_TC2_COUNT32_CC1     (*(__IO uint32_t*)0x42001820U) /**< (TC2) COUNT32 Compare and Capture 1 */
+#define REG_TC2_COUNT32_PERBUF  (*(__IO uint32_t*)0x4200182CU) /**< (TC2) COUNT32 Period Buffer */
+#define REG_TC2_COUNT32_CCBUF   (*(__IO uint32_t*)0x42001830U) /**< (TC2) COUNT32 Compare and Capture Buffer */
+#define REG_TC2_COUNT32_CCBUF0  (*(__IO uint32_t*)0x42001830U) /**< (TC2) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT32_CCBUF1  (*(__IO uint32_t*)0x42001834U) /**< (TC2) COUNT32 Compare and Capture Buffer 1 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for TC2 peripheral ========== */
+#define TC2_CC_NUM                               2          
+#define TC2_DMAC_ID_OVF                          16         /* Indexes of DMA Overflow trigger */
+#define TC2_EXT                                  1          /* Coding of implemented extended features (keep 0 value) */
+#define TC2_GCLK_ID                              15         /* Index of Generic Clock */
+#define TC2_MASTER_SLAVE_MODE                    0          /* TC type 0 : NA, 1 : Master, 2 : Slave */
+#define TC2_OW_NUM                               2          /* Number of Output Waveforms */
+#define TC2_INSTANCE_ID                          70         
+
+#endif /* _SAML10_TC2_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/tram.h b/cpu/sam0_common/include/vendor/saml10/include/instance/tram.h
new file mode 100644
index 0000000000..9133bca357
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/tram.h
@@ -0,0 +1,194 @@
+/**
+ * \file
+ *
+ * \brief Instance description for TRAM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_TRAM_INSTANCE_H_
+#define _SAML10_TRAM_INSTANCE_H_
+
+/* ========== Register definition for TRAM peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_TRAM_CTRLA          (0x42003400) /**< (TRAM) Control */
+#define REG_TRAM_INTENCLR       (0x42003404) /**< (TRAM) Interrupt Enable Clear */
+#define REG_TRAM_INTENSET       (0x42003405) /**< (TRAM) Interrupt Enable Set */
+#define REG_TRAM_INTFLAG        (0x42003406) /**< (TRAM) Interrupt Flag Status and Clear */
+#define REG_TRAM_STATUS         (0x42003407) /**< (TRAM) Status */
+#define REG_TRAM_SYNCBUSY       (0x42003408) /**< (TRAM) Synchronization Busy Status */
+#define REG_TRAM_DSCC           (0x4200340C) /**< (TRAM) Data Scramble Control */
+#define REG_TRAM_PERMW          (0x42003410) /**< (TRAM) Permutation Write */
+#define REG_TRAM_PERMR          (0x42003411) /**< (TRAM) Permutation Read */
+#define REG_TRAM_RAM            (0x42003500) /**< (TRAM) TrustRAM */
+#define REG_TRAM_RAM0           (0x42003500) /**< (TRAM) TrustRAM 0 */
+#define REG_TRAM_RAM1           (0x42003504) /**< (TRAM) TrustRAM 1 */
+#define REG_TRAM_RAM2           (0x42003508) /**< (TRAM) TrustRAM 2 */
+#define REG_TRAM_RAM3           (0x4200350C) /**< (TRAM) TrustRAM 3 */
+#define REG_TRAM_RAM4           (0x42003510) /**< (TRAM) TrustRAM 4 */
+#define REG_TRAM_RAM5           (0x42003514) /**< (TRAM) TrustRAM 5 */
+#define REG_TRAM_RAM6           (0x42003518) /**< (TRAM) TrustRAM 6 */
+#define REG_TRAM_RAM7           (0x4200351C) /**< (TRAM) TrustRAM 7 */
+#define REG_TRAM_RAM8           (0x42003520) /**< (TRAM) TrustRAM 8 */
+#define REG_TRAM_RAM9           (0x42003524) /**< (TRAM) TrustRAM 9 */
+#define REG_TRAM_RAM10          (0x42003528) /**< (TRAM) TrustRAM 10 */
+#define REG_TRAM_RAM11          (0x4200352C) /**< (TRAM) TrustRAM 11 */
+#define REG_TRAM_RAM12          (0x42003530) /**< (TRAM) TrustRAM 12 */
+#define REG_TRAM_RAM13          (0x42003534) /**< (TRAM) TrustRAM 13 */
+#define REG_TRAM_RAM14          (0x42003538) /**< (TRAM) TrustRAM 14 */
+#define REG_TRAM_RAM15          (0x4200353C) /**< (TRAM) TrustRAM 15 */
+#define REG_TRAM_RAM16          (0x42003540) /**< (TRAM) TrustRAM 16 */
+#define REG_TRAM_RAM17          (0x42003544) /**< (TRAM) TrustRAM 17 */
+#define REG_TRAM_RAM18          (0x42003548) /**< (TRAM) TrustRAM 18 */
+#define REG_TRAM_RAM19          (0x4200354C) /**< (TRAM) TrustRAM 19 */
+#define REG_TRAM_RAM20          (0x42003550) /**< (TRAM) TrustRAM 20 */
+#define REG_TRAM_RAM21          (0x42003554) /**< (TRAM) TrustRAM 21 */
+#define REG_TRAM_RAM22          (0x42003558) /**< (TRAM) TrustRAM 22 */
+#define REG_TRAM_RAM23          (0x4200355C) /**< (TRAM) TrustRAM 23 */
+#define REG_TRAM_RAM24          (0x42003560) /**< (TRAM) TrustRAM 24 */
+#define REG_TRAM_RAM25          (0x42003564) /**< (TRAM) TrustRAM 25 */
+#define REG_TRAM_RAM26          (0x42003568) /**< (TRAM) TrustRAM 26 */
+#define REG_TRAM_RAM27          (0x4200356C) /**< (TRAM) TrustRAM 27 */
+#define REG_TRAM_RAM28          (0x42003570) /**< (TRAM) TrustRAM 28 */
+#define REG_TRAM_RAM29          (0x42003574) /**< (TRAM) TrustRAM 29 */
+#define REG_TRAM_RAM30          (0x42003578) /**< (TRAM) TrustRAM 30 */
+#define REG_TRAM_RAM31          (0x4200357C) /**< (TRAM) TrustRAM 31 */
+#define REG_TRAM_RAM32          (0x42003580) /**< (TRAM) TrustRAM 32 */
+#define REG_TRAM_RAM33          (0x42003584) /**< (TRAM) TrustRAM 33 */
+#define REG_TRAM_RAM34          (0x42003588) /**< (TRAM) TrustRAM 34 */
+#define REG_TRAM_RAM35          (0x4200358C) /**< (TRAM) TrustRAM 35 */
+#define REG_TRAM_RAM36          (0x42003590) /**< (TRAM) TrustRAM 36 */
+#define REG_TRAM_RAM37          (0x42003594) /**< (TRAM) TrustRAM 37 */
+#define REG_TRAM_RAM38          (0x42003598) /**< (TRAM) TrustRAM 38 */
+#define REG_TRAM_RAM39          (0x4200359C) /**< (TRAM) TrustRAM 39 */
+#define REG_TRAM_RAM40          (0x420035A0) /**< (TRAM) TrustRAM 40 */
+#define REG_TRAM_RAM41          (0x420035A4) /**< (TRAM) TrustRAM 41 */
+#define REG_TRAM_RAM42          (0x420035A8) /**< (TRAM) TrustRAM 42 */
+#define REG_TRAM_RAM43          (0x420035AC) /**< (TRAM) TrustRAM 43 */
+#define REG_TRAM_RAM44          (0x420035B0) /**< (TRAM) TrustRAM 44 */
+#define REG_TRAM_RAM45          (0x420035B4) /**< (TRAM) TrustRAM 45 */
+#define REG_TRAM_RAM46          (0x420035B8) /**< (TRAM) TrustRAM 46 */
+#define REG_TRAM_RAM47          (0x420035BC) /**< (TRAM) TrustRAM 47 */
+#define REG_TRAM_RAM48          (0x420035C0) /**< (TRAM) TrustRAM 48 */
+#define REG_TRAM_RAM49          (0x420035C4) /**< (TRAM) TrustRAM 49 */
+#define REG_TRAM_RAM50          (0x420035C8) /**< (TRAM) TrustRAM 50 */
+#define REG_TRAM_RAM51          (0x420035CC) /**< (TRAM) TrustRAM 51 */
+#define REG_TRAM_RAM52          (0x420035D0) /**< (TRAM) TrustRAM 52 */
+#define REG_TRAM_RAM53          (0x420035D4) /**< (TRAM) TrustRAM 53 */
+#define REG_TRAM_RAM54          (0x420035D8) /**< (TRAM) TrustRAM 54 */
+#define REG_TRAM_RAM55          (0x420035DC) /**< (TRAM) TrustRAM 55 */
+#define REG_TRAM_RAM56          (0x420035E0) /**< (TRAM) TrustRAM 56 */
+#define REG_TRAM_RAM57          (0x420035E4) /**< (TRAM) TrustRAM 57 */
+#define REG_TRAM_RAM58          (0x420035E8) /**< (TRAM) TrustRAM 58 */
+#define REG_TRAM_RAM59          (0x420035EC) /**< (TRAM) TrustRAM 59 */
+#define REG_TRAM_RAM60          (0x420035F0) /**< (TRAM) TrustRAM 60 */
+#define REG_TRAM_RAM61          (0x420035F4) /**< (TRAM) TrustRAM 61 */
+#define REG_TRAM_RAM62          (0x420035F8) /**< (TRAM) TrustRAM 62 */
+#define REG_TRAM_RAM63          (0x420035FC) /**< (TRAM) TrustRAM 63 */
+
+#else
+
+#define REG_TRAM_CTRLA          (*(__IO uint8_t*)0x42003400U) /**< (TRAM) Control */
+#define REG_TRAM_INTENCLR       (*(__IO uint8_t*)0x42003404U) /**< (TRAM) Interrupt Enable Clear */
+#define REG_TRAM_INTENSET       (*(__IO uint8_t*)0x42003405U) /**< (TRAM) Interrupt Enable Set */
+#define REG_TRAM_INTFLAG        (*(__IO uint8_t*)0x42003406U) /**< (TRAM) Interrupt Flag Status and Clear */
+#define REG_TRAM_STATUS         (*(__I  uint8_t*)0x42003407U) /**< (TRAM) Status */
+#define REG_TRAM_SYNCBUSY       (*(__I  uint32_t*)0x42003408U) /**< (TRAM) Synchronization Busy Status */
+#define REG_TRAM_DSCC           (*(__O  uint32_t*)0x4200340CU) /**< (TRAM) Data Scramble Control */
+#define REG_TRAM_PERMW          (*(__O  uint8_t*)0x42003410U) /**< (TRAM) Permutation Write */
+#define REG_TRAM_PERMR          (*(__I  uint8_t*)0x42003411U) /**< (TRAM) Permutation Read */
+#define REG_TRAM_RAM            (*(__IO uint32_t*)0x42003500U) /**< (TRAM) TrustRAM */
+#define REG_TRAM_RAM0           (*(__IO uint32_t*)0x42003500U) /**< (TRAM) TrustRAM 0 */
+#define REG_TRAM_RAM1           (*(__IO uint32_t*)0x42003504U) /**< (TRAM) TrustRAM 1 */
+#define REG_TRAM_RAM2           (*(__IO uint32_t*)0x42003508U) /**< (TRAM) TrustRAM 2 */
+#define REG_TRAM_RAM3           (*(__IO uint32_t*)0x4200350CU) /**< (TRAM) TrustRAM 3 */
+#define REG_TRAM_RAM4           (*(__IO uint32_t*)0x42003510U) /**< (TRAM) TrustRAM 4 */
+#define REG_TRAM_RAM5           (*(__IO uint32_t*)0x42003514U) /**< (TRAM) TrustRAM 5 */
+#define REG_TRAM_RAM6           (*(__IO uint32_t*)0x42003518U) /**< (TRAM) TrustRAM 6 */
+#define REG_TRAM_RAM7           (*(__IO uint32_t*)0x4200351CU) /**< (TRAM) TrustRAM 7 */
+#define REG_TRAM_RAM8           (*(__IO uint32_t*)0x42003520U) /**< (TRAM) TrustRAM 8 */
+#define REG_TRAM_RAM9           (*(__IO uint32_t*)0x42003524U) /**< (TRAM) TrustRAM 9 */
+#define REG_TRAM_RAM10          (*(__IO uint32_t*)0x42003528U) /**< (TRAM) TrustRAM 10 */
+#define REG_TRAM_RAM11          (*(__IO uint32_t*)0x4200352CU) /**< (TRAM) TrustRAM 11 */
+#define REG_TRAM_RAM12          (*(__IO uint32_t*)0x42003530U) /**< (TRAM) TrustRAM 12 */
+#define REG_TRAM_RAM13          (*(__IO uint32_t*)0x42003534U) /**< (TRAM) TrustRAM 13 */
+#define REG_TRAM_RAM14          (*(__IO uint32_t*)0x42003538U) /**< (TRAM) TrustRAM 14 */
+#define REG_TRAM_RAM15          (*(__IO uint32_t*)0x4200353CU) /**< (TRAM) TrustRAM 15 */
+#define REG_TRAM_RAM16          (*(__IO uint32_t*)0x42003540U) /**< (TRAM) TrustRAM 16 */
+#define REG_TRAM_RAM17          (*(__IO uint32_t*)0x42003544U) /**< (TRAM) TrustRAM 17 */
+#define REG_TRAM_RAM18          (*(__IO uint32_t*)0x42003548U) /**< (TRAM) TrustRAM 18 */
+#define REG_TRAM_RAM19          (*(__IO uint32_t*)0x4200354CU) /**< (TRAM) TrustRAM 19 */
+#define REG_TRAM_RAM20          (*(__IO uint32_t*)0x42003550U) /**< (TRAM) TrustRAM 20 */
+#define REG_TRAM_RAM21          (*(__IO uint32_t*)0x42003554U) /**< (TRAM) TrustRAM 21 */
+#define REG_TRAM_RAM22          (*(__IO uint32_t*)0x42003558U) /**< (TRAM) TrustRAM 22 */
+#define REG_TRAM_RAM23          (*(__IO uint32_t*)0x4200355CU) /**< (TRAM) TrustRAM 23 */
+#define REG_TRAM_RAM24          (*(__IO uint32_t*)0x42003560U) /**< (TRAM) TrustRAM 24 */
+#define REG_TRAM_RAM25          (*(__IO uint32_t*)0x42003564U) /**< (TRAM) TrustRAM 25 */
+#define REG_TRAM_RAM26          (*(__IO uint32_t*)0x42003568U) /**< (TRAM) TrustRAM 26 */
+#define REG_TRAM_RAM27          (*(__IO uint32_t*)0x4200356CU) /**< (TRAM) TrustRAM 27 */
+#define REG_TRAM_RAM28          (*(__IO uint32_t*)0x42003570U) /**< (TRAM) TrustRAM 28 */
+#define REG_TRAM_RAM29          (*(__IO uint32_t*)0x42003574U) /**< (TRAM) TrustRAM 29 */
+#define REG_TRAM_RAM30          (*(__IO uint32_t*)0x42003578U) /**< (TRAM) TrustRAM 30 */
+#define REG_TRAM_RAM31          (*(__IO uint32_t*)0x4200357CU) /**< (TRAM) TrustRAM 31 */
+#define REG_TRAM_RAM32          (*(__IO uint32_t*)0x42003580U) /**< (TRAM) TrustRAM 32 */
+#define REG_TRAM_RAM33          (*(__IO uint32_t*)0x42003584U) /**< (TRAM) TrustRAM 33 */
+#define REG_TRAM_RAM34          (*(__IO uint32_t*)0x42003588U) /**< (TRAM) TrustRAM 34 */
+#define REG_TRAM_RAM35          (*(__IO uint32_t*)0x4200358CU) /**< (TRAM) TrustRAM 35 */
+#define REG_TRAM_RAM36          (*(__IO uint32_t*)0x42003590U) /**< (TRAM) TrustRAM 36 */
+#define REG_TRAM_RAM37          (*(__IO uint32_t*)0x42003594U) /**< (TRAM) TrustRAM 37 */
+#define REG_TRAM_RAM38          (*(__IO uint32_t*)0x42003598U) /**< (TRAM) TrustRAM 38 */
+#define REG_TRAM_RAM39          (*(__IO uint32_t*)0x4200359CU) /**< (TRAM) TrustRAM 39 */
+#define REG_TRAM_RAM40          (*(__IO uint32_t*)0x420035A0U) /**< (TRAM) TrustRAM 40 */
+#define REG_TRAM_RAM41          (*(__IO uint32_t*)0x420035A4U) /**< (TRAM) TrustRAM 41 */
+#define REG_TRAM_RAM42          (*(__IO uint32_t*)0x420035A8U) /**< (TRAM) TrustRAM 42 */
+#define REG_TRAM_RAM43          (*(__IO uint32_t*)0x420035ACU) /**< (TRAM) TrustRAM 43 */
+#define REG_TRAM_RAM44          (*(__IO uint32_t*)0x420035B0U) /**< (TRAM) TrustRAM 44 */
+#define REG_TRAM_RAM45          (*(__IO uint32_t*)0x420035B4U) /**< (TRAM) TrustRAM 45 */
+#define REG_TRAM_RAM46          (*(__IO uint32_t*)0x420035B8U) /**< (TRAM) TrustRAM 46 */
+#define REG_TRAM_RAM47          (*(__IO uint32_t*)0x420035BCU) /**< (TRAM) TrustRAM 47 */
+#define REG_TRAM_RAM48          (*(__IO uint32_t*)0x420035C0U) /**< (TRAM) TrustRAM 48 */
+#define REG_TRAM_RAM49          (*(__IO uint32_t*)0x420035C4U) /**< (TRAM) TrustRAM 49 */
+#define REG_TRAM_RAM50          (*(__IO uint32_t*)0x420035C8U) /**< (TRAM) TrustRAM 50 */
+#define REG_TRAM_RAM51          (*(__IO uint32_t*)0x420035CCU) /**< (TRAM) TrustRAM 51 */
+#define REG_TRAM_RAM52          (*(__IO uint32_t*)0x420035D0U) /**< (TRAM) TrustRAM 52 */
+#define REG_TRAM_RAM53          (*(__IO uint32_t*)0x420035D4U) /**< (TRAM) TrustRAM 53 */
+#define REG_TRAM_RAM54          (*(__IO uint32_t*)0x420035D8U) /**< (TRAM) TrustRAM 54 */
+#define REG_TRAM_RAM55          (*(__IO uint32_t*)0x420035DCU) /**< (TRAM) TrustRAM 55 */
+#define REG_TRAM_RAM56          (*(__IO uint32_t*)0x420035E0U) /**< (TRAM) TrustRAM 56 */
+#define REG_TRAM_RAM57          (*(__IO uint32_t*)0x420035E4U) /**< (TRAM) TrustRAM 57 */
+#define REG_TRAM_RAM58          (*(__IO uint32_t*)0x420035E8U) /**< (TRAM) TrustRAM 58 */
+#define REG_TRAM_RAM59          (*(__IO uint32_t*)0x420035ECU) /**< (TRAM) TrustRAM 59 */
+#define REG_TRAM_RAM60          (*(__IO uint32_t*)0x420035F0U) /**< (TRAM) TrustRAM 60 */
+#define REG_TRAM_RAM61          (*(__IO uint32_t*)0x420035F4U) /**< (TRAM) TrustRAM 61 */
+#define REG_TRAM_RAM62          (*(__IO uint32_t*)0x420035F8U) /**< (TRAM) TrustRAM 62 */
+#define REG_TRAM_RAM63          (*(__IO uint32_t*)0x420035FCU) /**< (TRAM) TrustRAM 63 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for TRAM peripheral ========== */
+#define TRAM_INSTANCE_ID                         77         
+
+#endif /* _SAML10_TRAM_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/trng.h b/cpu/sam0_common/include/vendor/saml10/include/instance/trng.h
new file mode 100644
index 0000000000..09cb4c1374
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/trng.h
@@ -0,0 +1,58 @@
+/**
+ * \file
+ *
+ * \brief Instance description for TRNG
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_TRNG_INSTANCE_H_
+#define _SAML10_TRNG_INSTANCE_H_
+
+/* ========== Register definition for TRNG peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_TRNG_CTRLA          (0x42002800) /**< (TRNG) Control A */
+#define REG_TRNG_EVCTRL         (0x42002804) /**< (TRNG) Event Control */
+#define REG_TRNG_INTENCLR       (0x42002808) /**< (TRNG) Interrupt Enable Clear */
+#define REG_TRNG_INTENSET       (0x42002809) /**< (TRNG) Interrupt Enable Set */
+#define REG_TRNG_INTFLAG        (0x4200280A) /**< (TRNG) Interrupt Flag Status and Clear */
+#define REG_TRNG_DATA           (0x42002820) /**< (TRNG) Output Data */
+
+#else
+
+#define REG_TRNG_CTRLA          (*(__IO uint8_t*)0x42002800U) /**< (TRNG) Control A */
+#define REG_TRNG_EVCTRL         (*(__IO uint8_t*)0x42002804U) /**< (TRNG) Event Control */
+#define REG_TRNG_INTENCLR       (*(__IO uint8_t*)0x42002808U) /**< (TRNG) Interrupt Enable Clear */
+#define REG_TRNG_INTENSET       (*(__IO uint8_t*)0x42002809U) /**< (TRNG) Interrupt Enable Set */
+#define REG_TRNG_INTFLAG        (*(__IO uint8_t*)0x4200280AU) /**< (TRNG) Interrupt Flag Status and Clear */
+#define REG_TRNG_DATA           (*(__I  uint32_t*)0x42002820U) /**< (TRNG) Output Data */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for TRNG peripheral ========== */
+#define TRNG_INSTANCE_ID                         74         
+
+#endif /* _SAML10_TRNG_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/instance/wdt.h b/cpu/sam0_common/include/vendor/saml10/include/instance/wdt.h
new file mode 100644
index 0000000000..0b35aaaa21
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/instance/wdt.h
@@ -0,0 +1,62 @@
+/**
+ * \file
+ *
+ * \brief Instance description for WDT
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10_WDT_INSTANCE_H_
+#define _SAML10_WDT_INSTANCE_H_
+
+/* ========== Register definition for WDT peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_WDT_CTRLA           (0x40002000) /**< (WDT) Control */
+#define REG_WDT_CONFIG          (0x40002001) /**< (WDT) Configuration */
+#define REG_WDT_EWCTRL          (0x40002002) /**< (WDT) Early Warning Interrupt Control */
+#define REG_WDT_INTENCLR        (0x40002004) /**< (WDT) Interrupt Enable Clear */
+#define REG_WDT_INTENSET        (0x40002005) /**< (WDT) Interrupt Enable Set */
+#define REG_WDT_INTFLAG         (0x40002006) /**< (WDT) Interrupt Flag Status and Clear */
+#define REG_WDT_SYNCBUSY        (0x40002008) /**< (WDT) Synchronization Busy */
+#define REG_WDT_CLEAR           (0x4000200C) /**< (WDT) Clear */
+
+#else
+
+#define REG_WDT_CTRLA           (*(__IO uint8_t*)0x40002000U) /**< (WDT) Control */
+#define REG_WDT_CONFIG          (*(__IO uint8_t*)0x40002001U) /**< (WDT) Configuration */
+#define REG_WDT_EWCTRL          (*(__IO uint8_t*)0x40002002U) /**< (WDT) Early Warning Interrupt Control */
+#define REG_WDT_INTENCLR        (*(__IO uint8_t*)0x40002004U) /**< (WDT) Interrupt Enable Clear */
+#define REG_WDT_INTENSET        (*(__IO uint8_t*)0x40002005U) /**< (WDT) Interrupt Enable Set */
+#define REG_WDT_INTFLAG         (*(__IO uint8_t*)0x40002006U) /**< (WDT) Interrupt Flag Status and Clear */
+#define REG_WDT_SYNCBUSY        (*(__I  uint32_t*)0x40002008U) /**< (WDT) Synchronization Busy */
+#define REG_WDT_CLEAR           (*(__O  uint8_t*)0x4000200CU) /**< (WDT) Clear */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for WDT peripheral ========== */
+#define WDT_INSTANCE_ID                          8          
+
+#endif /* _SAML10_WDT_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/pio/saml10d14a.h b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10d14a.h
new file mode 100644
index 0000000000..7f47feaec5
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10d14a.h
@@ -0,0 +1,834 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML10D14A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:49Z */
+#ifndef _SAML10D14A_PIO_H_
+#define _SAML10D14A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML10D14A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/pio/saml10d15a.h b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10d15a.h
new file mode 100644
index 0000000000..bfd51b2d2d
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10d15a.h
@@ -0,0 +1,834 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML10D15A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10D15A_PIO_H_
+#define _SAML10D15A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML10D15A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/pio/saml10d16a.h b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10d16a.h
new file mode 100644
index 0000000000..2565782cd2
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10d16a.h
@@ -0,0 +1,834 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML10D16A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10D16A_PIO_H_
+#define _SAML10D16A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML10D16A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/pio/saml10e14a.h b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10e14a.h
new file mode 100644
index 0000000000..76c607771e
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10e14a.h
@@ -0,0 +1,1167 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML10E14A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10E14A_PIO_H_
+#define _SAML10E14A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA06                    (  6)  /**< Pin Number for PA06 */
+#define PIN_PA07                    (  7)  /**< Pin Number for PA07 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA09                    (  9)  /**< Pin Number for PA09 */
+#define PIN_PA10                    ( 10)  /**< Pin Number for PA10 */
+#define PIN_PA11                    ( 11)  /**< Pin Number for PA11 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA24                    ( 24)  /**< Pin Number for PA24 */
+#define PIN_PA25                    ( 25)  /**< Pin Number for PA25 */
+#define PIN_PA27                    ( 27)  /**< Pin Number for PA27 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA06                   (_U_(1) << 6) /**< PORT Mask for PA06 */
+#define PORT_PA07                   (_U_(1) << 7) /**< PORT Mask for PA07 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA09                   (_U_(1) << 9) /**< PORT Mask for PA09 */
+#define PORT_PA10                   (_U_(1) << 10) /**< PORT Mask for PA10 */
+#define PORT_PA11                   (_U_(1) << 11) /**< PORT Mask for PA11 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA24                   (_U_(1) << 24) /**< PORT Mask for PA24 */
+#define PORT_PA25                   (_U_(1) << 25) /**< PORT Mask for PA25 */
+#define PORT_PA27                   (_U_(1) << 27) /**< PORT Mask for PA27 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA06_IDX               (  6)  /**< PORT Index Number for PA06 */
+#define PORT_PA07_IDX               (  7)  /**< PORT Index Number for PA07 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA09_IDX               (  9)  /**< PORT Index Number for PA09 */
+#define PORT_PA10_IDX               ( 10)  /**< PORT Index Number for PA10 */
+#define PORT_PA11_IDX               ( 11)  /**< PORT Index Number for PA11 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA24_IDX               ( 24)  /**< PORT Index Number for PA24 */
+#define PORT_PA25_IDX               ( 25)  /**< PORT Index Number for PA25 */
+#define PORT_PA27_IDX               ( 27)  /**< PORT Index Number for PA27 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA06B_ADC_AIN4                         _L_(6)       /**< ADC signal: AIN4 on PA06 mux B*/
+#define MUX_PA06B_ADC_AIN4                         _L_(1)      
+#define PINMUX_PA06B_ADC_AIN4                      ((PIN_PA06B_ADC_AIN4 << 16) | MUX_PA06B_ADC_AIN4)
+#define PORT_PA06B_ADC_AIN4                        (_UL_(1) << 6)
+
+#define PIN_PA07B_ADC_AIN5                         _L_(7)       /**< ADC signal: AIN5 on PA07 mux B*/
+#define MUX_PA07B_ADC_AIN5                         _L_(1)      
+#define PINMUX_PA07B_ADC_AIN5                      ((PIN_PA07B_ADC_AIN5 << 16) | MUX_PA07B_ADC_AIN5)
+#define PORT_PA07B_ADC_AIN5                        (_UL_(1) << 7)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA09B_ADC_AIN7                         _L_(9)       /**< ADC signal: AIN7 on PA09 mux B*/
+#define MUX_PA09B_ADC_AIN7                         _L_(1)      
+#define PINMUX_PA09B_ADC_AIN7                      ((PIN_PA09B_ADC_AIN7 << 16) | MUX_PA09B_ADC_AIN7)
+#define PORT_PA09B_ADC_AIN7                        (_UL_(1) << 9)
+
+#define PIN_PA10B_ADC_AIN8                         _L_(10)      /**< ADC signal: AIN8 on PA10 mux B*/
+#define MUX_PA10B_ADC_AIN8                         _L_(1)      
+#define PINMUX_PA10B_ADC_AIN8                      ((PIN_PA10B_ADC_AIN8 << 16) | MUX_PA10B_ADC_AIN8)
+#define PORT_PA10B_ADC_AIN8                        (_UL_(1) << 10)
+
+#define PIN_PA11B_ADC_AIN9                         _L_(11)      /**< ADC signal: AIN9 on PA11 mux B*/
+#define MUX_PA11B_ADC_AIN9                         _L_(1)      
+#define PINMUX_PA11B_ADC_AIN9                      ((PIN_PA11B_ADC_AIN9 << 16) | MUX_PA11B_ADC_AIN9)
+#define PORT_PA11B_ADC_AIN9                        (_UL_(1) << 11)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA06I_CCL_IN2                          _L_(6)       /**< CCL signal: IN2 on PA06 mux I*/
+#define MUX_PA06I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA06I_CCL_IN2                       ((PIN_PA06I_CCL_IN2 << 16) | MUX_PA06I_CCL_IN2)
+#define PORT_PA06I_CCL_IN2                         (_UL_(1) << 6)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA09I_CCL_IN4                          _L_(9)       /**< CCL signal: IN4 on PA09 mux I*/
+#define MUX_PA09I_CCL_IN4                          _L_(8)      
+#define PINMUX_PA09I_CCL_IN4                       ((PIN_PA09I_CCL_IN4 << 16) | MUX_PA09I_CCL_IN4)
+#define PORT_PA09I_CCL_IN4                         (_UL_(1) << 9)
+
+#define PIN_PA10I_CCL_IN5                          _L_(10)      /**< CCL signal: IN5 on PA10 mux I*/
+#define MUX_PA10I_CCL_IN5                          _L_(8)      
+#define PINMUX_PA10I_CCL_IN5                       ((PIN_PA10I_CCL_IN5 << 16) | MUX_PA10I_CCL_IN5)
+#define PORT_PA10I_CCL_IN5                         (_UL_(1) << 10)
+
+#define PIN_PA07I_CCL_OUT0                         _L_(7)       /**< CCL signal: OUT0 on PA07 mux I*/
+#define MUX_PA07I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA07I_CCL_OUT0                      ((PIN_PA07I_CCL_OUT0 << 16) | MUX_PA07I_CCL_OUT0)
+#define PORT_PA07I_CCL_OUT0                        (_UL_(1) << 7)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA11I_CCL_OUT1                         _L_(11)      /**< CCL signal: OUT1 on PA11 mux I*/
+#define MUX_PA11I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA11I_CCL_OUT1                      ((PIN_PA11I_CCL_OUT1 << 16) | MUX_PA11I_CCL_OUT1)
+#define PORT_PA11I_CCL_OUT1                        (_UL_(1) << 11)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA09A_EIC_EXTINT0                      _L_(9)       /**< EIC signal: EXTINT0 on PA09 mux A*/
+#define MUX_PA09A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA09A_EIC_EXTINT0                   ((PIN_PA09A_EIC_EXTINT0 << 16) | MUX_PA09A_EIC_EXTINT0)
+#define PORT_PA09A_EIC_EXTINT0                     (_UL_(1) << 9)
+#define PIN_PA09A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA09 External Interrupt Line */
+
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA10A_EIC_EXTINT1                      _L_(10)      /**< EIC signal: EXTINT1 on PA10 mux A*/
+#define MUX_PA10A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA10A_EIC_EXTINT1                   ((PIN_PA10A_EIC_EXTINT1 << 16) | MUX_PA10A_EIC_EXTINT1)
+#define PORT_PA10A_EIC_EXTINT1                     (_UL_(1) << 10)
+#define PIN_PA10A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA10 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA11A_EIC_EXTINT2                      _L_(11)      /**< EIC signal: EXTINT2 on PA11 mux A*/
+#define MUX_PA11A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA11A_EIC_EXTINT2                   ((PIN_PA11A_EIC_EXTINT2 << 16) | MUX_PA11A_EIC_EXTINT2)
+#define PORT_PA11A_EIC_EXTINT2                     (_UL_(1) << 11)
+#define PIN_PA11A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA11 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA24A_EIC_EXTINT3                      _L_(24)      /**< EIC signal: EXTINT3 on PA24 mux A*/
+#define MUX_PA24A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA24A_EIC_EXTINT3                   ((PIN_PA24A_EIC_EXTINT3 << 16) | MUX_PA24A_EIC_EXTINT3)
+#define PORT_PA24A_EIC_EXTINT3                     (_UL_(1) << 24)
+#define PIN_PA24A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA24 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA25A_EIC_EXTINT4                      _L_(25)      /**< EIC signal: EXTINT4 on PA25 mux A*/
+#define MUX_PA25A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA25A_EIC_EXTINT4                   ((PIN_PA25A_EIC_EXTINT4 << 16) | MUX_PA25A_EIC_EXTINT4)
+#define PORT_PA25A_EIC_EXTINT4                     (_UL_(1) << 25)
+#define PIN_PA25A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA25 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA27A_EIC_EXTINT5                      _L_(27)      /**< EIC signal: EXTINT5 on PA27 mux A*/
+#define MUX_PA27A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA27A_EIC_EXTINT5                   ((PIN_PA27A_EIC_EXTINT5 << 16) | MUX_PA27A_EIC_EXTINT5)
+#define PORT_PA27A_EIC_EXTINT5                     (_UL_(1) << 27)
+#define PIN_PA27A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA27 External Interrupt Line */
+
+#define PIN_PA06A_EIC_EXTINT6                      _L_(6)       /**< 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)       /**< EIC signal: PIN_PA06 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA07A_EIC_EXTINT7                      _L_(7)       /**< 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)       /**< EIC signal: PIN_PA07 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA27H_GCLK_IO0                         _L_(27)      /**< GCLK signal: IO0 on PA27 mux H*/
+#define MUX_PA27H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA27H_GCLK_IO0                      ((PIN_PA27H_GCLK_IO0 << 16) | MUX_PA27H_GCLK_IO0)
+#define PORT_PA27H_GCLK_IO0                        (_UL_(1) << 27)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA11H_GCLK_IO3                         _L_(11)      /**< GCLK signal: IO3 on PA11 mux H*/
+#define MUX_PA11H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA11H_GCLK_IO3                      ((PIN_PA11H_GCLK_IO3 << 16) | MUX_PA11H_GCLK_IO3)
+#define PORT_PA11H_GCLK_IO3                        (_UL_(1) << 11)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+#define PIN_PA10H_GCLK_IO4                         _L_(10)      /**< GCLK signal: IO4 on PA10 mux H*/
+#define MUX_PA10H_GCLK_IO4                         _L_(7)      
+#define PINMUX_PA10H_GCLK_IO4                      ((PIN_PA10H_GCLK_IO4 << 16) | MUX_PA10H_GCLK_IO4)
+#define PORT_PA10H_GCLK_IO4                        (_UL_(1) << 10)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA07B_OPAMP_OAOUT0                     _L_(7)       /**< OPAMP signal: OAOUT0 on PA07 mux B*/
+#define MUX_PA07B_OPAMP_OAOUT0                     _L_(1)      
+#define PINMUX_PA07B_OPAMP_OAOUT0                  ((PIN_PA07B_OPAMP_OAOUT0 << 16) | MUX_PA07B_OPAMP_OAOUT0)
+#define PORT_PA07B_OPAMP_OAOUT0                    (_UL_(1) << 7)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA06B_OPAMP_OAPOS0                     _L_(6)       /**< OPAMP signal: OAPOS0 on PA06 mux B*/
+#define MUX_PA06B_OPAMP_OAPOS0                     _L_(1)      
+#define PINMUX_PA06B_OPAMP_OAPOS0                  ((PIN_PA06B_OPAMP_OAPOS0 << 16) | MUX_PA06B_OPAMP_OAPOS0)
+#define PORT_PA06B_OPAMP_OAPOS0                    (_UL_(1) << 6)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA06F_PTC_DRV5                         _L_(6)       /**< PTC signal: DRV5 on PA06 mux F*/
+#define MUX_PA06F_PTC_DRV5                         _L_(5)      
+#define PINMUX_PA06F_PTC_DRV5                      ((PIN_PA06F_PTC_DRV5 << 16) | MUX_PA06F_PTC_DRV5)
+#define PORT_PA06F_PTC_DRV5                        (_UL_(1) << 6)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA09F_PTC_DRV7                         _L_(9)       /**< PTC signal: DRV7 on PA09 mux F*/
+#define MUX_PA09F_PTC_DRV7                         _L_(5)      
+#define PINMUX_PA09F_PTC_DRV7                      ((PIN_PA09F_PTC_DRV7 << 16) | MUX_PA09F_PTC_DRV7)
+#define PORT_PA09F_PTC_DRV7                        (_UL_(1) << 9)
+
+#define PIN_PA10F_PTC_DRV8                         _L_(10)      /**< PTC signal: DRV8 on PA10 mux F*/
+#define MUX_PA10F_PTC_DRV8                         _L_(5)      
+#define PINMUX_PA10F_PTC_DRV8                      ((PIN_PA10F_PTC_DRV8 << 16) | MUX_PA10F_PTC_DRV8)
+#define PORT_PA10F_PTC_DRV8                        (_UL_(1) << 10)
+
+#define PIN_PA11F_PTC_DRV9                         _L_(11)      /**< PTC signal: DRV9 on PA11 mux F*/
+#define MUX_PA11F_PTC_DRV9                         _L_(5)      
+#define PINMUX_PA11F_PTC_DRV9                      ((PIN_PA11F_PTC_DRV9 << 16) | MUX_PA11F_PTC_DRV9)
+#define PORT_PA11F_PTC_DRV9                        (_UL_(1) << 11)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_ECI3                         _L_(6)       /**< PTC signal: ECI3 on PA06 mux B*/
+#define MUX_PA06B_PTC_ECI3                         _L_(1)      
+#define PINMUX_PA06B_PTC_ECI3                      ((PIN_PA06B_PTC_ECI3 << 16) | MUX_PA06B_PTC_ECI3)
+#define PORT_PA06B_PTC_ECI3                        (_UL_(1) << 6)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_X5                           _L_(6)       /**< PTC signal: X5 on PA06 mux B*/
+#define MUX_PA06B_PTC_X5                           _L_(1)      
+#define PINMUX_PA06B_PTC_X5                        ((PIN_PA06B_PTC_X5 << 16) | MUX_PA06B_PTC_X5)
+#define PORT_PA06B_PTC_X5                          (_UL_(1) << 6)
+
+#define PIN_PA06B_PTC_Y5                           _L_(6)       /**< PTC signal: Y5 on PA06 mux B*/
+#define MUX_PA06B_PTC_Y5                           _L_(1)      
+#define PINMUX_PA06B_PTC_Y5                        ((PIN_PA06B_PTC_Y5 << 16) | MUX_PA06B_PTC_Y5)
+#define PORT_PA06B_PTC_Y5                          (_UL_(1) << 6)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA09B_PTC_X7                           _L_(9)       /**< PTC signal: X7 on PA09 mux B*/
+#define MUX_PA09B_PTC_X7                           _L_(1)      
+#define PINMUX_PA09B_PTC_X7                        ((PIN_PA09B_PTC_X7 << 16) | MUX_PA09B_PTC_X7)
+#define PORT_PA09B_PTC_X7                          (_UL_(1) << 9)
+
+#define PIN_PA09B_PTC_Y7                           _L_(9)       /**< PTC signal: Y7 on PA09 mux B*/
+#define MUX_PA09B_PTC_Y7                           _L_(1)      
+#define PINMUX_PA09B_PTC_Y7                        ((PIN_PA09B_PTC_Y7 << 16) | MUX_PA09B_PTC_Y7)
+#define PORT_PA09B_PTC_Y7                          (_UL_(1) << 9)
+
+#define PIN_PA10B_PTC_X8                           _L_(10)      /**< PTC signal: X8 on PA10 mux B*/
+#define MUX_PA10B_PTC_X8                           _L_(1)      
+#define PINMUX_PA10B_PTC_X8                        ((PIN_PA10B_PTC_X8 << 16) | MUX_PA10B_PTC_X8)
+#define PORT_PA10B_PTC_X8                          (_UL_(1) << 10)
+
+#define PIN_PA10B_PTC_Y8                           _L_(10)      /**< PTC signal: Y8 on PA10 mux B*/
+#define MUX_PA10B_PTC_Y8                           _L_(1)      
+#define PINMUX_PA10B_PTC_Y8                        ((PIN_PA10B_PTC_Y8 << 16) | MUX_PA10B_PTC_Y8)
+#define PORT_PA10B_PTC_Y8                          (_UL_(1) << 10)
+
+#define PIN_PA11B_PTC_X9                           _L_(11)      /**< PTC signal: X9 on PA11 mux B*/
+#define MUX_PA11B_PTC_X9                           _L_(1)      
+#define PINMUX_PA11B_PTC_X9                        ((PIN_PA11B_PTC_X9 << 16) | MUX_PA11B_PTC_X9)
+#define PORT_PA11B_PTC_X9                          (_UL_(1) << 11)
+
+#define PIN_PA11B_PTC_Y9                           _L_(11)      /**< PTC signal: Y9 on PA11 mux B*/
+#define MUX_PA11B_PTC_Y9                           _L_(1)      
+#define PINMUX_PA11B_PTC_Y9                        ((PIN_PA11B_PTC_Y9 << 16) | MUX_PA11B_PTC_Y9)
+#define PORT_PA11B_PTC_Y9                          (_UL_(1) << 11)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA09G_RTC_IN1                          _L_(9)       /**< RTC signal: IN1 on PA09 mux G*/
+#define MUX_PA09G_RTC_IN1                          _L_(6)      
+#define PINMUX_PA09G_RTC_IN1                       ((PIN_PA09G_RTC_IN1 << 16) | MUX_PA09G_RTC_IN1)
+#define PORT_PA09G_RTC_IN1                         (_UL_(1) << 9)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA06D_SERCOM0_PAD2                     _L_(6)       /**< 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_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA24C_SERCOM0_PAD2                     _L_(24)      /**< SERCOM0 signal: PAD2 on PA24 mux C*/
+#define MUX_PA24C_SERCOM0_PAD2                     _L_(2)      
+#define PINMUX_PA24C_SERCOM0_PAD2                  ((PIN_PA24C_SERCOM0_PAD2 << 16) | MUX_PA24C_SERCOM0_PAD2)
+#define PORT_PA24C_SERCOM0_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA07D_SERCOM0_PAD3                     _L_(7)       /**< 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_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA25C_SERCOM0_PAD3                     _L_(25)      /**< SERCOM0 signal: PAD3 on PA25 mux C*/
+#define MUX_PA25C_SERCOM0_PAD3                     _L_(2)      
+#define PINMUX_PA25C_SERCOM0_PAD3                  ((PIN_PA25C_SERCOM0_PAD3 << 16) | MUX_PA25C_SERCOM0_PAD3)
+#define PORT_PA25C_SERCOM0_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA09C_SERCOM1_PAD1                     _L_(9)       /**< SERCOM1 signal: PAD1 on PA09 mux C*/
+#define MUX_PA09C_SERCOM1_PAD1                     _L_(2)      
+#define PINMUX_PA09C_SERCOM1_PAD1                  ((PIN_PA09C_SERCOM1_PAD1 << 16) | MUX_PA09C_SERCOM1_PAD1)
+#define PORT_PA09C_SERCOM1_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA10C_SERCOM1_PAD2                     _L_(10)      /**< SERCOM1 signal: PAD2 on PA10 mux C*/
+#define MUX_PA10C_SERCOM1_PAD2                     _L_(2)      
+#define PINMUX_PA10C_SERCOM1_PAD2                  ((PIN_PA10C_SERCOM1_PAD2 << 16) | MUX_PA10C_SERCOM1_PAD2)
+#define PORT_PA10C_SERCOM1_PAD2                    (_UL_(1) << 10)
+
+#define PIN_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA11C_SERCOM1_PAD3                     _L_(11)      /**< SERCOM1 signal: PAD3 on PA11 mux C*/
+#define MUX_PA11C_SERCOM1_PAD3                     _L_(2)      
+#define PINMUX_PA11C_SERCOM1_PAD3                  ((PIN_PA11C_SERCOM1_PAD3 << 16) | MUX_PA11C_SERCOM1_PAD3)
+#define PORT_PA11C_SERCOM1_PAD3                    (_UL_(1) << 11)
+
+#define PIN_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for SERCOM2 peripheral ========== */
+#define PIN_PA08D_SERCOM2_PAD0                     _L_(8)       /**< SERCOM2 signal: PAD0 on PA08 mux D*/
+#define MUX_PA08D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA08D_SERCOM2_PAD0                  ((PIN_PA08D_SERCOM2_PAD0 << 16) | MUX_PA08D_SERCOM2_PAD0)
+#define PORT_PA08D_SERCOM2_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA22D_SERCOM2_PAD0                     _L_(22)      /**< SERCOM2 signal: PAD0 on PA22 mux D*/
+#define MUX_PA22D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA22D_SERCOM2_PAD0                  ((PIN_PA22D_SERCOM2_PAD0 << 16) | MUX_PA22D_SERCOM2_PAD0)
+#define PORT_PA22D_SERCOM2_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA09D_SERCOM2_PAD1                     _L_(9)       /**< SERCOM2 signal: PAD1 on PA09 mux D*/
+#define MUX_PA09D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA09D_SERCOM2_PAD1                  ((PIN_PA09D_SERCOM2_PAD1 << 16) | MUX_PA09D_SERCOM2_PAD1)
+#define PORT_PA09D_SERCOM2_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA23D_SERCOM2_PAD1                     _L_(23)      /**< SERCOM2 signal: PAD1 on PA23 mux D*/
+#define MUX_PA23D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA23D_SERCOM2_PAD1                  ((PIN_PA23D_SERCOM2_PAD1 << 16) | MUX_PA23D_SERCOM2_PAD1)
+#define PORT_PA23D_SERCOM2_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA10D_SERCOM2_PAD2                     _L_(10)      /**< 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_PA24D_SERCOM2_PAD2                     _L_(24)      /**< SERCOM2 signal: PAD2 on PA24 mux D*/
+#define MUX_PA24D_SERCOM2_PAD2                     _L_(3)      
+#define PINMUX_PA24D_SERCOM2_PAD2                  ((PIN_PA24D_SERCOM2_PAD2 << 16) | MUX_PA24D_SERCOM2_PAD2)
+#define PORT_PA24D_SERCOM2_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA14C_SERCOM2_PAD2                     _L_(14)      /**< 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)      /**< 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_PA25D_SERCOM2_PAD3                     _L_(25)      /**< SERCOM2 signal: PAD3 on PA25 mux D*/
+#define MUX_PA25D_SERCOM2_PAD3                     _L_(3)      
+#define PINMUX_PA25D_SERCOM2_PAD3                  ((PIN_PA25D_SERCOM2_PAD3 << 16) | MUX_PA25D_SERCOM2_PAD3)
+#define PORT_PA25D_SERCOM2_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA15C_SERCOM2_PAD3                     _L_(15)      /**< 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 TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA06E_TC1_WO0                          _L_(6)       /**< 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_PA24E_TC1_WO0                          _L_(24)      /**< TC1 signal: WO0 on PA24 mux E*/
+#define MUX_PA24E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA24E_TC1_WO0                       ((PIN_PA24E_TC1_WO0 << 16) | MUX_PA24E_TC1_WO0)
+#define PORT_PA24E_TC1_WO0                         (_UL_(1) << 24)
+
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA07E_TC1_WO1                          _L_(7)       /**< 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_PA25E_TC1_WO1                          _L_(25)      /**< TC1 signal: WO1 on PA25 mux E*/
+#define MUX_PA25E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA25E_TC1_WO1                       ((PIN_PA25E_TC1_WO1 << 16) | MUX_PA25E_TC1_WO1)
+#define PORT_PA25E_TC1_WO1                         (_UL_(1) << 25)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML10E14A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/pio/saml10e15a.h b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10e15a.h
new file mode 100644
index 0000000000..dbe2bbd360
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10e15a.h
@@ -0,0 +1,1167 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML10E15A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10E15A_PIO_H_
+#define _SAML10E15A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA06                    (  6)  /**< Pin Number for PA06 */
+#define PIN_PA07                    (  7)  /**< Pin Number for PA07 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA09                    (  9)  /**< Pin Number for PA09 */
+#define PIN_PA10                    ( 10)  /**< Pin Number for PA10 */
+#define PIN_PA11                    ( 11)  /**< Pin Number for PA11 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA24                    ( 24)  /**< Pin Number for PA24 */
+#define PIN_PA25                    ( 25)  /**< Pin Number for PA25 */
+#define PIN_PA27                    ( 27)  /**< Pin Number for PA27 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA06                   (_U_(1) << 6) /**< PORT Mask for PA06 */
+#define PORT_PA07                   (_U_(1) << 7) /**< PORT Mask for PA07 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA09                   (_U_(1) << 9) /**< PORT Mask for PA09 */
+#define PORT_PA10                   (_U_(1) << 10) /**< PORT Mask for PA10 */
+#define PORT_PA11                   (_U_(1) << 11) /**< PORT Mask for PA11 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA24                   (_U_(1) << 24) /**< PORT Mask for PA24 */
+#define PORT_PA25                   (_U_(1) << 25) /**< PORT Mask for PA25 */
+#define PORT_PA27                   (_U_(1) << 27) /**< PORT Mask for PA27 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA06_IDX               (  6)  /**< PORT Index Number for PA06 */
+#define PORT_PA07_IDX               (  7)  /**< PORT Index Number for PA07 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA09_IDX               (  9)  /**< PORT Index Number for PA09 */
+#define PORT_PA10_IDX               ( 10)  /**< PORT Index Number for PA10 */
+#define PORT_PA11_IDX               ( 11)  /**< PORT Index Number for PA11 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA24_IDX               ( 24)  /**< PORT Index Number for PA24 */
+#define PORT_PA25_IDX               ( 25)  /**< PORT Index Number for PA25 */
+#define PORT_PA27_IDX               ( 27)  /**< PORT Index Number for PA27 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA06B_ADC_AIN4                         _L_(6)       /**< ADC signal: AIN4 on PA06 mux B*/
+#define MUX_PA06B_ADC_AIN4                         _L_(1)      
+#define PINMUX_PA06B_ADC_AIN4                      ((PIN_PA06B_ADC_AIN4 << 16) | MUX_PA06B_ADC_AIN4)
+#define PORT_PA06B_ADC_AIN4                        (_UL_(1) << 6)
+
+#define PIN_PA07B_ADC_AIN5                         _L_(7)       /**< ADC signal: AIN5 on PA07 mux B*/
+#define MUX_PA07B_ADC_AIN5                         _L_(1)      
+#define PINMUX_PA07B_ADC_AIN5                      ((PIN_PA07B_ADC_AIN5 << 16) | MUX_PA07B_ADC_AIN5)
+#define PORT_PA07B_ADC_AIN5                        (_UL_(1) << 7)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA09B_ADC_AIN7                         _L_(9)       /**< ADC signal: AIN7 on PA09 mux B*/
+#define MUX_PA09B_ADC_AIN7                         _L_(1)      
+#define PINMUX_PA09B_ADC_AIN7                      ((PIN_PA09B_ADC_AIN7 << 16) | MUX_PA09B_ADC_AIN7)
+#define PORT_PA09B_ADC_AIN7                        (_UL_(1) << 9)
+
+#define PIN_PA10B_ADC_AIN8                         _L_(10)      /**< ADC signal: AIN8 on PA10 mux B*/
+#define MUX_PA10B_ADC_AIN8                         _L_(1)      
+#define PINMUX_PA10B_ADC_AIN8                      ((PIN_PA10B_ADC_AIN8 << 16) | MUX_PA10B_ADC_AIN8)
+#define PORT_PA10B_ADC_AIN8                        (_UL_(1) << 10)
+
+#define PIN_PA11B_ADC_AIN9                         _L_(11)      /**< ADC signal: AIN9 on PA11 mux B*/
+#define MUX_PA11B_ADC_AIN9                         _L_(1)      
+#define PINMUX_PA11B_ADC_AIN9                      ((PIN_PA11B_ADC_AIN9 << 16) | MUX_PA11B_ADC_AIN9)
+#define PORT_PA11B_ADC_AIN9                        (_UL_(1) << 11)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA06I_CCL_IN2                          _L_(6)       /**< CCL signal: IN2 on PA06 mux I*/
+#define MUX_PA06I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA06I_CCL_IN2                       ((PIN_PA06I_CCL_IN2 << 16) | MUX_PA06I_CCL_IN2)
+#define PORT_PA06I_CCL_IN2                         (_UL_(1) << 6)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA09I_CCL_IN4                          _L_(9)       /**< CCL signal: IN4 on PA09 mux I*/
+#define MUX_PA09I_CCL_IN4                          _L_(8)      
+#define PINMUX_PA09I_CCL_IN4                       ((PIN_PA09I_CCL_IN4 << 16) | MUX_PA09I_CCL_IN4)
+#define PORT_PA09I_CCL_IN4                         (_UL_(1) << 9)
+
+#define PIN_PA10I_CCL_IN5                          _L_(10)      /**< CCL signal: IN5 on PA10 mux I*/
+#define MUX_PA10I_CCL_IN5                          _L_(8)      
+#define PINMUX_PA10I_CCL_IN5                       ((PIN_PA10I_CCL_IN5 << 16) | MUX_PA10I_CCL_IN5)
+#define PORT_PA10I_CCL_IN5                         (_UL_(1) << 10)
+
+#define PIN_PA07I_CCL_OUT0                         _L_(7)       /**< CCL signal: OUT0 on PA07 mux I*/
+#define MUX_PA07I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA07I_CCL_OUT0                      ((PIN_PA07I_CCL_OUT0 << 16) | MUX_PA07I_CCL_OUT0)
+#define PORT_PA07I_CCL_OUT0                        (_UL_(1) << 7)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA11I_CCL_OUT1                         _L_(11)      /**< CCL signal: OUT1 on PA11 mux I*/
+#define MUX_PA11I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA11I_CCL_OUT1                      ((PIN_PA11I_CCL_OUT1 << 16) | MUX_PA11I_CCL_OUT1)
+#define PORT_PA11I_CCL_OUT1                        (_UL_(1) << 11)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA09A_EIC_EXTINT0                      _L_(9)       /**< EIC signal: EXTINT0 on PA09 mux A*/
+#define MUX_PA09A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA09A_EIC_EXTINT0                   ((PIN_PA09A_EIC_EXTINT0 << 16) | MUX_PA09A_EIC_EXTINT0)
+#define PORT_PA09A_EIC_EXTINT0                     (_UL_(1) << 9)
+#define PIN_PA09A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA09 External Interrupt Line */
+
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA10A_EIC_EXTINT1                      _L_(10)      /**< EIC signal: EXTINT1 on PA10 mux A*/
+#define MUX_PA10A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA10A_EIC_EXTINT1                   ((PIN_PA10A_EIC_EXTINT1 << 16) | MUX_PA10A_EIC_EXTINT1)
+#define PORT_PA10A_EIC_EXTINT1                     (_UL_(1) << 10)
+#define PIN_PA10A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA10 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA11A_EIC_EXTINT2                      _L_(11)      /**< EIC signal: EXTINT2 on PA11 mux A*/
+#define MUX_PA11A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA11A_EIC_EXTINT2                   ((PIN_PA11A_EIC_EXTINT2 << 16) | MUX_PA11A_EIC_EXTINT2)
+#define PORT_PA11A_EIC_EXTINT2                     (_UL_(1) << 11)
+#define PIN_PA11A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA11 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA24A_EIC_EXTINT3                      _L_(24)      /**< EIC signal: EXTINT3 on PA24 mux A*/
+#define MUX_PA24A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA24A_EIC_EXTINT3                   ((PIN_PA24A_EIC_EXTINT3 << 16) | MUX_PA24A_EIC_EXTINT3)
+#define PORT_PA24A_EIC_EXTINT3                     (_UL_(1) << 24)
+#define PIN_PA24A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA24 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA25A_EIC_EXTINT4                      _L_(25)      /**< EIC signal: EXTINT4 on PA25 mux A*/
+#define MUX_PA25A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA25A_EIC_EXTINT4                   ((PIN_PA25A_EIC_EXTINT4 << 16) | MUX_PA25A_EIC_EXTINT4)
+#define PORT_PA25A_EIC_EXTINT4                     (_UL_(1) << 25)
+#define PIN_PA25A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA25 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA27A_EIC_EXTINT5                      _L_(27)      /**< EIC signal: EXTINT5 on PA27 mux A*/
+#define MUX_PA27A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA27A_EIC_EXTINT5                   ((PIN_PA27A_EIC_EXTINT5 << 16) | MUX_PA27A_EIC_EXTINT5)
+#define PORT_PA27A_EIC_EXTINT5                     (_UL_(1) << 27)
+#define PIN_PA27A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA27 External Interrupt Line */
+
+#define PIN_PA06A_EIC_EXTINT6                      _L_(6)       /**< 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)       /**< EIC signal: PIN_PA06 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA07A_EIC_EXTINT7                      _L_(7)       /**< 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)       /**< EIC signal: PIN_PA07 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA27H_GCLK_IO0                         _L_(27)      /**< GCLK signal: IO0 on PA27 mux H*/
+#define MUX_PA27H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA27H_GCLK_IO0                      ((PIN_PA27H_GCLK_IO0 << 16) | MUX_PA27H_GCLK_IO0)
+#define PORT_PA27H_GCLK_IO0                        (_UL_(1) << 27)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA11H_GCLK_IO3                         _L_(11)      /**< GCLK signal: IO3 on PA11 mux H*/
+#define MUX_PA11H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA11H_GCLK_IO3                      ((PIN_PA11H_GCLK_IO3 << 16) | MUX_PA11H_GCLK_IO3)
+#define PORT_PA11H_GCLK_IO3                        (_UL_(1) << 11)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+#define PIN_PA10H_GCLK_IO4                         _L_(10)      /**< GCLK signal: IO4 on PA10 mux H*/
+#define MUX_PA10H_GCLK_IO4                         _L_(7)      
+#define PINMUX_PA10H_GCLK_IO4                      ((PIN_PA10H_GCLK_IO4 << 16) | MUX_PA10H_GCLK_IO4)
+#define PORT_PA10H_GCLK_IO4                        (_UL_(1) << 10)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA07B_OPAMP_OAOUT0                     _L_(7)       /**< OPAMP signal: OAOUT0 on PA07 mux B*/
+#define MUX_PA07B_OPAMP_OAOUT0                     _L_(1)      
+#define PINMUX_PA07B_OPAMP_OAOUT0                  ((PIN_PA07B_OPAMP_OAOUT0 << 16) | MUX_PA07B_OPAMP_OAOUT0)
+#define PORT_PA07B_OPAMP_OAOUT0                    (_UL_(1) << 7)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA06B_OPAMP_OAPOS0                     _L_(6)       /**< OPAMP signal: OAPOS0 on PA06 mux B*/
+#define MUX_PA06B_OPAMP_OAPOS0                     _L_(1)      
+#define PINMUX_PA06B_OPAMP_OAPOS0                  ((PIN_PA06B_OPAMP_OAPOS0 << 16) | MUX_PA06B_OPAMP_OAPOS0)
+#define PORT_PA06B_OPAMP_OAPOS0                    (_UL_(1) << 6)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA06F_PTC_DRV5                         _L_(6)       /**< PTC signal: DRV5 on PA06 mux F*/
+#define MUX_PA06F_PTC_DRV5                         _L_(5)      
+#define PINMUX_PA06F_PTC_DRV5                      ((PIN_PA06F_PTC_DRV5 << 16) | MUX_PA06F_PTC_DRV5)
+#define PORT_PA06F_PTC_DRV5                        (_UL_(1) << 6)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA09F_PTC_DRV7                         _L_(9)       /**< PTC signal: DRV7 on PA09 mux F*/
+#define MUX_PA09F_PTC_DRV7                         _L_(5)      
+#define PINMUX_PA09F_PTC_DRV7                      ((PIN_PA09F_PTC_DRV7 << 16) | MUX_PA09F_PTC_DRV7)
+#define PORT_PA09F_PTC_DRV7                        (_UL_(1) << 9)
+
+#define PIN_PA10F_PTC_DRV8                         _L_(10)      /**< PTC signal: DRV8 on PA10 mux F*/
+#define MUX_PA10F_PTC_DRV8                         _L_(5)      
+#define PINMUX_PA10F_PTC_DRV8                      ((PIN_PA10F_PTC_DRV8 << 16) | MUX_PA10F_PTC_DRV8)
+#define PORT_PA10F_PTC_DRV8                        (_UL_(1) << 10)
+
+#define PIN_PA11F_PTC_DRV9                         _L_(11)      /**< PTC signal: DRV9 on PA11 mux F*/
+#define MUX_PA11F_PTC_DRV9                         _L_(5)      
+#define PINMUX_PA11F_PTC_DRV9                      ((PIN_PA11F_PTC_DRV9 << 16) | MUX_PA11F_PTC_DRV9)
+#define PORT_PA11F_PTC_DRV9                        (_UL_(1) << 11)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_ECI3                         _L_(6)       /**< PTC signal: ECI3 on PA06 mux B*/
+#define MUX_PA06B_PTC_ECI3                         _L_(1)      
+#define PINMUX_PA06B_PTC_ECI3                      ((PIN_PA06B_PTC_ECI3 << 16) | MUX_PA06B_PTC_ECI3)
+#define PORT_PA06B_PTC_ECI3                        (_UL_(1) << 6)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_X5                           _L_(6)       /**< PTC signal: X5 on PA06 mux B*/
+#define MUX_PA06B_PTC_X5                           _L_(1)      
+#define PINMUX_PA06B_PTC_X5                        ((PIN_PA06B_PTC_X5 << 16) | MUX_PA06B_PTC_X5)
+#define PORT_PA06B_PTC_X5                          (_UL_(1) << 6)
+
+#define PIN_PA06B_PTC_Y5                           _L_(6)       /**< PTC signal: Y5 on PA06 mux B*/
+#define MUX_PA06B_PTC_Y5                           _L_(1)      
+#define PINMUX_PA06B_PTC_Y5                        ((PIN_PA06B_PTC_Y5 << 16) | MUX_PA06B_PTC_Y5)
+#define PORT_PA06B_PTC_Y5                          (_UL_(1) << 6)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA09B_PTC_X7                           _L_(9)       /**< PTC signal: X7 on PA09 mux B*/
+#define MUX_PA09B_PTC_X7                           _L_(1)      
+#define PINMUX_PA09B_PTC_X7                        ((PIN_PA09B_PTC_X7 << 16) | MUX_PA09B_PTC_X7)
+#define PORT_PA09B_PTC_X7                          (_UL_(1) << 9)
+
+#define PIN_PA09B_PTC_Y7                           _L_(9)       /**< PTC signal: Y7 on PA09 mux B*/
+#define MUX_PA09B_PTC_Y7                           _L_(1)      
+#define PINMUX_PA09B_PTC_Y7                        ((PIN_PA09B_PTC_Y7 << 16) | MUX_PA09B_PTC_Y7)
+#define PORT_PA09B_PTC_Y7                          (_UL_(1) << 9)
+
+#define PIN_PA10B_PTC_X8                           _L_(10)      /**< PTC signal: X8 on PA10 mux B*/
+#define MUX_PA10B_PTC_X8                           _L_(1)      
+#define PINMUX_PA10B_PTC_X8                        ((PIN_PA10B_PTC_X8 << 16) | MUX_PA10B_PTC_X8)
+#define PORT_PA10B_PTC_X8                          (_UL_(1) << 10)
+
+#define PIN_PA10B_PTC_Y8                           _L_(10)      /**< PTC signal: Y8 on PA10 mux B*/
+#define MUX_PA10B_PTC_Y8                           _L_(1)      
+#define PINMUX_PA10B_PTC_Y8                        ((PIN_PA10B_PTC_Y8 << 16) | MUX_PA10B_PTC_Y8)
+#define PORT_PA10B_PTC_Y8                          (_UL_(1) << 10)
+
+#define PIN_PA11B_PTC_X9                           _L_(11)      /**< PTC signal: X9 on PA11 mux B*/
+#define MUX_PA11B_PTC_X9                           _L_(1)      
+#define PINMUX_PA11B_PTC_X9                        ((PIN_PA11B_PTC_X9 << 16) | MUX_PA11B_PTC_X9)
+#define PORT_PA11B_PTC_X9                          (_UL_(1) << 11)
+
+#define PIN_PA11B_PTC_Y9                           _L_(11)      /**< PTC signal: Y9 on PA11 mux B*/
+#define MUX_PA11B_PTC_Y9                           _L_(1)      
+#define PINMUX_PA11B_PTC_Y9                        ((PIN_PA11B_PTC_Y9 << 16) | MUX_PA11B_PTC_Y9)
+#define PORT_PA11B_PTC_Y9                          (_UL_(1) << 11)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA09G_RTC_IN1                          _L_(9)       /**< RTC signal: IN1 on PA09 mux G*/
+#define MUX_PA09G_RTC_IN1                          _L_(6)      
+#define PINMUX_PA09G_RTC_IN1                       ((PIN_PA09G_RTC_IN1 << 16) | MUX_PA09G_RTC_IN1)
+#define PORT_PA09G_RTC_IN1                         (_UL_(1) << 9)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA06D_SERCOM0_PAD2                     _L_(6)       /**< 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_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA24C_SERCOM0_PAD2                     _L_(24)      /**< SERCOM0 signal: PAD2 on PA24 mux C*/
+#define MUX_PA24C_SERCOM0_PAD2                     _L_(2)      
+#define PINMUX_PA24C_SERCOM0_PAD2                  ((PIN_PA24C_SERCOM0_PAD2 << 16) | MUX_PA24C_SERCOM0_PAD2)
+#define PORT_PA24C_SERCOM0_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA07D_SERCOM0_PAD3                     _L_(7)       /**< 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_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA25C_SERCOM0_PAD3                     _L_(25)      /**< SERCOM0 signal: PAD3 on PA25 mux C*/
+#define MUX_PA25C_SERCOM0_PAD3                     _L_(2)      
+#define PINMUX_PA25C_SERCOM0_PAD3                  ((PIN_PA25C_SERCOM0_PAD3 << 16) | MUX_PA25C_SERCOM0_PAD3)
+#define PORT_PA25C_SERCOM0_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA09C_SERCOM1_PAD1                     _L_(9)       /**< SERCOM1 signal: PAD1 on PA09 mux C*/
+#define MUX_PA09C_SERCOM1_PAD1                     _L_(2)      
+#define PINMUX_PA09C_SERCOM1_PAD1                  ((PIN_PA09C_SERCOM1_PAD1 << 16) | MUX_PA09C_SERCOM1_PAD1)
+#define PORT_PA09C_SERCOM1_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA10C_SERCOM1_PAD2                     _L_(10)      /**< SERCOM1 signal: PAD2 on PA10 mux C*/
+#define MUX_PA10C_SERCOM1_PAD2                     _L_(2)      
+#define PINMUX_PA10C_SERCOM1_PAD2                  ((PIN_PA10C_SERCOM1_PAD2 << 16) | MUX_PA10C_SERCOM1_PAD2)
+#define PORT_PA10C_SERCOM1_PAD2                    (_UL_(1) << 10)
+
+#define PIN_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA11C_SERCOM1_PAD3                     _L_(11)      /**< SERCOM1 signal: PAD3 on PA11 mux C*/
+#define MUX_PA11C_SERCOM1_PAD3                     _L_(2)      
+#define PINMUX_PA11C_SERCOM1_PAD3                  ((PIN_PA11C_SERCOM1_PAD3 << 16) | MUX_PA11C_SERCOM1_PAD3)
+#define PORT_PA11C_SERCOM1_PAD3                    (_UL_(1) << 11)
+
+#define PIN_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for SERCOM2 peripheral ========== */
+#define PIN_PA08D_SERCOM2_PAD0                     _L_(8)       /**< SERCOM2 signal: PAD0 on PA08 mux D*/
+#define MUX_PA08D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA08D_SERCOM2_PAD0                  ((PIN_PA08D_SERCOM2_PAD0 << 16) | MUX_PA08D_SERCOM2_PAD0)
+#define PORT_PA08D_SERCOM2_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA22D_SERCOM2_PAD0                     _L_(22)      /**< SERCOM2 signal: PAD0 on PA22 mux D*/
+#define MUX_PA22D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA22D_SERCOM2_PAD0                  ((PIN_PA22D_SERCOM2_PAD0 << 16) | MUX_PA22D_SERCOM2_PAD0)
+#define PORT_PA22D_SERCOM2_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA09D_SERCOM2_PAD1                     _L_(9)       /**< SERCOM2 signal: PAD1 on PA09 mux D*/
+#define MUX_PA09D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA09D_SERCOM2_PAD1                  ((PIN_PA09D_SERCOM2_PAD1 << 16) | MUX_PA09D_SERCOM2_PAD1)
+#define PORT_PA09D_SERCOM2_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA23D_SERCOM2_PAD1                     _L_(23)      /**< SERCOM2 signal: PAD1 on PA23 mux D*/
+#define MUX_PA23D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA23D_SERCOM2_PAD1                  ((PIN_PA23D_SERCOM2_PAD1 << 16) | MUX_PA23D_SERCOM2_PAD1)
+#define PORT_PA23D_SERCOM2_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA10D_SERCOM2_PAD2                     _L_(10)      /**< 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_PA24D_SERCOM2_PAD2                     _L_(24)      /**< SERCOM2 signal: PAD2 on PA24 mux D*/
+#define MUX_PA24D_SERCOM2_PAD2                     _L_(3)      
+#define PINMUX_PA24D_SERCOM2_PAD2                  ((PIN_PA24D_SERCOM2_PAD2 << 16) | MUX_PA24D_SERCOM2_PAD2)
+#define PORT_PA24D_SERCOM2_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA14C_SERCOM2_PAD2                     _L_(14)      /**< 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)      /**< 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_PA25D_SERCOM2_PAD3                     _L_(25)      /**< SERCOM2 signal: PAD3 on PA25 mux D*/
+#define MUX_PA25D_SERCOM2_PAD3                     _L_(3)      
+#define PINMUX_PA25D_SERCOM2_PAD3                  ((PIN_PA25D_SERCOM2_PAD3 << 16) | MUX_PA25D_SERCOM2_PAD3)
+#define PORT_PA25D_SERCOM2_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA15C_SERCOM2_PAD3                     _L_(15)      /**< 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 TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA06E_TC1_WO0                          _L_(6)       /**< 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_PA24E_TC1_WO0                          _L_(24)      /**< TC1 signal: WO0 on PA24 mux E*/
+#define MUX_PA24E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA24E_TC1_WO0                       ((PIN_PA24E_TC1_WO0 << 16) | MUX_PA24E_TC1_WO0)
+#define PORT_PA24E_TC1_WO0                         (_UL_(1) << 24)
+
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA07E_TC1_WO1                          _L_(7)       /**< 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_PA25E_TC1_WO1                          _L_(25)      /**< TC1 signal: WO1 on PA25 mux E*/
+#define MUX_PA25E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA25E_TC1_WO1                       ((PIN_PA25E_TC1_WO1 << 16) | MUX_PA25E_TC1_WO1)
+#define PORT_PA25E_TC1_WO1                         (_UL_(1) << 25)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML10E15A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/pio/saml10e16a.h b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10e16a.h
new file mode 100644
index 0000000000..ef1849ef4e
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/pio/saml10e16a.h
@@ -0,0 +1,1167 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML10E16A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10E16A_PIO_H_
+#define _SAML10E16A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA06                    (  6)  /**< Pin Number for PA06 */
+#define PIN_PA07                    (  7)  /**< Pin Number for PA07 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA09                    (  9)  /**< Pin Number for PA09 */
+#define PIN_PA10                    ( 10)  /**< Pin Number for PA10 */
+#define PIN_PA11                    ( 11)  /**< Pin Number for PA11 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA24                    ( 24)  /**< Pin Number for PA24 */
+#define PIN_PA25                    ( 25)  /**< Pin Number for PA25 */
+#define PIN_PA27                    ( 27)  /**< Pin Number for PA27 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA06                   (_U_(1) << 6) /**< PORT Mask for PA06 */
+#define PORT_PA07                   (_U_(1) << 7) /**< PORT Mask for PA07 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA09                   (_U_(1) << 9) /**< PORT Mask for PA09 */
+#define PORT_PA10                   (_U_(1) << 10) /**< PORT Mask for PA10 */
+#define PORT_PA11                   (_U_(1) << 11) /**< PORT Mask for PA11 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA24                   (_U_(1) << 24) /**< PORT Mask for PA24 */
+#define PORT_PA25                   (_U_(1) << 25) /**< PORT Mask for PA25 */
+#define PORT_PA27                   (_U_(1) << 27) /**< PORT Mask for PA27 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA06_IDX               (  6)  /**< PORT Index Number for PA06 */
+#define PORT_PA07_IDX               (  7)  /**< PORT Index Number for PA07 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA09_IDX               (  9)  /**< PORT Index Number for PA09 */
+#define PORT_PA10_IDX               ( 10)  /**< PORT Index Number for PA10 */
+#define PORT_PA11_IDX               ( 11)  /**< PORT Index Number for PA11 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA24_IDX               ( 24)  /**< PORT Index Number for PA24 */
+#define PORT_PA25_IDX               ( 25)  /**< PORT Index Number for PA25 */
+#define PORT_PA27_IDX               ( 27)  /**< PORT Index Number for PA27 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA06B_ADC_AIN4                         _L_(6)       /**< ADC signal: AIN4 on PA06 mux B*/
+#define MUX_PA06B_ADC_AIN4                         _L_(1)      
+#define PINMUX_PA06B_ADC_AIN4                      ((PIN_PA06B_ADC_AIN4 << 16) | MUX_PA06B_ADC_AIN4)
+#define PORT_PA06B_ADC_AIN4                        (_UL_(1) << 6)
+
+#define PIN_PA07B_ADC_AIN5                         _L_(7)       /**< ADC signal: AIN5 on PA07 mux B*/
+#define MUX_PA07B_ADC_AIN5                         _L_(1)      
+#define PINMUX_PA07B_ADC_AIN5                      ((PIN_PA07B_ADC_AIN5 << 16) | MUX_PA07B_ADC_AIN5)
+#define PORT_PA07B_ADC_AIN5                        (_UL_(1) << 7)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA09B_ADC_AIN7                         _L_(9)       /**< ADC signal: AIN7 on PA09 mux B*/
+#define MUX_PA09B_ADC_AIN7                         _L_(1)      
+#define PINMUX_PA09B_ADC_AIN7                      ((PIN_PA09B_ADC_AIN7 << 16) | MUX_PA09B_ADC_AIN7)
+#define PORT_PA09B_ADC_AIN7                        (_UL_(1) << 9)
+
+#define PIN_PA10B_ADC_AIN8                         _L_(10)      /**< ADC signal: AIN8 on PA10 mux B*/
+#define MUX_PA10B_ADC_AIN8                         _L_(1)      
+#define PINMUX_PA10B_ADC_AIN8                      ((PIN_PA10B_ADC_AIN8 << 16) | MUX_PA10B_ADC_AIN8)
+#define PORT_PA10B_ADC_AIN8                        (_UL_(1) << 10)
+
+#define PIN_PA11B_ADC_AIN9                         _L_(11)      /**< ADC signal: AIN9 on PA11 mux B*/
+#define MUX_PA11B_ADC_AIN9                         _L_(1)      
+#define PINMUX_PA11B_ADC_AIN9                      ((PIN_PA11B_ADC_AIN9 << 16) | MUX_PA11B_ADC_AIN9)
+#define PORT_PA11B_ADC_AIN9                        (_UL_(1) << 11)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA06I_CCL_IN2                          _L_(6)       /**< CCL signal: IN2 on PA06 mux I*/
+#define MUX_PA06I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA06I_CCL_IN2                       ((PIN_PA06I_CCL_IN2 << 16) | MUX_PA06I_CCL_IN2)
+#define PORT_PA06I_CCL_IN2                         (_UL_(1) << 6)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA09I_CCL_IN4                          _L_(9)       /**< CCL signal: IN4 on PA09 mux I*/
+#define MUX_PA09I_CCL_IN4                          _L_(8)      
+#define PINMUX_PA09I_CCL_IN4                       ((PIN_PA09I_CCL_IN4 << 16) | MUX_PA09I_CCL_IN4)
+#define PORT_PA09I_CCL_IN4                         (_UL_(1) << 9)
+
+#define PIN_PA10I_CCL_IN5                          _L_(10)      /**< CCL signal: IN5 on PA10 mux I*/
+#define MUX_PA10I_CCL_IN5                          _L_(8)      
+#define PINMUX_PA10I_CCL_IN5                       ((PIN_PA10I_CCL_IN5 << 16) | MUX_PA10I_CCL_IN5)
+#define PORT_PA10I_CCL_IN5                         (_UL_(1) << 10)
+
+#define PIN_PA07I_CCL_OUT0                         _L_(7)       /**< CCL signal: OUT0 on PA07 mux I*/
+#define MUX_PA07I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA07I_CCL_OUT0                      ((PIN_PA07I_CCL_OUT0 << 16) | MUX_PA07I_CCL_OUT0)
+#define PORT_PA07I_CCL_OUT0                        (_UL_(1) << 7)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA11I_CCL_OUT1                         _L_(11)      /**< CCL signal: OUT1 on PA11 mux I*/
+#define MUX_PA11I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA11I_CCL_OUT1                      ((PIN_PA11I_CCL_OUT1 << 16) | MUX_PA11I_CCL_OUT1)
+#define PORT_PA11I_CCL_OUT1                        (_UL_(1) << 11)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA09A_EIC_EXTINT0                      _L_(9)       /**< EIC signal: EXTINT0 on PA09 mux A*/
+#define MUX_PA09A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA09A_EIC_EXTINT0                   ((PIN_PA09A_EIC_EXTINT0 << 16) | MUX_PA09A_EIC_EXTINT0)
+#define PORT_PA09A_EIC_EXTINT0                     (_UL_(1) << 9)
+#define PIN_PA09A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA09 External Interrupt Line */
+
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA10A_EIC_EXTINT1                      _L_(10)      /**< EIC signal: EXTINT1 on PA10 mux A*/
+#define MUX_PA10A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA10A_EIC_EXTINT1                   ((PIN_PA10A_EIC_EXTINT1 << 16) | MUX_PA10A_EIC_EXTINT1)
+#define PORT_PA10A_EIC_EXTINT1                     (_UL_(1) << 10)
+#define PIN_PA10A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA10 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA11A_EIC_EXTINT2                      _L_(11)      /**< EIC signal: EXTINT2 on PA11 mux A*/
+#define MUX_PA11A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA11A_EIC_EXTINT2                   ((PIN_PA11A_EIC_EXTINT2 << 16) | MUX_PA11A_EIC_EXTINT2)
+#define PORT_PA11A_EIC_EXTINT2                     (_UL_(1) << 11)
+#define PIN_PA11A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA11 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA24A_EIC_EXTINT3                      _L_(24)      /**< EIC signal: EXTINT3 on PA24 mux A*/
+#define MUX_PA24A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA24A_EIC_EXTINT3                   ((PIN_PA24A_EIC_EXTINT3 << 16) | MUX_PA24A_EIC_EXTINT3)
+#define PORT_PA24A_EIC_EXTINT3                     (_UL_(1) << 24)
+#define PIN_PA24A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA24 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA25A_EIC_EXTINT4                      _L_(25)      /**< EIC signal: EXTINT4 on PA25 mux A*/
+#define MUX_PA25A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA25A_EIC_EXTINT4                   ((PIN_PA25A_EIC_EXTINT4 << 16) | MUX_PA25A_EIC_EXTINT4)
+#define PORT_PA25A_EIC_EXTINT4                     (_UL_(1) << 25)
+#define PIN_PA25A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA25 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA27A_EIC_EXTINT5                      _L_(27)      /**< EIC signal: EXTINT5 on PA27 mux A*/
+#define MUX_PA27A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA27A_EIC_EXTINT5                   ((PIN_PA27A_EIC_EXTINT5 << 16) | MUX_PA27A_EIC_EXTINT5)
+#define PORT_PA27A_EIC_EXTINT5                     (_UL_(1) << 27)
+#define PIN_PA27A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA27 External Interrupt Line */
+
+#define PIN_PA06A_EIC_EXTINT6                      _L_(6)       /**< 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)       /**< EIC signal: PIN_PA06 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA07A_EIC_EXTINT7                      _L_(7)       /**< 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)       /**< EIC signal: PIN_PA07 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA27H_GCLK_IO0                         _L_(27)      /**< GCLK signal: IO0 on PA27 mux H*/
+#define MUX_PA27H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA27H_GCLK_IO0                      ((PIN_PA27H_GCLK_IO0 << 16) | MUX_PA27H_GCLK_IO0)
+#define PORT_PA27H_GCLK_IO0                        (_UL_(1) << 27)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA11H_GCLK_IO3                         _L_(11)      /**< GCLK signal: IO3 on PA11 mux H*/
+#define MUX_PA11H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA11H_GCLK_IO3                      ((PIN_PA11H_GCLK_IO3 << 16) | MUX_PA11H_GCLK_IO3)
+#define PORT_PA11H_GCLK_IO3                        (_UL_(1) << 11)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+#define PIN_PA10H_GCLK_IO4                         _L_(10)      /**< GCLK signal: IO4 on PA10 mux H*/
+#define MUX_PA10H_GCLK_IO4                         _L_(7)      
+#define PINMUX_PA10H_GCLK_IO4                      ((PIN_PA10H_GCLK_IO4 << 16) | MUX_PA10H_GCLK_IO4)
+#define PORT_PA10H_GCLK_IO4                        (_UL_(1) << 10)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA07B_OPAMP_OAOUT0                     _L_(7)       /**< OPAMP signal: OAOUT0 on PA07 mux B*/
+#define MUX_PA07B_OPAMP_OAOUT0                     _L_(1)      
+#define PINMUX_PA07B_OPAMP_OAOUT0                  ((PIN_PA07B_OPAMP_OAOUT0 << 16) | MUX_PA07B_OPAMP_OAOUT0)
+#define PORT_PA07B_OPAMP_OAOUT0                    (_UL_(1) << 7)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA06B_OPAMP_OAPOS0                     _L_(6)       /**< OPAMP signal: OAPOS0 on PA06 mux B*/
+#define MUX_PA06B_OPAMP_OAPOS0                     _L_(1)      
+#define PINMUX_PA06B_OPAMP_OAPOS0                  ((PIN_PA06B_OPAMP_OAPOS0 << 16) | MUX_PA06B_OPAMP_OAPOS0)
+#define PORT_PA06B_OPAMP_OAPOS0                    (_UL_(1) << 6)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA06F_PTC_DRV5                         _L_(6)       /**< PTC signal: DRV5 on PA06 mux F*/
+#define MUX_PA06F_PTC_DRV5                         _L_(5)      
+#define PINMUX_PA06F_PTC_DRV5                      ((PIN_PA06F_PTC_DRV5 << 16) | MUX_PA06F_PTC_DRV5)
+#define PORT_PA06F_PTC_DRV5                        (_UL_(1) << 6)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA09F_PTC_DRV7                         _L_(9)       /**< PTC signal: DRV7 on PA09 mux F*/
+#define MUX_PA09F_PTC_DRV7                         _L_(5)      
+#define PINMUX_PA09F_PTC_DRV7                      ((PIN_PA09F_PTC_DRV7 << 16) | MUX_PA09F_PTC_DRV7)
+#define PORT_PA09F_PTC_DRV7                        (_UL_(1) << 9)
+
+#define PIN_PA10F_PTC_DRV8                         _L_(10)      /**< PTC signal: DRV8 on PA10 mux F*/
+#define MUX_PA10F_PTC_DRV8                         _L_(5)      
+#define PINMUX_PA10F_PTC_DRV8                      ((PIN_PA10F_PTC_DRV8 << 16) | MUX_PA10F_PTC_DRV8)
+#define PORT_PA10F_PTC_DRV8                        (_UL_(1) << 10)
+
+#define PIN_PA11F_PTC_DRV9                         _L_(11)      /**< PTC signal: DRV9 on PA11 mux F*/
+#define MUX_PA11F_PTC_DRV9                         _L_(5)      
+#define PINMUX_PA11F_PTC_DRV9                      ((PIN_PA11F_PTC_DRV9 << 16) | MUX_PA11F_PTC_DRV9)
+#define PORT_PA11F_PTC_DRV9                        (_UL_(1) << 11)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_ECI3                         _L_(6)       /**< PTC signal: ECI3 on PA06 mux B*/
+#define MUX_PA06B_PTC_ECI3                         _L_(1)      
+#define PINMUX_PA06B_PTC_ECI3                      ((PIN_PA06B_PTC_ECI3 << 16) | MUX_PA06B_PTC_ECI3)
+#define PORT_PA06B_PTC_ECI3                        (_UL_(1) << 6)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_X5                           _L_(6)       /**< PTC signal: X5 on PA06 mux B*/
+#define MUX_PA06B_PTC_X5                           _L_(1)      
+#define PINMUX_PA06B_PTC_X5                        ((PIN_PA06B_PTC_X5 << 16) | MUX_PA06B_PTC_X5)
+#define PORT_PA06B_PTC_X5                          (_UL_(1) << 6)
+
+#define PIN_PA06B_PTC_Y5                           _L_(6)       /**< PTC signal: Y5 on PA06 mux B*/
+#define MUX_PA06B_PTC_Y5                           _L_(1)      
+#define PINMUX_PA06B_PTC_Y5                        ((PIN_PA06B_PTC_Y5 << 16) | MUX_PA06B_PTC_Y5)
+#define PORT_PA06B_PTC_Y5                          (_UL_(1) << 6)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA09B_PTC_X7                           _L_(9)       /**< PTC signal: X7 on PA09 mux B*/
+#define MUX_PA09B_PTC_X7                           _L_(1)      
+#define PINMUX_PA09B_PTC_X7                        ((PIN_PA09B_PTC_X7 << 16) | MUX_PA09B_PTC_X7)
+#define PORT_PA09B_PTC_X7                          (_UL_(1) << 9)
+
+#define PIN_PA09B_PTC_Y7                           _L_(9)       /**< PTC signal: Y7 on PA09 mux B*/
+#define MUX_PA09B_PTC_Y7                           _L_(1)      
+#define PINMUX_PA09B_PTC_Y7                        ((PIN_PA09B_PTC_Y7 << 16) | MUX_PA09B_PTC_Y7)
+#define PORT_PA09B_PTC_Y7                          (_UL_(1) << 9)
+
+#define PIN_PA10B_PTC_X8                           _L_(10)      /**< PTC signal: X8 on PA10 mux B*/
+#define MUX_PA10B_PTC_X8                           _L_(1)      
+#define PINMUX_PA10B_PTC_X8                        ((PIN_PA10B_PTC_X8 << 16) | MUX_PA10B_PTC_X8)
+#define PORT_PA10B_PTC_X8                          (_UL_(1) << 10)
+
+#define PIN_PA10B_PTC_Y8                           _L_(10)      /**< PTC signal: Y8 on PA10 mux B*/
+#define MUX_PA10B_PTC_Y8                           _L_(1)      
+#define PINMUX_PA10B_PTC_Y8                        ((PIN_PA10B_PTC_Y8 << 16) | MUX_PA10B_PTC_Y8)
+#define PORT_PA10B_PTC_Y8                          (_UL_(1) << 10)
+
+#define PIN_PA11B_PTC_X9                           _L_(11)      /**< PTC signal: X9 on PA11 mux B*/
+#define MUX_PA11B_PTC_X9                           _L_(1)      
+#define PINMUX_PA11B_PTC_X9                        ((PIN_PA11B_PTC_X9 << 16) | MUX_PA11B_PTC_X9)
+#define PORT_PA11B_PTC_X9                          (_UL_(1) << 11)
+
+#define PIN_PA11B_PTC_Y9                           _L_(11)      /**< PTC signal: Y9 on PA11 mux B*/
+#define MUX_PA11B_PTC_Y9                           _L_(1)      
+#define PINMUX_PA11B_PTC_Y9                        ((PIN_PA11B_PTC_Y9 << 16) | MUX_PA11B_PTC_Y9)
+#define PORT_PA11B_PTC_Y9                          (_UL_(1) << 11)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA09G_RTC_IN1                          _L_(9)       /**< RTC signal: IN1 on PA09 mux G*/
+#define MUX_PA09G_RTC_IN1                          _L_(6)      
+#define PINMUX_PA09G_RTC_IN1                       ((PIN_PA09G_RTC_IN1 << 16) | MUX_PA09G_RTC_IN1)
+#define PORT_PA09G_RTC_IN1                         (_UL_(1) << 9)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA06D_SERCOM0_PAD2                     _L_(6)       /**< 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_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA24C_SERCOM0_PAD2                     _L_(24)      /**< SERCOM0 signal: PAD2 on PA24 mux C*/
+#define MUX_PA24C_SERCOM0_PAD2                     _L_(2)      
+#define PINMUX_PA24C_SERCOM0_PAD2                  ((PIN_PA24C_SERCOM0_PAD2 << 16) | MUX_PA24C_SERCOM0_PAD2)
+#define PORT_PA24C_SERCOM0_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA07D_SERCOM0_PAD3                     _L_(7)       /**< 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_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA25C_SERCOM0_PAD3                     _L_(25)      /**< SERCOM0 signal: PAD3 on PA25 mux C*/
+#define MUX_PA25C_SERCOM0_PAD3                     _L_(2)      
+#define PINMUX_PA25C_SERCOM0_PAD3                  ((PIN_PA25C_SERCOM0_PAD3 << 16) | MUX_PA25C_SERCOM0_PAD3)
+#define PORT_PA25C_SERCOM0_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA09C_SERCOM1_PAD1                     _L_(9)       /**< SERCOM1 signal: PAD1 on PA09 mux C*/
+#define MUX_PA09C_SERCOM1_PAD1                     _L_(2)      
+#define PINMUX_PA09C_SERCOM1_PAD1                  ((PIN_PA09C_SERCOM1_PAD1 << 16) | MUX_PA09C_SERCOM1_PAD1)
+#define PORT_PA09C_SERCOM1_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA10C_SERCOM1_PAD2                     _L_(10)      /**< SERCOM1 signal: PAD2 on PA10 mux C*/
+#define MUX_PA10C_SERCOM1_PAD2                     _L_(2)      
+#define PINMUX_PA10C_SERCOM1_PAD2                  ((PIN_PA10C_SERCOM1_PAD2 << 16) | MUX_PA10C_SERCOM1_PAD2)
+#define PORT_PA10C_SERCOM1_PAD2                    (_UL_(1) << 10)
+
+#define PIN_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA11C_SERCOM1_PAD3                     _L_(11)      /**< SERCOM1 signal: PAD3 on PA11 mux C*/
+#define MUX_PA11C_SERCOM1_PAD3                     _L_(2)      
+#define PINMUX_PA11C_SERCOM1_PAD3                  ((PIN_PA11C_SERCOM1_PAD3 << 16) | MUX_PA11C_SERCOM1_PAD3)
+#define PORT_PA11C_SERCOM1_PAD3                    (_UL_(1) << 11)
+
+#define PIN_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for SERCOM2 peripheral ========== */
+#define PIN_PA08D_SERCOM2_PAD0                     _L_(8)       /**< SERCOM2 signal: PAD0 on PA08 mux D*/
+#define MUX_PA08D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA08D_SERCOM2_PAD0                  ((PIN_PA08D_SERCOM2_PAD0 << 16) | MUX_PA08D_SERCOM2_PAD0)
+#define PORT_PA08D_SERCOM2_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA22D_SERCOM2_PAD0                     _L_(22)      /**< SERCOM2 signal: PAD0 on PA22 mux D*/
+#define MUX_PA22D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA22D_SERCOM2_PAD0                  ((PIN_PA22D_SERCOM2_PAD0 << 16) | MUX_PA22D_SERCOM2_PAD0)
+#define PORT_PA22D_SERCOM2_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA09D_SERCOM2_PAD1                     _L_(9)       /**< SERCOM2 signal: PAD1 on PA09 mux D*/
+#define MUX_PA09D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA09D_SERCOM2_PAD1                  ((PIN_PA09D_SERCOM2_PAD1 << 16) | MUX_PA09D_SERCOM2_PAD1)
+#define PORT_PA09D_SERCOM2_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA23D_SERCOM2_PAD1                     _L_(23)      /**< SERCOM2 signal: PAD1 on PA23 mux D*/
+#define MUX_PA23D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA23D_SERCOM2_PAD1                  ((PIN_PA23D_SERCOM2_PAD1 << 16) | MUX_PA23D_SERCOM2_PAD1)
+#define PORT_PA23D_SERCOM2_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA10D_SERCOM2_PAD2                     _L_(10)      /**< 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_PA24D_SERCOM2_PAD2                     _L_(24)      /**< SERCOM2 signal: PAD2 on PA24 mux D*/
+#define MUX_PA24D_SERCOM2_PAD2                     _L_(3)      
+#define PINMUX_PA24D_SERCOM2_PAD2                  ((PIN_PA24D_SERCOM2_PAD2 << 16) | MUX_PA24D_SERCOM2_PAD2)
+#define PORT_PA24D_SERCOM2_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA14C_SERCOM2_PAD2                     _L_(14)      /**< 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)      /**< 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_PA25D_SERCOM2_PAD3                     _L_(25)      /**< SERCOM2 signal: PAD3 on PA25 mux D*/
+#define MUX_PA25D_SERCOM2_PAD3                     _L_(3)      
+#define PINMUX_PA25D_SERCOM2_PAD3                  ((PIN_PA25D_SERCOM2_PAD3 << 16) | MUX_PA25D_SERCOM2_PAD3)
+#define PORT_PA25D_SERCOM2_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA15C_SERCOM2_PAD3                     _L_(15)      /**< 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 TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA06E_TC1_WO0                          _L_(6)       /**< 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_PA24E_TC1_WO0                          _L_(24)      /**< TC1 signal: WO0 on PA24 mux E*/
+#define MUX_PA24E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA24E_TC1_WO0                       ((PIN_PA24E_TC1_WO0 << 16) | MUX_PA24E_TC1_WO0)
+#define PORT_PA24E_TC1_WO0                         (_UL_(1) << 24)
+
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA07E_TC1_WO1                          _L_(7)       /**< 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_PA25E_TC1_WO1                          _L_(25)      /**< TC1 signal: WO1 on PA25 mux E*/
+#define MUX_PA25E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA25E_TC1_WO1                       ((PIN_PA25E_TC1_WO1 << 16) | MUX_PA25E_TC1_WO1)
+#define PORT_PA25E_TC1_WO1                         (_UL_(1) << 25)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML10E16A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/sam.h b/cpu/sam0_common/include/vendor/saml10/include/sam.h
new file mode 100644
index 0000000000..bb37d8f402
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/sam.h
@@ -0,0 +1,50 @@
+/**
+ * \file
+ *
+ * \brief Top level header file
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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(__SAML10D14A__) || defined(__ATSAML10D14A__)
+  #include "saml10d14a.h"
+#elif defined(__SAML10D15A__) || defined(__ATSAML10D15A__)
+  #include "saml10d15a.h"
+#elif defined(__SAML10D16A__) || defined(__ATSAML10D16A__)
+  #include "saml10d16a.h"
+#elif defined(__SAML10E14A__) || defined(__ATSAML10E14A__)
+  #include "saml10e14a.h"
+#elif defined(__SAML10E15A__) || defined(__ATSAML10E15A__)
+  #include "saml10e15a.h"
+#elif defined(__SAML10E16A__) || defined(__ATSAML10E16A__)
+  #include "saml10e16a.h"
+#else
+  #error Library does not support the specified device
+#endif
+
+#endif /* _SAM_ */
+
diff --git a/cpu/sam0_common/include/vendor/saml10/include/saml10d14a.h b/cpu/sam0_common/include/vendor/saml10/include/saml10d14a.h
new file mode 100644
index 0000000000..4829fa9f15
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/saml10d14a.h
@@ -0,0 +1,789 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML10D14A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:49Z */
+#ifndef _SAML10D14A_H_
+#define _SAML10D14A_H_
+
+/** \addtogroup SAML10D14A_definitions SAML10D14A definitions
+  This file defines all structures and symbols for SAML10D14A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML10D14A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML10D14A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML10D14A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML10D14A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML10D14A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML10D14A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML10D14A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML10D14A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML10D14A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML10D14A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML10D14A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML10D14A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML10D14A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML10D14A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML10D14A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML10D14A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML10D14A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML10D14A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML10D14A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML10D14A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML10D14A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML10D14A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML10D14A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML10D14A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML10D14A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML10D14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML10D14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML10D14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML10D14A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML10D14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML10D14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML10D14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML10D14A Serial Communication Interface (SERCOM1) */
+  TC0_IRQn                  = 34 , /**< 34  SAML10D14A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML10D14A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML10D14A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML10D14A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML10D14A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML10D14A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML10D14A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML10D14A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML10D14A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML10D14A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML10D14A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML10D14A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML10D14A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML10D14A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML10D14A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML10D14A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML10D14A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML10D14A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML10D14A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML10D14A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML10D14A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML10D14A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML10D14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML10D14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML10D14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML10D14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML10D14A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML10D14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML10D14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML10D14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML10D14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML10D14A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML10D14A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML10D14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML10D14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML10D14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML10D14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML10D14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML10D14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML10D14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML10D14A Serial Communication Interface (SERCOM1) */
+  void* pvReserved30;
+  void* pvReserved31;
+  void* pvReserved32;
+  void* pvReserved33;
+  void* pfnTC0_Handler;                          /* 34  SAML10D14A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML10D14A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML10D14A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML10D14A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML10D14A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML10D14A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML10D14A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML10D14A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML10D14A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML10D14A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML10D14A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml10.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML10D14A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML10D14A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML10D14A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML10D14A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML10D14A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML10D14A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML10D14A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML10D14A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML10D14A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM_INST_NUM        2                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1 }           /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML10D14A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML10D14A*/
+/* ************************************************************************** */
+#include "pio/saml10d14a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML10D14A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00004000)       /*   16kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(       256)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00001000)       /*    4kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML10D14A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20840005)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML10D14A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML10D14A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML10D14A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML10D14A definitions */
+
+
+#endif /* _SAML10D14A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/saml10d15a.h b/cpu/sam0_common/include/vendor/saml10/include/saml10d15a.h
new file mode 100644
index 0000000000..0f50e5ceed
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/saml10d15a.h
@@ -0,0 +1,789 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML10D15A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10D15A_H_
+#define _SAML10D15A_H_
+
+/** \addtogroup SAML10D15A_definitions SAML10D15A definitions
+  This file defines all structures and symbols for SAML10D15A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML10D15A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML10D15A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML10D15A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML10D15A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML10D15A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML10D15A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML10D15A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML10D15A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML10D15A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML10D15A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML10D15A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML10D15A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML10D15A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML10D15A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML10D15A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML10D15A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML10D15A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML10D15A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML10D15A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML10D15A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML10D15A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML10D15A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML10D15A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML10D15A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML10D15A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML10D15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML10D15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML10D15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML10D15A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML10D15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML10D15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML10D15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML10D15A Serial Communication Interface (SERCOM1) */
+  TC0_IRQn                  = 34 , /**< 34  SAML10D15A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML10D15A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML10D15A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML10D15A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML10D15A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML10D15A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML10D15A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML10D15A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML10D15A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML10D15A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML10D15A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML10D15A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML10D15A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML10D15A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML10D15A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML10D15A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML10D15A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML10D15A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML10D15A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML10D15A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML10D15A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML10D15A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML10D15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML10D15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML10D15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML10D15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML10D15A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML10D15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML10D15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML10D15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML10D15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML10D15A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML10D15A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML10D15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML10D15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML10D15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML10D15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML10D15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML10D15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML10D15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML10D15A Serial Communication Interface (SERCOM1) */
+  void* pvReserved30;
+  void* pvReserved31;
+  void* pvReserved32;
+  void* pvReserved33;
+  void* pfnTC0_Handler;                          /* 34  SAML10D15A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML10D15A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML10D15A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML10D15A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML10D15A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML10D15A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML10D15A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML10D15A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML10D15A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML10D15A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML10D15A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml10.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML10D15A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML10D15A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML10D15A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML10D15A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML10D15A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML10D15A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML10D15A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML10D15A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML10D15A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM_INST_NUM        2                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1 }           /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML10D15A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML10D15A*/
+/* ************************************************************************** */
+#include "pio/saml10d15a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML10D15A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00008000)       /*   32kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(       512)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00002000)       /*    8kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML10D15A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20840004)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML10D15A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML10D15A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML10D15A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML10D15A definitions */
+
+
+#endif /* _SAML10D15A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/saml10d16a.h b/cpu/sam0_common/include/vendor/saml10/include/saml10d16a.h
new file mode 100644
index 0000000000..35c93dc053
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/saml10d16a.h
@@ -0,0 +1,789 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML10D16A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10D16A_H_
+#define _SAML10D16A_H_
+
+/** \addtogroup SAML10D16A_definitions SAML10D16A definitions
+  This file defines all structures and symbols for SAML10D16A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML10D16A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML10D16A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML10D16A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML10D16A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML10D16A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML10D16A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML10D16A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML10D16A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML10D16A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML10D16A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML10D16A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML10D16A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML10D16A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML10D16A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML10D16A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML10D16A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML10D16A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML10D16A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML10D16A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML10D16A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML10D16A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML10D16A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML10D16A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML10D16A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML10D16A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML10D16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML10D16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML10D16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML10D16A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML10D16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML10D16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML10D16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML10D16A Serial Communication Interface (SERCOM1) */
+  TC0_IRQn                  = 34 , /**< 34  SAML10D16A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML10D16A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML10D16A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML10D16A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML10D16A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML10D16A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML10D16A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML10D16A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML10D16A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML10D16A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML10D16A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML10D16A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML10D16A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML10D16A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML10D16A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML10D16A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML10D16A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML10D16A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML10D16A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML10D16A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML10D16A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML10D16A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML10D16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML10D16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML10D16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML10D16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML10D16A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML10D16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML10D16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML10D16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML10D16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML10D16A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML10D16A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML10D16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML10D16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML10D16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML10D16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML10D16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML10D16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML10D16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML10D16A Serial Communication Interface (SERCOM1) */
+  void* pvReserved30;
+  void* pvReserved31;
+  void* pvReserved32;
+  void* pvReserved33;
+  void* pfnTC0_Handler;                          /* 34  SAML10D16A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML10D16A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML10D16A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML10D16A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML10D16A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML10D16A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML10D16A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML10D16A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML10D16A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML10D16A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML10D16A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml10.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML10D16A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML10D16A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML10D16A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML10D16A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML10D16A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML10D16A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML10D16A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML10D16A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML10D16A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM_INST_NUM        2                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1 }           /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML10D16A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML10D16A*/
+/* ************************************************************************** */
+#include "pio/saml10d16a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML10D16A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00010000)       /*   64kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(      1024)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00004000)       /*   16kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML10D16A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20840003)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML10D16A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML10D16A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML10D16A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML10D16A definitions */
+
+
+#endif /* _SAML10D16A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/saml10e14a.h b/cpu/sam0_common/include/vendor/saml10/include/saml10e14a.h
new file mode 100644
index 0000000000..75db142b3b
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/saml10e14a.h
@@ -0,0 +1,801 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML10E14A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10E14A_H_
+#define _SAML10E14A_H_
+
+/** \addtogroup SAML10E14A_definitions SAML10E14A definitions
+  This file defines all structures and symbols for SAML10E14A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML10E14A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML10E14A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML10E14A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML10E14A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML10E14A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML10E14A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML10E14A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML10E14A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML10E14A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML10E14A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML10E14A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML10E14A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML10E14A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML10E14A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML10E14A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML10E14A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML10E14A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML10E14A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML10E14A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML10E14A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML10E14A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML10E14A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML10E14A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML10E14A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML10E14A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML10E14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML10E14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML10E14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML10E14A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML10E14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML10E14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML10E14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML10E14A Serial Communication Interface (SERCOM1) */
+  SERCOM2_0_IRQn            = 30 , /**< 30  SAML10E14A Serial Communication Interface (SERCOM2) */
+  SERCOM2_1_IRQn            = 31 , /**< 31  SAML10E14A Serial Communication Interface (SERCOM2) */
+  SERCOM2_2_IRQn            = 32 , /**< 32  SAML10E14A Serial Communication Interface (SERCOM2) */
+  SERCOM2_OTHER_IRQn        = 33 , /**< 33  SAML10E14A Serial Communication Interface (SERCOM2) */
+  TC0_IRQn                  = 34 , /**< 34  SAML10E14A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML10E14A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML10E14A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML10E14A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML10E14A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML10E14A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML10E14A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML10E14A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML10E14A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML10E14A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML10E14A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML10E14A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML10E14A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML10E14A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML10E14A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML10E14A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML10E14A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML10E14A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML10E14A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML10E14A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML10E14A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML10E14A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML10E14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML10E14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML10E14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML10E14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML10E14A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML10E14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML10E14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML10E14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML10E14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML10E14A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML10E14A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML10E14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML10E14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML10E14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML10E14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML10E14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML10E14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML10E14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML10E14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM2_0_Handler;                    /* 30  SAML10E14A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_1_Handler;                    /* 31  SAML10E14A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_2_Handler;                    /* 32  SAML10E14A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_OTHER_Handler;                /* 33  SAML10E14A Serial Communication Interface (SERCOM2) */
+  void* pfnTC0_Handler;                          /* 34  SAML10E14A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML10E14A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML10E14A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML10E14A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML10E14A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML10E14A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML10E14A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML10E14A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML10E14A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML10E14A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML10E14A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SERCOM2_0_Handler             ( void );
+void SERCOM2_1_Handler             ( void );
+void SERCOM2_2_Handler             ( void );
+void SERCOM2_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml10.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML10E14A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML10E14A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML10E14A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML10E14A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML10E14A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/sercom2.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML10E14A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML10E14A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_SERCOM2      ( 67) /**< \brief Serial Communication Interface (SERCOM2) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML10E14A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML10E14A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                (0x42000C00)                   /**< \brief (SERCOM2   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                ((Sercom *)0x42000C00U)        /**< \brief (SERCOM2   ) Base Address */
+#define SERCOM_INST_NUM        3                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1, SERCOM2 }  /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML10E14A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML10E14A*/
+/* ************************************************************************** */
+#include "pio/saml10e14a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML10E14A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00004000)       /*   16kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(       256)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00001000)       /*    4kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML10E14A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20840002)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML10E14A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML10E14A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML10E14A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML10E14A definitions */
+
+
+#endif /* _SAML10E14A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/saml10e15a.h b/cpu/sam0_common/include/vendor/saml10/include/saml10e15a.h
new file mode 100644
index 0000000000..578a9d8c74
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/saml10e15a.h
@@ -0,0 +1,801 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML10E15A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10E15A_H_
+#define _SAML10E15A_H_
+
+/** \addtogroup SAML10E15A_definitions SAML10E15A definitions
+  This file defines all structures and symbols for SAML10E15A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML10E15A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML10E15A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML10E15A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML10E15A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML10E15A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML10E15A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML10E15A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML10E15A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML10E15A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML10E15A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML10E15A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML10E15A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML10E15A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML10E15A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML10E15A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML10E15A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML10E15A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML10E15A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML10E15A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML10E15A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML10E15A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML10E15A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML10E15A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML10E15A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML10E15A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML10E15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML10E15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML10E15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML10E15A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML10E15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML10E15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML10E15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML10E15A Serial Communication Interface (SERCOM1) */
+  SERCOM2_0_IRQn            = 30 , /**< 30  SAML10E15A Serial Communication Interface (SERCOM2) */
+  SERCOM2_1_IRQn            = 31 , /**< 31  SAML10E15A Serial Communication Interface (SERCOM2) */
+  SERCOM2_2_IRQn            = 32 , /**< 32  SAML10E15A Serial Communication Interface (SERCOM2) */
+  SERCOM2_OTHER_IRQn        = 33 , /**< 33  SAML10E15A Serial Communication Interface (SERCOM2) */
+  TC0_IRQn                  = 34 , /**< 34  SAML10E15A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML10E15A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML10E15A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML10E15A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML10E15A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML10E15A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML10E15A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML10E15A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML10E15A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML10E15A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML10E15A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML10E15A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML10E15A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML10E15A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML10E15A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML10E15A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML10E15A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML10E15A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML10E15A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML10E15A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML10E15A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML10E15A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML10E15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML10E15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML10E15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML10E15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML10E15A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML10E15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML10E15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML10E15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML10E15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML10E15A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML10E15A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML10E15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML10E15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML10E15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML10E15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML10E15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML10E15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML10E15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML10E15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM2_0_Handler;                    /* 30  SAML10E15A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_1_Handler;                    /* 31  SAML10E15A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_2_Handler;                    /* 32  SAML10E15A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_OTHER_Handler;                /* 33  SAML10E15A Serial Communication Interface (SERCOM2) */
+  void* pfnTC0_Handler;                          /* 34  SAML10E15A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML10E15A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML10E15A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML10E15A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML10E15A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML10E15A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML10E15A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML10E15A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML10E15A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML10E15A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML10E15A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SERCOM2_0_Handler             ( void );
+void SERCOM2_1_Handler             ( void );
+void SERCOM2_2_Handler             ( void );
+void SERCOM2_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml10.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML10E15A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML10E15A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML10E15A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML10E15A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML10E15A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/sercom2.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML10E15A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML10E15A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_SERCOM2      ( 67) /**< \brief Serial Communication Interface (SERCOM2) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML10E15A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML10E15A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                (0x42000C00)                   /**< \brief (SERCOM2   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                ((Sercom *)0x42000C00U)        /**< \brief (SERCOM2   ) Base Address */
+#define SERCOM_INST_NUM        3                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1, SERCOM2 }  /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML10E15A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML10E15A*/
+/* ************************************************************************** */
+#include "pio/saml10e15a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML10E15A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00008000)       /*   32kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(       512)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00002000)       /*    8kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML10E15A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20840001)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML10E15A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML10E15A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML10E15A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML10E15A definitions */
+
+
+#endif /* _SAML10E15A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/saml10e16a.h b/cpu/sam0_common/include/vendor/saml10/include/saml10e16a.h
new file mode 100644
index 0000000000..8708d6cd01
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/saml10e16a.h
@@ -0,0 +1,801 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML10E16A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:50Z */
+#ifndef _SAML10E16A_H_
+#define _SAML10E16A_H_
+
+/** \addtogroup SAML10E16A_definitions SAML10E16A definitions
+  This file defines all structures and symbols for SAML10E16A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML10E16A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML10E16A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML10E16A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML10E16A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML10E16A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML10E16A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML10E16A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML10E16A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML10E16A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML10E16A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML10E16A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML10E16A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML10E16A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML10E16A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML10E16A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML10E16A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML10E16A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML10E16A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML10E16A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML10E16A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML10E16A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML10E16A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML10E16A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML10E16A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML10E16A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML10E16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML10E16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML10E16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML10E16A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML10E16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML10E16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML10E16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML10E16A Serial Communication Interface (SERCOM1) */
+  SERCOM2_0_IRQn            = 30 , /**< 30  SAML10E16A Serial Communication Interface (SERCOM2) */
+  SERCOM2_1_IRQn            = 31 , /**< 31  SAML10E16A Serial Communication Interface (SERCOM2) */
+  SERCOM2_2_IRQn            = 32 , /**< 32  SAML10E16A Serial Communication Interface (SERCOM2) */
+  SERCOM2_OTHER_IRQn        = 33 , /**< 33  SAML10E16A Serial Communication Interface (SERCOM2) */
+  TC0_IRQn                  = 34 , /**< 34  SAML10E16A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML10E16A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML10E16A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML10E16A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML10E16A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML10E16A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML10E16A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML10E16A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML10E16A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML10E16A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML10E16A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML10E16A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML10E16A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML10E16A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML10E16A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML10E16A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML10E16A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML10E16A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML10E16A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML10E16A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML10E16A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML10E16A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML10E16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML10E16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML10E16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML10E16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML10E16A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML10E16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML10E16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML10E16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML10E16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML10E16A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML10E16A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML10E16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML10E16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML10E16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML10E16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML10E16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML10E16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML10E16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML10E16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM2_0_Handler;                    /* 30  SAML10E16A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_1_Handler;                    /* 31  SAML10E16A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_2_Handler;                    /* 32  SAML10E16A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_OTHER_Handler;                /* 33  SAML10E16A Serial Communication Interface (SERCOM2) */
+  void* pfnTC0_Handler;                          /* 34  SAML10E16A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML10E16A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML10E16A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML10E16A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML10E16A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML10E16A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML10E16A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML10E16A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML10E16A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML10E16A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML10E16A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SERCOM2_0_Handler             ( void );
+void SERCOM2_1_Handler             ( void );
+void SERCOM2_2_Handler             ( void );
+void SERCOM2_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml10.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML10E16A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML10E16A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML10E16A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML10E16A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML10E16A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/sercom2.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML10E16A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML10E16A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_SERCOM2      ( 67) /**< \brief Serial Communication Interface (SERCOM2) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML10E16A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML10E16A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                (0x42000C00)                   /**< \brief (SERCOM2   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                ((Sercom *)0x42000C00U)        /**< \brief (SERCOM2   ) Base Address */
+#define SERCOM_INST_NUM        3                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1, SERCOM2 }  /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML10E16A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML10E16A*/
+/* ************************************************************************** */
+#include "pio/saml10e16a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML10E16A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00010000)       /*   64kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(      1024)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00004000)       /*   16kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML10E16A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20840000)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML10E16A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML10E16A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML10E16A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML10E16A definitions */
+
+
+#endif /* _SAML10E16A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml10/include/system_saml10.h b/cpu/sam0_common/include/vendor/saml10/include/system_saml10.h
new file mode 100644
index 0000000000..b0326c5407
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml10/include/system_saml10.h
@@ -0,0 +1,48 @@
+/**
+ * \file
+ *
+ * \brief Low-level initialization functions called upon device startup
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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 _SYSTEM_SAML10_H_INCLUDED_
+#define _SYSTEM_SAML10_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+
+extern uint32_t SystemCoreClock;   /*!< System Clock Frequency (Core Clock)  */
+
+void SystemInit(void);
+void SystemCoreClockUpdate(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SYSTEM_SAML10_H_INCLUDED */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component-version.h b/cpu/sam0_common/include/vendor/saml11/include/component-version.h
new file mode 100644
index 0000000000..f7fb8bda70
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component-version.h
@@ -0,0 +1,64 @@
+/**
+ * \file
+ *
+ * \brief Component version header file
+ *
+ * Copyright (c) 2018 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.
+//
+#define COMPONENT_VERSION 10000
+
+//
+// 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 91
+
+//
+// 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 "2018-09-27 16:55:59"
+
+#endif/* #ifndef _COMPONENT_VERSION_H_INCLUDED */
+
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/ac.h b/cpu/sam0_common/include/vendor/saml11/include/component/ac.h
new file mode 100644
index 0000000000..49b538266b
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/ac.h
@@ -0,0 +1,661 @@
+/**
+ * \file
+ *
+ * \brief Component description for AC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_AC_COMPONENT_H_
+#define _SAML11_AC_COMPONENT_H_
+#define _SAML11_AC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Analog Comparators
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR AC */
+/* ========================================================================== */
+
+#define AC_U2245                      /**< (AC) Module ID */
+#define REV_AC 0x102                  /**< (AC) Module revision */
+
+/* -------- AC_CTRLA : (AC Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_CTRLA_OFFSET                     (0x00)                                        /**<  (AC_CTRLA) Control A  Offset */
+#define AC_CTRLA_RESETVALUE                 _U_(0x00)                                     /**<  (AC_CTRLA) Control A  Reset Value */
+
+#define AC_CTRLA_SWRST_Pos                  0                                              /**< (AC_CTRLA) Software Reset Position */
+#define AC_CTRLA_SWRST_Msk                  (_U_(0x1) << AC_CTRLA_SWRST_Pos)               /**< (AC_CTRLA) Software Reset Mask */
+#define AC_CTRLA_SWRST                      AC_CTRLA_SWRST_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_CTRLA_SWRST_Msk instead */
+#define AC_CTRLA_ENABLE_Pos                 1                                              /**< (AC_CTRLA) Enable Position */
+#define AC_CTRLA_ENABLE_Msk                 (_U_(0x1) << AC_CTRLA_ENABLE_Pos)              /**< (AC_CTRLA) Enable Mask */
+#define AC_CTRLA_ENABLE                     AC_CTRLA_ENABLE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_CTRLA_ENABLE_Msk instead */
+#define AC_CTRLA_MASK                       _U_(0x03)                                      /**< \deprecated (AC_CTRLA) Register MASK  (Use AC_CTRLA_Msk instead)  */
+#define AC_CTRLA_Msk                        _U_(0x03)                                      /**< (AC_CTRLA) Register Mask  */
+
+
+/* -------- AC_CTRLB : (AC Offset: 0x01) (/W 8) Control B -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_CTRLB_OFFSET                     (0x01)                                        /**<  (AC_CTRLB) Control B  Offset */
+#define AC_CTRLB_RESETVALUE                 _U_(0x00)                                     /**<  (AC_CTRLB) Control B  Reset Value */
+
+#define AC_CTRLB_START0_Pos                 0                                              /**< (AC_CTRLB) Comparator 0 Start Comparison Position */
+#define AC_CTRLB_START0_Msk                 (_U_(0x1) << AC_CTRLB_START0_Pos)              /**< (AC_CTRLB) Comparator 0 Start Comparison Mask */
+#define AC_CTRLB_START0                     AC_CTRLB_START0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_CTRLB_START0_Msk instead */
+#define AC_CTRLB_START1_Pos                 1                                              /**< (AC_CTRLB) Comparator 1 Start Comparison Position */
+#define AC_CTRLB_START1_Msk                 (_U_(0x1) << AC_CTRLB_START1_Pos)              /**< (AC_CTRLB) Comparator 1 Start Comparison Mask */
+#define AC_CTRLB_START1                     AC_CTRLB_START1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_CTRLB_START1_Msk instead */
+#define AC_CTRLB_MASK                       _U_(0x03)                                      /**< \deprecated (AC_CTRLB) Register MASK  (Use AC_CTRLB_Msk instead)  */
+#define AC_CTRLB_Msk                        _U_(0x03)                                      /**< (AC_CTRLB) Register Mask  */
+
+#define AC_CTRLB_START_Pos                  0                                              /**< (AC_CTRLB Position) Comparator x Start Comparison */
+#define AC_CTRLB_START_Msk                  (_U_(0x3) << AC_CTRLB_START_Pos)               /**< (AC_CTRLB Mask) START */
+#define AC_CTRLB_START(value)               (AC_CTRLB_START_Msk & ((value) << AC_CTRLB_START_Pos))  
+
+/* -------- AC_EVCTRL : (AC Offset: 0x02) (R/W 16) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_EVCTRL_OFFSET                    (0x02)                                        /**<  (AC_EVCTRL) Event Control  Offset */
+#define AC_EVCTRL_RESETVALUE                _U_(0x00)                                     /**<  (AC_EVCTRL) Event Control  Reset Value */
+
+#define AC_EVCTRL_COMPEO0_Pos               0                                              /**< (AC_EVCTRL) Comparator 0 Event Output Enable Position */
+#define AC_EVCTRL_COMPEO0_Msk               (_U_(0x1) << AC_EVCTRL_COMPEO0_Pos)            /**< (AC_EVCTRL) Comparator 0 Event Output Enable Mask */
+#define AC_EVCTRL_COMPEO0                   AC_EVCTRL_COMPEO0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_COMPEO0_Msk instead */
+#define AC_EVCTRL_COMPEO1_Pos               1                                              /**< (AC_EVCTRL) Comparator 1 Event Output Enable Position */
+#define AC_EVCTRL_COMPEO1_Msk               (_U_(0x1) << AC_EVCTRL_COMPEO1_Pos)            /**< (AC_EVCTRL) Comparator 1 Event Output Enable Mask */
+#define AC_EVCTRL_COMPEO1                   AC_EVCTRL_COMPEO1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_COMPEO1_Msk instead */
+#define AC_EVCTRL_WINEO0_Pos                4                                              /**< (AC_EVCTRL) Window 0 Event Output Enable Position */
+#define AC_EVCTRL_WINEO0_Msk                (_U_(0x1) << AC_EVCTRL_WINEO0_Pos)             /**< (AC_EVCTRL) Window 0 Event Output Enable Mask */
+#define AC_EVCTRL_WINEO0                    AC_EVCTRL_WINEO0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_WINEO0_Msk instead */
+#define AC_EVCTRL_COMPEI0_Pos               8                                              /**< (AC_EVCTRL) Comparator 0 Event Input Enable Position */
+#define AC_EVCTRL_COMPEI0_Msk               (_U_(0x1) << AC_EVCTRL_COMPEI0_Pos)            /**< (AC_EVCTRL) Comparator 0 Event Input Enable Mask */
+#define AC_EVCTRL_COMPEI0                   AC_EVCTRL_COMPEI0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_COMPEI0_Msk instead */
+#define AC_EVCTRL_COMPEI1_Pos               9                                              /**< (AC_EVCTRL) Comparator 1 Event Input Enable Position */
+#define AC_EVCTRL_COMPEI1_Msk               (_U_(0x1) << AC_EVCTRL_COMPEI1_Pos)            /**< (AC_EVCTRL) Comparator 1 Event Input Enable Mask */
+#define AC_EVCTRL_COMPEI1                   AC_EVCTRL_COMPEI1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_COMPEI1_Msk instead */
+#define AC_EVCTRL_INVEI0_Pos                12                                             /**< (AC_EVCTRL) Comparator 0 Input Event Invert Enable Position */
+#define AC_EVCTRL_INVEI0_Msk                (_U_(0x1) << AC_EVCTRL_INVEI0_Pos)             /**< (AC_EVCTRL) Comparator 0 Input Event Invert Enable Mask */
+#define AC_EVCTRL_INVEI0                    AC_EVCTRL_INVEI0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_INVEI0_Msk instead */
+#define AC_EVCTRL_INVEI1_Pos                13                                             /**< (AC_EVCTRL) Comparator 1 Input Event Invert Enable Position */
+#define AC_EVCTRL_INVEI1_Msk                (_U_(0x1) << AC_EVCTRL_INVEI1_Pos)             /**< (AC_EVCTRL) Comparator 1 Input Event Invert Enable Mask */
+#define AC_EVCTRL_INVEI1                    AC_EVCTRL_INVEI1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_EVCTRL_INVEI1_Msk instead */
+#define AC_EVCTRL_MASK                      _U_(0x3313)                                    /**< \deprecated (AC_EVCTRL) Register MASK  (Use AC_EVCTRL_Msk instead)  */
+#define AC_EVCTRL_Msk                       _U_(0x3313)                                    /**< (AC_EVCTRL) Register Mask  */
+
+#define AC_EVCTRL_COMPEO_Pos                0                                              /**< (AC_EVCTRL Position) Comparator x Event Output Enable */
+#define AC_EVCTRL_COMPEO_Msk                (_U_(0x3) << AC_EVCTRL_COMPEO_Pos)             /**< (AC_EVCTRL Mask) COMPEO */
+#define AC_EVCTRL_COMPEO(value)             (AC_EVCTRL_COMPEO_Msk & ((value) << AC_EVCTRL_COMPEO_Pos))  
+#define AC_EVCTRL_WINEO_Pos                 4                                              /**< (AC_EVCTRL Position) Window x Event Output Enable */
+#define AC_EVCTRL_WINEO_Msk                 (_U_(0x1) << AC_EVCTRL_WINEO_Pos)              /**< (AC_EVCTRL Mask) WINEO */
+#define AC_EVCTRL_WINEO(value)              (AC_EVCTRL_WINEO_Msk & ((value) << AC_EVCTRL_WINEO_Pos))  
+#define AC_EVCTRL_COMPEI_Pos                8                                              /**< (AC_EVCTRL Position) Comparator x Event Input Enable */
+#define AC_EVCTRL_COMPEI_Msk                (_U_(0x3) << AC_EVCTRL_COMPEI_Pos)             /**< (AC_EVCTRL Mask) COMPEI */
+#define AC_EVCTRL_COMPEI(value)             (AC_EVCTRL_COMPEI_Msk & ((value) << AC_EVCTRL_COMPEI_Pos))  
+#define AC_EVCTRL_INVEI_Pos                 12                                             /**< (AC_EVCTRL Position) Comparator x Input Event Invert Enable */
+#define AC_EVCTRL_INVEI_Msk                 (_U_(0x3) << AC_EVCTRL_INVEI_Pos)              /**< (AC_EVCTRL Mask) INVEI */
+#define AC_EVCTRL_INVEI(value)              (AC_EVCTRL_INVEI_Msk & ((value) << AC_EVCTRL_INVEI_Pos))  
+
+/* -------- AC_INTENCLR : (AC Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_INTENCLR_OFFSET                  (0x04)                                        /**<  (AC_INTENCLR) Interrupt Enable Clear  Offset */
+#define AC_INTENCLR_RESETVALUE              _U_(0x00)                                     /**<  (AC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define AC_INTENCLR_COMP0_Pos               0                                              /**< (AC_INTENCLR) Comparator 0 Interrupt Enable Position */
+#define AC_INTENCLR_COMP0_Msk               (_U_(0x1) << AC_INTENCLR_COMP0_Pos)            /**< (AC_INTENCLR) Comparator 0 Interrupt Enable Mask */
+#define AC_INTENCLR_COMP0                   AC_INTENCLR_COMP0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENCLR_COMP0_Msk instead */
+#define AC_INTENCLR_COMP1_Pos               1                                              /**< (AC_INTENCLR) Comparator 1 Interrupt Enable Position */
+#define AC_INTENCLR_COMP1_Msk               (_U_(0x1) << AC_INTENCLR_COMP1_Pos)            /**< (AC_INTENCLR) Comparator 1 Interrupt Enable Mask */
+#define AC_INTENCLR_COMP1                   AC_INTENCLR_COMP1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENCLR_COMP1_Msk instead */
+#define AC_INTENCLR_WIN0_Pos                4                                              /**< (AC_INTENCLR) Window 0 Interrupt Enable Position */
+#define AC_INTENCLR_WIN0_Msk                (_U_(0x1) << AC_INTENCLR_WIN0_Pos)             /**< (AC_INTENCLR) Window 0 Interrupt Enable Mask */
+#define AC_INTENCLR_WIN0                    AC_INTENCLR_WIN0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENCLR_WIN0_Msk instead */
+#define AC_INTENCLR_MASK                    _U_(0x13)                                      /**< \deprecated (AC_INTENCLR) Register MASK  (Use AC_INTENCLR_Msk instead)  */
+#define AC_INTENCLR_Msk                     _U_(0x13)                                      /**< (AC_INTENCLR) Register Mask  */
+
+#define AC_INTENCLR_COMP_Pos                0                                              /**< (AC_INTENCLR Position) Comparator x Interrupt Enable */
+#define AC_INTENCLR_COMP_Msk                (_U_(0x3) << AC_INTENCLR_COMP_Pos)             /**< (AC_INTENCLR Mask) COMP */
+#define AC_INTENCLR_COMP(value)             (AC_INTENCLR_COMP_Msk & ((value) << AC_INTENCLR_COMP_Pos))  
+#define AC_INTENCLR_WIN_Pos                 4                                              /**< (AC_INTENCLR Position) Window x Interrupt Enable */
+#define AC_INTENCLR_WIN_Msk                 (_U_(0x1) << AC_INTENCLR_WIN_Pos)              /**< (AC_INTENCLR Mask) WIN */
+#define AC_INTENCLR_WIN(value)              (AC_INTENCLR_WIN_Msk & ((value) << AC_INTENCLR_WIN_Pos))  
+
+/* -------- AC_INTENSET : (AC Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_INTENSET_OFFSET                  (0x05)                                        /**<  (AC_INTENSET) Interrupt Enable Set  Offset */
+#define AC_INTENSET_RESETVALUE              _U_(0x00)                                     /**<  (AC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define AC_INTENSET_COMP0_Pos               0                                              /**< (AC_INTENSET) Comparator 0 Interrupt Enable Position */
+#define AC_INTENSET_COMP0_Msk               (_U_(0x1) << AC_INTENSET_COMP0_Pos)            /**< (AC_INTENSET) Comparator 0 Interrupt Enable Mask */
+#define AC_INTENSET_COMP0                   AC_INTENSET_COMP0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENSET_COMP0_Msk instead */
+#define AC_INTENSET_COMP1_Pos               1                                              /**< (AC_INTENSET) Comparator 1 Interrupt Enable Position */
+#define AC_INTENSET_COMP1_Msk               (_U_(0x1) << AC_INTENSET_COMP1_Pos)            /**< (AC_INTENSET) Comparator 1 Interrupt Enable Mask */
+#define AC_INTENSET_COMP1                   AC_INTENSET_COMP1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENSET_COMP1_Msk instead */
+#define AC_INTENSET_WIN0_Pos                4                                              /**< (AC_INTENSET) Window 0 Interrupt Enable Position */
+#define AC_INTENSET_WIN0_Msk                (_U_(0x1) << AC_INTENSET_WIN0_Pos)             /**< (AC_INTENSET) Window 0 Interrupt Enable Mask */
+#define AC_INTENSET_WIN0                    AC_INTENSET_WIN0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTENSET_WIN0_Msk instead */
+#define AC_INTENSET_MASK                    _U_(0x13)                                      /**< \deprecated (AC_INTENSET) Register MASK  (Use AC_INTENSET_Msk instead)  */
+#define AC_INTENSET_Msk                     _U_(0x13)                                      /**< (AC_INTENSET) Register Mask  */
+
+#define AC_INTENSET_COMP_Pos                0                                              /**< (AC_INTENSET Position) Comparator x Interrupt Enable */
+#define AC_INTENSET_COMP_Msk                (_U_(0x3) << AC_INTENSET_COMP_Pos)             /**< (AC_INTENSET Mask) COMP */
+#define AC_INTENSET_COMP(value)             (AC_INTENSET_COMP_Msk & ((value) << AC_INTENSET_COMP_Pos))  
+#define AC_INTENSET_WIN_Pos                 4                                              /**< (AC_INTENSET Position) Window x Interrupt Enable */
+#define AC_INTENSET_WIN_Msk                 (_U_(0x1) << AC_INTENSET_WIN_Pos)              /**< (AC_INTENSET Mask) WIN */
+#define AC_INTENSET_WIN(value)              (AC_INTENSET_WIN_Msk & ((value) << AC_INTENSET_WIN_Pos))  
+
+/* -------- AC_INTFLAG : (AC Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_INTFLAG_OFFSET                   (0x06)                                        /**<  (AC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define AC_INTFLAG_RESETVALUE               _U_(0x00)                                     /**<  (AC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define AC_INTFLAG_COMP0_Pos                0                                              /**< (AC_INTFLAG) Comparator 0 Position */
+#define AC_INTFLAG_COMP0_Msk                (_U_(0x1) << AC_INTFLAG_COMP0_Pos)             /**< (AC_INTFLAG) Comparator 0 Mask */
+#define AC_INTFLAG_COMP0                    AC_INTFLAG_COMP0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTFLAG_COMP0_Msk instead */
+#define AC_INTFLAG_COMP1_Pos                1                                              /**< (AC_INTFLAG) Comparator 1 Position */
+#define AC_INTFLAG_COMP1_Msk                (_U_(0x1) << AC_INTFLAG_COMP1_Pos)             /**< (AC_INTFLAG) Comparator 1 Mask */
+#define AC_INTFLAG_COMP1                    AC_INTFLAG_COMP1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTFLAG_COMP1_Msk instead */
+#define AC_INTFLAG_WIN0_Pos                 4                                              /**< (AC_INTFLAG) Window 0 Position */
+#define AC_INTFLAG_WIN0_Msk                 (_U_(0x1) << AC_INTFLAG_WIN0_Pos)              /**< (AC_INTFLAG) Window 0 Mask */
+#define AC_INTFLAG_WIN0                     AC_INTFLAG_WIN0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_INTFLAG_WIN0_Msk instead */
+#define AC_INTFLAG_MASK                     _U_(0x13)                                      /**< \deprecated (AC_INTFLAG) Register MASK  (Use AC_INTFLAG_Msk instead)  */
+#define AC_INTFLAG_Msk                      _U_(0x13)                                      /**< (AC_INTFLAG) Register Mask  */
+
+#define AC_INTFLAG_COMP_Pos                 0                                              /**< (AC_INTFLAG Position) Comparator x */
+#define AC_INTFLAG_COMP_Msk                 (_U_(0x3) << AC_INTFLAG_COMP_Pos)              /**< (AC_INTFLAG Mask) COMP */
+#define AC_INTFLAG_COMP(value)              (AC_INTFLAG_COMP_Msk & ((value) << AC_INTFLAG_COMP_Pos))  
+#define AC_INTFLAG_WIN_Pos                  4                                              /**< (AC_INTFLAG Position) Window x */
+#define AC_INTFLAG_WIN_Msk                  (_U_(0x1) << AC_INTFLAG_WIN_Pos)               /**< (AC_INTFLAG Mask) WIN */
+#define AC_INTFLAG_WIN(value)               (AC_INTFLAG_WIN_Msk & ((value) << AC_INTFLAG_WIN_Pos))  
+
+/* -------- AC_STATUSA : (AC Offset: 0x07) (R/ 8) Status A -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_STATUSA_OFFSET                   (0x07)                                        /**<  (AC_STATUSA) Status A  Offset */
+#define AC_STATUSA_RESETVALUE               _U_(0x00)                                     /**<  (AC_STATUSA) Status A  Reset Value */
+
+#define AC_STATUSA_STATE0_Pos               0                                              /**< (AC_STATUSA) Comparator 0 Current State Position */
+#define AC_STATUSA_STATE0_Msk               (_U_(0x1) << AC_STATUSA_STATE0_Pos)            /**< (AC_STATUSA) Comparator 0 Current State Mask */
+#define AC_STATUSA_STATE0                   AC_STATUSA_STATE0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_STATUSA_STATE0_Msk instead */
+#define AC_STATUSA_STATE1_Pos               1                                              /**< (AC_STATUSA) Comparator 1 Current State Position */
+#define AC_STATUSA_STATE1_Msk               (_U_(0x1) << AC_STATUSA_STATE1_Pos)            /**< (AC_STATUSA) Comparator 1 Current State Mask */
+#define AC_STATUSA_STATE1                   AC_STATUSA_STATE1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_STATUSA_STATE1_Msk instead */
+#define AC_STATUSA_WSTATE0_Pos              4                                              /**< (AC_STATUSA) Window 0 Current State Position */
+#define AC_STATUSA_WSTATE0_Msk              (_U_(0x3) << AC_STATUSA_WSTATE0_Pos)           /**< (AC_STATUSA) Window 0 Current State Mask */
+#define AC_STATUSA_WSTATE0(value)           (AC_STATUSA_WSTATE0_Msk & ((value) << AC_STATUSA_WSTATE0_Pos))
+#define   AC_STATUSA_WSTATE0_ABOVE_Val      _U_(0x0)                                       /**< (AC_STATUSA) Signal is above window  */
+#define   AC_STATUSA_WSTATE0_INSIDE_Val     _U_(0x1)                                       /**< (AC_STATUSA) Signal is inside window  */
+#define   AC_STATUSA_WSTATE0_BELOW_Val      _U_(0x2)                                       /**< (AC_STATUSA) Signal is below window  */
+#define AC_STATUSA_WSTATE0_ABOVE            (AC_STATUSA_WSTATE0_ABOVE_Val << AC_STATUSA_WSTATE0_Pos)  /**< (AC_STATUSA) Signal is above window Position  */
+#define AC_STATUSA_WSTATE0_INSIDE           (AC_STATUSA_WSTATE0_INSIDE_Val << AC_STATUSA_WSTATE0_Pos)  /**< (AC_STATUSA) Signal is inside window Position  */
+#define AC_STATUSA_WSTATE0_BELOW            (AC_STATUSA_WSTATE0_BELOW_Val << AC_STATUSA_WSTATE0_Pos)  /**< (AC_STATUSA) Signal is below window Position  */
+#define AC_STATUSA_MASK                     _U_(0x33)                                      /**< \deprecated (AC_STATUSA) Register MASK  (Use AC_STATUSA_Msk instead)  */
+#define AC_STATUSA_Msk                      _U_(0x33)                                      /**< (AC_STATUSA) Register Mask  */
+
+#define AC_STATUSA_STATE_Pos                0                                              /**< (AC_STATUSA Position) Comparator x Current State */
+#define AC_STATUSA_STATE_Msk                (_U_(0x3) << AC_STATUSA_STATE_Pos)             /**< (AC_STATUSA Mask) STATE */
+#define AC_STATUSA_STATE(value)             (AC_STATUSA_STATE_Msk & ((value) << AC_STATUSA_STATE_Pos))  
+
+/* -------- AC_STATUSB : (AC Offset: 0x08) (R/ 8) Status B -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_STATUSB_OFFSET                   (0x08)                                        /**<  (AC_STATUSB) Status B  Offset */
+#define AC_STATUSB_RESETVALUE               _U_(0x00)                                     /**<  (AC_STATUSB) Status B  Reset Value */
+
+#define AC_STATUSB_READY0_Pos               0                                              /**< (AC_STATUSB) Comparator 0 Ready Position */
+#define AC_STATUSB_READY0_Msk               (_U_(0x1) << AC_STATUSB_READY0_Pos)            /**< (AC_STATUSB) Comparator 0 Ready Mask */
+#define AC_STATUSB_READY0                   AC_STATUSB_READY0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_STATUSB_READY0_Msk instead */
+#define AC_STATUSB_READY1_Pos               1                                              /**< (AC_STATUSB) Comparator 1 Ready Position */
+#define AC_STATUSB_READY1_Msk               (_U_(0x1) << AC_STATUSB_READY1_Pos)            /**< (AC_STATUSB) Comparator 1 Ready Mask */
+#define AC_STATUSB_READY1                   AC_STATUSB_READY1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_STATUSB_READY1_Msk instead */
+#define AC_STATUSB_MASK                     _U_(0x03)                                      /**< \deprecated (AC_STATUSB) Register MASK  (Use AC_STATUSB_Msk instead)  */
+#define AC_STATUSB_Msk                      _U_(0x03)                                      /**< (AC_STATUSB) Register Mask  */
+
+#define AC_STATUSB_READY_Pos                0                                              /**< (AC_STATUSB Position) Comparator x Ready */
+#define AC_STATUSB_READY_Msk                (_U_(0x3) << AC_STATUSB_READY_Pos)             /**< (AC_STATUSB Mask) READY */
+#define AC_STATUSB_READY(value)             (AC_STATUSB_READY_Msk & ((value) << AC_STATUSB_READY_Pos))  
+
+/* -------- AC_DBGCTRL : (AC Offset: 0x09) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_DBGCTRL_OFFSET                   (0x09)                                        /**<  (AC_DBGCTRL) Debug Control  Offset */
+#define AC_DBGCTRL_RESETVALUE               _U_(0x00)                                     /**<  (AC_DBGCTRL) Debug Control  Reset Value */
+
+#define AC_DBGCTRL_DBGRUN_Pos               0                                              /**< (AC_DBGCTRL) Debug Run Position */
+#define AC_DBGCTRL_DBGRUN_Msk               (_U_(0x1) << AC_DBGCTRL_DBGRUN_Pos)            /**< (AC_DBGCTRL) Debug Run Mask */
+#define AC_DBGCTRL_DBGRUN                   AC_DBGCTRL_DBGRUN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_DBGCTRL_DBGRUN_Msk instead */
+#define AC_DBGCTRL_MASK                     _U_(0x01)                                      /**< \deprecated (AC_DBGCTRL) Register MASK  (Use AC_DBGCTRL_Msk instead)  */
+#define AC_DBGCTRL_Msk                      _U_(0x01)                                      /**< (AC_DBGCTRL) Register Mask  */
+
+
+/* -------- AC_WINCTRL : (AC Offset: 0x0a) (R/W 8) Window Control -------- */
+#if !(defined(__ASSEMBLER__) || 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 */
+  struct {
+    uint8_t  WEN:1;                     /**< bit:      0  Window x Mode Enable                     */
+    uint8_t  :7;                        /**< bit:   1..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} AC_WINCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_WINCTRL_OFFSET                   (0x0A)                                        /**<  (AC_WINCTRL) Window Control  Offset */
+#define AC_WINCTRL_RESETVALUE               _U_(0x00)                                     /**<  (AC_WINCTRL) Window Control  Reset Value */
+
+#define AC_WINCTRL_WEN0_Pos                 0                                              /**< (AC_WINCTRL) Window 0 Mode Enable Position */
+#define AC_WINCTRL_WEN0_Msk                 (_U_(0x1) << AC_WINCTRL_WEN0_Pos)              /**< (AC_WINCTRL) Window 0 Mode Enable Mask */
+#define AC_WINCTRL_WEN0                     AC_WINCTRL_WEN0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_WINCTRL_WEN0_Msk instead */
+#define AC_WINCTRL_WINTSEL0_Pos             1                                              /**< (AC_WINCTRL) Window 0 Interrupt Selection Position */
+#define AC_WINCTRL_WINTSEL0_Msk             (_U_(0x3) << AC_WINCTRL_WINTSEL0_Pos)          /**< (AC_WINCTRL) Window 0 Interrupt Selection Mask */
+#define AC_WINCTRL_WINTSEL0(value)          (AC_WINCTRL_WINTSEL0_Msk & ((value) << AC_WINCTRL_WINTSEL0_Pos))
+#define   AC_WINCTRL_WINTSEL0_ABOVE_Val     _U_(0x0)                                       /**< (AC_WINCTRL) Interrupt on signal above window  */
+#define   AC_WINCTRL_WINTSEL0_INSIDE_Val    _U_(0x1)                                       /**< (AC_WINCTRL) Interrupt on signal inside window  */
+#define   AC_WINCTRL_WINTSEL0_BELOW_Val     _U_(0x2)                                       /**< (AC_WINCTRL) Interrupt on signal below window  */
+#define   AC_WINCTRL_WINTSEL0_OUTSIDE_Val   _U_(0x3)                                       /**< (AC_WINCTRL) Interrupt on signal outside window  */
+#define AC_WINCTRL_WINTSEL0_ABOVE           (AC_WINCTRL_WINTSEL0_ABOVE_Val << AC_WINCTRL_WINTSEL0_Pos)  /**< (AC_WINCTRL) Interrupt on signal above window Position  */
+#define AC_WINCTRL_WINTSEL0_INSIDE          (AC_WINCTRL_WINTSEL0_INSIDE_Val << AC_WINCTRL_WINTSEL0_Pos)  /**< (AC_WINCTRL) Interrupt on signal inside window Position  */
+#define AC_WINCTRL_WINTSEL0_BELOW           (AC_WINCTRL_WINTSEL0_BELOW_Val << AC_WINCTRL_WINTSEL0_Pos)  /**< (AC_WINCTRL) Interrupt on signal below window Position  */
+#define AC_WINCTRL_WINTSEL0_OUTSIDE         (AC_WINCTRL_WINTSEL0_OUTSIDE_Val << AC_WINCTRL_WINTSEL0_Pos)  /**< (AC_WINCTRL) Interrupt on signal outside window Position  */
+#define AC_WINCTRL_MASK                     _U_(0x07)                                      /**< \deprecated (AC_WINCTRL) Register MASK  (Use AC_WINCTRL_Msk instead)  */
+#define AC_WINCTRL_Msk                      _U_(0x07)                                      /**< (AC_WINCTRL) Register Mask  */
+
+#define AC_WINCTRL_WEN_Pos                  0                                              /**< (AC_WINCTRL Position) Window x Mode Enable */
+#define AC_WINCTRL_WEN_Msk                  (_U_(0x1) << AC_WINCTRL_WEN_Pos)               /**< (AC_WINCTRL Mask) WEN */
+#define AC_WINCTRL_WEN(value)               (AC_WINCTRL_WEN_Msk & ((value) << AC_WINCTRL_WEN_Pos))  
+
+/* -------- AC_SCALER : (AC Offset: 0x0c) (R/W 8) Scaler n -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_SCALER_OFFSET                    (0x0C)                                        /**<  (AC_SCALER) Scaler n  Offset */
+#define AC_SCALER_RESETVALUE                _U_(0x00)                                     /**<  (AC_SCALER) Scaler n  Reset Value */
+
+#define AC_SCALER_VALUE_Pos                 0                                              /**< (AC_SCALER) Scaler Value Position */
+#define AC_SCALER_VALUE_Msk                 (_U_(0x3F) << AC_SCALER_VALUE_Pos)             /**< (AC_SCALER) Scaler Value Mask */
+#define AC_SCALER_VALUE(value)              (AC_SCALER_VALUE_Msk & ((value) << AC_SCALER_VALUE_Pos))
+#define AC_SCALER_MASK                      _U_(0x3F)                                      /**< \deprecated (AC_SCALER) Register MASK  (Use AC_SCALER_Msk instead)  */
+#define AC_SCALER_Msk                       _U_(0x3F)                                      /**< (AC_SCALER) Register Mask  */
+
+
+/* -------- AC_COMPCTRL : (AC Offset: 0x10) (R/W 32) Comparator Control n -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_COMPCTRL_OFFSET                  (0x10)                                        /**<  (AC_COMPCTRL) Comparator Control n  Offset */
+#define AC_COMPCTRL_RESETVALUE              _U_(0x00)                                     /**<  (AC_COMPCTRL) Comparator Control n  Reset Value */
+
+#define AC_COMPCTRL_ENABLE_Pos              1                                              /**< (AC_COMPCTRL) Enable Position */
+#define AC_COMPCTRL_ENABLE_Msk              (_U_(0x1) << AC_COMPCTRL_ENABLE_Pos)           /**< (AC_COMPCTRL) Enable Mask */
+#define AC_COMPCTRL_ENABLE                  AC_COMPCTRL_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_COMPCTRL_ENABLE_Msk instead */
+#define AC_COMPCTRL_SINGLE_Pos              2                                              /**< (AC_COMPCTRL) Single-Shot Mode Position */
+#define AC_COMPCTRL_SINGLE_Msk              (_U_(0x1) << AC_COMPCTRL_SINGLE_Pos)           /**< (AC_COMPCTRL) Single-Shot Mode Mask */
+#define AC_COMPCTRL_SINGLE                  AC_COMPCTRL_SINGLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_COMPCTRL_SINGLE_Msk instead */
+#define AC_COMPCTRL_INTSEL_Pos              3                                              /**< (AC_COMPCTRL) Interrupt Selection Position */
+#define AC_COMPCTRL_INTSEL_Msk              (_U_(0x3) << AC_COMPCTRL_INTSEL_Pos)           /**< (AC_COMPCTRL) Interrupt Selection Mask */
+#define AC_COMPCTRL_INTSEL(value)           (AC_COMPCTRL_INTSEL_Msk & ((value) << AC_COMPCTRL_INTSEL_Pos))
+#define   AC_COMPCTRL_INTSEL_TOGGLE_Val     _U_(0x0)                                       /**< (AC_COMPCTRL) Interrupt on comparator output toggle  */
+#define   AC_COMPCTRL_INTSEL_RISING_Val     _U_(0x1)                                       /**< (AC_COMPCTRL) Interrupt on comparator output rising  */
+#define   AC_COMPCTRL_INTSEL_FALLING_Val    _U_(0x2)                                       /**< (AC_COMPCTRL) Interrupt on comparator output falling  */
+#define   AC_COMPCTRL_INTSEL_EOC_Val        _U_(0x3)                                       /**< (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)  /**< (AC_COMPCTRL) Interrupt on comparator output toggle Position  */
+#define AC_COMPCTRL_INTSEL_RISING           (AC_COMPCTRL_INTSEL_RISING_Val << AC_COMPCTRL_INTSEL_Pos)  /**< (AC_COMPCTRL) Interrupt on comparator output rising Position  */
+#define AC_COMPCTRL_INTSEL_FALLING          (AC_COMPCTRL_INTSEL_FALLING_Val << AC_COMPCTRL_INTSEL_Pos)  /**< (AC_COMPCTRL) Interrupt on comparator output falling Position  */
+#define AC_COMPCTRL_INTSEL_EOC              (AC_COMPCTRL_INTSEL_EOC_Val << AC_COMPCTRL_INTSEL_Pos)  /**< (AC_COMPCTRL) Interrupt on end of comparison (single-shot mode only) Position  */
+#define AC_COMPCTRL_RUNSTDBY_Pos            6                                              /**< (AC_COMPCTRL) Run in Standby Position */
+#define AC_COMPCTRL_RUNSTDBY_Msk            (_U_(0x1) << AC_COMPCTRL_RUNSTDBY_Pos)         /**< (AC_COMPCTRL) Run in Standby Mask */
+#define AC_COMPCTRL_RUNSTDBY                AC_COMPCTRL_RUNSTDBY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_COMPCTRL_RUNSTDBY_Msk instead */
+#define AC_COMPCTRL_MUXNEG_Pos              8                                              /**< (AC_COMPCTRL) Negative Input Mux Selection Position */
+#define AC_COMPCTRL_MUXNEG_Msk              (_U_(0x7) << AC_COMPCTRL_MUXNEG_Pos)           /**< (AC_COMPCTRL) Negative Input Mux Selection Mask */
+#define AC_COMPCTRL_MUXNEG(value)           (AC_COMPCTRL_MUXNEG_Msk & ((value) << AC_COMPCTRL_MUXNEG_Pos))
+#define   AC_COMPCTRL_MUXNEG_PIN0_Val       _U_(0x0)                                       /**< (AC_COMPCTRL) I/O pin 0  */
+#define   AC_COMPCTRL_MUXNEG_PIN1_Val       _U_(0x1)                                       /**< (AC_COMPCTRL) I/O pin 1  */
+#define   AC_COMPCTRL_MUXNEG_PIN2_Val       _U_(0x2)                                       /**< (AC_COMPCTRL) I/O pin 2  */
+#define   AC_COMPCTRL_MUXNEG_PIN3_Val       _U_(0x3)                                       /**< (AC_COMPCTRL) I/O pin 3  */
+#define   AC_COMPCTRL_MUXNEG_GND_Val        _U_(0x4)                                       /**< (AC_COMPCTRL) Ground  */
+#define   AC_COMPCTRL_MUXNEG_VSCALE_Val     _U_(0x5)                                       /**< (AC_COMPCTRL) VDD scaler  */
+#define   AC_COMPCTRL_MUXNEG_BANDGAP_Val    _U_(0x6)                                       /**< (AC_COMPCTRL) Internal bandgap voltage  */
+#define   AC_COMPCTRL_MUXNEG_OPAMP_Val      _U_(0x7)                                       /**< (AC_COMPCTRL) OPAMP output (on AC1)  */
+#define   AC_COMPCTRL_MUXNEG_DAC_Val        _U_(0x7)                                       /**< (AC_COMPCTRL) DAC output (on AC0)  */
+#define AC_COMPCTRL_MUXNEG_PIN0             (AC_COMPCTRL_MUXNEG_PIN0_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) I/O pin 0 Position  */
+#define AC_COMPCTRL_MUXNEG_PIN1             (AC_COMPCTRL_MUXNEG_PIN1_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) I/O pin 1 Position  */
+#define AC_COMPCTRL_MUXNEG_PIN2             (AC_COMPCTRL_MUXNEG_PIN2_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) I/O pin 2 Position  */
+#define AC_COMPCTRL_MUXNEG_PIN3             (AC_COMPCTRL_MUXNEG_PIN3_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) I/O pin 3 Position  */
+#define AC_COMPCTRL_MUXNEG_GND              (AC_COMPCTRL_MUXNEG_GND_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) Ground Position  */
+#define AC_COMPCTRL_MUXNEG_VSCALE           (AC_COMPCTRL_MUXNEG_VSCALE_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) VDD scaler Position  */
+#define AC_COMPCTRL_MUXNEG_BANDGAP          (AC_COMPCTRL_MUXNEG_BANDGAP_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) Internal bandgap voltage Position  */
+#define AC_COMPCTRL_MUXNEG_OPAMP            (AC_COMPCTRL_MUXNEG_OPAMP_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) OPAMP output (on AC1) Position  */
+#define AC_COMPCTRL_MUXNEG_DAC              (AC_COMPCTRL_MUXNEG_DAC_Val << AC_COMPCTRL_MUXNEG_Pos)  /**< (AC_COMPCTRL) DAC output (on AC0) Position  */
+#define AC_COMPCTRL_MUXPOS_Pos              12                                             /**< (AC_COMPCTRL) Positive Input Mux Selection Position */
+#define AC_COMPCTRL_MUXPOS_Msk              (_U_(0x7) << AC_COMPCTRL_MUXPOS_Pos)           /**< (AC_COMPCTRL) Positive Input Mux Selection Mask */
+#define AC_COMPCTRL_MUXPOS(value)           (AC_COMPCTRL_MUXPOS_Msk & ((value) << AC_COMPCTRL_MUXPOS_Pos))
+#define   AC_COMPCTRL_MUXPOS_PIN0_Val       _U_(0x0)                                       /**< (AC_COMPCTRL) I/O pin 0  */
+#define   AC_COMPCTRL_MUXPOS_PIN1_Val       _U_(0x1)                                       /**< (AC_COMPCTRL) I/O pin 1  */
+#define   AC_COMPCTRL_MUXPOS_PIN2_Val       _U_(0x2)                                       /**< (AC_COMPCTRL) I/O pin 2  */
+#define   AC_COMPCTRL_MUXPOS_PIN3_Val       _U_(0x3)                                       /**< (AC_COMPCTRL) I/O pin 3  */
+#define   AC_COMPCTRL_MUXPOS_VSCALE_Val     _U_(0x4)                                       /**< (AC_COMPCTRL) VDD Scaler  */
+#define AC_COMPCTRL_MUXPOS_PIN0             (AC_COMPCTRL_MUXPOS_PIN0_Val << AC_COMPCTRL_MUXPOS_Pos)  /**< (AC_COMPCTRL) I/O pin 0 Position  */
+#define AC_COMPCTRL_MUXPOS_PIN1             (AC_COMPCTRL_MUXPOS_PIN1_Val << AC_COMPCTRL_MUXPOS_Pos)  /**< (AC_COMPCTRL) I/O pin 1 Position  */
+#define AC_COMPCTRL_MUXPOS_PIN2             (AC_COMPCTRL_MUXPOS_PIN2_Val << AC_COMPCTRL_MUXPOS_Pos)  /**< (AC_COMPCTRL) I/O pin 2 Position  */
+#define AC_COMPCTRL_MUXPOS_PIN3             (AC_COMPCTRL_MUXPOS_PIN3_Val << AC_COMPCTRL_MUXPOS_Pos)  /**< (AC_COMPCTRL) I/O pin 3 Position  */
+#define AC_COMPCTRL_MUXPOS_VSCALE           (AC_COMPCTRL_MUXPOS_VSCALE_Val << AC_COMPCTRL_MUXPOS_Pos)  /**< (AC_COMPCTRL) VDD Scaler Position  */
+#define AC_COMPCTRL_SWAP_Pos                15                                             /**< (AC_COMPCTRL) Swap Inputs and Invert Position */
+#define AC_COMPCTRL_SWAP_Msk                (_U_(0x1) << AC_COMPCTRL_SWAP_Pos)             /**< (AC_COMPCTRL) Swap Inputs and Invert Mask */
+#define AC_COMPCTRL_SWAP                    AC_COMPCTRL_SWAP_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_COMPCTRL_SWAP_Msk instead */
+#define AC_COMPCTRL_SPEED_Pos               16                                             /**< (AC_COMPCTRL) Speed Selection Position */
+#define AC_COMPCTRL_SPEED_Msk               (_U_(0x3) << AC_COMPCTRL_SPEED_Pos)            /**< (AC_COMPCTRL) Speed Selection Mask */
+#define AC_COMPCTRL_SPEED(value)            (AC_COMPCTRL_SPEED_Msk & ((value) << AC_COMPCTRL_SPEED_Pos))
+#define   AC_COMPCTRL_SPEED_LOW_Val         _U_(0x0)                                       /**< (AC_COMPCTRL) Low speed  */
+#define   AC_COMPCTRL_SPEED_MEDLOW_Val      _U_(0x1)                                       /**< (AC_COMPCTRL) Medium low speed  */
+#define   AC_COMPCTRL_SPEED_MEDHIGH_Val     _U_(0x2)                                       /**< (AC_COMPCTRL) Medium high speed  */
+#define   AC_COMPCTRL_SPEED_HIGH_Val        _U_(0x3)                                       /**< (AC_COMPCTRL) High speed  */
+#define AC_COMPCTRL_SPEED_LOW               (AC_COMPCTRL_SPEED_LOW_Val << AC_COMPCTRL_SPEED_Pos)  /**< (AC_COMPCTRL) Low speed Position  */
+#define AC_COMPCTRL_SPEED_MEDLOW            (AC_COMPCTRL_SPEED_MEDLOW_Val << AC_COMPCTRL_SPEED_Pos)  /**< (AC_COMPCTRL) Medium low speed Position  */
+#define AC_COMPCTRL_SPEED_MEDHIGH           (AC_COMPCTRL_SPEED_MEDHIGH_Val << AC_COMPCTRL_SPEED_Pos)  /**< (AC_COMPCTRL) Medium high speed Position  */
+#define AC_COMPCTRL_SPEED_HIGH              (AC_COMPCTRL_SPEED_HIGH_Val << AC_COMPCTRL_SPEED_Pos)  /**< (AC_COMPCTRL) High speed Position  */
+#define AC_COMPCTRL_HYSTEN_Pos              19                                             /**< (AC_COMPCTRL) Hysteresis Enable Position */
+#define AC_COMPCTRL_HYSTEN_Msk              (_U_(0x1) << AC_COMPCTRL_HYSTEN_Pos)           /**< (AC_COMPCTRL) Hysteresis Enable Mask */
+#define AC_COMPCTRL_HYSTEN                  AC_COMPCTRL_HYSTEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_COMPCTRL_HYSTEN_Msk instead */
+#define AC_COMPCTRL_HYST_Pos                20                                             /**< (AC_COMPCTRL) Hysteresis Level Position */
+#define AC_COMPCTRL_HYST_Msk                (_U_(0x3) << AC_COMPCTRL_HYST_Pos)             /**< (AC_COMPCTRL) Hysteresis Level Mask */
+#define AC_COMPCTRL_HYST(value)             (AC_COMPCTRL_HYST_Msk & ((value) << AC_COMPCTRL_HYST_Pos))
+#define   AC_COMPCTRL_HYST_HYST50_Val       _U_(0x0)                                       /**< (AC_COMPCTRL) 50mV  */
+#define   AC_COMPCTRL_HYST_HYST70_Val       _U_(0x1)                                       /**< (AC_COMPCTRL) 70mV  */
+#define   AC_COMPCTRL_HYST_HYST90_Val       _U_(0x2)                                       /**< (AC_COMPCTRL) 90mV  */
+#define   AC_COMPCTRL_HYST_HYST110_Val      _U_(0x3)                                       /**< (AC_COMPCTRL) 110mV  */
+#define AC_COMPCTRL_HYST_HYST50             (AC_COMPCTRL_HYST_HYST50_Val << AC_COMPCTRL_HYST_Pos)  /**< (AC_COMPCTRL) 50mV Position  */
+#define AC_COMPCTRL_HYST_HYST70             (AC_COMPCTRL_HYST_HYST70_Val << AC_COMPCTRL_HYST_Pos)  /**< (AC_COMPCTRL) 70mV Position  */
+#define AC_COMPCTRL_HYST_HYST90             (AC_COMPCTRL_HYST_HYST90_Val << AC_COMPCTRL_HYST_Pos)  /**< (AC_COMPCTRL) 90mV Position  */
+#define AC_COMPCTRL_HYST_HYST110            (AC_COMPCTRL_HYST_HYST110_Val << AC_COMPCTRL_HYST_Pos)  /**< (AC_COMPCTRL) 110mV Position  */
+#define AC_COMPCTRL_FLEN_Pos                24                                             /**< (AC_COMPCTRL) Filter Length Position */
+#define AC_COMPCTRL_FLEN_Msk                (_U_(0x7) << AC_COMPCTRL_FLEN_Pos)             /**< (AC_COMPCTRL) Filter Length Mask */
+#define AC_COMPCTRL_FLEN(value)             (AC_COMPCTRL_FLEN_Msk & ((value) << AC_COMPCTRL_FLEN_Pos))
+#define   AC_COMPCTRL_FLEN_OFF_Val          _U_(0x0)                                       /**< (AC_COMPCTRL) No filtering  */
+#define   AC_COMPCTRL_FLEN_MAJ3_Val         _U_(0x1)                                       /**< (AC_COMPCTRL) 3-bit majority function (2 of 3)  */
+#define   AC_COMPCTRL_FLEN_MAJ5_Val         _U_(0x2)                                       /**< (AC_COMPCTRL) 5-bit majority function (3 of 5)  */
+#define AC_COMPCTRL_FLEN_OFF                (AC_COMPCTRL_FLEN_OFF_Val << AC_COMPCTRL_FLEN_Pos)  /**< (AC_COMPCTRL) No filtering Position  */
+#define AC_COMPCTRL_FLEN_MAJ3               (AC_COMPCTRL_FLEN_MAJ3_Val << AC_COMPCTRL_FLEN_Pos)  /**< (AC_COMPCTRL) 3-bit majority function (2 of 3) Position  */
+#define AC_COMPCTRL_FLEN_MAJ5               (AC_COMPCTRL_FLEN_MAJ5_Val << AC_COMPCTRL_FLEN_Pos)  /**< (AC_COMPCTRL) 5-bit majority function (3 of 5) Position  */
+#define AC_COMPCTRL_OUT_Pos                 28                                             /**< (AC_COMPCTRL) Output Position */
+#define AC_COMPCTRL_OUT_Msk                 (_U_(0x3) << AC_COMPCTRL_OUT_Pos)              /**< (AC_COMPCTRL) Output Mask */
+#define AC_COMPCTRL_OUT(value)              (AC_COMPCTRL_OUT_Msk & ((value) << AC_COMPCTRL_OUT_Pos))
+#define   AC_COMPCTRL_OUT_OFF_Val           _U_(0x0)                                       /**< (AC_COMPCTRL) The output of COMPn is not routed to the COMPn I/O port  */
+#define   AC_COMPCTRL_OUT_ASYNC_Val         _U_(0x1)                                       /**< (AC_COMPCTRL) The asynchronous output of COMPn is routed to the COMPn I/O port  */
+#define   AC_COMPCTRL_OUT_SYNC_Val          _U_(0x2)                                       /**< (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)  /**< (AC_COMPCTRL) The output of COMPn is not routed to the COMPn I/O port Position  */
+#define AC_COMPCTRL_OUT_ASYNC               (AC_COMPCTRL_OUT_ASYNC_Val << AC_COMPCTRL_OUT_Pos)  /**< (AC_COMPCTRL) The asynchronous output of COMPn is routed to the COMPn I/O port Position  */
+#define AC_COMPCTRL_OUT_SYNC                (AC_COMPCTRL_OUT_SYNC_Val << AC_COMPCTRL_OUT_Pos)  /**< (AC_COMPCTRL) The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port Position  */
+#define AC_COMPCTRL_MASK                    _U_(0x373BF75E)                                /**< \deprecated (AC_COMPCTRL) Register MASK  (Use AC_COMPCTRL_Msk instead)  */
+#define AC_COMPCTRL_Msk                     _U_(0x373BF75E)                                /**< (AC_COMPCTRL) Register Mask  */
+
+
+/* -------- AC_SYNCBUSY : (AC Offset: 0x20) (R/ 32) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define AC_SYNCBUSY_OFFSET                  (0x20)                                        /**<  (AC_SYNCBUSY) Synchronization Busy  Offset */
+#define AC_SYNCBUSY_RESETVALUE              _U_(0x00)                                     /**<  (AC_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define AC_SYNCBUSY_SWRST_Pos               0                                              /**< (AC_SYNCBUSY) Software Reset Synchronization Busy Position */
+#define AC_SYNCBUSY_SWRST_Msk               (_U_(0x1) << AC_SYNCBUSY_SWRST_Pos)            /**< (AC_SYNCBUSY) Software Reset Synchronization Busy Mask */
+#define AC_SYNCBUSY_SWRST                   AC_SYNCBUSY_SWRST_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_SYNCBUSY_SWRST_Msk instead */
+#define AC_SYNCBUSY_ENABLE_Pos              1                                              /**< (AC_SYNCBUSY) Enable Synchronization Busy Position */
+#define AC_SYNCBUSY_ENABLE_Msk              (_U_(0x1) << AC_SYNCBUSY_ENABLE_Pos)           /**< (AC_SYNCBUSY) Enable Synchronization Busy Mask */
+#define AC_SYNCBUSY_ENABLE                  AC_SYNCBUSY_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_SYNCBUSY_ENABLE_Msk instead */
+#define AC_SYNCBUSY_WINCTRL_Pos             2                                              /**< (AC_SYNCBUSY) WINCTRL Synchronization Busy Position */
+#define AC_SYNCBUSY_WINCTRL_Msk             (_U_(0x1) << AC_SYNCBUSY_WINCTRL_Pos)          /**< (AC_SYNCBUSY) WINCTRL Synchronization Busy Mask */
+#define AC_SYNCBUSY_WINCTRL                 AC_SYNCBUSY_WINCTRL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_SYNCBUSY_WINCTRL_Msk instead */
+#define AC_SYNCBUSY_COMPCTRL0_Pos           3                                              /**< (AC_SYNCBUSY) COMPCTRL 0 Synchronization Busy Position */
+#define AC_SYNCBUSY_COMPCTRL0_Msk           (_U_(0x1) << AC_SYNCBUSY_COMPCTRL0_Pos)        /**< (AC_SYNCBUSY) COMPCTRL 0 Synchronization Busy Mask */
+#define AC_SYNCBUSY_COMPCTRL0               AC_SYNCBUSY_COMPCTRL0_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_SYNCBUSY_COMPCTRL0_Msk instead */
+#define AC_SYNCBUSY_COMPCTRL1_Pos           4                                              /**< (AC_SYNCBUSY) COMPCTRL 1 Synchronization Busy Position */
+#define AC_SYNCBUSY_COMPCTRL1_Msk           (_U_(0x1) << AC_SYNCBUSY_COMPCTRL1_Pos)        /**< (AC_SYNCBUSY) COMPCTRL 1 Synchronization Busy Mask */
+#define AC_SYNCBUSY_COMPCTRL1               AC_SYNCBUSY_COMPCTRL1_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use AC_SYNCBUSY_COMPCTRL1_Msk instead */
+#define AC_SYNCBUSY_MASK                    _U_(0x1F)                                      /**< \deprecated (AC_SYNCBUSY) Register MASK  (Use AC_SYNCBUSY_Msk instead)  */
+#define AC_SYNCBUSY_Msk                     _U_(0x1F)                                      /**< (AC_SYNCBUSY) Register Mask  */
+
+#define AC_SYNCBUSY_COMPCTRL_Pos            3                                              /**< (AC_SYNCBUSY Position) COMPCTRL x Synchronization Busy */
+#define AC_SYNCBUSY_COMPCTRL_Msk            (_U_(0x3) << AC_SYNCBUSY_COMPCTRL_Pos)         /**< (AC_SYNCBUSY Mask) COMPCTRL */
+#define AC_SYNCBUSY_COMPCTRL(value)         (AC_SYNCBUSY_COMPCTRL_Msk & ((value) << AC_SYNCBUSY_COMPCTRL_Pos))  
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief AC hardware registers */
+typedef struct {  /* Analog Comparators */
+  __IO AC_CTRLA_Type                  CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __O  AC_CTRLB_Type                  CTRLB;          /**< Offset: 0x01 ( /W   8) Control B */
+  __IO AC_EVCTRL_Type                 EVCTRL;         /**< Offset: 0x02 (R/W  16) Event Control */
+  __IO AC_INTENCLR_Type               INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO AC_INTENSET_Type               INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO AC_INTFLAG_Type                INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  AC_STATUSA_Type                STATUSA;        /**< Offset: 0x07 (R/    8) Status A */
+  __I  AC_STATUSB_Type                STATUSB;        /**< Offset: 0x08 (R/    8) Status B */
+  __IO AC_DBGCTRL_Type                DBGCTRL;        /**< Offset: 0x09 (R/W   8) Debug Control */
+  __IO AC_WINCTRL_Type                WINCTRL;        /**< Offset: 0x0A (R/W   8) Window Control */
+  __I  uint8_t                        Reserved1[1];
+  __IO AC_SCALER_Type                 SCALER[2];      /**< Offset: 0x0C (R/W   8) Scaler n */
+  __I  uint8_t                        Reserved2[2];
+  __IO AC_COMPCTRL_Type               COMPCTRL[2];    /**< Offset: 0x10 (R/W  32) Comparator Control n */
+  __I  uint8_t                        Reserved3[8];
+  __I  AC_SYNCBUSY_Type               SYNCBUSY;       /**< Offset: 0x20 (R/   32) Synchronization Busy */
+} Ac;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Analog Comparators */
+
+#endif /* _SAML11_AC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/adc.h b/cpu/sam0_common/include/vendor/saml11/include/component/adc.h
new file mode 100644
index 0000000000..a6a912eddf
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/adc.h
@@ -0,0 +1,851 @@
+/**
+ * \file
+ *
+ * \brief Component description for ADC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_ADC_COMPONENT_H_
+#define _SAML11_ADC_COMPONENT_H_
+#define _SAML11_ADC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Analog Digital Converter
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR ADC */
+/* ========================================================================== */
+
+#define ADC_U2247                      /**< (ADC) Module ID */
+#define REV_ADC 0x240                  /**< (ADC) Module revision */
+
+/* -------- ADC_CTRLA : (ADC Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint8_t  :3;                        /**< bit:   2..4  Reserved */
+    uint8_t  SLAVEEN:1;                 /**< bit:      5  Slave Enable                             */
+    uint8_t  RUNSTDBY:1;                /**< bit:      6  Run During Standby                       */
+    uint8_t  ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} ADC_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_CTRLA_OFFSET                    (0x00)                                        /**<  (ADC_CTRLA) Control A  Offset */
+#define ADC_CTRLA_RESETVALUE                _U_(0x00)                                     /**<  (ADC_CTRLA) Control A  Reset Value */
+
+#define ADC_CTRLA_SWRST_Pos                 0                                              /**< (ADC_CTRLA) Software Reset Position */
+#define ADC_CTRLA_SWRST_Msk                 (_U_(0x1) << ADC_CTRLA_SWRST_Pos)              /**< (ADC_CTRLA) Software Reset Mask */
+#define ADC_CTRLA_SWRST                     ADC_CTRLA_SWRST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLA_SWRST_Msk instead */
+#define ADC_CTRLA_ENABLE_Pos                1                                              /**< (ADC_CTRLA) Enable Position */
+#define ADC_CTRLA_ENABLE_Msk                (_U_(0x1) << ADC_CTRLA_ENABLE_Pos)             /**< (ADC_CTRLA) Enable Mask */
+#define ADC_CTRLA_ENABLE                    ADC_CTRLA_ENABLE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLA_ENABLE_Msk instead */
+#define ADC_CTRLA_SLAVEEN_Pos               5                                              /**< (ADC_CTRLA) Slave Enable Position */
+#define ADC_CTRLA_SLAVEEN_Msk               (_U_(0x1) << ADC_CTRLA_SLAVEEN_Pos)            /**< (ADC_CTRLA) Slave Enable Mask */
+#define ADC_CTRLA_SLAVEEN                   ADC_CTRLA_SLAVEEN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLA_SLAVEEN_Msk instead */
+#define ADC_CTRLA_RUNSTDBY_Pos              6                                              /**< (ADC_CTRLA) Run During Standby Position */
+#define ADC_CTRLA_RUNSTDBY_Msk              (_U_(0x1) << ADC_CTRLA_RUNSTDBY_Pos)           /**< (ADC_CTRLA) Run During Standby Mask */
+#define ADC_CTRLA_RUNSTDBY                  ADC_CTRLA_RUNSTDBY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLA_RUNSTDBY_Msk instead */
+#define ADC_CTRLA_ONDEMAND_Pos              7                                              /**< (ADC_CTRLA) On Demand Control Position */
+#define ADC_CTRLA_ONDEMAND_Msk              (_U_(0x1) << ADC_CTRLA_ONDEMAND_Pos)           /**< (ADC_CTRLA) On Demand Control Mask */
+#define ADC_CTRLA_ONDEMAND                  ADC_CTRLA_ONDEMAND_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLA_ONDEMAND_Msk instead */
+#define ADC_CTRLA_MASK                      _U_(0xE3)                                      /**< \deprecated (ADC_CTRLA) Register MASK  (Use ADC_CTRLA_Msk instead)  */
+#define ADC_CTRLA_Msk                       _U_(0xE3)                                      /**< (ADC_CTRLA) Register Mask  */
+
+
+/* -------- ADC_CTRLB : (ADC Offset: 0x01) (R/W 8) Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PRESCALER:3;               /**< bit:   0..2  Prescaler Configuration                  */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} ADC_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_CTRLB_OFFSET                    (0x01)                                        /**<  (ADC_CTRLB) Control B  Offset */
+#define ADC_CTRLB_RESETVALUE                _U_(0x00)                                     /**<  (ADC_CTRLB) Control B  Reset Value */
+
+#define ADC_CTRLB_PRESCALER_Pos             0                                              /**< (ADC_CTRLB) Prescaler Configuration Position */
+#define ADC_CTRLB_PRESCALER_Msk             (_U_(0x7) << ADC_CTRLB_PRESCALER_Pos)          /**< (ADC_CTRLB) Prescaler Configuration Mask */
+#define ADC_CTRLB_PRESCALER(value)          (ADC_CTRLB_PRESCALER_Msk & ((value) << ADC_CTRLB_PRESCALER_Pos))
+#define   ADC_CTRLB_PRESCALER_DIV2_Val      _U_(0x0)                                       /**< (ADC_CTRLB) Peripheral clock divided by 2  */
+#define   ADC_CTRLB_PRESCALER_DIV4_Val      _U_(0x1)                                       /**< (ADC_CTRLB) Peripheral clock divided by 4  */
+#define   ADC_CTRLB_PRESCALER_DIV8_Val      _U_(0x2)                                       /**< (ADC_CTRLB) Peripheral clock divided by 8  */
+#define   ADC_CTRLB_PRESCALER_DIV16_Val     _U_(0x3)                                       /**< (ADC_CTRLB) Peripheral clock divided by 16  */
+#define   ADC_CTRLB_PRESCALER_DIV32_Val     _U_(0x4)                                       /**< (ADC_CTRLB) Peripheral clock divided by 32  */
+#define   ADC_CTRLB_PRESCALER_DIV64_Val     _U_(0x5)                                       /**< (ADC_CTRLB) Peripheral clock divided by 64  */
+#define   ADC_CTRLB_PRESCALER_DIV128_Val    _U_(0x6)                                       /**< (ADC_CTRLB) Peripheral clock divided by 128  */
+#define   ADC_CTRLB_PRESCALER_DIV256_Val    _U_(0x7)                                       /**< (ADC_CTRLB) Peripheral clock divided by 256  */
+#define ADC_CTRLB_PRESCALER_DIV2            (ADC_CTRLB_PRESCALER_DIV2_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 2 Position  */
+#define ADC_CTRLB_PRESCALER_DIV4            (ADC_CTRLB_PRESCALER_DIV4_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 4 Position  */
+#define ADC_CTRLB_PRESCALER_DIV8            (ADC_CTRLB_PRESCALER_DIV8_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 8 Position  */
+#define ADC_CTRLB_PRESCALER_DIV16           (ADC_CTRLB_PRESCALER_DIV16_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 16 Position  */
+#define ADC_CTRLB_PRESCALER_DIV32           (ADC_CTRLB_PRESCALER_DIV32_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 32 Position  */
+#define ADC_CTRLB_PRESCALER_DIV64           (ADC_CTRLB_PRESCALER_DIV64_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 64 Position  */
+#define ADC_CTRLB_PRESCALER_DIV128          (ADC_CTRLB_PRESCALER_DIV128_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 128 Position  */
+#define ADC_CTRLB_PRESCALER_DIV256          (ADC_CTRLB_PRESCALER_DIV256_Val << ADC_CTRLB_PRESCALER_Pos)  /**< (ADC_CTRLB) Peripheral clock divided by 256 Position  */
+#define ADC_CTRLB_MASK                      _U_(0x07)                                      /**< \deprecated (ADC_CTRLB) Register MASK  (Use ADC_CTRLB_Msk instead)  */
+#define ADC_CTRLB_Msk                       _U_(0x07)                                      /**< (ADC_CTRLB) Register Mask  */
+
+
+/* -------- ADC_REFCTRL : (ADC Offset: 0x02) (R/W 8) Reference Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_REFCTRL_OFFSET                  (0x02)                                        /**<  (ADC_REFCTRL) Reference Control  Offset */
+#define ADC_REFCTRL_RESETVALUE              _U_(0x00)                                     /**<  (ADC_REFCTRL) Reference Control  Reset Value */
+
+#define ADC_REFCTRL_REFSEL_Pos              0                                              /**< (ADC_REFCTRL) Reference Selection Position */
+#define ADC_REFCTRL_REFSEL_Msk              (_U_(0xF) << ADC_REFCTRL_REFSEL_Pos)           /**< (ADC_REFCTRL) Reference Selection Mask */
+#define ADC_REFCTRL_REFSEL(value)           (ADC_REFCTRL_REFSEL_Msk & ((value) << ADC_REFCTRL_REFSEL_Pos))
+#define   ADC_REFCTRL_REFSEL_INTREF_Val     _U_(0x0)                                       /**< (ADC_REFCTRL) Internal Bandgap Reference  */
+#define   ADC_REFCTRL_REFSEL_INTVCC0_Val    _U_(0x1)                                       /**< (ADC_REFCTRL) 1/1.6 VDDANA  */
+#define   ADC_REFCTRL_REFSEL_INTVCC1_Val    _U_(0x2)                                       /**< (ADC_REFCTRL) 1/2 VDDANA  */
+#define   ADC_REFCTRL_REFSEL_AREFA_Val      _U_(0x3)                                       /**< (ADC_REFCTRL) External Reference  */
+#define   ADC_REFCTRL_REFSEL_AREFB_Val      _U_(0x4)                                       /**< (ADC_REFCTRL) External Reference  */
+#define   ADC_REFCTRL_REFSEL_INTVCC2_Val    _U_(0x5)                                       /**< (ADC_REFCTRL) VCCANA  */
+#define ADC_REFCTRL_REFSEL_INTREF           (ADC_REFCTRL_REFSEL_INTREF_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) Internal Bandgap Reference Position  */
+#define ADC_REFCTRL_REFSEL_INTVCC0          (ADC_REFCTRL_REFSEL_INTVCC0_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) 1/1.6 VDDANA Position  */
+#define ADC_REFCTRL_REFSEL_INTVCC1          (ADC_REFCTRL_REFSEL_INTVCC1_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) 1/2 VDDANA Position  */
+#define ADC_REFCTRL_REFSEL_AREFA            (ADC_REFCTRL_REFSEL_AREFA_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) External Reference Position  */
+#define ADC_REFCTRL_REFSEL_AREFB            (ADC_REFCTRL_REFSEL_AREFB_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) External Reference Position  */
+#define ADC_REFCTRL_REFSEL_INTVCC2          (ADC_REFCTRL_REFSEL_INTVCC2_Val << ADC_REFCTRL_REFSEL_Pos)  /**< (ADC_REFCTRL) VCCANA Position  */
+#define ADC_REFCTRL_REFCOMP_Pos             7                                              /**< (ADC_REFCTRL) Reference Buffer Offset Compensation Enable Position */
+#define ADC_REFCTRL_REFCOMP_Msk             (_U_(0x1) << ADC_REFCTRL_REFCOMP_Pos)          /**< (ADC_REFCTRL) Reference Buffer Offset Compensation Enable Mask */
+#define ADC_REFCTRL_REFCOMP                 ADC_REFCTRL_REFCOMP_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_REFCTRL_REFCOMP_Msk instead */
+#define ADC_REFCTRL_MASK                    _U_(0x8F)                                      /**< \deprecated (ADC_REFCTRL) Register MASK  (Use ADC_REFCTRL_Msk instead)  */
+#define ADC_REFCTRL_Msk                     _U_(0x8F)                                      /**< (ADC_REFCTRL) Register Mask  */
+
+
+/* -------- ADC_EVCTRL : (ADC Offset: 0x03) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || 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  Satrt 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_EVCTRL_OFFSET                   (0x03)                                        /**<  (ADC_EVCTRL) Event Control  Offset */
+#define ADC_EVCTRL_RESETVALUE               _U_(0x00)                                     /**<  (ADC_EVCTRL) Event Control  Reset Value */
+
+#define ADC_EVCTRL_FLUSHEI_Pos              0                                              /**< (ADC_EVCTRL) Flush Event Input Enable Position */
+#define ADC_EVCTRL_FLUSHEI_Msk              (_U_(0x1) << ADC_EVCTRL_FLUSHEI_Pos)           /**< (ADC_EVCTRL) Flush Event Input Enable Mask */
+#define ADC_EVCTRL_FLUSHEI                  ADC_EVCTRL_FLUSHEI_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_FLUSHEI_Msk instead */
+#define ADC_EVCTRL_STARTEI_Pos              1                                              /**< (ADC_EVCTRL) Start Conversion Event Input Enable Position */
+#define ADC_EVCTRL_STARTEI_Msk              (_U_(0x1) << ADC_EVCTRL_STARTEI_Pos)           /**< (ADC_EVCTRL) Start Conversion Event Input Enable Mask */
+#define ADC_EVCTRL_STARTEI                  ADC_EVCTRL_STARTEI_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_STARTEI_Msk instead */
+#define ADC_EVCTRL_FLUSHINV_Pos             2                                              /**< (ADC_EVCTRL) Flush Event Invert Enable Position */
+#define ADC_EVCTRL_FLUSHINV_Msk             (_U_(0x1) << ADC_EVCTRL_FLUSHINV_Pos)          /**< (ADC_EVCTRL) Flush Event Invert Enable Mask */
+#define ADC_EVCTRL_FLUSHINV                 ADC_EVCTRL_FLUSHINV_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_FLUSHINV_Msk instead */
+#define ADC_EVCTRL_STARTINV_Pos             3                                              /**< (ADC_EVCTRL) Satrt Event Invert Enable Position */
+#define ADC_EVCTRL_STARTINV_Msk             (_U_(0x1) << ADC_EVCTRL_STARTINV_Pos)          /**< (ADC_EVCTRL) Satrt Event Invert Enable Mask */
+#define ADC_EVCTRL_STARTINV                 ADC_EVCTRL_STARTINV_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_STARTINV_Msk instead */
+#define ADC_EVCTRL_RESRDYEO_Pos             4                                              /**< (ADC_EVCTRL) Result Ready Event Out Position */
+#define ADC_EVCTRL_RESRDYEO_Msk             (_U_(0x1) << ADC_EVCTRL_RESRDYEO_Pos)          /**< (ADC_EVCTRL) Result Ready Event Out Mask */
+#define ADC_EVCTRL_RESRDYEO                 ADC_EVCTRL_RESRDYEO_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_RESRDYEO_Msk instead */
+#define ADC_EVCTRL_WINMONEO_Pos             5                                              /**< (ADC_EVCTRL) Window Monitor Event Out Position */
+#define ADC_EVCTRL_WINMONEO_Msk             (_U_(0x1) << ADC_EVCTRL_WINMONEO_Pos)          /**< (ADC_EVCTRL) Window Monitor Event Out Mask */
+#define ADC_EVCTRL_WINMONEO                 ADC_EVCTRL_WINMONEO_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_EVCTRL_WINMONEO_Msk instead */
+#define ADC_EVCTRL_MASK                     _U_(0x3F)                                      /**< \deprecated (ADC_EVCTRL) Register MASK  (Use ADC_EVCTRL_Msk instead)  */
+#define ADC_EVCTRL_Msk                      _U_(0x3F)                                      /**< (ADC_EVCTRL) Register Mask  */
+
+
+/* -------- ADC_INTENCLR : (ADC Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_INTENCLR_OFFSET                 (0x04)                                        /**<  (ADC_INTENCLR) Interrupt Enable Clear  Offset */
+#define ADC_INTENCLR_RESETVALUE             _U_(0x00)                                     /**<  (ADC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define ADC_INTENCLR_RESRDY_Pos             0                                              /**< (ADC_INTENCLR) Result Ready Interrupt Disable Position */
+#define ADC_INTENCLR_RESRDY_Msk             (_U_(0x1) << ADC_INTENCLR_RESRDY_Pos)          /**< (ADC_INTENCLR) Result Ready Interrupt Disable Mask */
+#define ADC_INTENCLR_RESRDY                 ADC_INTENCLR_RESRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENCLR_RESRDY_Msk instead */
+#define ADC_INTENCLR_OVERRUN_Pos            1                                              /**< (ADC_INTENCLR) Overrun Interrupt Disable Position */
+#define ADC_INTENCLR_OVERRUN_Msk            (_U_(0x1) << ADC_INTENCLR_OVERRUN_Pos)         /**< (ADC_INTENCLR) Overrun Interrupt Disable Mask */
+#define ADC_INTENCLR_OVERRUN                ADC_INTENCLR_OVERRUN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENCLR_OVERRUN_Msk instead */
+#define ADC_INTENCLR_WINMON_Pos             2                                              /**< (ADC_INTENCLR) Window Monitor Interrupt Disable Position */
+#define ADC_INTENCLR_WINMON_Msk             (_U_(0x1) << ADC_INTENCLR_WINMON_Pos)          /**< (ADC_INTENCLR) Window Monitor Interrupt Disable Mask */
+#define ADC_INTENCLR_WINMON                 ADC_INTENCLR_WINMON_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENCLR_WINMON_Msk instead */
+#define ADC_INTENCLR_MASK                   _U_(0x07)                                      /**< \deprecated (ADC_INTENCLR) Register MASK  (Use ADC_INTENCLR_Msk instead)  */
+#define ADC_INTENCLR_Msk                    _U_(0x07)                                      /**< (ADC_INTENCLR) Register Mask  */
+
+
+/* -------- ADC_INTENSET : (ADC Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_INTENSET_OFFSET                 (0x05)                                        /**<  (ADC_INTENSET) Interrupt Enable Set  Offset */
+#define ADC_INTENSET_RESETVALUE             _U_(0x00)                                     /**<  (ADC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define ADC_INTENSET_RESRDY_Pos             0                                              /**< (ADC_INTENSET) Result Ready Interrupt Enable Position */
+#define ADC_INTENSET_RESRDY_Msk             (_U_(0x1) << ADC_INTENSET_RESRDY_Pos)          /**< (ADC_INTENSET) Result Ready Interrupt Enable Mask */
+#define ADC_INTENSET_RESRDY                 ADC_INTENSET_RESRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENSET_RESRDY_Msk instead */
+#define ADC_INTENSET_OVERRUN_Pos            1                                              /**< (ADC_INTENSET) Overrun Interrupt Enable Position */
+#define ADC_INTENSET_OVERRUN_Msk            (_U_(0x1) << ADC_INTENSET_OVERRUN_Pos)         /**< (ADC_INTENSET) Overrun Interrupt Enable Mask */
+#define ADC_INTENSET_OVERRUN                ADC_INTENSET_OVERRUN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENSET_OVERRUN_Msk instead */
+#define ADC_INTENSET_WINMON_Pos             2                                              /**< (ADC_INTENSET) Window Monitor Interrupt Enable Position */
+#define ADC_INTENSET_WINMON_Msk             (_U_(0x1) << ADC_INTENSET_WINMON_Pos)          /**< (ADC_INTENSET) Window Monitor Interrupt Enable Mask */
+#define ADC_INTENSET_WINMON                 ADC_INTENSET_WINMON_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTENSET_WINMON_Msk instead */
+#define ADC_INTENSET_MASK                   _U_(0x07)                                      /**< \deprecated (ADC_INTENSET) Register MASK  (Use ADC_INTENSET_Msk instead)  */
+#define ADC_INTENSET_Msk                    _U_(0x07)                                      /**< (ADC_INTENSET) Register Mask  */
+
+
+/* -------- ADC_INTFLAG : (ADC Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_INTFLAG_OFFSET                  (0x06)                                        /**<  (ADC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define ADC_INTFLAG_RESETVALUE              _U_(0x00)                                     /**<  (ADC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define ADC_INTFLAG_RESRDY_Pos              0                                              /**< (ADC_INTFLAG) Result Ready Interrupt Flag Position */
+#define ADC_INTFLAG_RESRDY_Msk              (_U_(0x1) << ADC_INTFLAG_RESRDY_Pos)           /**< (ADC_INTFLAG) Result Ready Interrupt Flag Mask */
+#define ADC_INTFLAG_RESRDY                  ADC_INTFLAG_RESRDY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTFLAG_RESRDY_Msk instead */
+#define ADC_INTFLAG_OVERRUN_Pos             1                                              /**< (ADC_INTFLAG) Overrun Interrupt Flag Position */
+#define ADC_INTFLAG_OVERRUN_Msk             (_U_(0x1) << ADC_INTFLAG_OVERRUN_Pos)          /**< (ADC_INTFLAG) Overrun Interrupt Flag Mask */
+#define ADC_INTFLAG_OVERRUN                 ADC_INTFLAG_OVERRUN_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTFLAG_OVERRUN_Msk instead */
+#define ADC_INTFLAG_WINMON_Pos              2                                              /**< (ADC_INTFLAG) Window Monitor Interrupt Flag Position */
+#define ADC_INTFLAG_WINMON_Msk              (_U_(0x1) << ADC_INTFLAG_WINMON_Pos)           /**< (ADC_INTFLAG) Window Monitor Interrupt Flag Mask */
+#define ADC_INTFLAG_WINMON                  ADC_INTFLAG_WINMON_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_INTFLAG_WINMON_Msk instead */
+#define ADC_INTFLAG_MASK                    _U_(0x07)                                      /**< \deprecated (ADC_INTFLAG) Register MASK  (Use ADC_INTFLAG_Msk instead)  */
+#define ADC_INTFLAG_Msk                     _U_(0x07)                                      /**< (ADC_INTFLAG) Register Mask  */
+
+
+/* -------- ADC_SEQSTATUS : (ADC Offset: 0x07) (R/ 8) Sequence Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SEQSTATE:5;                /**< bit:   0..4  Sequence State                           */
+    uint8_t  :2;                        /**< bit:   5..6  Reserved */
+    uint8_t  SEQBUSY:1;                 /**< bit:      7  Sequence Busy                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} ADC_SEQSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_SEQSTATUS_OFFSET                (0x07)                                        /**<  (ADC_SEQSTATUS) Sequence Status  Offset */
+#define ADC_SEQSTATUS_RESETVALUE            _U_(0x00)                                     /**<  (ADC_SEQSTATUS) Sequence Status  Reset Value */
+
+#define ADC_SEQSTATUS_SEQSTATE_Pos          0                                              /**< (ADC_SEQSTATUS) Sequence State Position */
+#define ADC_SEQSTATUS_SEQSTATE_Msk          (_U_(0x1F) << ADC_SEQSTATUS_SEQSTATE_Pos)      /**< (ADC_SEQSTATUS) Sequence State Mask */
+#define ADC_SEQSTATUS_SEQSTATE(value)       (ADC_SEQSTATUS_SEQSTATE_Msk & ((value) << ADC_SEQSTATUS_SEQSTATE_Pos))
+#define ADC_SEQSTATUS_SEQBUSY_Pos           7                                              /**< (ADC_SEQSTATUS) Sequence Busy Position */
+#define ADC_SEQSTATUS_SEQBUSY_Msk           (_U_(0x1) << ADC_SEQSTATUS_SEQBUSY_Pos)        /**< (ADC_SEQSTATUS) Sequence Busy Mask */
+#define ADC_SEQSTATUS_SEQBUSY               ADC_SEQSTATUS_SEQBUSY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SEQSTATUS_SEQBUSY_Msk instead */
+#define ADC_SEQSTATUS_MASK                  _U_(0x9F)                                      /**< \deprecated (ADC_SEQSTATUS) Register MASK  (Use ADC_SEQSTATUS_Msk instead)  */
+#define ADC_SEQSTATUS_Msk                   _U_(0x9F)                                      /**< (ADC_SEQSTATUS) Register Mask  */
+
+
+/* -------- ADC_INPUTCTRL : (ADC Offset: 0x08) (R/W 16) Input Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t MUXPOS:5;                  /**< bit:   0..4  Positive Mux Input Selection             */
+    uint16_t :3;                        /**< bit:   5..7  Reserved */
+    uint16_t MUXNEG:5;                  /**< bit:  8..12  Negative Mux Input Selection             */
+    uint16_t :3;                        /**< bit: 13..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} ADC_INPUTCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_INPUTCTRL_OFFSET                (0x08)                                        /**<  (ADC_INPUTCTRL) Input Control  Offset */
+#define ADC_INPUTCTRL_RESETVALUE            _U_(0x00)                                     /**<  (ADC_INPUTCTRL) Input Control  Reset Value */
+
+#define ADC_INPUTCTRL_MUXPOS_Pos            0                                              /**< (ADC_INPUTCTRL) Positive Mux Input Selection Position */
+#define ADC_INPUTCTRL_MUXPOS_Msk            (_U_(0x1F) << ADC_INPUTCTRL_MUXPOS_Pos)        /**< (ADC_INPUTCTRL) Positive Mux Input Selection Mask */
+#define ADC_INPUTCTRL_MUXPOS(value)         (ADC_INPUTCTRL_MUXPOS_Msk & ((value) << ADC_INPUTCTRL_MUXPOS_Pos))
+#define   ADC_INPUTCTRL_MUXPOS_AIN0_Val     _U_(0x0)                                       /**< (ADC_INPUTCTRL) ADC AIN0 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN1_Val     _U_(0x1)                                       /**< (ADC_INPUTCTRL) ADC AIN1 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN2_Val     _U_(0x2)                                       /**< (ADC_INPUTCTRL) ADC AIN2 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN3_Val     _U_(0x3)                                       /**< (ADC_INPUTCTRL) ADC AIN3 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN4_Val     _U_(0x4)                                       /**< (ADC_INPUTCTRL) ADC AIN4 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN5_Val     _U_(0x5)                                       /**< (ADC_INPUTCTRL) ADC AIN5 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN6_Val     _U_(0x6)                                       /**< (ADC_INPUTCTRL) ADC AIN6 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN7_Val     _U_(0x7)                                       /**< (ADC_INPUTCTRL) ADC AIN7 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN8_Val     _U_(0x8)                                       /**< (ADC_INPUTCTRL) ADC AIN8 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN9_Val     _U_(0x9)                                       /**< (ADC_INPUTCTRL) ADC AIN9 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN10_Val    _U_(0xA)                                       /**< (ADC_INPUTCTRL) ADC AIN10 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN11_Val    _U_(0xB)                                       /**< (ADC_INPUTCTRL) ADC AIN11 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN12_Val    _U_(0xC)                                       /**< (ADC_INPUTCTRL) ADC AIN12 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN13_Val    _U_(0xD)                                       /**< (ADC_INPUTCTRL) ADC AIN13 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN14_Val    _U_(0xE)                                       /**< (ADC_INPUTCTRL) ADC AIN14 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN15_Val    _U_(0xF)                                       /**< (ADC_INPUTCTRL) ADC AIN15 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN16_Val    _U_(0x10)                                      /**< (ADC_INPUTCTRL) ADC AIN16 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN17_Val    _U_(0x11)                                      /**< (ADC_INPUTCTRL) ADC AIN17 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN18_Val    _U_(0x12)                                      /**< (ADC_INPUTCTRL) ADC AIN18 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN19_Val    _U_(0x13)                                      /**< (ADC_INPUTCTRL) ADC AIN19 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN20_Val    _U_(0x14)                                      /**< (ADC_INPUTCTRL) ADC AIN20 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN21_Val    _U_(0x15)                                      /**< (ADC_INPUTCTRL) ADC AIN21 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN22_Val    _U_(0x16)                                      /**< (ADC_INPUTCTRL) ADC AIN22 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_AIN23_Val    _U_(0x17)                                      /**< (ADC_INPUTCTRL) ADC AIN23 Pin  */
+#define   ADC_INPUTCTRL_MUXPOS_TEMP_Val     _U_(0x18)                                      /**< (ADC_INPUTCTRL) Temperature Sensor  */
+#define   ADC_INPUTCTRL_MUXPOS_BANDGAP_Val  _U_(0x19)                                      /**< (ADC_INPUTCTRL) Bandgap Voltage  */
+#define   ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC_Val _U_(0x1A)                                      /**< (ADC_INPUTCTRL) 1/4 Scaled Core Supply  */
+#define   ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC_Val _U_(0x1B)                                      /**< (ADC_INPUTCTRL) 1/4 Scaled I/O Supply  */
+#define   ADC_INPUTCTRL_MUXPOS_DAC_Val      _U_(0x1C)                                      /**< (ADC_INPUTCTRL) DAC Output  */
+#define   ADC_INPUTCTRL_MUXPOS_SCALEDVBAT_Val _U_(0x1D)                                      /**< (ADC_INPUTCTRL) 1/4 Scaled VBAT Supply  */
+#define   ADC_INPUTCTRL_MUXPOS_OPAMP01_Val  _U_(0x1E)                                      /**< (ADC_INPUTCTRL) OPAMP0 or OPAMP1 output  */
+#define   ADC_INPUTCTRL_MUXPOS_OPAMP2_Val   _U_(0x1F)                                      /**< (ADC_INPUTCTRL) OPAMP2 output  */
+#define ADC_INPUTCTRL_MUXPOS_AIN0           (ADC_INPUTCTRL_MUXPOS_AIN0_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN0 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN1           (ADC_INPUTCTRL_MUXPOS_AIN1_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN1 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN2           (ADC_INPUTCTRL_MUXPOS_AIN2_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN2 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN3           (ADC_INPUTCTRL_MUXPOS_AIN3_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN3 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN4           (ADC_INPUTCTRL_MUXPOS_AIN4_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN4 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN5           (ADC_INPUTCTRL_MUXPOS_AIN5_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN5 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN6           (ADC_INPUTCTRL_MUXPOS_AIN6_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN6 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN7           (ADC_INPUTCTRL_MUXPOS_AIN7_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN7 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN8           (ADC_INPUTCTRL_MUXPOS_AIN8_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN8 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN9           (ADC_INPUTCTRL_MUXPOS_AIN9_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN9 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN10          (ADC_INPUTCTRL_MUXPOS_AIN10_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN10 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN11          (ADC_INPUTCTRL_MUXPOS_AIN11_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN11 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN12          (ADC_INPUTCTRL_MUXPOS_AIN12_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN12 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN13          (ADC_INPUTCTRL_MUXPOS_AIN13_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN13 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN14          (ADC_INPUTCTRL_MUXPOS_AIN14_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN14 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN15          (ADC_INPUTCTRL_MUXPOS_AIN15_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN15 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN16          (ADC_INPUTCTRL_MUXPOS_AIN16_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN16 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN17          (ADC_INPUTCTRL_MUXPOS_AIN17_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN17 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN18          (ADC_INPUTCTRL_MUXPOS_AIN18_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN18 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN19          (ADC_INPUTCTRL_MUXPOS_AIN19_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN19 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN20          (ADC_INPUTCTRL_MUXPOS_AIN20_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN20 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN21          (ADC_INPUTCTRL_MUXPOS_AIN21_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN21 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN22          (ADC_INPUTCTRL_MUXPOS_AIN22_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN22 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_AIN23          (ADC_INPUTCTRL_MUXPOS_AIN23_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) ADC AIN23 Pin Position  */
+#define ADC_INPUTCTRL_MUXPOS_TEMP           (ADC_INPUTCTRL_MUXPOS_TEMP_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) Temperature Sensor Position  */
+#define ADC_INPUTCTRL_MUXPOS_BANDGAP        (ADC_INPUTCTRL_MUXPOS_BANDGAP_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) Bandgap Voltage Position  */
+#define ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC  (ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) 1/4 Scaled Core Supply Position  */
+#define ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC    (ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) 1/4 Scaled I/O Supply Position  */
+#define ADC_INPUTCTRL_MUXPOS_DAC            (ADC_INPUTCTRL_MUXPOS_DAC_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) DAC Output Position  */
+#define ADC_INPUTCTRL_MUXPOS_SCALEDVBAT     (ADC_INPUTCTRL_MUXPOS_SCALEDVBAT_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) 1/4 Scaled VBAT Supply Position  */
+#define ADC_INPUTCTRL_MUXPOS_OPAMP01        (ADC_INPUTCTRL_MUXPOS_OPAMP01_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) OPAMP0 or OPAMP1 output Position  */
+#define ADC_INPUTCTRL_MUXPOS_OPAMP2         (ADC_INPUTCTRL_MUXPOS_OPAMP2_Val << ADC_INPUTCTRL_MUXPOS_Pos)  /**< (ADC_INPUTCTRL) OPAMP2 output Position  */
+#define ADC_INPUTCTRL_MUXNEG_Pos            8                                              /**< (ADC_INPUTCTRL) Negative Mux Input Selection Position */
+#define ADC_INPUTCTRL_MUXNEG_Msk            (_U_(0x1F) << ADC_INPUTCTRL_MUXNEG_Pos)        /**< (ADC_INPUTCTRL) Negative Mux Input Selection Mask */
+#define ADC_INPUTCTRL_MUXNEG(value)         (ADC_INPUTCTRL_MUXNEG_Msk & ((value) << ADC_INPUTCTRL_MUXNEG_Pos))
+#define   ADC_INPUTCTRL_MUXNEG_AIN0_Val     _U_(0x0)                                       /**< (ADC_INPUTCTRL) ADC AIN0 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN1_Val     _U_(0x1)                                       /**< (ADC_INPUTCTRL) ADC AIN1 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN2_Val     _U_(0x2)                                       /**< (ADC_INPUTCTRL) ADC AIN2 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN3_Val     _U_(0x3)                                       /**< (ADC_INPUTCTRL) ADC AIN3 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN4_Val     _U_(0x4)                                       /**< (ADC_INPUTCTRL) ADC AIN4 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN5_Val     _U_(0x5)                                       /**< (ADC_INPUTCTRL) ADC AIN5 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN6_Val     _U_(0x6)                                       /**< (ADC_INPUTCTRL) ADC AIN6 Pin  */
+#define   ADC_INPUTCTRL_MUXNEG_AIN7_Val     _U_(0x7)                                       /**< (ADC_INPUTCTRL) ADC AIN7 Pin  */
+#define ADC_INPUTCTRL_MUXNEG_AIN0           (ADC_INPUTCTRL_MUXNEG_AIN0_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN0 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN1           (ADC_INPUTCTRL_MUXNEG_AIN1_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN1 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN2           (ADC_INPUTCTRL_MUXNEG_AIN2_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN2 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN3           (ADC_INPUTCTRL_MUXNEG_AIN3_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN3 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN4           (ADC_INPUTCTRL_MUXNEG_AIN4_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN4 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN5           (ADC_INPUTCTRL_MUXNEG_AIN5_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN5 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN6           (ADC_INPUTCTRL_MUXNEG_AIN6_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN6 Pin Position  */
+#define ADC_INPUTCTRL_MUXNEG_AIN7           (ADC_INPUTCTRL_MUXNEG_AIN7_Val << ADC_INPUTCTRL_MUXNEG_Pos)  /**< (ADC_INPUTCTRL) ADC AIN7 Pin Position  */
+#define ADC_INPUTCTRL_MASK                  _U_(0x1F1F)                                    /**< \deprecated (ADC_INPUTCTRL) Register MASK  (Use ADC_INPUTCTRL_Msk instead)  */
+#define ADC_INPUTCTRL_Msk                   _U_(0x1F1F)                                    /**< (ADC_INPUTCTRL) Register Mask  */
+
+
+/* -------- ADC_CTRLC : (ADC Offset: 0x0a) (R/W 16) Control C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t DIFFMODE:1;                /**< bit:      0  Differential Mode                        */
+    uint16_t LEFTADJ:1;                 /**< bit:      1  Left-Adjusted Result                     */
+    uint16_t FREERUN:1;                 /**< bit:      2  Free Running Mode                        */
+    uint16_t CORREN:1;                  /**< bit:      3  Digital Correction Logic Enable          */
+    uint16_t RESSEL:2;                  /**< bit:   4..5  Conversion Result Resolution             */
+    uint16_t :1;                        /**< bit:      6  Reserved */
+    uint16_t R2R:1;                     /**< bit:      7  Rail-to-Rail mode enable                 */
+    uint16_t WINMODE:3;                 /**< bit:  8..10  Window Monitor Mode                      */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t DUALSEL:2;                 /**< bit: 12..13  Dual Mode Trigger Selection              */
+    uint16_t :2;                        /**< bit: 14..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} ADC_CTRLC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_CTRLC_OFFSET                    (0x0A)                                        /**<  (ADC_CTRLC) Control C  Offset */
+#define ADC_CTRLC_RESETVALUE                _U_(0x00)                                     /**<  (ADC_CTRLC) Control C  Reset Value */
+
+#define ADC_CTRLC_DIFFMODE_Pos              0                                              /**< (ADC_CTRLC) Differential Mode Position */
+#define ADC_CTRLC_DIFFMODE_Msk              (_U_(0x1) << ADC_CTRLC_DIFFMODE_Pos)           /**< (ADC_CTRLC) Differential Mode Mask */
+#define ADC_CTRLC_DIFFMODE                  ADC_CTRLC_DIFFMODE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLC_DIFFMODE_Msk instead */
+#define ADC_CTRLC_LEFTADJ_Pos               1                                              /**< (ADC_CTRLC) Left-Adjusted Result Position */
+#define ADC_CTRLC_LEFTADJ_Msk               (_U_(0x1) << ADC_CTRLC_LEFTADJ_Pos)            /**< (ADC_CTRLC) Left-Adjusted Result Mask */
+#define ADC_CTRLC_LEFTADJ                   ADC_CTRLC_LEFTADJ_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLC_LEFTADJ_Msk instead */
+#define ADC_CTRLC_FREERUN_Pos               2                                              /**< (ADC_CTRLC) Free Running Mode Position */
+#define ADC_CTRLC_FREERUN_Msk               (_U_(0x1) << ADC_CTRLC_FREERUN_Pos)            /**< (ADC_CTRLC) Free Running Mode Mask */
+#define ADC_CTRLC_FREERUN                   ADC_CTRLC_FREERUN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLC_FREERUN_Msk instead */
+#define ADC_CTRLC_CORREN_Pos                3                                              /**< (ADC_CTRLC) Digital Correction Logic Enable Position */
+#define ADC_CTRLC_CORREN_Msk                (_U_(0x1) << ADC_CTRLC_CORREN_Pos)             /**< (ADC_CTRLC) Digital Correction Logic Enable Mask */
+#define ADC_CTRLC_CORREN                    ADC_CTRLC_CORREN_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLC_CORREN_Msk instead */
+#define ADC_CTRLC_RESSEL_Pos                4                                              /**< (ADC_CTRLC) Conversion Result Resolution Position */
+#define ADC_CTRLC_RESSEL_Msk                (_U_(0x3) << ADC_CTRLC_RESSEL_Pos)             /**< (ADC_CTRLC) Conversion Result Resolution Mask */
+#define ADC_CTRLC_RESSEL(value)             (ADC_CTRLC_RESSEL_Msk & ((value) << ADC_CTRLC_RESSEL_Pos))
+#define   ADC_CTRLC_RESSEL_12BIT_Val        _U_(0x0)                                       /**< (ADC_CTRLC) 12-bit result  */
+#define   ADC_CTRLC_RESSEL_16BIT_Val        _U_(0x1)                                       /**< (ADC_CTRLC) For averaging mode output  */
+#define   ADC_CTRLC_RESSEL_10BIT_Val        _U_(0x2)                                       /**< (ADC_CTRLC) 10-bit result  */
+#define   ADC_CTRLC_RESSEL_8BIT_Val         _U_(0x3)                                       /**< (ADC_CTRLC) 8-bit result  */
+#define ADC_CTRLC_RESSEL_12BIT              (ADC_CTRLC_RESSEL_12BIT_Val << ADC_CTRLC_RESSEL_Pos)  /**< (ADC_CTRLC) 12-bit result Position  */
+#define ADC_CTRLC_RESSEL_16BIT              (ADC_CTRLC_RESSEL_16BIT_Val << ADC_CTRLC_RESSEL_Pos)  /**< (ADC_CTRLC) For averaging mode output Position  */
+#define ADC_CTRLC_RESSEL_10BIT              (ADC_CTRLC_RESSEL_10BIT_Val << ADC_CTRLC_RESSEL_Pos)  /**< (ADC_CTRLC) 10-bit result Position  */
+#define ADC_CTRLC_RESSEL_8BIT               (ADC_CTRLC_RESSEL_8BIT_Val << ADC_CTRLC_RESSEL_Pos)  /**< (ADC_CTRLC) 8-bit result Position  */
+#define ADC_CTRLC_R2R_Pos                   7                                              /**< (ADC_CTRLC) Rail-to-Rail mode enable Position */
+#define ADC_CTRLC_R2R_Msk                   (_U_(0x1) << ADC_CTRLC_R2R_Pos)                /**< (ADC_CTRLC) Rail-to-Rail mode enable Mask */
+#define ADC_CTRLC_R2R                       ADC_CTRLC_R2R_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_CTRLC_R2R_Msk instead */
+#define ADC_CTRLC_WINMODE_Pos               8                                              /**< (ADC_CTRLC) Window Monitor Mode Position */
+#define ADC_CTRLC_WINMODE_Msk               (_U_(0x7) << ADC_CTRLC_WINMODE_Pos)            /**< (ADC_CTRLC) Window Monitor Mode Mask */
+#define ADC_CTRLC_WINMODE(value)            (ADC_CTRLC_WINMODE_Msk & ((value) << ADC_CTRLC_WINMODE_Pos))
+#define   ADC_CTRLC_WINMODE_DISABLE_Val     _U_(0x0)                                       /**< (ADC_CTRLC) No window mode (default)  */
+#define   ADC_CTRLC_WINMODE_MODE1_Val       _U_(0x1)                                       /**< (ADC_CTRLC) RESULT > WINLT  */
+#define   ADC_CTRLC_WINMODE_MODE2_Val       _U_(0x2)                                       /**< (ADC_CTRLC) RESULT < WINUT  */
+#define   ADC_CTRLC_WINMODE_MODE3_Val       _U_(0x3)                                       /**< (ADC_CTRLC) WINLT < RESULT < WINUT  */
+#define   ADC_CTRLC_WINMODE_MODE4_Val       _U_(0x4)                                       /**< (ADC_CTRLC) !(WINLT < RESULT < WINUT)  */
+#define ADC_CTRLC_WINMODE_DISABLE           (ADC_CTRLC_WINMODE_DISABLE_Val << ADC_CTRLC_WINMODE_Pos)  /**< (ADC_CTRLC) No window mode (default) Position  */
+#define ADC_CTRLC_WINMODE_MODE1             (ADC_CTRLC_WINMODE_MODE1_Val << ADC_CTRLC_WINMODE_Pos)  /**< (ADC_CTRLC) RESULT > WINLT Position  */
+#define ADC_CTRLC_WINMODE_MODE2             (ADC_CTRLC_WINMODE_MODE2_Val << ADC_CTRLC_WINMODE_Pos)  /**< (ADC_CTRLC) RESULT < WINUT Position  */
+#define ADC_CTRLC_WINMODE_MODE3             (ADC_CTRLC_WINMODE_MODE3_Val << ADC_CTRLC_WINMODE_Pos)  /**< (ADC_CTRLC) WINLT < RESULT < WINUT Position  */
+#define ADC_CTRLC_WINMODE_MODE4             (ADC_CTRLC_WINMODE_MODE4_Val << ADC_CTRLC_WINMODE_Pos)  /**< (ADC_CTRLC) !(WINLT < RESULT < WINUT) Position  */
+#define ADC_CTRLC_DUALSEL_Pos               12                                             /**< (ADC_CTRLC) Dual Mode Trigger Selection Position */
+#define ADC_CTRLC_DUALSEL_Msk               (_U_(0x3) << ADC_CTRLC_DUALSEL_Pos)            /**< (ADC_CTRLC) Dual Mode Trigger Selection Mask */
+#define ADC_CTRLC_DUALSEL(value)            (ADC_CTRLC_DUALSEL_Msk & ((value) << ADC_CTRLC_DUALSEL_Pos))
+#define   ADC_CTRLC_DUALSEL_BOTH_Val        _U_(0x0)                                       /**< (ADC_CTRLC) Start event or software trigger will start a conversion on both ADCs  */
+#define   ADC_CTRLC_DUALSEL_INTERLEAVE_Val  _U_(0x1)                                       /**< (ADC_CTRLC) START event or software trigger will alternatingly start a conversion on ADC0 and ADC1  */
+#define ADC_CTRLC_DUALSEL_BOTH              (ADC_CTRLC_DUALSEL_BOTH_Val << ADC_CTRLC_DUALSEL_Pos)  /**< (ADC_CTRLC) Start event or software trigger will start a conversion on both ADCs Position  */
+#define ADC_CTRLC_DUALSEL_INTERLEAVE        (ADC_CTRLC_DUALSEL_INTERLEAVE_Val << ADC_CTRLC_DUALSEL_Pos)  /**< (ADC_CTRLC) START event or software trigger will alternatingly start a conversion on ADC0 and ADC1 Position  */
+#define ADC_CTRLC_MASK                      _U_(0x37BF)                                    /**< \deprecated (ADC_CTRLC) Register MASK  (Use ADC_CTRLC_Msk instead)  */
+#define ADC_CTRLC_Msk                       _U_(0x37BF)                                    /**< (ADC_CTRLC) Register Mask  */
+
+
+/* -------- ADC_AVGCTRL : (ADC Offset: 0x0c) (R/W 8) Average Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_AVGCTRL_OFFSET                  (0x0C)                                        /**<  (ADC_AVGCTRL) Average Control  Offset */
+#define ADC_AVGCTRL_RESETVALUE              _U_(0x00)                                     /**<  (ADC_AVGCTRL) Average Control  Reset Value */
+
+#define ADC_AVGCTRL_SAMPLENUM_Pos           0                                              /**< (ADC_AVGCTRL) Number of Samples to be Collected Position */
+#define ADC_AVGCTRL_SAMPLENUM_Msk           (_U_(0xF) << ADC_AVGCTRL_SAMPLENUM_Pos)        /**< (ADC_AVGCTRL) Number of Samples to be Collected Mask */
+#define ADC_AVGCTRL_SAMPLENUM(value)        (ADC_AVGCTRL_SAMPLENUM_Msk & ((value) << ADC_AVGCTRL_SAMPLENUM_Pos))
+#define   ADC_AVGCTRL_SAMPLENUM_1_Val       _U_(0x0)                                       /**< (ADC_AVGCTRL) 1 sample  */
+#define   ADC_AVGCTRL_SAMPLENUM_2_Val       _U_(0x1)                                       /**< (ADC_AVGCTRL) 2 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_4_Val       _U_(0x2)                                       /**< (ADC_AVGCTRL) 4 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_8_Val       _U_(0x3)                                       /**< (ADC_AVGCTRL) 8 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_16_Val      _U_(0x4)                                       /**< (ADC_AVGCTRL) 16 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_32_Val      _U_(0x5)                                       /**< (ADC_AVGCTRL) 32 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_64_Val      _U_(0x6)                                       /**< (ADC_AVGCTRL) 64 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_128_Val     _U_(0x7)                                       /**< (ADC_AVGCTRL) 128 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_256_Val     _U_(0x8)                                       /**< (ADC_AVGCTRL) 256 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_512_Val     _U_(0x9)                                       /**< (ADC_AVGCTRL) 512 samples  */
+#define   ADC_AVGCTRL_SAMPLENUM_1024_Val    _U_(0xA)                                       /**< (ADC_AVGCTRL) 1024 samples  */
+#define ADC_AVGCTRL_SAMPLENUM_1             (ADC_AVGCTRL_SAMPLENUM_1_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 1 sample Position  */
+#define ADC_AVGCTRL_SAMPLENUM_2             (ADC_AVGCTRL_SAMPLENUM_2_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 2 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_4             (ADC_AVGCTRL_SAMPLENUM_4_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 4 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_8             (ADC_AVGCTRL_SAMPLENUM_8_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 8 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_16            (ADC_AVGCTRL_SAMPLENUM_16_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 16 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_32            (ADC_AVGCTRL_SAMPLENUM_32_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 32 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_64            (ADC_AVGCTRL_SAMPLENUM_64_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 64 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_128           (ADC_AVGCTRL_SAMPLENUM_128_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 128 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_256           (ADC_AVGCTRL_SAMPLENUM_256_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 256 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_512           (ADC_AVGCTRL_SAMPLENUM_512_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 512 samples Position  */
+#define ADC_AVGCTRL_SAMPLENUM_1024          (ADC_AVGCTRL_SAMPLENUM_1024_Val << ADC_AVGCTRL_SAMPLENUM_Pos)  /**< (ADC_AVGCTRL) 1024 samples Position  */
+#define ADC_AVGCTRL_ADJRES_Pos              4                                              /**< (ADC_AVGCTRL) Adjusting Result / Division Coefficient Position */
+#define ADC_AVGCTRL_ADJRES_Msk              (_U_(0x7) << ADC_AVGCTRL_ADJRES_Pos)           /**< (ADC_AVGCTRL) Adjusting Result / Division Coefficient Mask */
+#define ADC_AVGCTRL_ADJRES(value)           (ADC_AVGCTRL_ADJRES_Msk & ((value) << ADC_AVGCTRL_ADJRES_Pos))
+#define ADC_AVGCTRL_MASK                    _U_(0x7F)                                      /**< \deprecated (ADC_AVGCTRL) Register MASK  (Use ADC_AVGCTRL_Msk instead)  */
+#define ADC_AVGCTRL_Msk                     _U_(0x7F)                                      /**< (ADC_AVGCTRL) Register Mask  */
+
+
+/* -------- ADC_SAMPCTRL : (ADC Offset: 0x0d) (R/W 8) Sample Time Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_SAMPCTRL_OFFSET                 (0x0D)                                        /**<  (ADC_SAMPCTRL) Sample Time Control  Offset */
+#define ADC_SAMPCTRL_RESETVALUE             _U_(0x00)                                     /**<  (ADC_SAMPCTRL) Sample Time Control  Reset Value */
+
+#define ADC_SAMPCTRL_SAMPLEN_Pos            0                                              /**< (ADC_SAMPCTRL) Sampling Time Length Position */
+#define ADC_SAMPCTRL_SAMPLEN_Msk            (_U_(0x3F) << ADC_SAMPCTRL_SAMPLEN_Pos)        /**< (ADC_SAMPCTRL) Sampling Time Length Mask */
+#define ADC_SAMPCTRL_SAMPLEN(value)         (ADC_SAMPCTRL_SAMPLEN_Msk & ((value) << ADC_SAMPCTRL_SAMPLEN_Pos))
+#define ADC_SAMPCTRL_OFFCOMP_Pos            7                                              /**< (ADC_SAMPCTRL) Comparator Offset Compensation Enable Position */
+#define ADC_SAMPCTRL_OFFCOMP_Msk            (_U_(0x1) << ADC_SAMPCTRL_OFFCOMP_Pos)         /**< (ADC_SAMPCTRL) Comparator Offset Compensation Enable Mask */
+#define ADC_SAMPCTRL_OFFCOMP                ADC_SAMPCTRL_OFFCOMP_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SAMPCTRL_OFFCOMP_Msk instead */
+#define ADC_SAMPCTRL_MASK                   _U_(0xBF)                                      /**< \deprecated (ADC_SAMPCTRL) Register MASK  (Use ADC_SAMPCTRL_Msk instead)  */
+#define ADC_SAMPCTRL_Msk                    _U_(0xBF)                                      /**< (ADC_SAMPCTRL) Register Mask  */
+
+
+/* -------- ADC_WINLT : (ADC Offset: 0x0e) (R/W 16) Window Monitor Lower Threshold -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_WINLT_OFFSET                    (0x0E)                                        /**<  (ADC_WINLT) Window Monitor Lower Threshold  Offset */
+#define ADC_WINLT_RESETVALUE                _U_(0x00)                                     /**<  (ADC_WINLT) Window Monitor Lower Threshold  Reset Value */
+
+#define ADC_WINLT_WINLT_Pos                 0                                              /**< (ADC_WINLT) Window Lower Threshold Position */
+#define ADC_WINLT_WINLT_Msk                 (_U_(0xFFFF) << ADC_WINLT_WINLT_Pos)           /**< (ADC_WINLT) Window Lower Threshold Mask */
+#define ADC_WINLT_WINLT(value)              (ADC_WINLT_WINLT_Msk & ((value) << ADC_WINLT_WINLT_Pos))
+#define ADC_WINLT_MASK                      _U_(0xFFFF)                                    /**< \deprecated (ADC_WINLT) Register MASK  (Use ADC_WINLT_Msk instead)  */
+#define ADC_WINLT_Msk                       _U_(0xFFFF)                                    /**< (ADC_WINLT) Register Mask  */
+
+
+/* -------- ADC_WINUT : (ADC Offset: 0x10) (R/W 16) Window Monitor Upper Threshold -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_WINUT_OFFSET                    (0x10)                                        /**<  (ADC_WINUT) Window Monitor Upper Threshold  Offset */
+#define ADC_WINUT_RESETVALUE                _U_(0x00)                                     /**<  (ADC_WINUT) Window Monitor Upper Threshold  Reset Value */
+
+#define ADC_WINUT_WINUT_Pos                 0                                              /**< (ADC_WINUT) Window Upper Threshold Position */
+#define ADC_WINUT_WINUT_Msk                 (_U_(0xFFFF) << ADC_WINUT_WINUT_Pos)           /**< (ADC_WINUT) Window Upper Threshold Mask */
+#define ADC_WINUT_WINUT(value)              (ADC_WINUT_WINUT_Msk & ((value) << ADC_WINUT_WINUT_Pos))
+#define ADC_WINUT_MASK                      _U_(0xFFFF)                                    /**< \deprecated (ADC_WINUT) Register MASK  (Use ADC_WINUT_Msk instead)  */
+#define ADC_WINUT_Msk                       _U_(0xFFFF)                                    /**< (ADC_WINUT) Register Mask  */
+
+
+/* -------- ADC_GAINCORR : (ADC Offset: 0x12) (R/W 16) Gain Correction -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_GAINCORR_OFFSET                 (0x12)                                        /**<  (ADC_GAINCORR) Gain Correction  Offset */
+#define ADC_GAINCORR_RESETVALUE             _U_(0x00)                                     /**<  (ADC_GAINCORR) Gain Correction  Reset Value */
+
+#define ADC_GAINCORR_GAINCORR_Pos           0                                              /**< (ADC_GAINCORR) Gain Correction Value Position */
+#define ADC_GAINCORR_GAINCORR_Msk           (_U_(0xFFF) << ADC_GAINCORR_GAINCORR_Pos)      /**< (ADC_GAINCORR) Gain Correction Value Mask */
+#define ADC_GAINCORR_GAINCORR(value)        (ADC_GAINCORR_GAINCORR_Msk & ((value) << ADC_GAINCORR_GAINCORR_Pos))
+#define ADC_GAINCORR_MASK                   _U_(0xFFF)                                     /**< \deprecated (ADC_GAINCORR) Register MASK  (Use ADC_GAINCORR_Msk instead)  */
+#define ADC_GAINCORR_Msk                    _U_(0xFFF)                                     /**< (ADC_GAINCORR) Register Mask  */
+
+
+/* -------- ADC_OFFSETCORR : (ADC Offset: 0x14) (R/W 16) Offset Correction -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_OFFSETCORR_OFFSET               (0x14)                                        /**<  (ADC_OFFSETCORR) Offset Correction  Offset */
+#define ADC_OFFSETCORR_RESETVALUE           _U_(0x00)                                     /**<  (ADC_OFFSETCORR) Offset Correction  Reset Value */
+
+#define ADC_OFFSETCORR_OFFSETCORR_Pos       0                                              /**< (ADC_OFFSETCORR) Offset Correction Value Position */
+#define ADC_OFFSETCORR_OFFSETCORR_Msk       (_U_(0xFFF) << ADC_OFFSETCORR_OFFSETCORR_Pos)  /**< (ADC_OFFSETCORR) Offset Correction Value Mask */
+#define ADC_OFFSETCORR_OFFSETCORR(value)    (ADC_OFFSETCORR_OFFSETCORR_Msk & ((value) << ADC_OFFSETCORR_OFFSETCORR_Pos))
+#define ADC_OFFSETCORR_MASK                 _U_(0xFFF)                                     /**< \deprecated (ADC_OFFSETCORR) Register MASK  (Use ADC_OFFSETCORR_Msk instead)  */
+#define ADC_OFFSETCORR_Msk                  _U_(0xFFF)                                     /**< (ADC_OFFSETCORR) Register Mask  */
+
+
+/* -------- ADC_SWTRIG : (ADC Offset: 0x18) (R/W 8) Software Trigger -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  FLUSH:1;                   /**< bit:      0  ADC 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_SWTRIG_OFFSET                   (0x18)                                        /**<  (ADC_SWTRIG) Software Trigger  Offset */
+#define ADC_SWTRIG_RESETVALUE               _U_(0x00)                                     /**<  (ADC_SWTRIG) Software Trigger  Reset Value */
+
+#define ADC_SWTRIG_FLUSH_Pos                0                                              /**< (ADC_SWTRIG) ADC Flush Position */
+#define ADC_SWTRIG_FLUSH_Msk                (_U_(0x1) << ADC_SWTRIG_FLUSH_Pos)             /**< (ADC_SWTRIG) ADC Flush Mask */
+#define ADC_SWTRIG_FLUSH                    ADC_SWTRIG_FLUSH_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SWTRIG_FLUSH_Msk instead */
+#define ADC_SWTRIG_START_Pos                1                                              /**< (ADC_SWTRIG) Start ADC Conversion Position */
+#define ADC_SWTRIG_START_Msk                (_U_(0x1) << ADC_SWTRIG_START_Pos)             /**< (ADC_SWTRIG) Start ADC Conversion Mask */
+#define ADC_SWTRIG_START                    ADC_SWTRIG_START_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SWTRIG_START_Msk instead */
+#define ADC_SWTRIG_MASK                     _U_(0x03)                                      /**< \deprecated (ADC_SWTRIG) Register MASK  (Use ADC_SWTRIG_Msk instead)  */
+#define ADC_SWTRIG_Msk                      _U_(0x03)                                      /**< (ADC_SWTRIG) Register Mask  */
+
+
+/* -------- ADC_DBGCTRL : (ADC Offset: 0x1c) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_DBGCTRL_OFFSET                  (0x1C)                                        /**<  (ADC_DBGCTRL) Debug Control  Offset */
+#define ADC_DBGCTRL_RESETVALUE              _U_(0x00)                                     /**<  (ADC_DBGCTRL) Debug Control  Reset Value */
+
+#define ADC_DBGCTRL_DBGRUN_Pos              0                                              /**< (ADC_DBGCTRL) Debug Run Position */
+#define ADC_DBGCTRL_DBGRUN_Msk              (_U_(0x1) << ADC_DBGCTRL_DBGRUN_Pos)           /**< (ADC_DBGCTRL) Debug Run Mask */
+#define ADC_DBGCTRL_DBGRUN                  ADC_DBGCTRL_DBGRUN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_DBGCTRL_DBGRUN_Msk instead */
+#define ADC_DBGCTRL_MASK                    _U_(0x01)                                      /**< \deprecated (ADC_DBGCTRL) Register MASK  (Use ADC_DBGCTRL_Msk instead)  */
+#define ADC_DBGCTRL_Msk                     _U_(0x01)                                      /**< (ADC_DBGCTRL) Register Mask  */
+
+
+/* -------- ADC_SYNCBUSY : (ADC Offset: 0x20) (R/ 16) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t SWRST:1;                   /**< bit:      0  SWRST Synchronization Busy               */
+    uint16_t ENABLE:1;                  /**< bit:      1  ENABLE Synchronization Busy              */
+    uint16_t INPUTCTRL:1;               /**< bit:      2  INPUTCTRL Synchronization Busy           */
+    uint16_t CTRLC:1;                   /**< bit:      3  CTRLC Synchronization Busy               */
+    uint16_t AVGCTRL:1;                 /**< bit:      4  AVGCTRL Synchronization Busy             */
+    uint16_t SAMPCTRL:1;                /**< bit:      5  SAMPCTRL Synchronization Busy            */
+    uint16_t WINLT:1;                   /**< bit:      6  WINLT Synchronization Busy               */
+    uint16_t WINUT:1;                   /**< bit:      7  WINUT Synchronization Busy               */
+    uint16_t GAINCORR:1;                /**< bit:      8  GAINCORR Synchronization Busy            */
+    uint16_t OFFSETCORR:1;              /**< bit:      9  OFFSETCTRL Synchronization Busy          */
+    uint16_t SWTRIG:1;                  /**< bit:     10  SWTRG Synchronization Busy               */
+    uint16_t :5;                        /**< bit: 11..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} ADC_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_SYNCBUSY_OFFSET                 (0x20)                                        /**<  (ADC_SYNCBUSY) Synchronization Busy  Offset */
+#define ADC_SYNCBUSY_RESETVALUE             _U_(0x00)                                     /**<  (ADC_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define ADC_SYNCBUSY_SWRST_Pos              0                                              /**< (ADC_SYNCBUSY) SWRST Synchronization Busy Position */
+#define ADC_SYNCBUSY_SWRST_Msk              (_U_(0x1) << ADC_SYNCBUSY_SWRST_Pos)           /**< (ADC_SYNCBUSY) SWRST Synchronization Busy Mask */
+#define ADC_SYNCBUSY_SWRST                  ADC_SYNCBUSY_SWRST_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_SWRST_Msk instead */
+#define ADC_SYNCBUSY_ENABLE_Pos             1                                              /**< (ADC_SYNCBUSY) ENABLE Synchronization Busy Position */
+#define ADC_SYNCBUSY_ENABLE_Msk             (_U_(0x1) << ADC_SYNCBUSY_ENABLE_Pos)          /**< (ADC_SYNCBUSY) ENABLE Synchronization Busy Mask */
+#define ADC_SYNCBUSY_ENABLE                 ADC_SYNCBUSY_ENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_ENABLE_Msk instead */
+#define ADC_SYNCBUSY_INPUTCTRL_Pos          2                                              /**< (ADC_SYNCBUSY) INPUTCTRL Synchronization Busy Position */
+#define ADC_SYNCBUSY_INPUTCTRL_Msk          (_U_(0x1) << ADC_SYNCBUSY_INPUTCTRL_Pos)       /**< (ADC_SYNCBUSY) INPUTCTRL Synchronization Busy Mask */
+#define ADC_SYNCBUSY_INPUTCTRL              ADC_SYNCBUSY_INPUTCTRL_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_INPUTCTRL_Msk instead */
+#define ADC_SYNCBUSY_CTRLC_Pos              3                                              /**< (ADC_SYNCBUSY) CTRLC Synchronization Busy Position */
+#define ADC_SYNCBUSY_CTRLC_Msk              (_U_(0x1) << ADC_SYNCBUSY_CTRLC_Pos)           /**< (ADC_SYNCBUSY) CTRLC Synchronization Busy Mask */
+#define ADC_SYNCBUSY_CTRLC                  ADC_SYNCBUSY_CTRLC_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_CTRLC_Msk instead */
+#define ADC_SYNCBUSY_AVGCTRL_Pos            4                                              /**< (ADC_SYNCBUSY) AVGCTRL Synchronization Busy Position */
+#define ADC_SYNCBUSY_AVGCTRL_Msk            (_U_(0x1) << ADC_SYNCBUSY_AVGCTRL_Pos)         /**< (ADC_SYNCBUSY) AVGCTRL Synchronization Busy Mask */
+#define ADC_SYNCBUSY_AVGCTRL                ADC_SYNCBUSY_AVGCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_AVGCTRL_Msk instead */
+#define ADC_SYNCBUSY_SAMPCTRL_Pos           5                                              /**< (ADC_SYNCBUSY) SAMPCTRL Synchronization Busy Position */
+#define ADC_SYNCBUSY_SAMPCTRL_Msk           (_U_(0x1) << ADC_SYNCBUSY_SAMPCTRL_Pos)        /**< (ADC_SYNCBUSY) SAMPCTRL Synchronization Busy Mask */
+#define ADC_SYNCBUSY_SAMPCTRL               ADC_SYNCBUSY_SAMPCTRL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_SAMPCTRL_Msk instead */
+#define ADC_SYNCBUSY_WINLT_Pos              6                                              /**< (ADC_SYNCBUSY) WINLT Synchronization Busy Position */
+#define ADC_SYNCBUSY_WINLT_Msk              (_U_(0x1) << ADC_SYNCBUSY_WINLT_Pos)           /**< (ADC_SYNCBUSY) WINLT Synchronization Busy Mask */
+#define ADC_SYNCBUSY_WINLT                  ADC_SYNCBUSY_WINLT_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_WINLT_Msk instead */
+#define ADC_SYNCBUSY_WINUT_Pos              7                                              /**< (ADC_SYNCBUSY) WINUT Synchronization Busy Position */
+#define ADC_SYNCBUSY_WINUT_Msk              (_U_(0x1) << ADC_SYNCBUSY_WINUT_Pos)           /**< (ADC_SYNCBUSY) WINUT Synchronization Busy Mask */
+#define ADC_SYNCBUSY_WINUT                  ADC_SYNCBUSY_WINUT_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_WINUT_Msk instead */
+#define ADC_SYNCBUSY_GAINCORR_Pos           8                                              /**< (ADC_SYNCBUSY) GAINCORR Synchronization Busy Position */
+#define ADC_SYNCBUSY_GAINCORR_Msk           (_U_(0x1) << ADC_SYNCBUSY_GAINCORR_Pos)        /**< (ADC_SYNCBUSY) GAINCORR Synchronization Busy Mask */
+#define ADC_SYNCBUSY_GAINCORR               ADC_SYNCBUSY_GAINCORR_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_GAINCORR_Msk instead */
+#define ADC_SYNCBUSY_OFFSETCORR_Pos         9                                              /**< (ADC_SYNCBUSY) OFFSETCTRL Synchronization Busy Position */
+#define ADC_SYNCBUSY_OFFSETCORR_Msk         (_U_(0x1) << ADC_SYNCBUSY_OFFSETCORR_Pos)      /**< (ADC_SYNCBUSY) OFFSETCTRL Synchronization Busy Mask */
+#define ADC_SYNCBUSY_OFFSETCORR             ADC_SYNCBUSY_OFFSETCORR_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_OFFSETCORR_Msk instead */
+#define ADC_SYNCBUSY_SWTRIG_Pos             10                                             /**< (ADC_SYNCBUSY) SWTRG Synchronization Busy Position */
+#define ADC_SYNCBUSY_SWTRIG_Msk             (_U_(0x1) << ADC_SYNCBUSY_SWTRIG_Pos)          /**< (ADC_SYNCBUSY) SWTRG Synchronization Busy Mask */
+#define ADC_SYNCBUSY_SWTRIG                 ADC_SYNCBUSY_SWTRIG_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use ADC_SYNCBUSY_SWTRIG_Msk instead */
+#define ADC_SYNCBUSY_MASK                   _U_(0x7FF)                                     /**< \deprecated (ADC_SYNCBUSY) Register MASK  (Use ADC_SYNCBUSY_Msk instead)  */
+#define ADC_SYNCBUSY_Msk                    _U_(0x7FF)                                     /**< (ADC_SYNCBUSY) Register Mask  */
+
+
+/* -------- ADC_RESULT : (ADC Offset: 0x24) (R/ 16) Result -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t RESULT:16;                 /**< bit:  0..15  Result Value                             */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} ADC_RESULT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_RESULT_OFFSET                   (0x24)                                        /**<  (ADC_RESULT) Result  Offset */
+#define ADC_RESULT_RESETVALUE               _U_(0x00)                                     /**<  (ADC_RESULT) Result  Reset Value */
+
+#define ADC_RESULT_RESULT_Pos               0                                              /**< (ADC_RESULT) Result Value Position */
+#define ADC_RESULT_RESULT_Msk               (_U_(0xFFFF) << ADC_RESULT_RESULT_Pos)         /**< (ADC_RESULT) Result Value Mask */
+#define ADC_RESULT_RESULT(value)            (ADC_RESULT_RESULT_Msk & ((value) << ADC_RESULT_RESULT_Pos))
+#define ADC_RESULT_MASK                     _U_(0xFFFF)                                    /**< \deprecated (ADC_RESULT) Register MASK  (Use ADC_RESULT_Msk instead)  */
+#define ADC_RESULT_Msk                      _U_(0xFFFF)                                    /**< (ADC_RESULT) Register Mask  */
+
+
+/* -------- ADC_SEQCTRL : (ADC Offset: 0x28) (R/W 32) Sequence Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SEQEN:32;                  /**< bit:  0..31  Enable Positive Input in the Sequence    */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} ADC_SEQCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_SEQCTRL_OFFSET                  (0x28)                                        /**<  (ADC_SEQCTRL) Sequence Control  Offset */
+#define ADC_SEQCTRL_RESETVALUE              _U_(0x00)                                     /**<  (ADC_SEQCTRL) Sequence Control  Reset Value */
+
+#define ADC_SEQCTRL_SEQEN_Pos               0                                              /**< (ADC_SEQCTRL) Enable Positive Input in the Sequence Position */
+#define ADC_SEQCTRL_SEQEN_Msk               (_U_(0xFFFFFFFF) << ADC_SEQCTRL_SEQEN_Pos)     /**< (ADC_SEQCTRL) Enable Positive Input in the Sequence Mask */
+#define ADC_SEQCTRL_SEQEN(value)            (ADC_SEQCTRL_SEQEN_Msk & ((value) << ADC_SEQCTRL_SEQEN_Pos))
+#define ADC_SEQCTRL_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (ADC_SEQCTRL) Register MASK  (Use ADC_SEQCTRL_Msk instead)  */
+#define ADC_SEQCTRL_Msk                     _U_(0xFFFFFFFF)                                /**< (ADC_SEQCTRL) Register Mask  */
+
+
+/* -------- ADC_CALIB : (ADC Offset: 0x2c) (R/W 16) Calibration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BIASCOMP:3;                /**< bit:   0..2  Bias Comparator Scaling                  */
+    uint16_t :5;                        /**< bit:   3..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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define ADC_CALIB_OFFSET                    (0x2C)                                        /**<  (ADC_CALIB) Calibration  Offset */
+#define ADC_CALIB_RESETVALUE                _U_(0x00)                                     /**<  (ADC_CALIB) Calibration  Reset Value */
+
+#define ADC_CALIB_BIASCOMP_Pos              0                                              /**< (ADC_CALIB) Bias Comparator Scaling Position */
+#define ADC_CALIB_BIASCOMP_Msk              (_U_(0x7) << ADC_CALIB_BIASCOMP_Pos)           /**< (ADC_CALIB) Bias Comparator Scaling Mask */
+#define ADC_CALIB_BIASCOMP(value)           (ADC_CALIB_BIASCOMP_Msk & ((value) << ADC_CALIB_BIASCOMP_Pos))
+#define ADC_CALIB_BIASREFBUF_Pos            8                                              /**< (ADC_CALIB) Bias  Reference Buffer Scaling Position */
+#define ADC_CALIB_BIASREFBUF_Msk            (_U_(0x7) << ADC_CALIB_BIASREFBUF_Pos)         /**< (ADC_CALIB) Bias  Reference Buffer Scaling Mask */
+#define ADC_CALIB_BIASREFBUF(value)         (ADC_CALIB_BIASREFBUF_Msk & ((value) << ADC_CALIB_BIASREFBUF_Pos))
+#define ADC_CALIB_MASK                      _U_(0x707)                                     /**< \deprecated (ADC_CALIB) Register MASK  (Use ADC_CALIB_Msk instead)  */
+#define ADC_CALIB_Msk                       _U_(0x707)                                     /**< (ADC_CALIB) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief ADC hardware registers */
+typedef struct {  /* Analog Digital Converter */
+  __IO ADC_CTRLA_Type                 CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __IO ADC_CTRLB_Type                 CTRLB;          /**< Offset: 0x01 (R/W   8) Control B */
+  __IO ADC_REFCTRL_Type               REFCTRL;        /**< Offset: 0x02 (R/W   8) Reference Control */
+  __IO ADC_EVCTRL_Type                EVCTRL;         /**< Offset: 0x03 (R/W   8) Event Control */
+  __IO ADC_INTENCLR_Type              INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO ADC_INTENSET_Type              INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO ADC_INTFLAG_Type               INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  ADC_SEQSTATUS_Type             SEQSTATUS;      /**< Offset: 0x07 (R/    8) Sequence Status */
+  __IO ADC_INPUTCTRL_Type             INPUTCTRL;      /**< Offset: 0x08 (R/W  16) Input Control */
+  __IO ADC_CTRLC_Type                 CTRLC;          /**< Offset: 0x0A (R/W  16) Control C */
+  __IO ADC_AVGCTRL_Type               AVGCTRL;        /**< Offset: 0x0C (R/W   8) Average Control */
+  __IO ADC_SAMPCTRL_Type              SAMPCTRL;       /**< Offset: 0x0D (R/W   8) Sample Time Control */
+  __IO ADC_WINLT_Type                 WINLT;          /**< Offset: 0x0E (R/W  16) Window Monitor Lower Threshold */
+  __IO ADC_WINUT_Type                 WINUT;          /**< Offset: 0x10 (R/W  16) Window Monitor Upper Threshold */
+  __IO ADC_GAINCORR_Type              GAINCORR;       /**< Offset: 0x12 (R/W  16) Gain Correction */
+  __IO ADC_OFFSETCORR_Type            OFFSETCORR;     /**< Offset: 0x14 (R/W  16) Offset Correction */
+  __I  uint8_t                        Reserved1[2];
+  __IO ADC_SWTRIG_Type                SWTRIG;         /**< Offset: 0x18 (R/W   8) Software Trigger */
+  __I  uint8_t                        Reserved2[3];
+  __IO ADC_DBGCTRL_Type               DBGCTRL;        /**< Offset: 0x1C (R/W   8) Debug Control */
+  __I  uint8_t                        Reserved3[3];
+  __I  ADC_SYNCBUSY_Type              SYNCBUSY;       /**< Offset: 0x20 (R/   16) Synchronization Busy */
+  __I  uint8_t                        Reserved4[2];
+  __I  ADC_RESULT_Type                RESULT;         /**< Offset: 0x24 (R/   16) Result */
+  __I  uint8_t                        Reserved5[2];
+  __IO ADC_SEQCTRL_Type               SEQCTRL;        /**< Offset: 0x28 (R/W  32) Sequence Control */
+  __IO ADC_CALIB_Type                 CALIB;          /**< Offset: 0x2C (R/W  16) Calibration */
+} Adc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Analog Digital Converter */
+
+#endif /* _SAML11_ADC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/ccl.h b/cpu/sam0_common/include/vendor/saml11/include/component/ccl.h
new file mode 100644
index 0000000000..0432b0b6f6
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/ccl.h
@@ -0,0 +1,258 @@
+/**
+ * \file
+ *
+ * \brief Component description for CCL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_CCL_COMPONENT_H_
+#define _SAML11_CCL_COMPONENT_H_
+#define _SAML11_CCL_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Configurable Custom Logic
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR CCL */
+/* ========================================================================== */
+
+#define CCL_U2225                      /**< (CCL) Module ID */
+#define REV_CCL 0x200                  /**< (CCL) Module revision */
+
+/* -------- CCL_CTRL : (CCL Offset: 0x00) (R/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define CCL_CTRL_OFFSET                     (0x00)                                        /**<  (CCL_CTRL) Control  Offset */
+#define CCL_CTRL_RESETVALUE                 _U_(0x00)                                     /**<  (CCL_CTRL) Control  Reset Value */
+
+#define CCL_CTRL_SWRST_Pos                  0                                              /**< (CCL_CTRL) Software Reset Position */
+#define CCL_CTRL_SWRST_Msk                  (_U_(0x1) << CCL_CTRL_SWRST_Pos)               /**< (CCL_CTRL) Software Reset Mask */
+#define CCL_CTRL_SWRST                      CCL_CTRL_SWRST_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_CTRL_SWRST_Msk instead */
+#define CCL_CTRL_ENABLE_Pos                 1                                              /**< (CCL_CTRL) Enable Position */
+#define CCL_CTRL_ENABLE_Msk                 (_U_(0x1) << CCL_CTRL_ENABLE_Pos)              /**< (CCL_CTRL) Enable Mask */
+#define CCL_CTRL_ENABLE                     CCL_CTRL_ENABLE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_CTRL_ENABLE_Msk instead */
+#define CCL_CTRL_RUNSTDBY_Pos               6                                              /**< (CCL_CTRL) Run in Standby Position */
+#define CCL_CTRL_RUNSTDBY_Msk               (_U_(0x1) << CCL_CTRL_RUNSTDBY_Pos)            /**< (CCL_CTRL) Run in Standby Mask */
+#define CCL_CTRL_RUNSTDBY                   CCL_CTRL_RUNSTDBY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_CTRL_RUNSTDBY_Msk instead */
+#define CCL_CTRL_MASK                       _U_(0x43)                                      /**< \deprecated (CCL_CTRL) Register MASK  (Use CCL_CTRL_Msk instead)  */
+#define CCL_CTRL_Msk                        _U_(0x43)                                      /**< (CCL_CTRL) Register Mask  */
+
+
+/* -------- CCL_SEQCTRL : (CCL Offset: 0x04) (R/W 8) SEQ Control x -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define CCL_SEQCTRL_OFFSET                  (0x04)                                        /**<  (CCL_SEQCTRL) SEQ Control x  Offset */
+#define CCL_SEQCTRL_RESETVALUE              _U_(0x00)                                     /**<  (CCL_SEQCTRL) SEQ Control x  Reset Value */
+
+#define CCL_SEQCTRL_SEQSEL_Pos              0                                              /**< (CCL_SEQCTRL) Sequential Selection Position */
+#define CCL_SEQCTRL_SEQSEL_Msk              (_U_(0xF) << CCL_SEQCTRL_SEQSEL_Pos)           /**< (CCL_SEQCTRL) Sequential Selection Mask */
+#define CCL_SEQCTRL_SEQSEL(value)           (CCL_SEQCTRL_SEQSEL_Msk & ((value) << CCL_SEQCTRL_SEQSEL_Pos))
+#define   CCL_SEQCTRL_SEQSEL_DISABLE_Val    _U_(0x0)                                       /**< (CCL_SEQCTRL) Sequential logic is disabled  */
+#define   CCL_SEQCTRL_SEQSEL_DFF_Val        _U_(0x1)                                       /**< (CCL_SEQCTRL) D flip flop  */
+#define   CCL_SEQCTRL_SEQSEL_JK_Val         _U_(0x2)                                       /**< (CCL_SEQCTRL) JK flip flop  */
+#define   CCL_SEQCTRL_SEQSEL_LATCH_Val      _U_(0x3)                                       /**< (CCL_SEQCTRL) D latch  */
+#define   CCL_SEQCTRL_SEQSEL_RS_Val         _U_(0x4)                                       /**< (CCL_SEQCTRL) RS latch  */
+#define CCL_SEQCTRL_SEQSEL_DISABLE          (CCL_SEQCTRL_SEQSEL_DISABLE_Val << CCL_SEQCTRL_SEQSEL_Pos)  /**< (CCL_SEQCTRL) Sequential logic is disabled Position  */
+#define CCL_SEQCTRL_SEQSEL_DFF              (CCL_SEQCTRL_SEQSEL_DFF_Val << CCL_SEQCTRL_SEQSEL_Pos)  /**< (CCL_SEQCTRL) D flip flop Position  */
+#define CCL_SEQCTRL_SEQSEL_JK               (CCL_SEQCTRL_SEQSEL_JK_Val << CCL_SEQCTRL_SEQSEL_Pos)  /**< (CCL_SEQCTRL) JK flip flop Position  */
+#define CCL_SEQCTRL_SEQSEL_LATCH            (CCL_SEQCTRL_SEQSEL_LATCH_Val << CCL_SEQCTRL_SEQSEL_Pos)  /**< (CCL_SEQCTRL) D latch Position  */
+#define CCL_SEQCTRL_SEQSEL_RS               (CCL_SEQCTRL_SEQSEL_RS_Val << CCL_SEQCTRL_SEQSEL_Pos)  /**< (CCL_SEQCTRL) RS latch Position  */
+#define CCL_SEQCTRL_MASK                    _U_(0x0F)                                      /**< \deprecated (CCL_SEQCTRL) Register MASK  (Use CCL_SEQCTRL_Msk instead)  */
+#define CCL_SEQCTRL_Msk                     _U_(0x0F)                                      /**< (CCL_SEQCTRL) Register Mask  */
+
+
+/* -------- CCL_LUTCTRL : (CCL Offset: 0x08) (R/W 32) LUT Control x -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define CCL_LUTCTRL_OFFSET                  (0x08)                                        /**<  (CCL_LUTCTRL) LUT Control x  Offset */
+#define CCL_LUTCTRL_RESETVALUE              _U_(0x00)                                     /**<  (CCL_LUTCTRL) LUT Control x  Reset Value */
+
+#define CCL_LUTCTRL_ENABLE_Pos              1                                              /**< (CCL_LUTCTRL) LUT Enable Position */
+#define CCL_LUTCTRL_ENABLE_Msk              (_U_(0x1) << CCL_LUTCTRL_ENABLE_Pos)           /**< (CCL_LUTCTRL) LUT Enable Mask */
+#define CCL_LUTCTRL_ENABLE                  CCL_LUTCTRL_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_LUTCTRL_ENABLE_Msk instead */
+#define CCL_LUTCTRL_FILTSEL_Pos             4                                              /**< (CCL_LUTCTRL) Filter Selection Position */
+#define CCL_LUTCTRL_FILTSEL_Msk             (_U_(0x3) << CCL_LUTCTRL_FILTSEL_Pos)          /**< (CCL_LUTCTRL) Filter Selection Mask */
+#define CCL_LUTCTRL_FILTSEL(value)          (CCL_LUTCTRL_FILTSEL_Msk & ((value) << CCL_LUTCTRL_FILTSEL_Pos))
+#define   CCL_LUTCTRL_FILTSEL_DISABLE_Val   _U_(0x0)                                       /**< (CCL_LUTCTRL) Filter disabled  */
+#define   CCL_LUTCTRL_FILTSEL_SYNCH_Val     _U_(0x1)                                       /**< (CCL_LUTCTRL) Synchronizer enabled  */
+#define   CCL_LUTCTRL_FILTSEL_FILTER_Val    _U_(0x2)                                       /**< (CCL_LUTCTRL) Filter enabled  */
+#define CCL_LUTCTRL_FILTSEL_DISABLE         (CCL_LUTCTRL_FILTSEL_DISABLE_Val << CCL_LUTCTRL_FILTSEL_Pos)  /**< (CCL_LUTCTRL) Filter disabled Position  */
+#define CCL_LUTCTRL_FILTSEL_SYNCH           (CCL_LUTCTRL_FILTSEL_SYNCH_Val << CCL_LUTCTRL_FILTSEL_Pos)  /**< (CCL_LUTCTRL) Synchronizer enabled Position  */
+#define CCL_LUTCTRL_FILTSEL_FILTER          (CCL_LUTCTRL_FILTSEL_FILTER_Val << CCL_LUTCTRL_FILTSEL_Pos)  /**< (CCL_LUTCTRL) Filter enabled Position  */
+#define CCL_LUTCTRL_EDGESEL_Pos             7                                              /**< (CCL_LUTCTRL) Edge Selection Position */
+#define CCL_LUTCTRL_EDGESEL_Msk             (_U_(0x1) << CCL_LUTCTRL_EDGESEL_Pos)          /**< (CCL_LUTCTRL) Edge Selection Mask */
+#define CCL_LUTCTRL_EDGESEL                 CCL_LUTCTRL_EDGESEL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_LUTCTRL_EDGESEL_Msk instead */
+#define CCL_LUTCTRL_INSEL0_Pos              8                                              /**< (CCL_LUTCTRL) Input Selection 0 Position */
+#define CCL_LUTCTRL_INSEL0_Msk              (_U_(0xF) << CCL_LUTCTRL_INSEL0_Pos)           /**< (CCL_LUTCTRL) Input Selection 0 Mask */
+#define CCL_LUTCTRL_INSEL0(value)           (CCL_LUTCTRL_INSEL0_Msk & ((value) << CCL_LUTCTRL_INSEL0_Pos))
+#define   CCL_LUTCTRL_INSEL0_MASK_Val       _U_(0x0)                                       /**< (CCL_LUTCTRL) Masked input  */
+#define   CCL_LUTCTRL_INSEL0_FEEDBACK_Val   _U_(0x1)                                       /**< (CCL_LUTCTRL) Feedback input source  */
+#define   CCL_LUTCTRL_INSEL0_LINK_Val       _U_(0x2)                                       /**< (CCL_LUTCTRL) Linked LUT input source  */
+#define   CCL_LUTCTRL_INSEL0_EVENT_Val      _U_(0x3)                                       /**< (CCL_LUTCTRL) Event input source  */
+#define   CCL_LUTCTRL_INSEL0_IO_Val         _U_(0x4)                                       /**< (CCL_LUTCTRL) I/O pin input source  */
+#define   CCL_LUTCTRL_INSEL0_AC_Val         _U_(0x5)                                       /**< (CCL_LUTCTRL) AC input source  */
+#define   CCL_LUTCTRL_INSEL0_TC_Val         _U_(0x6)                                       /**< (CCL_LUTCTRL) TC input source  */
+#define   CCL_LUTCTRL_INSEL0_ALTTC_Val      _U_(0x7)                                       /**< (CCL_LUTCTRL) Alternate TC input source  */
+#define   CCL_LUTCTRL_INSEL0_TCC_Val        _U_(0x8)                                       /**< (CCL_LUTCTRL) TCC input source  */
+#define   CCL_LUTCTRL_INSEL0_SERCOM_Val     _U_(0x9)                                       /**< (CCL_LUTCTRL) SERCOM input source  */
+#define   CCL_LUTCTRL_INSEL0_ALT2TC_Val     _U_(0xA)                                       /**< (CCL_LUTCTRL) Alternate 2 TC input source  */
+#define   CCL_LUTCTRL_INSEL0_ASYNCEVENT_Val _U_(0xB)                                       /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic.  */
+#define CCL_LUTCTRL_INSEL0_MASK             (CCL_LUTCTRL_INSEL0_MASK_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Masked input Position  */
+#define CCL_LUTCTRL_INSEL0_FEEDBACK         (CCL_LUTCTRL_INSEL0_FEEDBACK_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Feedback input source Position  */
+#define CCL_LUTCTRL_INSEL0_LINK             (CCL_LUTCTRL_INSEL0_LINK_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Linked LUT input source Position  */
+#define CCL_LUTCTRL_INSEL0_EVENT            (CCL_LUTCTRL_INSEL0_EVENT_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Event input source Position  */
+#define CCL_LUTCTRL_INSEL0_IO               (CCL_LUTCTRL_INSEL0_IO_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) I/O pin input source Position  */
+#define CCL_LUTCTRL_INSEL0_AC               (CCL_LUTCTRL_INSEL0_AC_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) AC input source Position  */
+#define CCL_LUTCTRL_INSEL0_TC               (CCL_LUTCTRL_INSEL0_TC_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) TC input source Position  */
+#define CCL_LUTCTRL_INSEL0_ALTTC            (CCL_LUTCTRL_INSEL0_ALTTC_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Alternate TC input source Position  */
+#define CCL_LUTCTRL_INSEL0_TCC              (CCL_LUTCTRL_INSEL0_TCC_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) TCC input source Position  */
+#define CCL_LUTCTRL_INSEL0_SERCOM           (CCL_LUTCTRL_INSEL0_SERCOM_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) SERCOM input source Position  */
+#define CCL_LUTCTRL_INSEL0_ALT2TC           (CCL_LUTCTRL_INSEL0_ALT2TC_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Alternate 2 TC input source Position  */
+#define CCL_LUTCTRL_INSEL0_ASYNCEVENT       (CCL_LUTCTRL_INSEL0_ASYNCEVENT_Val << CCL_LUTCTRL_INSEL0_Pos)  /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic. Position  */
+#define CCL_LUTCTRL_INSEL1_Pos              12                                             /**< (CCL_LUTCTRL) Input Selection 1 Position */
+#define CCL_LUTCTRL_INSEL1_Msk              (_U_(0xF) << CCL_LUTCTRL_INSEL1_Pos)           /**< (CCL_LUTCTRL) Input Selection 1 Mask */
+#define CCL_LUTCTRL_INSEL1(value)           (CCL_LUTCTRL_INSEL1_Msk & ((value) << CCL_LUTCTRL_INSEL1_Pos))
+#define   CCL_LUTCTRL_INSEL1_MASK_Val       _U_(0x0)                                       /**< (CCL_LUTCTRL) Masked input  */
+#define   CCL_LUTCTRL_INSEL1_FEEDBACK_Val   _U_(0x1)                                       /**< (CCL_LUTCTRL) Feedback input source  */
+#define   CCL_LUTCTRL_INSEL1_LINK_Val       _U_(0x2)                                       /**< (CCL_LUTCTRL) Linked LUT input source  */
+#define   CCL_LUTCTRL_INSEL1_EVENT_Val      _U_(0x3)                                       /**< (CCL_LUTCTRL) Event input source  */
+#define   CCL_LUTCTRL_INSEL1_IO_Val         _U_(0x4)                                       /**< (CCL_LUTCTRL) I/O pin input source  */
+#define   CCL_LUTCTRL_INSEL1_AC_Val         _U_(0x5)                                       /**< (CCL_LUTCTRL) AC input source  */
+#define   CCL_LUTCTRL_INSEL1_TC_Val         _U_(0x6)                                       /**< (CCL_LUTCTRL) TC input source  */
+#define   CCL_LUTCTRL_INSEL1_ALTTC_Val      _U_(0x7)                                       /**< (CCL_LUTCTRL) Alternate TC input source  */
+#define   CCL_LUTCTRL_INSEL1_TCC_Val        _U_(0x8)                                       /**< (CCL_LUTCTRL) TCC input source  */
+#define   CCL_LUTCTRL_INSEL1_SERCOM_Val     _U_(0x9)                                       /**< (CCL_LUTCTRL) SERCOM input source  */
+#define   CCL_LUTCTRL_INSEL1_ALT2TC_Val     _U_(0xA)                                       /**< (CCL_LUTCTRL) Alternate 2 TC input source  */
+#define   CCL_LUTCTRL_INSEL1_ASYNCEVENT_Val _U_(0xB)                                       /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic.  */
+#define CCL_LUTCTRL_INSEL1_MASK             (CCL_LUTCTRL_INSEL1_MASK_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Masked input Position  */
+#define CCL_LUTCTRL_INSEL1_FEEDBACK         (CCL_LUTCTRL_INSEL1_FEEDBACK_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Feedback input source Position  */
+#define CCL_LUTCTRL_INSEL1_LINK             (CCL_LUTCTRL_INSEL1_LINK_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Linked LUT input source Position  */
+#define CCL_LUTCTRL_INSEL1_EVENT            (CCL_LUTCTRL_INSEL1_EVENT_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Event input source Position  */
+#define CCL_LUTCTRL_INSEL1_IO               (CCL_LUTCTRL_INSEL1_IO_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) I/O pin input source Position  */
+#define CCL_LUTCTRL_INSEL1_AC               (CCL_LUTCTRL_INSEL1_AC_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) AC input source Position  */
+#define CCL_LUTCTRL_INSEL1_TC               (CCL_LUTCTRL_INSEL1_TC_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) TC input source Position  */
+#define CCL_LUTCTRL_INSEL1_ALTTC            (CCL_LUTCTRL_INSEL1_ALTTC_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Alternate TC input source Position  */
+#define CCL_LUTCTRL_INSEL1_TCC              (CCL_LUTCTRL_INSEL1_TCC_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) TCC input source Position  */
+#define CCL_LUTCTRL_INSEL1_SERCOM           (CCL_LUTCTRL_INSEL1_SERCOM_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) SERCOM input source Position  */
+#define CCL_LUTCTRL_INSEL1_ALT2TC           (CCL_LUTCTRL_INSEL1_ALT2TC_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Alternate 2 TC input source Position  */
+#define CCL_LUTCTRL_INSEL1_ASYNCEVENT       (CCL_LUTCTRL_INSEL1_ASYNCEVENT_Val << CCL_LUTCTRL_INSEL1_Pos)  /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic. Position  */
+#define CCL_LUTCTRL_INSEL2_Pos              16                                             /**< (CCL_LUTCTRL) Input Selection 2 Position */
+#define CCL_LUTCTRL_INSEL2_Msk              (_U_(0xF) << CCL_LUTCTRL_INSEL2_Pos)           /**< (CCL_LUTCTRL) Input Selection 2 Mask */
+#define CCL_LUTCTRL_INSEL2(value)           (CCL_LUTCTRL_INSEL2_Msk & ((value) << CCL_LUTCTRL_INSEL2_Pos))
+#define   CCL_LUTCTRL_INSEL2_MASK_Val       _U_(0x0)                                       /**< (CCL_LUTCTRL) Masked input  */
+#define   CCL_LUTCTRL_INSEL2_FEEDBACK_Val   _U_(0x1)                                       /**< (CCL_LUTCTRL) Feedback input source  */
+#define   CCL_LUTCTRL_INSEL2_LINK_Val       _U_(0x2)                                       /**< (CCL_LUTCTRL) Linked LUT input source  */
+#define   CCL_LUTCTRL_INSEL2_EVENT_Val      _U_(0x3)                                       /**< (CCL_LUTCTRL) Event input source  */
+#define   CCL_LUTCTRL_INSEL2_IO_Val         _U_(0x4)                                       /**< (CCL_LUTCTRL) I/O pin input source  */
+#define   CCL_LUTCTRL_INSEL2_AC_Val         _U_(0x5)                                       /**< (CCL_LUTCTRL) AC input source  */
+#define   CCL_LUTCTRL_INSEL2_TC_Val         _U_(0x6)                                       /**< (CCL_LUTCTRL) TC input source  */
+#define   CCL_LUTCTRL_INSEL2_ALTTC_Val      _U_(0x7)                                       /**< (CCL_LUTCTRL) Alternate TC input source  */
+#define   CCL_LUTCTRL_INSEL2_TCC_Val        _U_(0x8)                                       /**< (CCL_LUTCTRL) TCC input source  */
+#define   CCL_LUTCTRL_INSEL2_SERCOM_Val     _U_(0x9)                                       /**< (CCL_LUTCTRL) SERCOM input source  */
+#define   CCL_LUTCTRL_INSEL2_ALT2TC_Val     _U_(0xA)                                       /**< (CCL_LUTCTRL) Alternate 2 TC input source  */
+#define   CCL_LUTCTRL_INSEL2_ASYNCEVENT_Val _U_(0xB)                                       /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic.  */
+#define CCL_LUTCTRL_INSEL2_MASK             (CCL_LUTCTRL_INSEL2_MASK_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Masked input Position  */
+#define CCL_LUTCTRL_INSEL2_FEEDBACK         (CCL_LUTCTRL_INSEL2_FEEDBACK_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Feedback input source Position  */
+#define CCL_LUTCTRL_INSEL2_LINK             (CCL_LUTCTRL_INSEL2_LINK_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Linked LUT input source Position  */
+#define CCL_LUTCTRL_INSEL2_EVENT            (CCL_LUTCTRL_INSEL2_EVENT_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Event input source Position  */
+#define CCL_LUTCTRL_INSEL2_IO               (CCL_LUTCTRL_INSEL2_IO_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) I/O pin input source Position  */
+#define CCL_LUTCTRL_INSEL2_AC               (CCL_LUTCTRL_INSEL2_AC_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) AC input source Position  */
+#define CCL_LUTCTRL_INSEL2_TC               (CCL_LUTCTRL_INSEL2_TC_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) TC input source Position  */
+#define CCL_LUTCTRL_INSEL2_ALTTC            (CCL_LUTCTRL_INSEL2_ALTTC_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Alternate TC input source Position  */
+#define CCL_LUTCTRL_INSEL2_TCC              (CCL_LUTCTRL_INSEL2_TCC_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) TCC input source Position  */
+#define CCL_LUTCTRL_INSEL2_SERCOM           (CCL_LUTCTRL_INSEL2_SERCOM_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) SERCOM input source Position  */
+#define CCL_LUTCTRL_INSEL2_ALT2TC           (CCL_LUTCTRL_INSEL2_ALT2TC_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Alternate 2 TC input source Position  */
+#define CCL_LUTCTRL_INSEL2_ASYNCEVENT       (CCL_LUTCTRL_INSEL2_ASYNCEVENT_Val << CCL_LUTCTRL_INSEL2_Pos)  /**< (CCL_LUTCTRL) Asynchronous event input source. The EVENT input will bypass edge detection logic. Position  */
+#define CCL_LUTCTRL_INVEI_Pos               20                                             /**< (CCL_LUTCTRL) Inverted Event Input Enable Position */
+#define CCL_LUTCTRL_INVEI_Msk               (_U_(0x1) << CCL_LUTCTRL_INVEI_Pos)            /**< (CCL_LUTCTRL) Inverted Event Input Enable Mask */
+#define CCL_LUTCTRL_INVEI                   CCL_LUTCTRL_INVEI_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_LUTCTRL_INVEI_Msk instead */
+#define CCL_LUTCTRL_LUTEI_Pos               21                                             /**< (CCL_LUTCTRL) LUT Event Input Enable Position */
+#define CCL_LUTCTRL_LUTEI_Msk               (_U_(0x1) << CCL_LUTCTRL_LUTEI_Pos)            /**< (CCL_LUTCTRL) LUT Event Input Enable Mask */
+#define CCL_LUTCTRL_LUTEI                   CCL_LUTCTRL_LUTEI_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_LUTCTRL_LUTEI_Msk instead */
+#define CCL_LUTCTRL_LUTEO_Pos               22                                             /**< (CCL_LUTCTRL) LUT Event Output Enable Position */
+#define CCL_LUTCTRL_LUTEO_Msk               (_U_(0x1) << CCL_LUTCTRL_LUTEO_Pos)            /**< (CCL_LUTCTRL) LUT Event Output Enable Mask */
+#define CCL_LUTCTRL_LUTEO                   CCL_LUTCTRL_LUTEO_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use CCL_LUTCTRL_LUTEO_Msk instead */
+#define CCL_LUTCTRL_TRUTH_Pos               24                                             /**< (CCL_LUTCTRL) Truth Value Position */
+#define CCL_LUTCTRL_TRUTH_Msk               (_U_(0xFF) << CCL_LUTCTRL_TRUTH_Pos)           /**< (CCL_LUTCTRL) Truth Value Mask */
+#define CCL_LUTCTRL_TRUTH(value)            (CCL_LUTCTRL_TRUTH_Msk & ((value) << CCL_LUTCTRL_TRUTH_Pos))
+#define CCL_LUTCTRL_MASK                    _U_(0xFF7FFFB2)                                /**< \deprecated (CCL_LUTCTRL) Register MASK  (Use CCL_LUTCTRL_Msk instead)  */
+#define CCL_LUTCTRL_Msk                     _U_(0xFF7FFFB2)                                /**< (CCL_LUTCTRL) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief CCL hardware registers */
+typedef struct {  /* Configurable Custom Logic */
+  __IO CCL_CTRL_Type                  CTRL;           /**< Offset: 0x00 (R/W   8) Control */
+  __I  uint8_t                        Reserved1[3];
+  __IO CCL_SEQCTRL_Type               SEQCTRL[1];     /**< Offset: 0x04 (R/W   8) SEQ Control x */
+  __I  uint8_t                        Reserved2[3];
+  __IO CCL_LUTCTRL_Type               LUTCTRL[2];     /**< Offset: 0x08 (R/W  32) LUT Control x */
+} Ccl;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Configurable Custom Logic */
+
+#endif /* _SAML11_CCL_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/dac.h b/cpu/sam0_common/include/vendor/saml11/include/component/dac.h
new file mode 100644
index 0000000000..9236500087
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/dac.h
@@ -0,0 +1,364 @@
+/**
+ * \file
+ *
+ * \brief Component description for DAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_DAC_COMPONENT_H_
+#define _SAML11_DAC_COMPONENT_H_
+#define _SAML11_DAC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Digital Analog Converter
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR DAC */
+/* ========================================================================== */
+
+#define DAC_U2214                      /**< (DAC) Module ID */
+#define REV_DAC 0x210                  /**< (DAC) Module revision */
+
+/* -------- DAC_CTRLA : (DAC Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || 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 */
+} DAC_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_CTRLA_OFFSET                    (0x00)                                        /**<  (DAC_CTRLA) Control A  Offset */
+#define DAC_CTRLA_RESETVALUE                _U_(0x00)                                     /**<  (DAC_CTRLA) Control A  Reset Value */
+
+#define DAC_CTRLA_SWRST_Pos                 0                                              /**< (DAC_CTRLA) Software Reset Position */
+#define DAC_CTRLA_SWRST_Msk                 (_U_(0x1) << DAC_CTRLA_SWRST_Pos)              /**< (DAC_CTRLA) Software Reset Mask */
+#define DAC_CTRLA_SWRST                     DAC_CTRLA_SWRST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLA_SWRST_Msk instead */
+#define DAC_CTRLA_ENABLE_Pos                1                                              /**< (DAC_CTRLA) Enable Position */
+#define DAC_CTRLA_ENABLE_Msk                (_U_(0x1) << DAC_CTRLA_ENABLE_Pos)             /**< (DAC_CTRLA) Enable Mask */
+#define DAC_CTRLA_ENABLE                    DAC_CTRLA_ENABLE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLA_ENABLE_Msk instead */
+#define DAC_CTRLA_RUNSTDBY_Pos              6                                              /**< (DAC_CTRLA) Run in Standby Position */
+#define DAC_CTRLA_RUNSTDBY_Msk              (_U_(0x1) << DAC_CTRLA_RUNSTDBY_Pos)           /**< (DAC_CTRLA) Run in Standby Mask */
+#define DAC_CTRLA_RUNSTDBY                  DAC_CTRLA_RUNSTDBY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLA_RUNSTDBY_Msk instead */
+#define DAC_CTRLA_MASK                      _U_(0x43)                                      /**< \deprecated (DAC_CTRLA) Register MASK  (Use DAC_CTRLA_Msk instead)  */
+#define DAC_CTRLA_Msk                       _U_(0x43)                                      /**< (DAC_CTRLA) Register Mask  */
+
+
+/* -------- DAC_CTRLB : (DAC Offset: 0x01) (R/W 8) Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  EOEN:1;                    /**< bit:      0  External Output Enable                   */
+    uint8_t  IOEN:1;                    /**< bit:      1  Internal Output Enable                   */
+    uint8_t  LEFTADJ:1;                 /**< bit:      2  Left Adjusted Data                       */
+    uint8_t  VPD:1;                     /**< bit:      3  Voltage Pump Disable                     */
+    uint8_t  :1;                        /**< bit:      4  Reserved */
+    uint8_t  DITHER:1;                  /**< bit:      5  Dither Enable                            */
+    uint8_t  REFSEL:2;                  /**< bit:   6..7  Reference Selection                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_CTRLB_OFFSET                    (0x01)                                        /**<  (DAC_CTRLB) Control B  Offset */
+#define DAC_CTRLB_RESETVALUE                _U_(0x00)                                     /**<  (DAC_CTRLB) Control B  Reset Value */
+
+#define DAC_CTRLB_EOEN_Pos                  0                                              /**< (DAC_CTRLB) External Output Enable Position */
+#define DAC_CTRLB_EOEN_Msk                  (_U_(0x1) << DAC_CTRLB_EOEN_Pos)               /**< (DAC_CTRLB) External Output Enable Mask */
+#define DAC_CTRLB_EOEN                      DAC_CTRLB_EOEN_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLB_EOEN_Msk instead */
+#define DAC_CTRLB_IOEN_Pos                  1                                              /**< (DAC_CTRLB) Internal Output Enable Position */
+#define DAC_CTRLB_IOEN_Msk                  (_U_(0x1) << DAC_CTRLB_IOEN_Pos)               /**< (DAC_CTRLB) Internal Output Enable Mask */
+#define DAC_CTRLB_IOEN                      DAC_CTRLB_IOEN_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLB_IOEN_Msk instead */
+#define DAC_CTRLB_LEFTADJ_Pos               2                                              /**< (DAC_CTRLB) Left Adjusted Data Position */
+#define DAC_CTRLB_LEFTADJ_Msk               (_U_(0x1) << DAC_CTRLB_LEFTADJ_Pos)            /**< (DAC_CTRLB) Left Adjusted Data Mask */
+#define DAC_CTRLB_LEFTADJ                   DAC_CTRLB_LEFTADJ_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLB_LEFTADJ_Msk instead */
+#define DAC_CTRLB_VPD_Pos                   3                                              /**< (DAC_CTRLB) Voltage Pump Disable Position */
+#define DAC_CTRLB_VPD_Msk                   (_U_(0x1) << DAC_CTRLB_VPD_Pos)                /**< (DAC_CTRLB) Voltage Pump Disable Mask */
+#define DAC_CTRLB_VPD                       DAC_CTRLB_VPD_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLB_VPD_Msk instead */
+#define DAC_CTRLB_DITHER_Pos                5                                              /**< (DAC_CTRLB) Dither Enable Position */
+#define DAC_CTRLB_DITHER_Msk                (_U_(0x1) << DAC_CTRLB_DITHER_Pos)             /**< (DAC_CTRLB) Dither Enable Mask */
+#define DAC_CTRLB_DITHER                    DAC_CTRLB_DITHER_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_CTRLB_DITHER_Msk instead */
+#define DAC_CTRLB_REFSEL_Pos                6                                              /**< (DAC_CTRLB) Reference Selection Position */
+#define DAC_CTRLB_REFSEL_Msk                (_U_(0x3) << DAC_CTRLB_REFSEL_Pos)             /**< (DAC_CTRLB) Reference Selection Mask */
+#define DAC_CTRLB_REFSEL(value)             (DAC_CTRLB_REFSEL_Msk & ((value) << DAC_CTRLB_REFSEL_Pos))
+#define   DAC_CTRLB_REFSEL_INT1V_Val        _U_(0x0)                                       /**< (DAC_CTRLB) Internal 1.0V reference  */
+#define   DAC_CTRLB_REFSEL_AVCC_Val         _U_(0x1)                                       /**< (DAC_CTRLB) AVCC  */
+#define   DAC_CTRLB_REFSEL_VREFP_Val        _U_(0x2)                                       /**< (DAC_CTRLB) External reference  */
+#define DAC_CTRLB_REFSEL_INT1V              (DAC_CTRLB_REFSEL_INT1V_Val << DAC_CTRLB_REFSEL_Pos)  /**< (DAC_CTRLB) Internal 1.0V reference Position  */
+#define DAC_CTRLB_REFSEL_AVCC               (DAC_CTRLB_REFSEL_AVCC_Val << DAC_CTRLB_REFSEL_Pos)  /**< (DAC_CTRLB) AVCC Position  */
+#define DAC_CTRLB_REFSEL_VREFP              (DAC_CTRLB_REFSEL_VREFP_Val << DAC_CTRLB_REFSEL_Pos)  /**< (DAC_CTRLB) External reference Position  */
+#define DAC_CTRLB_MASK                      _U_(0xEF)                                      /**< \deprecated (DAC_CTRLB) Register MASK  (Use DAC_CTRLB_Msk instead)  */
+#define DAC_CTRLB_Msk                       _U_(0xEF)                                      /**< (DAC_CTRLB) Register Mask  */
+
+
+/* -------- DAC_EVCTRL : (DAC Offset: 0x02) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  STARTEI:1;                 /**< bit:      0  Start Conversion Event Input             */
+    uint8_t  EMPTYEO:1;                 /**< bit:      1  Data Buffer Empty Event Output           */
+    uint8_t  INVEI:1;                   /**< bit:      2  Invert Event Input                       */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_EVCTRL_OFFSET                   (0x02)                                        /**<  (DAC_EVCTRL) Event Control  Offset */
+#define DAC_EVCTRL_RESETVALUE               _U_(0x00)                                     /**<  (DAC_EVCTRL) Event Control  Reset Value */
+
+#define DAC_EVCTRL_STARTEI_Pos              0                                              /**< (DAC_EVCTRL) Start Conversion Event Input Position */
+#define DAC_EVCTRL_STARTEI_Msk              (_U_(0x1) << DAC_EVCTRL_STARTEI_Pos)           /**< (DAC_EVCTRL) Start Conversion Event Input Mask */
+#define DAC_EVCTRL_STARTEI                  DAC_EVCTRL_STARTEI_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_EVCTRL_STARTEI_Msk instead */
+#define DAC_EVCTRL_EMPTYEO_Pos              1                                              /**< (DAC_EVCTRL) Data Buffer Empty Event Output Position */
+#define DAC_EVCTRL_EMPTYEO_Msk              (_U_(0x1) << DAC_EVCTRL_EMPTYEO_Pos)           /**< (DAC_EVCTRL) Data Buffer Empty Event Output Mask */
+#define DAC_EVCTRL_EMPTYEO                  DAC_EVCTRL_EMPTYEO_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_EVCTRL_EMPTYEO_Msk instead */
+#define DAC_EVCTRL_INVEI_Pos                2                                              /**< (DAC_EVCTRL) Invert Event Input Position */
+#define DAC_EVCTRL_INVEI_Msk                (_U_(0x1) << DAC_EVCTRL_INVEI_Pos)             /**< (DAC_EVCTRL) Invert Event Input Mask */
+#define DAC_EVCTRL_INVEI                    DAC_EVCTRL_INVEI_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_EVCTRL_INVEI_Msk instead */
+#define DAC_EVCTRL_MASK                     _U_(0x07)                                      /**< \deprecated (DAC_EVCTRL) Register MASK  (Use DAC_EVCTRL_Msk instead)  */
+#define DAC_EVCTRL_Msk                      _U_(0x07)                                      /**< (DAC_EVCTRL) Register Mask  */
+
+
+/* -------- DAC_INTENCLR : (DAC Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  UNDERRUN:1;                /**< bit:      0  Underrun Interrupt Enable                */
+    uint8_t  EMPTY:1;                   /**< bit:      1  Data Buffer Empty Interrupt Enable       */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_INTENCLR_OFFSET                 (0x04)                                        /**<  (DAC_INTENCLR) Interrupt Enable Clear  Offset */
+#define DAC_INTENCLR_RESETVALUE             _U_(0x00)                                     /**<  (DAC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define DAC_INTENCLR_UNDERRUN_Pos           0                                              /**< (DAC_INTENCLR) Underrun Interrupt Enable Position */
+#define DAC_INTENCLR_UNDERRUN_Msk           (_U_(0x1) << DAC_INTENCLR_UNDERRUN_Pos)        /**< (DAC_INTENCLR) Underrun Interrupt Enable Mask */
+#define DAC_INTENCLR_UNDERRUN               DAC_INTENCLR_UNDERRUN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTENCLR_UNDERRUN_Msk instead */
+#define DAC_INTENCLR_EMPTY_Pos              1                                              /**< (DAC_INTENCLR) Data Buffer Empty Interrupt Enable Position */
+#define DAC_INTENCLR_EMPTY_Msk              (_U_(0x1) << DAC_INTENCLR_EMPTY_Pos)           /**< (DAC_INTENCLR) Data Buffer Empty Interrupt Enable Mask */
+#define DAC_INTENCLR_EMPTY                  DAC_INTENCLR_EMPTY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTENCLR_EMPTY_Msk instead */
+#define DAC_INTENCLR_MASK                   _U_(0x03)                                      /**< \deprecated (DAC_INTENCLR) Register MASK  (Use DAC_INTENCLR_Msk instead)  */
+#define DAC_INTENCLR_Msk                    _U_(0x03)                                      /**< (DAC_INTENCLR) Register Mask  */
+
+
+/* -------- DAC_INTENSET : (DAC Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  UNDERRUN:1;                /**< bit:      0  Underrun Interrupt Enable                */
+    uint8_t  EMPTY:1;                   /**< bit:      1  Data Buffer Empty Interrupt Enable       */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_INTENSET_OFFSET                 (0x05)                                        /**<  (DAC_INTENSET) Interrupt Enable Set  Offset */
+#define DAC_INTENSET_RESETVALUE             _U_(0x00)                                     /**<  (DAC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define DAC_INTENSET_UNDERRUN_Pos           0                                              /**< (DAC_INTENSET) Underrun Interrupt Enable Position */
+#define DAC_INTENSET_UNDERRUN_Msk           (_U_(0x1) << DAC_INTENSET_UNDERRUN_Pos)        /**< (DAC_INTENSET) Underrun Interrupt Enable Mask */
+#define DAC_INTENSET_UNDERRUN               DAC_INTENSET_UNDERRUN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTENSET_UNDERRUN_Msk instead */
+#define DAC_INTENSET_EMPTY_Pos              1                                              /**< (DAC_INTENSET) Data Buffer Empty Interrupt Enable Position */
+#define DAC_INTENSET_EMPTY_Msk              (_U_(0x1) << DAC_INTENSET_EMPTY_Pos)           /**< (DAC_INTENSET) Data Buffer Empty Interrupt Enable Mask */
+#define DAC_INTENSET_EMPTY                  DAC_INTENSET_EMPTY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTENSET_EMPTY_Msk instead */
+#define DAC_INTENSET_MASK                   _U_(0x03)                                      /**< \deprecated (DAC_INTENSET) Register MASK  (Use DAC_INTENSET_Msk instead)  */
+#define DAC_INTENSET_Msk                    _U_(0x03)                                      /**< (DAC_INTENSET) Register Mask  */
+
+
+/* -------- DAC_INTFLAG : (DAC Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t UNDERRUN:1;                /**< bit:      0  Underrun                                 */
+    __I uint8_t EMPTY:1;                   /**< bit:      1  Data Buffer Empty                        */
+    __I uint8_t :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_INTFLAG_OFFSET                  (0x06)                                        /**<  (DAC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define DAC_INTFLAG_RESETVALUE              _U_(0x00)                                     /**<  (DAC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define DAC_INTFLAG_UNDERRUN_Pos            0                                              /**< (DAC_INTFLAG) Underrun Position */
+#define DAC_INTFLAG_UNDERRUN_Msk            (_U_(0x1) << DAC_INTFLAG_UNDERRUN_Pos)         /**< (DAC_INTFLAG) Underrun Mask */
+#define DAC_INTFLAG_UNDERRUN                DAC_INTFLAG_UNDERRUN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTFLAG_UNDERRUN_Msk instead */
+#define DAC_INTFLAG_EMPTY_Pos               1                                              /**< (DAC_INTFLAG) Data Buffer Empty Position */
+#define DAC_INTFLAG_EMPTY_Msk               (_U_(0x1) << DAC_INTFLAG_EMPTY_Pos)            /**< (DAC_INTFLAG) Data Buffer Empty Mask */
+#define DAC_INTFLAG_EMPTY                   DAC_INTFLAG_EMPTY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_INTFLAG_EMPTY_Msk instead */
+#define DAC_INTFLAG_MASK                    _U_(0x03)                                      /**< \deprecated (DAC_INTFLAG) Register MASK  (Use DAC_INTFLAG_Msk instead)  */
+#define DAC_INTFLAG_Msk                     _U_(0x03)                                      /**< (DAC_INTFLAG) Register Mask  */
+
+
+/* -------- DAC_STATUS : (DAC Offset: 0x07) (R/ 8) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  READY:1;                   /**< bit:      0  Ready                                    */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DAC_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_STATUS_OFFSET                   (0x07)                                        /**<  (DAC_STATUS) Status  Offset */
+#define DAC_STATUS_RESETVALUE               _U_(0x00)                                     /**<  (DAC_STATUS) Status  Reset Value */
+
+#define DAC_STATUS_READY_Pos                0                                              /**< (DAC_STATUS) Ready Position */
+#define DAC_STATUS_READY_Msk                (_U_(0x1) << DAC_STATUS_READY_Pos)             /**< (DAC_STATUS) Ready Mask */
+#define DAC_STATUS_READY                    DAC_STATUS_READY_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_STATUS_READY_Msk instead */
+#define DAC_STATUS_MASK                     _U_(0x01)                                      /**< \deprecated (DAC_STATUS) Register MASK  (Use DAC_STATUS_Msk instead)  */
+#define DAC_STATUS_Msk                      _U_(0x01)                                      /**< (DAC_STATUS) Register Mask  */
+
+
+/* -------- DAC_DATA : (DAC Offset: 0x08) (/W 16) Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t DATA:16;                   /**< bit:  0..15  Data value to be converted               */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} DAC_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_DATA_OFFSET                     (0x08)                                        /**<  (DAC_DATA) Data  Offset */
+#define DAC_DATA_RESETVALUE                 _U_(0x00)                                     /**<  (DAC_DATA) Data  Reset Value */
+
+#define DAC_DATA_DATA_Pos                   0                                              /**< (DAC_DATA) Data value to be converted Position */
+#define DAC_DATA_DATA_Msk                   (_U_(0xFFFF) << DAC_DATA_DATA_Pos)             /**< (DAC_DATA) Data value to be converted Mask */
+#define DAC_DATA_DATA(value)                (DAC_DATA_DATA_Msk & ((value) << DAC_DATA_DATA_Pos))
+#define DAC_DATA_MASK                       _U_(0xFFFF)                                    /**< \deprecated (DAC_DATA) Register MASK  (Use DAC_DATA_Msk instead)  */
+#define DAC_DATA_Msk                        _U_(0xFFFF)                                    /**< (DAC_DATA) Register Mask  */
+
+
+/* -------- DAC_DATABUF : (DAC Offset: 0x0c) (/W 16) Data Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t DATABUF:16;                /**< bit:  0..15  Data Buffer                              */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} DAC_DATABUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_DATABUF_OFFSET                  (0x0C)                                        /**<  (DAC_DATABUF) Data Buffer  Offset */
+#define DAC_DATABUF_RESETVALUE              _U_(0x00)                                     /**<  (DAC_DATABUF) Data Buffer  Reset Value */
+
+#define DAC_DATABUF_DATABUF_Pos             0                                              /**< (DAC_DATABUF) Data Buffer Position */
+#define DAC_DATABUF_DATABUF_Msk             (_U_(0xFFFF) << DAC_DATABUF_DATABUF_Pos)       /**< (DAC_DATABUF) Data Buffer Mask */
+#define DAC_DATABUF_DATABUF(value)          (DAC_DATABUF_DATABUF_Msk & ((value) << DAC_DATABUF_DATABUF_Pos))
+#define DAC_DATABUF_MASK                    _U_(0xFFFF)                                    /**< \deprecated (DAC_DATABUF) Register MASK  (Use DAC_DATABUF_Msk instead)  */
+#define DAC_DATABUF_Msk                     _U_(0xFFFF)                                    /**< (DAC_DATABUF) Register Mask  */
+
+
+/* -------- DAC_SYNCBUSY : (DAC Offset: 0x10) (R/ 32) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t DATA:1;                    /**< bit:      2  Data                                     */
+    uint32_t DATABUF:1;                 /**< bit:      3  Data Buffer                              */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DAC_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_SYNCBUSY_OFFSET                 (0x10)                                        /**<  (DAC_SYNCBUSY) Synchronization Busy  Offset */
+#define DAC_SYNCBUSY_RESETVALUE             _U_(0x00)                                     /**<  (DAC_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define DAC_SYNCBUSY_SWRST_Pos              0                                              /**< (DAC_SYNCBUSY) Software Reset Position */
+#define DAC_SYNCBUSY_SWRST_Msk              (_U_(0x1) << DAC_SYNCBUSY_SWRST_Pos)           /**< (DAC_SYNCBUSY) Software Reset Mask */
+#define DAC_SYNCBUSY_SWRST                  DAC_SYNCBUSY_SWRST_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_SYNCBUSY_SWRST_Msk instead */
+#define DAC_SYNCBUSY_ENABLE_Pos             1                                              /**< (DAC_SYNCBUSY) Enable Position */
+#define DAC_SYNCBUSY_ENABLE_Msk             (_U_(0x1) << DAC_SYNCBUSY_ENABLE_Pos)          /**< (DAC_SYNCBUSY) Enable Mask */
+#define DAC_SYNCBUSY_ENABLE                 DAC_SYNCBUSY_ENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_SYNCBUSY_ENABLE_Msk instead */
+#define DAC_SYNCBUSY_DATA_Pos               2                                              /**< (DAC_SYNCBUSY) Data Position */
+#define DAC_SYNCBUSY_DATA_Msk               (_U_(0x1) << DAC_SYNCBUSY_DATA_Pos)            /**< (DAC_SYNCBUSY) Data Mask */
+#define DAC_SYNCBUSY_DATA                   DAC_SYNCBUSY_DATA_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_SYNCBUSY_DATA_Msk instead */
+#define DAC_SYNCBUSY_DATABUF_Pos            3                                              /**< (DAC_SYNCBUSY) Data Buffer Position */
+#define DAC_SYNCBUSY_DATABUF_Msk            (_U_(0x1) << DAC_SYNCBUSY_DATABUF_Pos)         /**< (DAC_SYNCBUSY) Data Buffer Mask */
+#define DAC_SYNCBUSY_DATABUF                DAC_SYNCBUSY_DATABUF_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_SYNCBUSY_DATABUF_Msk instead */
+#define DAC_SYNCBUSY_MASK                   _U_(0x0F)                                      /**< \deprecated (DAC_SYNCBUSY) Register MASK  (Use DAC_SYNCBUSY_Msk instead)  */
+#define DAC_SYNCBUSY_Msk                    _U_(0x0F)                                      /**< (DAC_SYNCBUSY) Register Mask  */
+
+
+/* -------- DAC_DBGCTRL : (DAC Offset: 0x14) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DAC_DBGCTRL_OFFSET                  (0x14)                                        /**<  (DAC_DBGCTRL) Debug Control  Offset */
+#define DAC_DBGCTRL_RESETVALUE              _U_(0x00)                                     /**<  (DAC_DBGCTRL) Debug Control  Reset Value */
+
+#define DAC_DBGCTRL_DBGRUN_Pos              0                                              /**< (DAC_DBGCTRL) Debug Run Position */
+#define DAC_DBGCTRL_DBGRUN_Msk              (_U_(0x1) << DAC_DBGCTRL_DBGRUN_Pos)           /**< (DAC_DBGCTRL) Debug Run Mask */
+#define DAC_DBGCTRL_DBGRUN                  DAC_DBGCTRL_DBGRUN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DAC_DBGCTRL_DBGRUN_Msk instead */
+#define DAC_DBGCTRL_MASK                    _U_(0x01)                                      /**< \deprecated (DAC_DBGCTRL) Register MASK  (Use DAC_DBGCTRL_Msk instead)  */
+#define DAC_DBGCTRL_Msk                     _U_(0x01)                                      /**< (DAC_DBGCTRL) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief DAC hardware registers */
+typedef struct {  /* Digital Analog Converter */
+  __IO DAC_CTRLA_Type                 CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __IO DAC_CTRLB_Type                 CTRLB;          /**< Offset: 0x01 (R/W   8) Control B */
+  __IO DAC_EVCTRL_Type                EVCTRL;         /**< Offset: 0x02 (R/W   8) Event Control */
+  __I  uint8_t                        Reserved1[1];
+  __IO DAC_INTENCLR_Type              INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO DAC_INTENSET_Type              INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO DAC_INTFLAG_Type               INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  DAC_STATUS_Type                STATUS;         /**< Offset: 0x07 (R/    8) Status */
+  __O  DAC_DATA_Type                  DATA;           /**< Offset: 0x08 ( /W  16) Data */
+  __I  uint8_t                        Reserved2[2];
+  __O  DAC_DATABUF_Type               DATABUF;        /**< Offset: 0x0C ( /W  16) Data Buffer */
+  __I  uint8_t                        Reserved3[2];
+  __I  DAC_SYNCBUSY_Type              SYNCBUSY;       /**< Offset: 0x10 (R/   32) Synchronization Busy */
+  __IO DAC_DBGCTRL_Type               DBGCTRL;        /**< Offset: 0x14 (R/W   8) Debug Control */
+} Dac;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Digital Analog Converter */
+
+#endif /* _SAML11_DAC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/dmac.h b/cpu/sam0_common/include/vendor/saml11/include/component/dmac.h
new file mode 100644
index 0000000000..aa9e9db038
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/dmac.h
@@ -0,0 +1,1158 @@
+/**
+ * \file
+ *
+ * \brief Component description for DMAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_DMAC_COMPONENT_H_
+#define _SAML11_DMAC_COMPONENT_H_
+#define _SAML11_DMAC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Direct Memory Access Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR DMAC */
+/* ========================================================================== */
+
+#define DMAC_U2223                      /**< (DMAC) Module ID */
+#define REV_DMAC 0x240                  /**< (DMAC) Module revision */
+
+/* -------- DMAC_BTCTRL : (DMAC Offset: 0x00) (R/W 16) Block Transfer Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t VALID:1;                   /**< bit:      0  Descriptor Valid                         */
+    uint16_t EVOSEL:2;                  /**< bit:   1..2  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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_BTCTRL_OFFSET                  (0x00)                                        /**<  (DMAC_BTCTRL) Block Transfer Control  Offset */
+#define DMAC_BTCTRL_RESETVALUE              _U_(0x00)                                     /**<  (DMAC_BTCTRL) Block Transfer Control  Reset Value */
+
+#define DMAC_BTCTRL_VALID_Pos               0                                              /**< (DMAC_BTCTRL) Descriptor Valid Position */
+#define DMAC_BTCTRL_VALID_Msk               (_U_(0x1) << DMAC_BTCTRL_VALID_Pos)            /**< (DMAC_BTCTRL) Descriptor Valid Mask */
+#define DMAC_BTCTRL_VALID                   DMAC_BTCTRL_VALID_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BTCTRL_VALID_Msk instead */
+#define DMAC_BTCTRL_EVOSEL_Pos              1                                              /**< (DMAC_BTCTRL) Event Output Selection Position */
+#define DMAC_BTCTRL_EVOSEL_Msk              (_U_(0x3) << DMAC_BTCTRL_EVOSEL_Pos)           /**< (DMAC_BTCTRL) Event Output Selection Mask */
+#define DMAC_BTCTRL_EVOSEL(value)           (DMAC_BTCTRL_EVOSEL_Msk & ((value) << DMAC_BTCTRL_EVOSEL_Pos))
+#define   DMAC_BTCTRL_EVOSEL_DISABLE_Val    _U_(0x0)                                       /**< (DMAC_BTCTRL) Event generation disabled  */
+#define   DMAC_BTCTRL_EVOSEL_BLOCK_Val      _U_(0x1)                                       /**< (DMAC_BTCTRL) Event strobe when block transfer complete  */
+#define   DMAC_BTCTRL_EVOSEL_BEAT_Val       _U_(0x3)                                       /**< (DMAC_BTCTRL) Event strobe when beat transfer complete  */
+#define DMAC_BTCTRL_EVOSEL_DISABLE          (DMAC_BTCTRL_EVOSEL_DISABLE_Val << DMAC_BTCTRL_EVOSEL_Pos)  /**< (DMAC_BTCTRL) Event generation disabled Position  */
+#define DMAC_BTCTRL_EVOSEL_BLOCK            (DMAC_BTCTRL_EVOSEL_BLOCK_Val << DMAC_BTCTRL_EVOSEL_Pos)  /**< (DMAC_BTCTRL) Event strobe when block transfer complete Position  */
+#define DMAC_BTCTRL_EVOSEL_BEAT             (DMAC_BTCTRL_EVOSEL_BEAT_Val << DMAC_BTCTRL_EVOSEL_Pos)  /**< (DMAC_BTCTRL) Event strobe when beat transfer complete Position  */
+#define DMAC_BTCTRL_BLOCKACT_Pos            3                                              /**< (DMAC_BTCTRL) Block Action Position */
+#define DMAC_BTCTRL_BLOCKACT_Msk            (_U_(0x3) << DMAC_BTCTRL_BLOCKACT_Pos)         /**< (DMAC_BTCTRL) Block Action Mask */
+#define DMAC_BTCTRL_BLOCKACT(value)         (DMAC_BTCTRL_BLOCKACT_Msk & ((value) << DMAC_BTCTRL_BLOCKACT_Pos))
+#define   DMAC_BTCTRL_BLOCKACT_NOACT_Val    _U_(0x0)                                       /**< (DMAC_BTCTRL) Channel will be disabled if it is the last block transfer in the transaction  */
+#define   DMAC_BTCTRL_BLOCKACT_INT_Val      _U_(0x1)                                       /**< (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)                                       /**< (DMAC_BTCTRL) Channel suspend operation is completed  */
+#define   DMAC_BTCTRL_BLOCKACT_BOTH_Val     _U_(0x3)                                       /**< (DMAC_BTCTRL) Both channel suspend operation and block interrupt  */
+#define DMAC_BTCTRL_BLOCKACT_NOACT          (DMAC_BTCTRL_BLOCKACT_NOACT_Val << DMAC_BTCTRL_BLOCKACT_Pos)  /**< (DMAC_BTCTRL) Channel will be disabled if it is the last block transfer in the transaction Position  */
+#define DMAC_BTCTRL_BLOCKACT_INT            (DMAC_BTCTRL_BLOCKACT_INT_Val << DMAC_BTCTRL_BLOCKACT_Pos)  /**< (DMAC_BTCTRL) Channel will be disabled if it is the last block transfer in the transaction and block interrupt Position  */
+#define DMAC_BTCTRL_BLOCKACT_SUSPEND        (DMAC_BTCTRL_BLOCKACT_SUSPEND_Val << DMAC_BTCTRL_BLOCKACT_Pos)  /**< (DMAC_BTCTRL) Channel suspend operation is completed Position  */
+#define DMAC_BTCTRL_BLOCKACT_BOTH           (DMAC_BTCTRL_BLOCKACT_BOTH_Val << DMAC_BTCTRL_BLOCKACT_Pos)  /**< (DMAC_BTCTRL) Both channel suspend operation and block interrupt Position  */
+#define DMAC_BTCTRL_BEATSIZE_Pos            8                                              /**< (DMAC_BTCTRL) Beat Size Position */
+#define DMAC_BTCTRL_BEATSIZE_Msk            (_U_(0x3) << DMAC_BTCTRL_BEATSIZE_Pos)         /**< (DMAC_BTCTRL) Beat Size Mask */
+#define DMAC_BTCTRL_BEATSIZE(value)         (DMAC_BTCTRL_BEATSIZE_Msk & ((value) << DMAC_BTCTRL_BEATSIZE_Pos))
+#define   DMAC_BTCTRL_BEATSIZE_BYTE_Val     _U_(0x0)                                       /**< (DMAC_BTCTRL) 8-bit bus transfer  */
+#define   DMAC_BTCTRL_BEATSIZE_HWORD_Val    _U_(0x1)                                       /**< (DMAC_BTCTRL) 16-bit bus transfer  */
+#define   DMAC_BTCTRL_BEATSIZE_WORD_Val     _U_(0x2)                                       /**< (DMAC_BTCTRL) 32-bit bus transfer  */
+#define DMAC_BTCTRL_BEATSIZE_BYTE           (DMAC_BTCTRL_BEATSIZE_BYTE_Val << DMAC_BTCTRL_BEATSIZE_Pos)  /**< (DMAC_BTCTRL) 8-bit bus transfer Position  */
+#define DMAC_BTCTRL_BEATSIZE_HWORD          (DMAC_BTCTRL_BEATSIZE_HWORD_Val << DMAC_BTCTRL_BEATSIZE_Pos)  /**< (DMAC_BTCTRL) 16-bit bus transfer Position  */
+#define DMAC_BTCTRL_BEATSIZE_WORD           (DMAC_BTCTRL_BEATSIZE_WORD_Val << DMAC_BTCTRL_BEATSIZE_Pos)  /**< (DMAC_BTCTRL) 32-bit bus transfer Position  */
+#define DMAC_BTCTRL_SRCINC_Pos              10                                             /**< (DMAC_BTCTRL) Source Address Increment Enable Position */
+#define DMAC_BTCTRL_SRCINC_Msk              (_U_(0x1) << DMAC_BTCTRL_SRCINC_Pos)           /**< (DMAC_BTCTRL) Source Address Increment Enable Mask */
+#define DMAC_BTCTRL_SRCINC                  DMAC_BTCTRL_SRCINC_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BTCTRL_SRCINC_Msk instead */
+#define DMAC_BTCTRL_DSTINC_Pos              11                                             /**< (DMAC_BTCTRL) Destination Address Increment Enable Position */
+#define DMAC_BTCTRL_DSTINC_Msk              (_U_(0x1) << DMAC_BTCTRL_DSTINC_Pos)           /**< (DMAC_BTCTRL) Destination Address Increment Enable Mask */
+#define DMAC_BTCTRL_DSTINC                  DMAC_BTCTRL_DSTINC_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BTCTRL_DSTINC_Msk instead */
+#define DMAC_BTCTRL_STEPSEL_Pos             12                                             /**< (DMAC_BTCTRL) Step Selection Position */
+#define DMAC_BTCTRL_STEPSEL_Msk             (_U_(0x1) << DMAC_BTCTRL_STEPSEL_Pos)          /**< (DMAC_BTCTRL) Step Selection Mask */
+#define DMAC_BTCTRL_STEPSEL                 DMAC_BTCTRL_STEPSEL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BTCTRL_STEPSEL_Msk instead */
+#define   DMAC_BTCTRL_STEPSEL_DST_Val       _U_(0x0)                                       /**< (DMAC_BTCTRL) Step size settings apply to the destination address  */
+#define   DMAC_BTCTRL_STEPSEL_SRC_Val       _U_(0x1)                                       /**< (DMAC_BTCTRL) Step size settings apply to the source address  */
+#define DMAC_BTCTRL_STEPSEL_DST             (DMAC_BTCTRL_STEPSEL_DST_Val << DMAC_BTCTRL_STEPSEL_Pos)  /**< (DMAC_BTCTRL) Step size settings apply to the destination address Position  */
+#define DMAC_BTCTRL_STEPSEL_SRC             (DMAC_BTCTRL_STEPSEL_SRC_Val << DMAC_BTCTRL_STEPSEL_Pos)  /**< (DMAC_BTCTRL) Step size settings apply to the source address Position  */
+#define DMAC_BTCTRL_STEPSIZE_Pos            13                                             /**< (DMAC_BTCTRL) Address Increment Step Size Position */
+#define DMAC_BTCTRL_STEPSIZE_Msk            (_U_(0x7) << DMAC_BTCTRL_STEPSIZE_Pos)         /**< (DMAC_BTCTRL) Address Increment Step Size Mask */
+#define DMAC_BTCTRL_STEPSIZE(value)         (DMAC_BTCTRL_STEPSIZE_Msk & ((value) << DMAC_BTCTRL_STEPSIZE_Pos))
+#define   DMAC_BTCTRL_STEPSIZE_X1_Val       _U_(0x0)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 1  */
+#define   DMAC_BTCTRL_STEPSIZE_X2_Val       _U_(0x1)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 2  */
+#define   DMAC_BTCTRL_STEPSIZE_X4_Val       _U_(0x2)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 4  */
+#define   DMAC_BTCTRL_STEPSIZE_X8_Val       _U_(0x3)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 8  */
+#define   DMAC_BTCTRL_STEPSIZE_X16_Val      _U_(0x4)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 16  */
+#define   DMAC_BTCTRL_STEPSIZE_X32_Val      _U_(0x5)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 32  */
+#define   DMAC_BTCTRL_STEPSIZE_X64_Val      _U_(0x6)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 64  */
+#define   DMAC_BTCTRL_STEPSIZE_X128_Val     _U_(0x7)                                       /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 128  */
+#define DMAC_BTCTRL_STEPSIZE_X1             (DMAC_BTCTRL_STEPSIZE_X1_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 1 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X2             (DMAC_BTCTRL_STEPSIZE_X2_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 2 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X4             (DMAC_BTCTRL_STEPSIZE_X4_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 4 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X8             (DMAC_BTCTRL_STEPSIZE_X8_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 8 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X16            (DMAC_BTCTRL_STEPSIZE_X16_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 16 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X32            (DMAC_BTCTRL_STEPSIZE_X32_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 32 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X64            (DMAC_BTCTRL_STEPSIZE_X64_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 64 Position  */
+#define DMAC_BTCTRL_STEPSIZE_X128           (DMAC_BTCTRL_STEPSIZE_X128_Val << DMAC_BTCTRL_STEPSIZE_Pos)  /**< (DMAC_BTCTRL) Next ADDR = ADDR + (BEATSIZE+1) * 128 Position  */
+#define DMAC_BTCTRL_MASK                    _U_(0xFF1F)                                    /**< \deprecated (DMAC_BTCTRL) Register MASK  (Use DMAC_BTCTRL_Msk instead)  */
+#define DMAC_BTCTRL_Msk                     _U_(0xFF1F)                                    /**< (DMAC_BTCTRL) Register Mask  */
+
+
+/* -------- DMAC_BTCNT : (DMAC Offset: 0x02) (R/W 16) Block Transfer Count -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BTCNT:16;                  /**< bit:  0..15  Block Transfer Count                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} DMAC_BTCNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_BTCNT_OFFSET                   (0x02)                                        /**<  (DMAC_BTCNT) Block Transfer Count  Offset */
+
+#define DMAC_BTCNT_BTCNT_Pos                0                                              /**< (DMAC_BTCNT) Block Transfer Count Position */
+#define DMAC_BTCNT_BTCNT_Msk                (_U_(0xFFFF) << DMAC_BTCNT_BTCNT_Pos)          /**< (DMAC_BTCNT) Block Transfer Count Mask */
+#define DMAC_BTCNT_BTCNT(value)             (DMAC_BTCNT_BTCNT_Msk & ((value) << DMAC_BTCNT_BTCNT_Pos))
+#define DMAC_BTCNT_MASK                     _U_(0xFFFF)                                    /**< \deprecated (DMAC_BTCNT) Register MASK  (Use DMAC_BTCNT_Msk instead)  */
+#define DMAC_BTCNT_Msk                      _U_(0xFFFF)                                    /**< (DMAC_BTCNT) Register Mask  */
+
+
+/* -------- DMAC_SRCADDR : (DMAC Offset: 0x04) (R/W 32) Block Transfer Source Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SRCADDR:32;                /**< bit:  0..31  Transfer Source Address                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_SRCADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_SRCADDR_OFFSET                 (0x04)                                        /**<  (DMAC_SRCADDR) Block Transfer Source Address  Offset */
+
+#define DMAC_SRCADDR_SRCADDR_Pos            0                                              /**< (DMAC_SRCADDR) Transfer Source Address Position */
+#define DMAC_SRCADDR_SRCADDR_Msk            (_U_(0xFFFFFFFF) << DMAC_SRCADDR_SRCADDR_Pos)  /**< (DMAC_SRCADDR) Transfer Source Address Mask */
+#define DMAC_SRCADDR_SRCADDR(value)         (DMAC_SRCADDR_SRCADDR_Msk & ((value) << DMAC_SRCADDR_SRCADDR_Pos))
+#define DMAC_SRCADDR_MASK                   _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_SRCADDR) Register MASK  (Use DMAC_SRCADDR_Msk instead)  */
+#define DMAC_SRCADDR_Msk                    _U_(0xFFFFFFFF)                                /**< (DMAC_SRCADDR) Register Mask  */
+
+
+/* -------- DMAC_DSTADDR : (DMAC Offset: 0x08) (R/W 32) Block Transfer Destination Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DSTADDR:32;                /**< bit:  0..31  Transfer Destination Address             */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_DSTADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_DSTADDR_OFFSET                 (0x08)                                        /**<  (DMAC_DSTADDR) Block Transfer Destination Address  Offset */
+
+#define DMAC_DSTADDR_DSTADDR_Pos            0                                              /**< (DMAC_DSTADDR) Transfer Destination Address Position */
+#define DMAC_DSTADDR_DSTADDR_Msk            (_U_(0xFFFFFFFF) << DMAC_DSTADDR_DSTADDR_Pos)  /**< (DMAC_DSTADDR) Transfer Destination Address Mask */
+#define DMAC_DSTADDR_DSTADDR(value)         (DMAC_DSTADDR_DSTADDR_Msk & ((value) << DMAC_DSTADDR_DSTADDR_Pos))
+#define DMAC_DSTADDR_MASK                   _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_DSTADDR) Register MASK  (Use DMAC_DSTADDR_Msk instead)  */
+#define DMAC_DSTADDR_Msk                    _U_(0xFFFFFFFF)                                /**< (DMAC_DSTADDR) Register Mask  */
+
+
+/* -------- DMAC_DESCADDR : (DMAC Offset: 0x0c) (R/W 32) Next Descriptor Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DESCADDR:32;               /**< bit:  0..31  Next Descriptor Address                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_DESCADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_DESCADDR_OFFSET                (0x0C)                                        /**<  (DMAC_DESCADDR) Next Descriptor Address  Offset */
+
+#define DMAC_DESCADDR_DESCADDR_Pos          0                                              /**< (DMAC_DESCADDR) Next Descriptor Address Position */
+#define DMAC_DESCADDR_DESCADDR_Msk          (_U_(0xFFFFFFFF) << DMAC_DESCADDR_DESCADDR_Pos)  /**< (DMAC_DESCADDR) Next Descriptor Address Mask */
+#define DMAC_DESCADDR_DESCADDR(value)       (DMAC_DESCADDR_DESCADDR_Msk & ((value) << DMAC_DESCADDR_DESCADDR_Pos))
+#define DMAC_DESCADDR_MASK                  _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_DESCADDR) Register MASK  (Use DMAC_DESCADDR_Msk instead)  */
+#define DMAC_DESCADDR_Msk                   _U_(0xFFFFFFFF)                                /**< (DMAC_DESCADDR) Register Mask  */
+
+
+/* -------- DMAC_CTRL : (DMAC Offset: 0x00) (R/W 16) Control -------- */
+#if !(defined(__ASSEMBLER__) || 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 CRCENABLE:1;               /**< bit:      2  CRC Enable                               */
+    uint16_t :5;                        /**< bit:   3..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 3 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CTRL_OFFSET                    (0x00)                                        /**<  (DMAC_CTRL) Control  Offset */
+#define DMAC_CTRL_RESETVALUE                _U_(0x00)                                     /**<  (DMAC_CTRL) Control  Reset Value */
+
+#define DMAC_CTRL_SWRST_Pos                 0                                              /**< (DMAC_CTRL) Software Reset Position */
+#define DMAC_CTRL_SWRST_Msk                 (_U_(0x1) << DMAC_CTRL_SWRST_Pos)              /**< (DMAC_CTRL) Software Reset Mask */
+#define DMAC_CTRL_SWRST                     DMAC_CTRL_SWRST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_SWRST_Msk instead */
+#define DMAC_CTRL_DMAENABLE_Pos             1                                              /**< (DMAC_CTRL) DMA Enable Position */
+#define DMAC_CTRL_DMAENABLE_Msk             (_U_(0x1) << DMAC_CTRL_DMAENABLE_Pos)          /**< (DMAC_CTRL) DMA Enable Mask */
+#define DMAC_CTRL_DMAENABLE                 DMAC_CTRL_DMAENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_DMAENABLE_Msk instead */
+#define DMAC_CTRL_CRCENABLE_Pos             2                                              /**< (DMAC_CTRL) CRC Enable Position */
+#define DMAC_CTRL_CRCENABLE_Msk             (_U_(0x1) << DMAC_CTRL_CRCENABLE_Pos)          /**< (DMAC_CTRL) CRC Enable Mask */
+#define DMAC_CTRL_CRCENABLE                 DMAC_CTRL_CRCENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_CRCENABLE_Msk instead */
+#define DMAC_CTRL_LVLEN0_Pos                8                                              /**< (DMAC_CTRL) Priority Level 0 Enable Position */
+#define DMAC_CTRL_LVLEN0_Msk                (_U_(0x1) << DMAC_CTRL_LVLEN0_Pos)             /**< (DMAC_CTRL) Priority Level 0 Enable Mask */
+#define DMAC_CTRL_LVLEN0                    DMAC_CTRL_LVLEN0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_LVLEN0_Msk instead */
+#define DMAC_CTRL_LVLEN1_Pos                9                                              /**< (DMAC_CTRL) Priority Level 1 Enable Position */
+#define DMAC_CTRL_LVLEN1_Msk                (_U_(0x1) << DMAC_CTRL_LVLEN1_Pos)             /**< (DMAC_CTRL) Priority Level 1 Enable Mask */
+#define DMAC_CTRL_LVLEN1                    DMAC_CTRL_LVLEN1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_LVLEN1_Msk instead */
+#define DMAC_CTRL_LVLEN2_Pos                10                                             /**< (DMAC_CTRL) Priority Level 2 Enable Position */
+#define DMAC_CTRL_LVLEN2_Msk                (_U_(0x1) << DMAC_CTRL_LVLEN2_Pos)             /**< (DMAC_CTRL) Priority Level 2 Enable Mask */
+#define DMAC_CTRL_LVLEN2                    DMAC_CTRL_LVLEN2_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_LVLEN2_Msk instead */
+#define DMAC_CTRL_LVLEN3_Pos                11                                             /**< (DMAC_CTRL) Priority Level 3 Enable Position */
+#define DMAC_CTRL_LVLEN3_Msk                (_U_(0x1) << DMAC_CTRL_LVLEN3_Pos)             /**< (DMAC_CTRL) Priority Level 3 Enable Mask */
+#define DMAC_CTRL_LVLEN3                    DMAC_CTRL_LVLEN3_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CTRL_LVLEN3_Msk instead */
+#define DMAC_CTRL_MASK                      _U_(0xF07)                                     /**< \deprecated (DMAC_CTRL) Register MASK  (Use DMAC_CTRL_Msk instead)  */
+#define DMAC_CTRL_Msk                       _U_(0xF07)                                     /**< (DMAC_CTRL) Register Mask  */
+
+#define DMAC_CTRL_LVLEN_Pos                 8                                              /**< (DMAC_CTRL Position) Priority Level 3 Enable */
+#define DMAC_CTRL_LVLEN_Msk                 (_U_(0xF) << DMAC_CTRL_LVLEN_Pos)              /**< (DMAC_CTRL Mask) LVLEN */
+#define DMAC_CTRL_LVLEN(value)              (DMAC_CTRL_LVLEN_Msk & ((value) << DMAC_CTRL_LVLEN_Pos))  
+
+/* -------- DMAC_CRCCTRL : (DMAC Offset: 0x02) (R/W 16) CRC Control -------- */
+#if !(defined(__ASSEMBLER__) || 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 :2;                        /**< bit: 14..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} DMAC_CRCCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CRCCTRL_OFFSET                 (0x02)                                        /**<  (DMAC_CRCCTRL) CRC Control  Offset */
+#define DMAC_CRCCTRL_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_CRCCTRL) CRC Control  Reset Value */
+
+#define DMAC_CRCCTRL_CRCBEATSIZE_Pos        0                                              /**< (DMAC_CRCCTRL) CRC Beat Size Position */
+#define DMAC_CRCCTRL_CRCBEATSIZE_Msk        (_U_(0x3) << DMAC_CRCCTRL_CRCBEATSIZE_Pos)     /**< (DMAC_CRCCTRL) CRC Beat Size Mask */
+#define DMAC_CRCCTRL_CRCBEATSIZE(value)     (DMAC_CRCCTRL_CRCBEATSIZE_Msk & ((value) << DMAC_CRCCTRL_CRCBEATSIZE_Pos))
+#define   DMAC_CRCCTRL_CRCBEATSIZE_BYTE_Val _U_(0x0)                                       /**< (DMAC_CRCCTRL) 8-bit bus transfer  */
+#define   DMAC_CRCCTRL_CRCBEATSIZE_HWORD_Val _U_(0x1)                                       /**< (DMAC_CRCCTRL) 16-bit bus transfer  */
+#define   DMAC_CRCCTRL_CRCBEATSIZE_WORD_Val _U_(0x2)                                       /**< (DMAC_CRCCTRL) 32-bit bus transfer  */
+#define DMAC_CRCCTRL_CRCBEATSIZE_BYTE       (DMAC_CRCCTRL_CRCBEATSIZE_BYTE_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos)  /**< (DMAC_CRCCTRL) 8-bit bus transfer Position  */
+#define DMAC_CRCCTRL_CRCBEATSIZE_HWORD      (DMAC_CRCCTRL_CRCBEATSIZE_HWORD_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos)  /**< (DMAC_CRCCTRL) 16-bit bus transfer Position  */
+#define DMAC_CRCCTRL_CRCBEATSIZE_WORD       (DMAC_CRCCTRL_CRCBEATSIZE_WORD_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos)  /**< (DMAC_CRCCTRL) 32-bit bus transfer Position  */
+#define DMAC_CRCCTRL_CRCPOLY_Pos            2                                              /**< (DMAC_CRCCTRL) CRC Polynomial Type Position */
+#define DMAC_CRCCTRL_CRCPOLY_Msk            (_U_(0x3) << DMAC_CRCCTRL_CRCPOLY_Pos)         /**< (DMAC_CRCCTRL) CRC Polynomial Type Mask */
+#define DMAC_CRCCTRL_CRCPOLY(value)         (DMAC_CRCCTRL_CRCPOLY_Msk & ((value) << DMAC_CRCCTRL_CRCPOLY_Pos))
+#define   DMAC_CRCCTRL_CRCPOLY_CRC16_Val    _U_(0x0)                                       /**< (DMAC_CRCCTRL) CRC-16 (CRC-CCITT)  */
+#define   DMAC_CRCCTRL_CRCPOLY_CRC32_Val    _U_(0x1)                                       /**< (DMAC_CRCCTRL) CRC32 (IEEE 802.3)  */
+#define DMAC_CRCCTRL_CRCPOLY_CRC16          (DMAC_CRCCTRL_CRCPOLY_CRC16_Val << DMAC_CRCCTRL_CRCPOLY_Pos)  /**< (DMAC_CRCCTRL) CRC-16 (CRC-CCITT) Position  */
+#define DMAC_CRCCTRL_CRCPOLY_CRC32          (DMAC_CRCCTRL_CRCPOLY_CRC32_Val << DMAC_CRCCTRL_CRCPOLY_Pos)  /**< (DMAC_CRCCTRL) CRC32 (IEEE 802.3) Position  */
+#define DMAC_CRCCTRL_CRCSRC_Pos             8                                              /**< (DMAC_CRCCTRL) CRC Input Source Position */
+#define DMAC_CRCCTRL_CRCSRC_Msk             (_U_(0x3F) << DMAC_CRCCTRL_CRCSRC_Pos)         /**< (DMAC_CRCCTRL) CRC Input Source Mask */
+#define DMAC_CRCCTRL_CRCSRC(value)          (DMAC_CRCCTRL_CRCSRC_Msk & ((value) << DMAC_CRCCTRL_CRCSRC_Pos))
+#define   DMAC_CRCCTRL_CRCSRC_NOACT_Val     _U_(0x0)                                       /**< (DMAC_CRCCTRL) No action  */
+#define   DMAC_CRCCTRL_CRCSRC_IO_Val        _U_(0x1)                                       /**< (DMAC_CRCCTRL) I/O interface  */
+#define DMAC_CRCCTRL_CRCSRC_NOACT           (DMAC_CRCCTRL_CRCSRC_NOACT_Val << DMAC_CRCCTRL_CRCSRC_Pos)  /**< (DMAC_CRCCTRL) No action Position  */
+#define DMAC_CRCCTRL_CRCSRC_IO              (DMAC_CRCCTRL_CRCSRC_IO_Val << DMAC_CRCCTRL_CRCSRC_Pos)  /**< (DMAC_CRCCTRL) I/O interface Position  */
+#define DMAC_CRCCTRL_MASK                   _U_(0x3F0F)                                    /**< \deprecated (DMAC_CRCCTRL) Register MASK  (Use DMAC_CRCCTRL_Msk instead)  */
+#define DMAC_CRCCTRL_Msk                    _U_(0x3F0F)                                    /**< (DMAC_CRCCTRL) Register Mask  */
+
+
+/* -------- DMAC_CRCDATAIN : (DMAC Offset: 0x04) (R/W 32) CRC Data Input -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CRCDATAIN_OFFSET               (0x04)                                        /**<  (DMAC_CRCDATAIN) CRC Data Input  Offset */
+#define DMAC_CRCDATAIN_RESETVALUE           _U_(0x00)                                     /**<  (DMAC_CRCDATAIN) CRC Data Input  Reset Value */
+
+#define DMAC_CRCDATAIN_CRCDATAIN_Pos        0                                              /**< (DMAC_CRCDATAIN) CRC Data Input Position */
+#define DMAC_CRCDATAIN_CRCDATAIN_Msk        (_U_(0xFFFFFFFF) << DMAC_CRCDATAIN_CRCDATAIN_Pos)  /**< (DMAC_CRCDATAIN) CRC Data Input Mask */
+#define DMAC_CRCDATAIN_CRCDATAIN(value)     (DMAC_CRCDATAIN_CRCDATAIN_Msk & ((value) << DMAC_CRCDATAIN_CRCDATAIN_Pos))
+#define DMAC_CRCDATAIN_MASK                 _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_CRCDATAIN) Register MASK  (Use DMAC_CRCDATAIN_Msk instead)  */
+#define DMAC_CRCDATAIN_Msk                  _U_(0xFFFFFFFF)                                /**< (DMAC_CRCDATAIN) Register Mask  */
+
+
+/* -------- DMAC_CRCCHKSUM : (DMAC Offset: 0x08) (R/W 32) CRC Checksum -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CRCCHKSUM_OFFSET               (0x08)                                        /**<  (DMAC_CRCCHKSUM) CRC Checksum  Offset */
+#define DMAC_CRCCHKSUM_RESETVALUE           _U_(0x00)                                     /**<  (DMAC_CRCCHKSUM) CRC Checksum  Reset Value */
+
+#define DMAC_CRCCHKSUM_CRCCHKSUM_Pos        0                                              /**< (DMAC_CRCCHKSUM) CRC Checksum Position */
+#define DMAC_CRCCHKSUM_CRCCHKSUM_Msk        (_U_(0xFFFFFFFF) << DMAC_CRCCHKSUM_CRCCHKSUM_Pos)  /**< (DMAC_CRCCHKSUM) CRC Checksum Mask */
+#define DMAC_CRCCHKSUM_CRCCHKSUM(value)     (DMAC_CRCCHKSUM_CRCCHKSUM_Msk & ((value) << DMAC_CRCCHKSUM_CRCCHKSUM_Pos))
+#define DMAC_CRCCHKSUM_MASK                 _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_CRCCHKSUM) Register MASK  (Use DMAC_CRCCHKSUM_Msk instead)  */
+#define DMAC_CRCCHKSUM_Msk                  _U_(0xFFFFFFFF)                                /**< (DMAC_CRCCHKSUM) Register Mask  */
+
+
+/* -------- DMAC_CRCSTATUS : (DMAC Offset: 0x0c) (R/W 8) CRC Status -------- */
+#if !(defined(__ASSEMBLER__) || 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  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DMAC_CRCSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CRCSTATUS_OFFSET               (0x0C)                                        /**<  (DMAC_CRCSTATUS) CRC Status  Offset */
+#define DMAC_CRCSTATUS_RESETVALUE           _U_(0x00)                                     /**<  (DMAC_CRCSTATUS) CRC Status  Reset Value */
+
+#define DMAC_CRCSTATUS_CRCBUSY_Pos          0                                              /**< (DMAC_CRCSTATUS) CRC Module Busy Position */
+#define DMAC_CRCSTATUS_CRCBUSY_Msk          (_U_(0x1) << DMAC_CRCSTATUS_CRCBUSY_Pos)       /**< (DMAC_CRCSTATUS) CRC Module Busy Mask */
+#define DMAC_CRCSTATUS_CRCBUSY              DMAC_CRCSTATUS_CRCBUSY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CRCSTATUS_CRCBUSY_Msk instead */
+#define DMAC_CRCSTATUS_CRCZERO_Pos          1                                              /**< (DMAC_CRCSTATUS) CRC Zero Position */
+#define DMAC_CRCSTATUS_CRCZERO_Msk          (_U_(0x1) << DMAC_CRCSTATUS_CRCZERO_Pos)       /**< (DMAC_CRCSTATUS) CRC Zero Mask */
+#define DMAC_CRCSTATUS_CRCZERO              DMAC_CRCSTATUS_CRCZERO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CRCSTATUS_CRCZERO_Msk instead */
+#define DMAC_CRCSTATUS_MASK                 _U_(0x03)                                      /**< \deprecated (DMAC_CRCSTATUS) Register MASK  (Use DMAC_CRCSTATUS_Msk instead)  */
+#define DMAC_CRCSTATUS_Msk                  _U_(0x03)                                      /**< (DMAC_CRCSTATUS) Register Mask  */
+
+
+/* -------- DMAC_DBGCTRL : (DMAC Offset: 0x0d) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_DBGCTRL_OFFSET                 (0x0D)                                        /**<  (DMAC_DBGCTRL) Debug Control  Offset */
+#define DMAC_DBGCTRL_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_DBGCTRL) Debug Control  Reset Value */
+
+#define DMAC_DBGCTRL_DBGRUN_Pos             0                                              /**< (DMAC_DBGCTRL) Debug Run Position */
+#define DMAC_DBGCTRL_DBGRUN_Msk             (_U_(0x1) << DMAC_DBGCTRL_DBGRUN_Pos)          /**< (DMAC_DBGCTRL) Debug Run Mask */
+#define DMAC_DBGCTRL_DBGRUN                 DMAC_DBGCTRL_DBGRUN_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_DBGCTRL_DBGRUN_Msk instead */
+#define DMAC_DBGCTRL_MASK                   _U_(0x01)                                      /**< \deprecated (DMAC_DBGCTRL) Register MASK  (Use DMAC_DBGCTRL_Msk instead)  */
+#define DMAC_DBGCTRL_Msk                    _U_(0x01)                                      /**< (DMAC_DBGCTRL) Register Mask  */
+
+
+/* -------- DMAC_QOSCTRL : (DMAC Offset: 0x0e) (R/W 8) QOS Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  WRBQOS:2;                  /**< bit:   0..1  Write-Back Quality of Service            */
+    uint8_t  FQOS:2;                    /**< bit:   2..3  Fetch Quality of Service                 */
+    uint8_t  DQOS:2;                    /**< bit:   4..5  Data Transfer Quality of Service         */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DMAC_QOSCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_QOSCTRL_OFFSET                 (0x0E)                                        /**<  (DMAC_QOSCTRL) QOS Control  Offset */
+#define DMAC_QOSCTRL_RESETVALUE             _U_(0x2A)                                     /**<  (DMAC_QOSCTRL) QOS Control  Reset Value */
+
+#define DMAC_QOSCTRL_WRBQOS_Pos             0                                              /**< (DMAC_QOSCTRL) Write-Back Quality of Service Position */
+#define DMAC_QOSCTRL_WRBQOS_Msk             (_U_(0x3) << DMAC_QOSCTRL_WRBQOS_Pos)          /**< (DMAC_QOSCTRL) Write-Back Quality of Service Mask */
+#define DMAC_QOSCTRL_WRBQOS(value)          (DMAC_QOSCTRL_WRBQOS_Msk & ((value) << DMAC_QOSCTRL_WRBQOS_Pos))
+#define   DMAC_QOSCTRL_WRBQOS_DISABLE_Val   _U_(0x0)                                       /**< (DMAC_QOSCTRL) Background (no sensitive operation)  */
+#define   DMAC_QOSCTRL_WRBQOS_LOW_Val       _U_(0x1)                                       /**< (DMAC_QOSCTRL) Sensitive Bandwidth  */
+#define   DMAC_QOSCTRL_WRBQOS_MEDIUM_Val    _U_(0x2)                                       /**< (DMAC_QOSCTRL) Sensitive Latency  */
+#define   DMAC_QOSCTRL_WRBQOS_HIGH_Val      _U_(0x3)                                       /**< (DMAC_QOSCTRL) Critical Latency  */
+#define DMAC_QOSCTRL_WRBQOS_DISABLE         (DMAC_QOSCTRL_WRBQOS_DISABLE_Val << DMAC_QOSCTRL_WRBQOS_Pos)  /**< (DMAC_QOSCTRL) Background (no sensitive operation) Position  */
+#define DMAC_QOSCTRL_WRBQOS_LOW             (DMAC_QOSCTRL_WRBQOS_LOW_Val << DMAC_QOSCTRL_WRBQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Bandwidth Position  */
+#define DMAC_QOSCTRL_WRBQOS_MEDIUM          (DMAC_QOSCTRL_WRBQOS_MEDIUM_Val << DMAC_QOSCTRL_WRBQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Latency Position  */
+#define DMAC_QOSCTRL_WRBQOS_HIGH            (DMAC_QOSCTRL_WRBQOS_HIGH_Val << DMAC_QOSCTRL_WRBQOS_Pos)  /**< (DMAC_QOSCTRL) Critical Latency Position  */
+#define DMAC_QOSCTRL_FQOS_Pos               2                                              /**< (DMAC_QOSCTRL) Fetch Quality of Service Position */
+#define DMAC_QOSCTRL_FQOS_Msk               (_U_(0x3) << DMAC_QOSCTRL_FQOS_Pos)            /**< (DMAC_QOSCTRL) Fetch Quality of Service Mask */
+#define DMAC_QOSCTRL_FQOS(value)            (DMAC_QOSCTRL_FQOS_Msk & ((value) << DMAC_QOSCTRL_FQOS_Pos))
+#define   DMAC_QOSCTRL_FQOS_DISABLE_Val     _U_(0x0)                                       /**< (DMAC_QOSCTRL) Background (no sensitive operation)  */
+#define   DMAC_QOSCTRL_FQOS_LOW_Val         _U_(0x1)                                       /**< (DMAC_QOSCTRL) Sensitive Bandwidth  */
+#define   DMAC_QOSCTRL_FQOS_MEDIUM_Val      _U_(0x2)                                       /**< (DMAC_QOSCTRL) Sensitive Latency  */
+#define   DMAC_QOSCTRL_FQOS_HIGH_Val        _U_(0x3)                                       /**< (DMAC_QOSCTRL) Critical Latency  */
+#define DMAC_QOSCTRL_FQOS_DISABLE           (DMAC_QOSCTRL_FQOS_DISABLE_Val << DMAC_QOSCTRL_FQOS_Pos)  /**< (DMAC_QOSCTRL) Background (no sensitive operation) Position  */
+#define DMAC_QOSCTRL_FQOS_LOW               (DMAC_QOSCTRL_FQOS_LOW_Val << DMAC_QOSCTRL_FQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Bandwidth Position  */
+#define DMAC_QOSCTRL_FQOS_MEDIUM            (DMAC_QOSCTRL_FQOS_MEDIUM_Val << DMAC_QOSCTRL_FQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Latency Position  */
+#define DMAC_QOSCTRL_FQOS_HIGH              (DMAC_QOSCTRL_FQOS_HIGH_Val << DMAC_QOSCTRL_FQOS_Pos)  /**< (DMAC_QOSCTRL) Critical Latency Position  */
+#define DMAC_QOSCTRL_DQOS_Pos               4                                              /**< (DMAC_QOSCTRL) Data Transfer Quality of Service Position */
+#define DMAC_QOSCTRL_DQOS_Msk               (_U_(0x3) << DMAC_QOSCTRL_DQOS_Pos)            /**< (DMAC_QOSCTRL) Data Transfer Quality of Service Mask */
+#define DMAC_QOSCTRL_DQOS(value)            (DMAC_QOSCTRL_DQOS_Msk & ((value) << DMAC_QOSCTRL_DQOS_Pos))
+#define   DMAC_QOSCTRL_DQOS_DISABLE_Val     _U_(0x0)                                       /**< (DMAC_QOSCTRL) Background (no sensitive operation)  */
+#define   DMAC_QOSCTRL_DQOS_LOW_Val         _U_(0x1)                                       /**< (DMAC_QOSCTRL) Sensitive Bandwidth  */
+#define   DMAC_QOSCTRL_DQOS_MEDIUM_Val      _U_(0x2)                                       /**< (DMAC_QOSCTRL) Sensitive Latency  */
+#define   DMAC_QOSCTRL_DQOS_HIGH_Val        _U_(0x3)                                       /**< (DMAC_QOSCTRL) Critical Latency  */
+#define DMAC_QOSCTRL_DQOS_DISABLE           (DMAC_QOSCTRL_DQOS_DISABLE_Val << DMAC_QOSCTRL_DQOS_Pos)  /**< (DMAC_QOSCTRL) Background (no sensitive operation) Position  */
+#define DMAC_QOSCTRL_DQOS_LOW               (DMAC_QOSCTRL_DQOS_LOW_Val << DMAC_QOSCTRL_DQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Bandwidth Position  */
+#define DMAC_QOSCTRL_DQOS_MEDIUM            (DMAC_QOSCTRL_DQOS_MEDIUM_Val << DMAC_QOSCTRL_DQOS_Pos)  /**< (DMAC_QOSCTRL) Sensitive Latency Position  */
+#define DMAC_QOSCTRL_DQOS_HIGH              (DMAC_QOSCTRL_DQOS_HIGH_Val << DMAC_QOSCTRL_DQOS_Pos)  /**< (DMAC_QOSCTRL) Critical Latency Position  */
+#define DMAC_QOSCTRL_MASK                   _U_(0x3F)                                      /**< \deprecated (DMAC_QOSCTRL) Register MASK  (Use DMAC_QOSCTRL_Msk instead)  */
+#define DMAC_QOSCTRL_Msk                    _U_(0x3F)                                      /**< (DMAC_QOSCTRL) Register Mask  */
+
+
+/* -------- DMAC_SWTRIGCTRL : (DMAC Offset: 0x10) (R/W 32) Software Trigger Control -------- */
+#if !(defined(__ASSEMBLER__) || 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 :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t SWTRIG:8;                  /**< bit:   0..7  Channel 7 Software Trigger               */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_SWTRIGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_SWTRIGCTRL_OFFSET              (0x10)                                        /**<  (DMAC_SWTRIGCTRL) Software Trigger Control  Offset */
+#define DMAC_SWTRIGCTRL_RESETVALUE          _U_(0x00)                                     /**<  (DMAC_SWTRIGCTRL) Software Trigger Control  Reset Value */
+
+#define DMAC_SWTRIGCTRL_SWTRIG0_Pos         0                                              /**< (DMAC_SWTRIGCTRL) Channel 0 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG0_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG0_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 0 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG0             DMAC_SWTRIGCTRL_SWTRIG0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG0_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG1_Pos         1                                              /**< (DMAC_SWTRIGCTRL) Channel 1 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG1_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG1_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 1 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG1             DMAC_SWTRIGCTRL_SWTRIG1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG1_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG2_Pos         2                                              /**< (DMAC_SWTRIGCTRL) Channel 2 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG2_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG2_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 2 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG2             DMAC_SWTRIGCTRL_SWTRIG2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG2_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG3_Pos         3                                              /**< (DMAC_SWTRIGCTRL) Channel 3 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG3_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG3_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 3 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG3             DMAC_SWTRIGCTRL_SWTRIG3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG3_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG4_Pos         4                                              /**< (DMAC_SWTRIGCTRL) Channel 4 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG4_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG4_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 4 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG4             DMAC_SWTRIGCTRL_SWTRIG4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG4_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG5_Pos         5                                              /**< (DMAC_SWTRIGCTRL) Channel 5 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG5_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG5_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 5 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG5             DMAC_SWTRIGCTRL_SWTRIG5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG5_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG6_Pos         6                                              /**< (DMAC_SWTRIGCTRL) Channel 6 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG6_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG6_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 6 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG6             DMAC_SWTRIGCTRL_SWTRIG6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG6_Msk instead */
+#define DMAC_SWTRIGCTRL_SWTRIG7_Pos         7                                              /**< (DMAC_SWTRIGCTRL) Channel 7 Software Trigger Position */
+#define DMAC_SWTRIGCTRL_SWTRIG7_Msk         (_U_(0x1) << DMAC_SWTRIGCTRL_SWTRIG7_Pos)      /**< (DMAC_SWTRIGCTRL) Channel 7 Software Trigger Mask */
+#define DMAC_SWTRIGCTRL_SWTRIG7             DMAC_SWTRIGCTRL_SWTRIG7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_SWTRIGCTRL_SWTRIG7_Msk instead */
+#define DMAC_SWTRIGCTRL_MASK                _U_(0xFF)                                      /**< \deprecated (DMAC_SWTRIGCTRL) Register MASK  (Use DMAC_SWTRIGCTRL_Msk instead)  */
+#define DMAC_SWTRIGCTRL_Msk                 _U_(0xFF)                                      /**< (DMAC_SWTRIGCTRL) Register Mask  */
+
+#define DMAC_SWTRIGCTRL_SWTRIG_Pos          0                                              /**< (DMAC_SWTRIGCTRL Position) Channel 7 Software Trigger */
+#define DMAC_SWTRIGCTRL_SWTRIG_Msk          (_U_(0xFF) << DMAC_SWTRIGCTRL_SWTRIG_Pos)      /**< (DMAC_SWTRIGCTRL Mask) SWTRIG */
+#define DMAC_SWTRIGCTRL_SWTRIG(value)       (DMAC_SWTRIGCTRL_SWTRIG_Msk & ((value) << DMAC_SWTRIGCTRL_SWTRIG_Pos))  
+
+/* -------- DMAC_PRICTRL0 : (DMAC Offset: 0x14) (R/W 32) Priority Control 0 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t LVLPRI0:3;                 /**< bit:   0..2  Level 0 Channel Priority Number          */
+    uint32_t :4;                        /**< bit:   3..6  Reserved */
+    uint32_t RRLVLEN0:1;                /**< bit:      7  Level 0 Round-Robin Scheduling Enable    */
+    uint32_t LVLPRI1:3;                 /**< bit:  8..10  Level 1 Channel Priority Number          */
+    uint32_t :4;                        /**< bit: 11..14  Reserved */
+    uint32_t RRLVLEN1:1;                /**< bit:     15  Level 1 Round-Robin Scheduling Enable    */
+    uint32_t LVLPRI2:3;                 /**< bit: 16..18  Level 2 Channel Priority Number          */
+    uint32_t :4;                        /**< bit: 19..22  Reserved */
+    uint32_t RRLVLEN2:1;                /**< bit:     23  Level 2 Round-Robin Scheduling Enable    */
+    uint32_t LVLPRI3:3;                 /**< bit: 24..26  Level 3 Channel Priority Number          */
+    uint32_t :4;                        /**< bit: 27..30  Reserved */
+    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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_PRICTRL0_OFFSET                (0x14)                                        /**<  (DMAC_PRICTRL0) Priority Control 0  Offset */
+#define DMAC_PRICTRL0_RESETVALUE            _U_(0x00)                                     /**<  (DMAC_PRICTRL0) Priority Control 0  Reset Value */
+
+#define DMAC_PRICTRL0_LVLPRI0_Pos           0                                              /**< (DMAC_PRICTRL0) Level 0 Channel Priority Number Position */
+#define DMAC_PRICTRL0_LVLPRI0_Msk           (_U_(0x7) << DMAC_PRICTRL0_LVLPRI0_Pos)        /**< (DMAC_PRICTRL0) Level 0 Channel Priority Number Mask */
+#define DMAC_PRICTRL0_LVLPRI0(value)        (DMAC_PRICTRL0_LVLPRI0_Msk & ((value) << DMAC_PRICTRL0_LVLPRI0_Pos))
+#define DMAC_PRICTRL0_RRLVLEN0_Pos          7                                              /**< (DMAC_PRICTRL0) Level 0 Round-Robin Scheduling Enable Position */
+#define DMAC_PRICTRL0_RRLVLEN0_Msk          (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN0_Pos)       /**< (DMAC_PRICTRL0) Level 0 Round-Robin Scheduling Enable Mask */
+#define DMAC_PRICTRL0_RRLVLEN0              DMAC_PRICTRL0_RRLVLEN0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PRICTRL0_RRLVLEN0_Msk instead */
+#define DMAC_PRICTRL0_LVLPRI1_Pos           8                                              /**< (DMAC_PRICTRL0) Level 1 Channel Priority Number Position */
+#define DMAC_PRICTRL0_LVLPRI1_Msk           (_U_(0x7) << DMAC_PRICTRL0_LVLPRI1_Pos)        /**< (DMAC_PRICTRL0) Level 1 Channel Priority Number Mask */
+#define DMAC_PRICTRL0_LVLPRI1(value)        (DMAC_PRICTRL0_LVLPRI1_Msk & ((value) << DMAC_PRICTRL0_LVLPRI1_Pos))
+#define DMAC_PRICTRL0_RRLVLEN1_Pos          15                                             /**< (DMAC_PRICTRL0) Level 1 Round-Robin Scheduling Enable Position */
+#define DMAC_PRICTRL0_RRLVLEN1_Msk          (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN1_Pos)       /**< (DMAC_PRICTRL0) Level 1 Round-Robin Scheduling Enable Mask */
+#define DMAC_PRICTRL0_RRLVLEN1              DMAC_PRICTRL0_RRLVLEN1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PRICTRL0_RRLVLEN1_Msk instead */
+#define DMAC_PRICTRL0_LVLPRI2_Pos           16                                             /**< (DMAC_PRICTRL0) Level 2 Channel Priority Number Position */
+#define DMAC_PRICTRL0_LVLPRI2_Msk           (_U_(0x7) << DMAC_PRICTRL0_LVLPRI2_Pos)        /**< (DMAC_PRICTRL0) Level 2 Channel Priority Number Mask */
+#define DMAC_PRICTRL0_LVLPRI2(value)        (DMAC_PRICTRL0_LVLPRI2_Msk & ((value) << DMAC_PRICTRL0_LVLPRI2_Pos))
+#define DMAC_PRICTRL0_RRLVLEN2_Pos          23                                             /**< (DMAC_PRICTRL0) Level 2 Round-Robin Scheduling Enable Position */
+#define DMAC_PRICTRL0_RRLVLEN2_Msk          (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN2_Pos)       /**< (DMAC_PRICTRL0) Level 2 Round-Robin Scheduling Enable Mask */
+#define DMAC_PRICTRL0_RRLVLEN2              DMAC_PRICTRL0_RRLVLEN2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PRICTRL0_RRLVLEN2_Msk instead */
+#define DMAC_PRICTRL0_LVLPRI3_Pos           24                                             /**< (DMAC_PRICTRL0) Level 3 Channel Priority Number Position */
+#define DMAC_PRICTRL0_LVLPRI3_Msk           (_U_(0x7) << DMAC_PRICTRL0_LVLPRI3_Pos)        /**< (DMAC_PRICTRL0) Level 3 Channel Priority Number Mask */
+#define DMAC_PRICTRL0_LVLPRI3(value)        (DMAC_PRICTRL0_LVLPRI3_Msk & ((value) << DMAC_PRICTRL0_LVLPRI3_Pos))
+#define DMAC_PRICTRL0_RRLVLEN3_Pos          31                                             /**< (DMAC_PRICTRL0) Level 3 Round-Robin Scheduling Enable Position */
+#define DMAC_PRICTRL0_RRLVLEN3_Msk          (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN3_Pos)       /**< (DMAC_PRICTRL0) Level 3 Round-Robin Scheduling Enable Mask */
+#define DMAC_PRICTRL0_RRLVLEN3              DMAC_PRICTRL0_RRLVLEN3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PRICTRL0_RRLVLEN3_Msk instead */
+#define DMAC_PRICTRL0_MASK                  _U_(0x87878787)                                /**< \deprecated (DMAC_PRICTRL0) Register MASK  (Use DMAC_PRICTRL0_Msk instead)  */
+#define DMAC_PRICTRL0_Msk                   _U_(0x87878787)                                /**< (DMAC_PRICTRL0) Register Mask  */
+
+
+/* -------- DMAC_INTPEND : (DMAC Offset: 0x20) (R/W 16) Interrupt Pending -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t ID:3;                      /**< bit:   0..2  Channel ID                               */
+    uint16_t :5;                        /**< bit:   3..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 :2;                        /**< bit: 11..12  Reserved */
+    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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_INTPEND_OFFSET                 (0x20)                                        /**<  (DMAC_INTPEND) Interrupt Pending  Offset */
+#define DMAC_INTPEND_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_INTPEND) Interrupt Pending  Reset Value */
+
+#define DMAC_INTPEND_ID_Pos                 0                                              /**< (DMAC_INTPEND) Channel ID Position */
+#define DMAC_INTPEND_ID_Msk                 (_U_(0x7) << DMAC_INTPEND_ID_Pos)              /**< (DMAC_INTPEND) Channel ID Mask */
+#define DMAC_INTPEND_ID(value)              (DMAC_INTPEND_ID_Msk & ((value) << DMAC_INTPEND_ID_Pos))
+#define DMAC_INTPEND_TERR_Pos               8                                              /**< (DMAC_INTPEND) Transfer Error Position */
+#define DMAC_INTPEND_TERR_Msk               (_U_(0x1) << DMAC_INTPEND_TERR_Pos)            /**< (DMAC_INTPEND) Transfer Error Mask */
+#define DMAC_INTPEND_TERR                   DMAC_INTPEND_TERR_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_TERR_Msk instead */
+#define DMAC_INTPEND_TCMPL_Pos              9                                              /**< (DMAC_INTPEND) Transfer Complete Position */
+#define DMAC_INTPEND_TCMPL_Msk              (_U_(0x1) << DMAC_INTPEND_TCMPL_Pos)           /**< (DMAC_INTPEND) Transfer Complete Mask */
+#define DMAC_INTPEND_TCMPL                  DMAC_INTPEND_TCMPL_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_TCMPL_Msk instead */
+#define DMAC_INTPEND_SUSP_Pos               10                                             /**< (DMAC_INTPEND) Channel Suspend Position */
+#define DMAC_INTPEND_SUSP_Msk               (_U_(0x1) << DMAC_INTPEND_SUSP_Pos)            /**< (DMAC_INTPEND) Channel Suspend Mask */
+#define DMAC_INTPEND_SUSP                   DMAC_INTPEND_SUSP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_SUSP_Msk instead */
+#define DMAC_INTPEND_FERR_Pos               13                                             /**< (DMAC_INTPEND) Fetch Error Position */
+#define DMAC_INTPEND_FERR_Msk               (_U_(0x1) << DMAC_INTPEND_FERR_Pos)            /**< (DMAC_INTPEND) Fetch Error Mask */
+#define DMAC_INTPEND_FERR                   DMAC_INTPEND_FERR_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_FERR_Msk instead */
+#define DMAC_INTPEND_BUSY_Pos               14                                             /**< (DMAC_INTPEND) Busy Position */
+#define DMAC_INTPEND_BUSY_Msk               (_U_(0x1) << DMAC_INTPEND_BUSY_Pos)            /**< (DMAC_INTPEND) Busy Mask */
+#define DMAC_INTPEND_BUSY                   DMAC_INTPEND_BUSY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_BUSY_Msk instead */
+#define DMAC_INTPEND_PEND_Pos               15                                             /**< (DMAC_INTPEND) Pending Position */
+#define DMAC_INTPEND_PEND_Msk               (_U_(0x1) << DMAC_INTPEND_PEND_Pos)            /**< (DMAC_INTPEND) Pending Mask */
+#define DMAC_INTPEND_PEND                   DMAC_INTPEND_PEND_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTPEND_PEND_Msk instead */
+#define DMAC_INTPEND_MASK                   _U_(0xE707)                                    /**< \deprecated (DMAC_INTPEND) Register MASK  (Use DMAC_INTPEND_Msk instead)  */
+#define DMAC_INTPEND_Msk                    _U_(0xE707)                                    /**< (DMAC_INTPEND) Register Mask  */
+
+
+/* -------- DMAC_INTSTATUS : (DMAC Offset: 0x24) (R/ 32) Interrupt Status -------- */
+#if !(defined(__ASSEMBLER__) || 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 :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t CHINT:8;                   /**< bit:   0..7  Channel 7 Pending Interrupt              */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_INTSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_INTSTATUS_OFFSET               (0x24)                                        /**<  (DMAC_INTSTATUS) Interrupt Status  Offset */
+#define DMAC_INTSTATUS_RESETVALUE           _U_(0x00)                                     /**<  (DMAC_INTSTATUS) Interrupt Status  Reset Value */
+
+#define DMAC_INTSTATUS_CHINT0_Pos           0                                              /**< (DMAC_INTSTATUS) Channel 0 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT0_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT0_Pos)        /**< (DMAC_INTSTATUS) Channel 0 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT0               DMAC_INTSTATUS_CHINT0_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT0_Msk instead */
+#define DMAC_INTSTATUS_CHINT1_Pos           1                                              /**< (DMAC_INTSTATUS) Channel 1 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT1_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT1_Pos)        /**< (DMAC_INTSTATUS) Channel 1 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT1               DMAC_INTSTATUS_CHINT1_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT1_Msk instead */
+#define DMAC_INTSTATUS_CHINT2_Pos           2                                              /**< (DMAC_INTSTATUS) Channel 2 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT2_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT2_Pos)        /**< (DMAC_INTSTATUS) Channel 2 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT2               DMAC_INTSTATUS_CHINT2_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT2_Msk instead */
+#define DMAC_INTSTATUS_CHINT3_Pos           3                                              /**< (DMAC_INTSTATUS) Channel 3 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT3_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT3_Pos)        /**< (DMAC_INTSTATUS) Channel 3 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT3               DMAC_INTSTATUS_CHINT3_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT3_Msk instead */
+#define DMAC_INTSTATUS_CHINT4_Pos           4                                              /**< (DMAC_INTSTATUS) Channel 4 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT4_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT4_Pos)        /**< (DMAC_INTSTATUS) Channel 4 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT4               DMAC_INTSTATUS_CHINT4_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT4_Msk instead */
+#define DMAC_INTSTATUS_CHINT5_Pos           5                                              /**< (DMAC_INTSTATUS) Channel 5 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT5_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT5_Pos)        /**< (DMAC_INTSTATUS) Channel 5 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT5               DMAC_INTSTATUS_CHINT5_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT5_Msk instead */
+#define DMAC_INTSTATUS_CHINT6_Pos           6                                              /**< (DMAC_INTSTATUS) Channel 6 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT6_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT6_Pos)        /**< (DMAC_INTSTATUS) Channel 6 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT6               DMAC_INTSTATUS_CHINT6_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT6_Msk instead */
+#define DMAC_INTSTATUS_CHINT7_Pos           7                                              /**< (DMAC_INTSTATUS) Channel 7 Pending Interrupt Position */
+#define DMAC_INTSTATUS_CHINT7_Msk           (_U_(0x1) << DMAC_INTSTATUS_CHINT7_Pos)        /**< (DMAC_INTSTATUS) Channel 7 Pending Interrupt Mask */
+#define DMAC_INTSTATUS_CHINT7               DMAC_INTSTATUS_CHINT7_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_INTSTATUS_CHINT7_Msk instead */
+#define DMAC_INTSTATUS_MASK                 _U_(0xFF)                                      /**< \deprecated (DMAC_INTSTATUS) Register MASK  (Use DMAC_INTSTATUS_Msk instead)  */
+#define DMAC_INTSTATUS_Msk                  _U_(0xFF)                                      /**< (DMAC_INTSTATUS) Register Mask  */
+
+#define DMAC_INTSTATUS_CHINT_Pos            0                                              /**< (DMAC_INTSTATUS Position) Channel 7 Pending Interrupt */
+#define DMAC_INTSTATUS_CHINT_Msk            (_U_(0xFF) << DMAC_INTSTATUS_CHINT_Pos)        /**< (DMAC_INTSTATUS Mask) CHINT */
+#define DMAC_INTSTATUS_CHINT(value)         (DMAC_INTSTATUS_CHINT_Msk & ((value) << DMAC_INTSTATUS_CHINT_Pos))  
+
+/* -------- DMAC_BUSYCH : (DMAC Offset: 0x28) (R/ 32) Busy Channels -------- */
+#if !(defined(__ASSEMBLER__) || 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 :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t BUSYCH:8;                  /**< bit:   0..7  Busy Channel 7                           */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_BUSYCH_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_BUSYCH_OFFSET                  (0x28)                                        /**<  (DMAC_BUSYCH) Busy Channels  Offset */
+#define DMAC_BUSYCH_RESETVALUE              _U_(0x00)                                     /**<  (DMAC_BUSYCH) Busy Channels  Reset Value */
+
+#define DMAC_BUSYCH_BUSYCH0_Pos             0                                              /**< (DMAC_BUSYCH) Busy Channel 0 Position */
+#define DMAC_BUSYCH_BUSYCH0_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH0_Pos)          /**< (DMAC_BUSYCH) Busy Channel 0 Mask */
+#define DMAC_BUSYCH_BUSYCH0                 DMAC_BUSYCH_BUSYCH0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH0_Msk instead */
+#define DMAC_BUSYCH_BUSYCH1_Pos             1                                              /**< (DMAC_BUSYCH) Busy Channel 1 Position */
+#define DMAC_BUSYCH_BUSYCH1_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH1_Pos)          /**< (DMAC_BUSYCH) Busy Channel 1 Mask */
+#define DMAC_BUSYCH_BUSYCH1                 DMAC_BUSYCH_BUSYCH1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH1_Msk instead */
+#define DMAC_BUSYCH_BUSYCH2_Pos             2                                              /**< (DMAC_BUSYCH) Busy Channel 2 Position */
+#define DMAC_BUSYCH_BUSYCH2_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH2_Pos)          /**< (DMAC_BUSYCH) Busy Channel 2 Mask */
+#define DMAC_BUSYCH_BUSYCH2                 DMAC_BUSYCH_BUSYCH2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH2_Msk instead */
+#define DMAC_BUSYCH_BUSYCH3_Pos             3                                              /**< (DMAC_BUSYCH) Busy Channel 3 Position */
+#define DMAC_BUSYCH_BUSYCH3_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH3_Pos)          /**< (DMAC_BUSYCH) Busy Channel 3 Mask */
+#define DMAC_BUSYCH_BUSYCH3                 DMAC_BUSYCH_BUSYCH3_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH3_Msk instead */
+#define DMAC_BUSYCH_BUSYCH4_Pos             4                                              /**< (DMAC_BUSYCH) Busy Channel 4 Position */
+#define DMAC_BUSYCH_BUSYCH4_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH4_Pos)          /**< (DMAC_BUSYCH) Busy Channel 4 Mask */
+#define DMAC_BUSYCH_BUSYCH4                 DMAC_BUSYCH_BUSYCH4_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH4_Msk instead */
+#define DMAC_BUSYCH_BUSYCH5_Pos             5                                              /**< (DMAC_BUSYCH) Busy Channel 5 Position */
+#define DMAC_BUSYCH_BUSYCH5_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH5_Pos)          /**< (DMAC_BUSYCH) Busy Channel 5 Mask */
+#define DMAC_BUSYCH_BUSYCH5                 DMAC_BUSYCH_BUSYCH5_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH5_Msk instead */
+#define DMAC_BUSYCH_BUSYCH6_Pos             6                                              /**< (DMAC_BUSYCH) Busy Channel 6 Position */
+#define DMAC_BUSYCH_BUSYCH6_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH6_Pos)          /**< (DMAC_BUSYCH) Busy Channel 6 Mask */
+#define DMAC_BUSYCH_BUSYCH6                 DMAC_BUSYCH_BUSYCH6_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH6_Msk instead */
+#define DMAC_BUSYCH_BUSYCH7_Pos             7                                              /**< (DMAC_BUSYCH) Busy Channel 7 Position */
+#define DMAC_BUSYCH_BUSYCH7_Msk             (_U_(0x1) << DMAC_BUSYCH_BUSYCH7_Pos)          /**< (DMAC_BUSYCH) Busy Channel 7 Mask */
+#define DMAC_BUSYCH_BUSYCH7                 DMAC_BUSYCH_BUSYCH7_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_BUSYCH_BUSYCH7_Msk instead */
+#define DMAC_BUSYCH_MASK                    _U_(0xFF)                                      /**< \deprecated (DMAC_BUSYCH) Register MASK  (Use DMAC_BUSYCH_Msk instead)  */
+#define DMAC_BUSYCH_Msk                     _U_(0xFF)                                      /**< (DMAC_BUSYCH) Register Mask  */
+
+#define DMAC_BUSYCH_BUSYCH_Pos              0                                              /**< (DMAC_BUSYCH Position) Busy Channel 7 */
+#define DMAC_BUSYCH_BUSYCH_Msk              (_U_(0xFF) << DMAC_BUSYCH_BUSYCH_Pos)          /**< (DMAC_BUSYCH Mask) BUSYCH */
+#define DMAC_BUSYCH_BUSYCH(value)           (DMAC_BUSYCH_BUSYCH_Msk & ((value) << DMAC_BUSYCH_BUSYCH_Pos))  
+
+/* -------- DMAC_PENDCH : (DMAC Offset: 0x2c) (R/ 32) Pending Channels -------- */
+#if !(defined(__ASSEMBLER__) || 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 :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t PENDCH:8;                  /**< bit:   0..7  Pending Channel 7                        */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_PENDCH_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_PENDCH_OFFSET                  (0x2C)                                        /**<  (DMAC_PENDCH) Pending Channels  Offset */
+#define DMAC_PENDCH_RESETVALUE              _U_(0x00)                                     /**<  (DMAC_PENDCH) Pending Channels  Reset Value */
+
+#define DMAC_PENDCH_PENDCH0_Pos             0                                              /**< (DMAC_PENDCH) Pending Channel 0 Position */
+#define DMAC_PENDCH_PENDCH0_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH0_Pos)          /**< (DMAC_PENDCH) Pending Channel 0 Mask */
+#define DMAC_PENDCH_PENDCH0                 DMAC_PENDCH_PENDCH0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH0_Msk instead */
+#define DMAC_PENDCH_PENDCH1_Pos             1                                              /**< (DMAC_PENDCH) Pending Channel 1 Position */
+#define DMAC_PENDCH_PENDCH1_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH1_Pos)          /**< (DMAC_PENDCH) Pending Channel 1 Mask */
+#define DMAC_PENDCH_PENDCH1                 DMAC_PENDCH_PENDCH1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH1_Msk instead */
+#define DMAC_PENDCH_PENDCH2_Pos             2                                              /**< (DMAC_PENDCH) Pending Channel 2 Position */
+#define DMAC_PENDCH_PENDCH2_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH2_Pos)          /**< (DMAC_PENDCH) Pending Channel 2 Mask */
+#define DMAC_PENDCH_PENDCH2                 DMAC_PENDCH_PENDCH2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH2_Msk instead */
+#define DMAC_PENDCH_PENDCH3_Pos             3                                              /**< (DMAC_PENDCH) Pending Channel 3 Position */
+#define DMAC_PENDCH_PENDCH3_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH3_Pos)          /**< (DMAC_PENDCH) Pending Channel 3 Mask */
+#define DMAC_PENDCH_PENDCH3                 DMAC_PENDCH_PENDCH3_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH3_Msk instead */
+#define DMAC_PENDCH_PENDCH4_Pos             4                                              /**< (DMAC_PENDCH) Pending Channel 4 Position */
+#define DMAC_PENDCH_PENDCH4_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH4_Pos)          /**< (DMAC_PENDCH) Pending Channel 4 Mask */
+#define DMAC_PENDCH_PENDCH4                 DMAC_PENDCH_PENDCH4_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH4_Msk instead */
+#define DMAC_PENDCH_PENDCH5_Pos             5                                              /**< (DMAC_PENDCH) Pending Channel 5 Position */
+#define DMAC_PENDCH_PENDCH5_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH5_Pos)          /**< (DMAC_PENDCH) Pending Channel 5 Mask */
+#define DMAC_PENDCH_PENDCH5                 DMAC_PENDCH_PENDCH5_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH5_Msk instead */
+#define DMAC_PENDCH_PENDCH6_Pos             6                                              /**< (DMAC_PENDCH) Pending Channel 6 Position */
+#define DMAC_PENDCH_PENDCH6_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH6_Pos)          /**< (DMAC_PENDCH) Pending Channel 6 Mask */
+#define DMAC_PENDCH_PENDCH6                 DMAC_PENDCH_PENDCH6_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH6_Msk instead */
+#define DMAC_PENDCH_PENDCH7_Pos             7                                              /**< (DMAC_PENDCH) Pending Channel 7 Position */
+#define DMAC_PENDCH_PENDCH7_Msk             (_U_(0x1) << DMAC_PENDCH_PENDCH7_Pos)          /**< (DMAC_PENDCH) Pending Channel 7 Mask */
+#define DMAC_PENDCH_PENDCH7                 DMAC_PENDCH_PENDCH7_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_PENDCH_PENDCH7_Msk instead */
+#define DMAC_PENDCH_MASK                    _U_(0xFF)                                      /**< \deprecated (DMAC_PENDCH) Register MASK  (Use DMAC_PENDCH_Msk instead)  */
+#define DMAC_PENDCH_Msk                     _U_(0xFF)                                      /**< (DMAC_PENDCH) Register Mask  */
+
+#define DMAC_PENDCH_PENDCH_Pos              0                                              /**< (DMAC_PENDCH Position) Pending Channel 7 */
+#define DMAC_PENDCH_PENDCH_Msk              (_U_(0xFF) << DMAC_PENDCH_PENDCH_Pos)          /**< (DMAC_PENDCH Mask) PENDCH */
+#define DMAC_PENDCH_PENDCH(value)           (DMAC_PENDCH_PENDCH_Msk & ((value) << DMAC_PENDCH_PENDCH_Pos))  
+
+/* -------- DMAC_ACTIVE : (DMAC Offset: 0x30) (R/ 32) Active Channel and Levels -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_ACTIVE_OFFSET                  (0x30)                                        /**<  (DMAC_ACTIVE) Active Channel and Levels  Offset */
+#define DMAC_ACTIVE_RESETVALUE              _U_(0x00)                                     /**<  (DMAC_ACTIVE) Active Channel and Levels  Reset Value */
+
+#define DMAC_ACTIVE_LVLEX0_Pos              0                                              /**< (DMAC_ACTIVE) Level 0 Channel Trigger Request Executing Position */
+#define DMAC_ACTIVE_LVLEX0_Msk              (_U_(0x1) << DMAC_ACTIVE_LVLEX0_Pos)           /**< (DMAC_ACTIVE) Level 0 Channel Trigger Request Executing Mask */
+#define DMAC_ACTIVE_LVLEX0                  DMAC_ACTIVE_LVLEX0_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_ACTIVE_LVLEX0_Msk instead */
+#define DMAC_ACTIVE_LVLEX1_Pos              1                                              /**< (DMAC_ACTIVE) Level 1 Channel Trigger Request Executing Position */
+#define DMAC_ACTIVE_LVLEX1_Msk              (_U_(0x1) << DMAC_ACTIVE_LVLEX1_Pos)           /**< (DMAC_ACTIVE) Level 1 Channel Trigger Request Executing Mask */
+#define DMAC_ACTIVE_LVLEX1                  DMAC_ACTIVE_LVLEX1_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_ACTIVE_LVLEX1_Msk instead */
+#define DMAC_ACTIVE_LVLEX2_Pos              2                                              /**< (DMAC_ACTIVE) Level 2 Channel Trigger Request Executing Position */
+#define DMAC_ACTIVE_LVLEX2_Msk              (_U_(0x1) << DMAC_ACTIVE_LVLEX2_Pos)           /**< (DMAC_ACTIVE) Level 2 Channel Trigger Request Executing Mask */
+#define DMAC_ACTIVE_LVLEX2                  DMAC_ACTIVE_LVLEX2_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_ACTIVE_LVLEX2_Msk instead */
+#define DMAC_ACTIVE_LVLEX3_Pos              3                                              /**< (DMAC_ACTIVE) Level 3 Channel Trigger Request Executing Position */
+#define DMAC_ACTIVE_LVLEX3_Msk              (_U_(0x1) << DMAC_ACTIVE_LVLEX3_Pos)           /**< (DMAC_ACTIVE) Level 3 Channel Trigger Request Executing Mask */
+#define DMAC_ACTIVE_LVLEX3                  DMAC_ACTIVE_LVLEX3_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_ACTIVE_LVLEX3_Msk instead */
+#define DMAC_ACTIVE_ID_Pos                  8                                              /**< (DMAC_ACTIVE) Active Channel ID Position */
+#define DMAC_ACTIVE_ID_Msk                  (_U_(0x1F) << DMAC_ACTIVE_ID_Pos)              /**< (DMAC_ACTIVE) Active Channel ID Mask */
+#define DMAC_ACTIVE_ID(value)               (DMAC_ACTIVE_ID_Msk & ((value) << DMAC_ACTIVE_ID_Pos))
+#define DMAC_ACTIVE_ABUSY_Pos               15                                             /**< (DMAC_ACTIVE) Active Channel Busy Position */
+#define DMAC_ACTIVE_ABUSY_Msk               (_U_(0x1) << DMAC_ACTIVE_ABUSY_Pos)            /**< (DMAC_ACTIVE) Active Channel Busy Mask */
+#define DMAC_ACTIVE_ABUSY                   DMAC_ACTIVE_ABUSY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_ACTIVE_ABUSY_Msk instead */
+#define DMAC_ACTIVE_BTCNT_Pos               16                                             /**< (DMAC_ACTIVE) Active Channel Block Transfer Count Position */
+#define DMAC_ACTIVE_BTCNT_Msk               (_U_(0xFFFF) << DMAC_ACTIVE_BTCNT_Pos)         /**< (DMAC_ACTIVE) Active Channel Block Transfer Count Mask */
+#define DMAC_ACTIVE_BTCNT(value)            (DMAC_ACTIVE_BTCNT_Msk & ((value) << DMAC_ACTIVE_BTCNT_Pos))
+#define DMAC_ACTIVE_MASK                    _U_(0xFFFF9F0F)                                /**< \deprecated (DMAC_ACTIVE) Register MASK  (Use DMAC_ACTIVE_Msk instead)  */
+#define DMAC_ACTIVE_Msk                     _U_(0xFFFF9F0F)                                /**< (DMAC_ACTIVE) Register Mask  */
+
+#define DMAC_ACTIVE_LVLEX_Pos               0                                              /**< (DMAC_ACTIVE Position) Level x Channel Trigger Request Executing */
+#define DMAC_ACTIVE_LVLEX_Msk               (_U_(0xF) << DMAC_ACTIVE_LVLEX_Pos)            /**< (DMAC_ACTIVE Mask) LVLEX */
+#define DMAC_ACTIVE_LVLEX(value)            (DMAC_ACTIVE_LVLEX_Msk & ((value) << DMAC_ACTIVE_LVLEX_Pos))  
+
+/* -------- DMAC_BASEADDR : (DMAC Offset: 0x34) (R/W 32) Descriptor Memory Section Base Address -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_BASEADDR_OFFSET                (0x34)                                        /**<  (DMAC_BASEADDR) Descriptor Memory Section Base Address  Offset */
+#define DMAC_BASEADDR_RESETVALUE            _U_(0x00)                                     /**<  (DMAC_BASEADDR) Descriptor Memory Section Base Address  Reset Value */
+
+#define DMAC_BASEADDR_BASEADDR_Pos          0                                              /**< (DMAC_BASEADDR) Descriptor Memory Base Address Position */
+#define DMAC_BASEADDR_BASEADDR_Msk          (_U_(0xFFFFFFFF) << DMAC_BASEADDR_BASEADDR_Pos)  /**< (DMAC_BASEADDR) Descriptor Memory Base Address Mask */
+#define DMAC_BASEADDR_BASEADDR(value)       (DMAC_BASEADDR_BASEADDR_Msk & ((value) << DMAC_BASEADDR_BASEADDR_Pos))
+#define DMAC_BASEADDR_MASK                  _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_BASEADDR) Register MASK  (Use DMAC_BASEADDR_Msk instead)  */
+#define DMAC_BASEADDR_Msk                   _U_(0xFFFFFFFF)                                /**< (DMAC_BASEADDR) Register Mask  */
+
+
+/* -------- DMAC_WRBADDR : (DMAC Offset: 0x38) (R/W 32) Write-Back Memory Section Base Address -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_WRBADDR_OFFSET                 (0x38)                                        /**<  (DMAC_WRBADDR) Write-Back Memory Section Base Address  Offset */
+#define DMAC_WRBADDR_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_WRBADDR) Write-Back Memory Section Base Address  Reset Value */
+
+#define DMAC_WRBADDR_WRBADDR_Pos            0                                              /**< (DMAC_WRBADDR) Write-Back Memory Base Address Position */
+#define DMAC_WRBADDR_WRBADDR_Msk            (_U_(0xFFFFFFFF) << DMAC_WRBADDR_WRBADDR_Pos)  /**< (DMAC_WRBADDR) Write-Back Memory Base Address Mask */
+#define DMAC_WRBADDR_WRBADDR(value)         (DMAC_WRBADDR_WRBADDR_Msk & ((value) << DMAC_WRBADDR_WRBADDR_Pos))
+#define DMAC_WRBADDR_MASK                   _U_(0xFFFFFFFF)                                /**< \deprecated (DMAC_WRBADDR) Register MASK  (Use DMAC_WRBADDR_Msk instead)  */
+#define DMAC_WRBADDR_Msk                    _U_(0xFFFFFFFF)                                /**< (DMAC_WRBADDR) Register Mask  */
+
+
+/* -------- DMAC_CHID : (DMAC Offset: 0x3f) (R/W 8) Channel ID -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ID:3;                      /**< bit:   0..2  Channel ID                               */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DMAC_CHID_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHID_OFFSET                    (0x3F)                                        /**<  (DMAC_CHID) Channel ID  Offset */
+#define DMAC_CHID_RESETVALUE                _U_(0x00)                                     /**<  (DMAC_CHID) Channel ID  Reset Value */
+
+#define DMAC_CHID_ID_Pos                    0                                              /**< (DMAC_CHID) Channel ID Position */
+#define DMAC_CHID_ID_Msk                    (_U_(0x7) << DMAC_CHID_ID_Pos)                 /**< (DMAC_CHID) Channel ID Mask */
+#define DMAC_CHID_ID(value)                 (DMAC_CHID_ID_Msk & ((value) << DMAC_CHID_ID_Pos))
+#define DMAC_CHID_MASK                      _U_(0x07)                                      /**< \deprecated (DMAC_CHID) Register MASK  (Use DMAC_CHID_Msk instead)  */
+#define DMAC_CHID_Msk                       _U_(0x07)                                      /**< (DMAC_CHID) Register Mask  */
+
+
+/* -------- DMAC_CHCTRLA : (DMAC Offset: 0x40) (R/W 8) Channel Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Channel Software Reset                   */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Channel Enable                           */
+    uint8_t  :4;                        /**< bit:   2..5  Reserved */
+    uint8_t  RUNSTDBY:1;                /**< bit:      6  Channel run in standby                   */
+    uint8_t  :1;                        /**< bit:      7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DMAC_CHCTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHCTRLA_OFFSET                 (0x40)                                        /**<  (DMAC_CHCTRLA) Channel Control A  Offset */
+#define DMAC_CHCTRLA_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_CHCTRLA) Channel Control A  Reset Value */
+
+#define DMAC_CHCTRLA_SWRST_Pos              0                                              /**< (DMAC_CHCTRLA) Channel Software Reset Position */
+#define DMAC_CHCTRLA_SWRST_Msk              (_U_(0x1) << DMAC_CHCTRLA_SWRST_Pos)           /**< (DMAC_CHCTRLA) Channel Software Reset Mask */
+#define DMAC_CHCTRLA_SWRST                  DMAC_CHCTRLA_SWRST_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHCTRLA_SWRST_Msk instead */
+#define DMAC_CHCTRLA_ENABLE_Pos             1                                              /**< (DMAC_CHCTRLA) Channel Enable Position */
+#define DMAC_CHCTRLA_ENABLE_Msk             (_U_(0x1) << DMAC_CHCTRLA_ENABLE_Pos)          /**< (DMAC_CHCTRLA) Channel Enable Mask */
+#define DMAC_CHCTRLA_ENABLE                 DMAC_CHCTRLA_ENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHCTRLA_ENABLE_Msk instead */
+#define DMAC_CHCTRLA_RUNSTDBY_Pos           6                                              /**< (DMAC_CHCTRLA) Channel run in standby Position */
+#define DMAC_CHCTRLA_RUNSTDBY_Msk           (_U_(0x1) << DMAC_CHCTRLA_RUNSTDBY_Pos)        /**< (DMAC_CHCTRLA) Channel run in standby Mask */
+#define DMAC_CHCTRLA_RUNSTDBY               DMAC_CHCTRLA_RUNSTDBY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHCTRLA_RUNSTDBY_Msk instead */
+#define DMAC_CHCTRLA_MASK                   _U_(0x43)                                      /**< \deprecated (DMAC_CHCTRLA) Register MASK  (Use DMAC_CHCTRLA_Msk instead)  */
+#define DMAC_CHCTRLA_Msk                    _U_(0x43)                                      /**< (DMAC_CHCTRLA) Register Mask  */
+
+
+/* -------- DMAC_CHCTRLB : (DMAC Offset: 0x44) (R/W 32) Channel Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVACT:3;                   /**< bit:   0..2  Event Input Action                       */
+    uint32_t EVIE:1;                    /**< bit:      3  Channel Event Input Enable               */
+    uint32_t EVOE:1;                    /**< bit:      4  Channel Event Output Enable              */
+    uint32_t LVL:2;                     /**< bit:   5..6  Channel Arbitration Level                */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t TRIGSRC:5;                 /**< bit:  8..12  Trigger Source                           */
+    uint32_t :9;                        /**< bit: 13..21  Reserved */
+    uint32_t TRIGACT:2;                 /**< bit: 22..23  Trigger Action                           */
+    uint32_t CMD:2;                     /**< bit: 24..25  Software Command                         */
+    uint32_t :6;                        /**< bit: 26..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DMAC_CHCTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHCTRLB_OFFSET                 (0x44)                                        /**<  (DMAC_CHCTRLB) Channel Control B  Offset */
+#define DMAC_CHCTRLB_RESETVALUE             _U_(0x00)                                     /**<  (DMAC_CHCTRLB) Channel Control B  Reset Value */
+
+#define DMAC_CHCTRLB_EVACT_Pos              0                                              /**< (DMAC_CHCTRLB) Event Input Action Position */
+#define DMAC_CHCTRLB_EVACT_Msk              (_U_(0x7) << DMAC_CHCTRLB_EVACT_Pos)           /**< (DMAC_CHCTRLB) Event Input Action Mask */
+#define DMAC_CHCTRLB_EVACT(value)           (DMAC_CHCTRLB_EVACT_Msk & ((value) << DMAC_CHCTRLB_EVACT_Pos))
+#define   DMAC_CHCTRLB_EVACT_NOACT_Val      _U_(0x0)                                       /**< (DMAC_CHCTRLB) No action  */
+#define   DMAC_CHCTRLB_EVACT_TRIG_Val       _U_(0x1)                                       /**< (DMAC_CHCTRLB) Transfer and periodic transfer trigger  */
+#define   DMAC_CHCTRLB_EVACT_CTRIG_Val      _U_(0x2)                                       /**< (DMAC_CHCTRLB) Conditional transfer trigger  */
+#define   DMAC_CHCTRLB_EVACT_CBLOCK_Val     _U_(0x3)                                       /**< (DMAC_CHCTRLB) Conditional block transfer  */
+#define   DMAC_CHCTRLB_EVACT_SUSPEND_Val    _U_(0x4)                                       /**< (DMAC_CHCTRLB) Channel suspend operation  */
+#define   DMAC_CHCTRLB_EVACT_RESUME_Val     _U_(0x5)                                       /**< (DMAC_CHCTRLB) Channel resume operation  */
+#define   DMAC_CHCTRLB_EVACT_SSKIP_Val      _U_(0x6)                                       /**< (DMAC_CHCTRLB) Skip next block suspend action  */
+#define DMAC_CHCTRLB_EVACT_NOACT            (DMAC_CHCTRLB_EVACT_NOACT_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) No action Position  */
+#define DMAC_CHCTRLB_EVACT_TRIG             (DMAC_CHCTRLB_EVACT_TRIG_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Transfer and periodic transfer trigger Position  */
+#define DMAC_CHCTRLB_EVACT_CTRIG            (DMAC_CHCTRLB_EVACT_CTRIG_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Conditional transfer trigger Position  */
+#define DMAC_CHCTRLB_EVACT_CBLOCK           (DMAC_CHCTRLB_EVACT_CBLOCK_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Conditional block transfer Position  */
+#define DMAC_CHCTRLB_EVACT_SUSPEND          (DMAC_CHCTRLB_EVACT_SUSPEND_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Channel suspend operation Position  */
+#define DMAC_CHCTRLB_EVACT_RESUME           (DMAC_CHCTRLB_EVACT_RESUME_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Channel resume operation Position  */
+#define DMAC_CHCTRLB_EVACT_SSKIP            (DMAC_CHCTRLB_EVACT_SSKIP_Val << DMAC_CHCTRLB_EVACT_Pos)  /**< (DMAC_CHCTRLB) Skip next block suspend action Position  */
+#define DMAC_CHCTRLB_EVIE_Pos               3                                              /**< (DMAC_CHCTRLB) Channel Event Input Enable Position */
+#define DMAC_CHCTRLB_EVIE_Msk               (_U_(0x1) << DMAC_CHCTRLB_EVIE_Pos)            /**< (DMAC_CHCTRLB) Channel Event Input Enable Mask */
+#define DMAC_CHCTRLB_EVIE                   DMAC_CHCTRLB_EVIE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHCTRLB_EVIE_Msk instead */
+#define DMAC_CHCTRLB_EVOE_Pos               4                                              /**< (DMAC_CHCTRLB) Channel Event Output Enable Position */
+#define DMAC_CHCTRLB_EVOE_Msk               (_U_(0x1) << DMAC_CHCTRLB_EVOE_Pos)            /**< (DMAC_CHCTRLB) Channel Event Output Enable Mask */
+#define DMAC_CHCTRLB_EVOE                   DMAC_CHCTRLB_EVOE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHCTRLB_EVOE_Msk instead */
+#define DMAC_CHCTRLB_LVL_Pos                5                                              /**< (DMAC_CHCTRLB) Channel Arbitration Level Position */
+#define DMAC_CHCTRLB_LVL_Msk                (_U_(0x3) << DMAC_CHCTRLB_LVL_Pos)             /**< (DMAC_CHCTRLB) Channel Arbitration Level Mask */
+#define DMAC_CHCTRLB_LVL(value)             (DMAC_CHCTRLB_LVL_Msk & ((value) << DMAC_CHCTRLB_LVL_Pos))
+#define DMAC_CHCTRLB_TRIGSRC_Pos            8                                              /**< (DMAC_CHCTRLB) Trigger Source Position */
+#define DMAC_CHCTRLB_TRIGSRC_Msk            (_U_(0x1F) << DMAC_CHCTRLB_TRIGSRC_Pos)        /**< (DMAC_CHCTRLB) Trigger Source Mask */
+#define DMAC_CHCTRLB_TRIGSRC(value)         (DMAC_CHCTRLB_TRIGSRC_Msk & ((value) << DMAC_CHCTRLB_TRIGSRC_Pos))
+#define   DMAC_CHCTRLB_TRIGSRC_DISABLE_Val  _U_(0x0)                                       /**< (DMAC_CHCTRLB) Only software/event triggers  */
+#define DMAC_CHCTRLB_TRIGSRC_DISABLE        (DMAC_CHCTRLB_TRIGSRC_DISABLE_Val << DMAC_CHCTRLB_TRIGSRC_Pos)  /**< (DMAC_CHCTRLB) Only software/event triggers Position  */
+#define DMAC_CHCTRLB_TRIGACT_Pos            22                                             /**< (DMAC_CHCTRLB) Trigger Action Position */
+#define DMAC_CHCTRLB_TRIGACT_Msk            (_U_(0x3) << DMAC_CHCTRLB_TRIGACT_Pos)         /**< (DMAC_CHCTRLB) Trigger Action Mask */
+#define DMAC_CHCTRLB_TRIGACT(value)         (DMAC_CHCTRLB_TRIGACT_Msk & ((value) << DMAC_CHCTRLB_TRIGACT_Pos))
+#define   DMAC_CHCTRLB_TRIGACT_BLOCK_Val    _U_(0x0)                                       /**< (DMAC_CHCTRLB) One trigger required for each block transfer  */
+#define   DMAC_CHCTRLB_TRIGACT_BEAT_Val     _U_(0x2)                                       /**< (DMAC_CHCTRLB) One trigger required for each beat transfer  */
+#define   DMAC_CHCTRLB_TRIGACT_TRANSACTION_Val _U_(0x3)                                       /**< (DMAC_CHCTRLB) One trigger required for each transaction  */
+#define DMAC_CHCTRLB_TRIGACT_BLOCK          (DMAC_CHCTRLB_TRIGACT_BLOCK_Val << DMAC_CHCTRLB_TRIGACT_Pos)  /**< (DMAC_CHCTRLB) One trigger required for each block transfer Position  */
+#define DMAC_CHCTRLB_TRIGACT_BEAT           (DMAC_CHCTRLB_TRIGACT_BEAT_Val << DMAC_CHCTRLB_TRIGACT_Pos)  /**< (DMAC_CHCTRLB) One trigger required for each beat transfer Position  */
+#define DMAC_CHCTRLB_TRIGACT_TRANSACTION    (DMAC_CHCTRLB_TRIGACT_TRANSACTION_Val << DMAC_CHCTRLB_TRIGACT_Pos)  /**< (DMAC_CHCTRLB) One trigger required for each transaction Position  */
+#define DMAC_CHCTRLB_CMD_Pos                24                                             /**< (DMAC_CHCTRLB) Software Command Position */
+#define DMAC_CHCTRLB_CMD_Msk                (_U_(0x3) << DMAC_CHCTRLB_CMD_Pos)             /**< (DMAC_CHCTRLB) Software Command Mask */
+#define DMAC_CHCTRLB_CMD(value)             (DMAC_CHCTRLB_CMD_Msk & ((value) << DMAC_CHCTRLB_CMD_Pos))
+#define   DMAC_CHCTRLB_CMD_NOACT_Val        _U_(0x0)                                       /**< (DMAC_CHCTRLB) No action  */
+#define   DMAC_CHCTRLB_CMD_SUSPEND_Val      _U_(0x1)                                       /**< (DMAC_CHCTRLB) Channel suspend operation  */
+#define   DMAC_CHCTRLB_CMD_RESUME_Val       _U_(0x2)                                       /**< (DMAC_CHCTRLB) Channel resume operation  */
+#define DMAC_CHCTRLB_CMD_NOACT              (DMAC_CHCTRLB_CMD_NOACT_Val << DMAC_CHCTRLB_CMD_Pos)  /**< (DMAC_CHCTRLB) No action Position  */
+#define DMAC_CHCTRLB_CMD_SUSPEND            (DMAC_CHCTRLB_CMD_SUSPEND_Val << DMAC_CHCTRLB_CMD_Pos)  /**< (DMAC_CHCTRLB) Channel suspend operation Position  */
+#define DMAC_CHCTRLB_CMD_RESUME             (DMAC_CHCTRLB_CMD_RESUME_Val << DMAC_CHCTRLB_CMD_Pos)  /**< (DMAC_CHCTRLB) Channel resume operation Position  */
+#define DMAC_CHCTRLB_MASK                   _U_(0x3C01F7F)                                 /**< \deprecated (DMAC_CHCTRLB) Register MASK  (Use DMAC_CHCTRLB_Msk instead)  */
+#define DMAC_CHCTRLB_Msk                    _U_(0x3C01F7F)                                 /**< (DMAC_CHCTRLB) Register Mask  */
+
+
+/* -------- DMAC_CHINTENCLR : (DMAC Offset: 0x4c) (R/W 8) Channel Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHINTENCLR_OFFSET              (0x4C)                                        /**<  (DMAC_CHINTENCLR) Channel Interrupt Enable Clear  Offset */
+#define DMAC_CHINTENCLR_RESETVALUE          _U_(0x00)                                     /**<  (DMAC_CHINTENCLR) Channel Interrupt Enable Clear  Reset Value */
+
+#define DMAC_CHINTENCLR_TERR_Pos            0                                              /**< (DMAC_CHINTENCLR) Channel Transfer Error Interrupt Enable Position */
+#define DMAC_CHINTENCLR_TERR_Msk            (_U_(0x1) << DMAC_CHINTENCLR_TERR_Pos)         /**< (DMAC_CHINTENCLR) Channel Transfer Error Interrupt Enable Mask */
+#define DMAC_CHINTENCLR_TERR                DMAC_CHINTENCLR_TERR_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENCLR_TERR_Msk instead */
+#define DMAC_CHINTENCLR_TCMPL_Pos           1                                              /**< (DMAC_CHINTENCLR) Channel Transfer Complete Interrupt Enable Position */
+#define DMAC_CHINTENCLR_TCMPL_Msk           (_U_(0x1) << DMAC_CHINTENCLR_TCMPL_Pos)        /**< (DMAC_CHINTENCLR) Channel Transfer Complete Interrupt Enable Mask */
+#define DMAC_CHINTENCLR_TCMPL               DMAC_CHINTENCLR_TCMPL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENCLR_TCMPL_Msk instead */
+#define DMAC_CHINTENCLR_SUSP_Pos            2                                              /**< (DMAC_CHINTENCLR) Channel Suspend Interrupt Enable Position */
+#define DMAC_CHINTENCLR_SUSP_Msk            (_U_(0x1) << DMAC_CHINTENCLR_SUSP_Pos)         /**< (DMAC_CHINTENCLR) Channel Suspend Interrupt Enable Mask */
+#define DMAC_CHINTENCLR_SUSP                DMAC_CHINTENCLR_SUSP_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENCLR_SUSP_Msk instead */
+#define DMAC_CHINTENCLR_MASK                _U_(0x07)                                      /**< \deprecated (DMAC_CHINTENCLR) Register MASK  (Use DMAC_CHINTENCLR_Msk instead)  */
+#define DMAC_CHINTENCLR_Msk                 _U_(0x07)                                      /**< (DMAC_CHINTENCLR) Register Mask  */
+
+
+/* -------- DMAC_CHINTENSET : (DMAC Offset: 0x4d) (R/W 8) Channel Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHINTENSET_OFFSET              (0x4D)                                        /**<  (DMAC_CHINTENSET) Channel Interrupt Enable Set  Offset */
+#define DMAC_CHINTENSET_RESETVALUE          _U_(0x00)                                     /**<  (DMAC_CHINTENSET) Channel Interrupt Enable Set  Reset Value */
+
+#define DMAC_CHINTENSET_TERR_Pos            0                                              /**< (DMAC_CHINTENSET) Channel Transfer Error Interrupt Enable Position */
+#define DMAC_CHINTENSET_TERR_Msk            (_U_(0x1) << DMAC_CHINTENSET_TERR_Pos)         /**< (DMAC_CHINTENSET) Channel Transfer Error Interrupt Enable Mask */
+#define DMAC_CHINTENSET_TERR                DMAC_CHINTENSET_TERR_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENSET_TERR_Msk instead */
+#define DMAC_CHINTENSET_TCMPL_Pos           1                                              /**< (DMAC_CHINTENSET) Channel Transfer Complete Interrupt Enable Position */
+#define DMAC_CHINTENSET_TCMPL_Msk           (_U_(0x1) << DMAC_CHINTENSET_TCMPL_Pos)        /**< (DMAC_CHINTENSET) Channel Transfer Complete Interrupt Enable Mask */
+#define DMAC_CHINTENSET_TCMPL               DMAC_CHINTENSET_TCMPL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENSET_TCMPL_Msk instead */
+#define DMAC_CHINTENSET_SUSP_Pos            2                                              /**< (DMAC_CHINTENSET) Channel Suspend Interrupt Enable Position */
+#define DMAC_CHINTENSET_SUSP_Msk            (_U_(0x1) << DMAC_CHINTENSET_SUSP_Pos)         /**< (DMAC_CHINTENSET) Channel Suspend Interrupt Enable Mask */
+#define DMAC_CHINTENSET_SUSP                DMAC_CHINTENSET_SUSP_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTENSET_SUSP_Msk instead */
+#define DMAC_CHINTENSET_MASK                _U_(0x07)                                      /**< \deprecated (DMAC_CHINTENSET) Register MASK  (Use DMAC_CHINTENSET_Msk instead)  */
+#define DMAC_CHINTENSET_Msk                 _U_(0x07)                                      /**< (DMAC_CHINTENSET) Register Mask  */
+
+
+/* -------- DMAC_CHINTFLAG : (DMAC Offset: 0x4e) (R/W 8) Channel Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHINTFLAG_OFFSET               (0x4E)                                        /**<  (DMAC_CHINTFLAG) Channel Interrupt Flag Status and Clear  Offset */
+#define DMAC_CHINTFLAG_RESETVALUE           _U_(0x00)                                     /**<  (DMAC_CHINTFLAG) Channel Interrupt Flag Status and Clear  Reset Value */
+
+#define DMAC_CHINTFLAG_TERR_Pos             0                                              /**< (DMAC_CHINTFLAG) Channel Transfer Error Position */
+#define DMAC_CHINTFLAG_TERR_Msk             (_U_(0x1) << DMAC_CHINTFLAG_TERR_Pos)          /**< (DMAC_CHINTFLAG) Channel Transfer Error Mask */
+#define DMAC_CHINTFLAG_TERR                 DMAC_CHINTFLAG_TERR_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTFLAG_TERR_Msk instead */
+#define DMAC_CHINTFLAG_TCMPL_Pos            1                                              /**< (DMAC_CHINTFLAG) Channel Transfer Complete Position */
+#define DMAC_CHINTFLAG_TCMPL_Msk            (_U_(0x1) << DMAC_CHINTFLAG_TCMPL_Pos)         /**< (DMAC_CHINTFLAG) Channel Transfer Complete Mask */
+#define DMAC_CHINTFLAG_TCMPL                DMAC_CHINTFLAG_TCMPL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTFLAG_TCMPL_Msk instead */
+#define DMAC_CHINTFLAG_SUSP_Pos             2                                              /**< (DMAC_CHINTFLAG) Channel Suspend Position */
+#define DMAC_CHINTFLAG_SUSP_Msk             (_U_(0x1) << DMAC_CHINTFLAG_SUSP_Pos)          /**< (DMAC_CHINTFLAG) Channel Suspend Mask */
+#define DMAC_CHINTFLAG_SUSP                 DMAC_CHINTFLAG_SUSP_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHINTFLAG_SUSP_Msk instead */
+#define DMAC_CHINTFLAG_MASK                 _U_(0x07)                                      /**< \deprecated (DMAC_CHINTFLAG) Register MASK  (Use DMAC_CHINTFLAG_Msk instead)  */
+#define DMAC_CHINTFLAG_Msk                  _U_(0x07)                                      /**< (DMAC_CHINTFLAG) Register Mask  */
+
+
+/* -------- DMAC_CHSTATUS : (DMAC Offset: 0x4f) (R/ 8) Channel Status -------- */
+#if !(defined(__ASSEMBLER__) || 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  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DMAC_CHSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DMAC_CHSTATUS_OFFSET                (0x4F)                                        /**<  (DMAC_CHSTATUS) Channel Status  Offset */
+#define DMAC_CHSTATUS_RESETVALUE            _U_(0x00)                                     /**<  (DMAC_CHSTATUS) Channel Status  Reset Value */
+
+#define DMAC_CHSTATUS_PEND_Pos              0                                              /**< (DMAC_CHSTATUS) Channel Pending Position */
+#define DMAC_CHSTATUS_PEND_Msk              (_U_(0x1) << DMAC_CHSTATUS_PEND_Pos)           /**< (DMAC_CHSTATUS) Channel Pending Mask */
+#define DMAC_CHSTATUS_PEND                  DMAC_CHSTATUS_PEND_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHSTATUS_PEND_Msk instead */
+#define DMAC_CHSTATUS_BUSY_Pos              1                                              /**< (DMAC_CHSTATUS) Channel Busy Position */
+#define DMAC_CHSTATUS_BUSY_Msk              (_U_(0x1) << DMAC_CHSTATUS_BUSY_Pos)           /**< (DMAC_CHSTATUS) Channel Busy Mask */
+#define DMAC_CHSTATUS_BUSY                  DMAC_CHSTATUS_BUSY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHSTATUS_BUSY_Msk instead */
+#define DMAC_CHSTATUS_FERR_Pos              2                                              /**< (DMAC_CHSTATUS) Channel Fetch Error Position */
+#define DMAC_CHSTATUS_FERR_Msk              (_U_(0x1) << DMAC_CHSTATUS_FERR_Pos)           /**< (DMAC_CHSTATUS) Channel Fetch Error Mask */
+#define DMAC_CHSTATUS_FERR                  DMAC_CHSTATUS_FERR_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use DMAC_CHSTATUS_FERR_Msk instead */
+#define DMAC_CHSTATUS_MASK                  _U_(0x07)                                      /**< \deprecated (DMAC_CHSTATUS) Register MASK  (Use DMAC_CHSTATUS_Msk instead)  */
+#define DMAC_CHSTATUS_Msk                   _U_(0x07)                                      /**< (DMAC_CHSTATUS) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief DMAC_DESCRIPTOR hardware registers */
+typedef struct {  /* Direct Memory Access Controller */
+  __IO DMAC_BTCTRL_Type               BTCTRL;         /**< Offset: 0x00 (R/W  16) Block Transfer Control */
+  __IO DMAC_BTCNT_Type                BTCNT;          /**< Offset: 0x02 (R/W  16) Block Transfer Count */
+  __IO DMAC_SRCADDR_Type              SRCADDR;        /**< Offset: 0x04 (R/W  32) Block Transfer Source Address */
+  __IO DMAC_DSTADDR_Type              DSTADDR;        /**< Offset: 0x08 (R/W  32) Block Transfer Destination Address */
+  __IO DMAC_DESCADDR_Type             DESCADDR;       /**< Offset: 0x0C (R/W  32) Next Descriptor Address */
+} DmacDescriptor
+#ifdef __GNUC__
+  __attribute__ ((aligned (8)))
+#endif
+;
+
+/** \brief DMAC hardware registers */
+typedef struct {  /* Direct Memory Access Controller */
+  __IO DMAC_CTRL_Type                 CTRL;           /**< Offset: 0x00 (R/W  16) Control */
+  __IO DMAC_CRCCTRL_Type              CRCCTRL;        /**< Offset: 0x02 (R/W  16) CRC Control */
+  __IO DMAC_CRCDATAIN_Type            CRCDATAIN;      /**< Offset: 0x04 (R/W  32) CRC Data Input */
+  __IO DMAC_CRCCHKSUM_Type            CRCCHKSUM;      /**< Offset: 0x08 (R/W  32) CRC Checksum */
+  __IO DMAC_CRCSTATUS_Type            CRCSTATUS;      /**< Offset: 0x0C (R/W   8) CRC Status */
+  __IO DMAC_DBGCTRL_Type              DBGCTRL;        /**< Offset: 0x0D (R/W   8) Debug Control */
+  __IO DMAC_QOSCTRL_Type              QOSCTRL;        /**< Offset: 0x0E (R/W   8) QOS Control */
+  __I  uint8_t                        Reserved1[1];
+  __IO DMAC_SWTRIGCTRL_Type           SWTRIGCTRL;     /**< Offset: 0x10 (R/W  32) Software Trigger Control */
+  __IO DMAC_PRICTRL0_Type             PRICTRL0;       /**< Offset: 0x14 (R/W  32) Priority Control 0 */
+  __I  uint8_t                        Reserved2[8];
+  __IO DMAC_INTPEND_Type              INTPEND;        /**< Offset: 0x20 (R/W  16) Interrupt Pending */
+  __I  uint8_t                        Reserved3[2];
+  __I  DMAC_INTSTATUS_Type            INTSTATUS;      /**< Offset: 0x24 (R/   32) Interrupt Status */
+  __I  DMAC_BUSYCH_Type               BUSYCH;         /**< Offset: 0x28 (R/   32) Busy Channels */
+  __I  DMAC_PENDCH_Type               PENDCH;         /**< Offset: 0x2C (R/   32) Pending Channels */
+  __I  DMAC_ACTIVE_Type               ACTIVE;         /**< Offset: 0x30 (R/   32) Active Channel and Levels */
+  __IO DMAC_BASEADDR_Type             BASEADDR;       /**< Offset: 0x34 (R/W  32) Descriptor Memory Section Base Address */
+  __IO DMAC_WRBADDR_Type              WRBADDR;        /**< Offset: 0x38 (R/W  32) Write-Back Memory Section Base Address */
+  __I  uint8_t                        Reserved4[3];
+  __IO DMAC_CHID_Type                 CHID;           /**< Offset: 0x3F (R/W   8) Channel ID */
+  __IO DMAC_CHCTRLA_Type              CHCTRLA;        /**< Offset: 0x40 (R/W   8) Channel Control A */
+  __I  uint8_t                        Reserved5[3];
+  __IO DMAC_CHCTRLB_Type              CHCTRLB;        /**< Offset: 0x44 (R/W  32) Channel Control B */
+  __I  uint8_t                        Reserved6[4];
+  __IO DMAC_CHINTENCLR_Type           CHINTENCLR;     /**< Offset: 0x4C (R/W   8) Channel Interrupt Enable Clear */
+  __IO DMAC_CHINTENSET_Type           CHINTENSET;     /**< Offset: 0x4D (R/W   8) Channel Interrupt Enable Set */
+  __IO DMAC_CHINTFLAG_Type            CHINTFLAG;      /**< Offset: 0x4E (R/W   8) Channel Interrupt Flag Status and Clear */
+  __I  DMAC_CHSTATUS_Type             CHSTATUS;       /**< Offset: 0x4F (R/    8) Channel Status */
+} Dmac;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** \brief DMAC_DESCRIPTOR memory section attribute */
+#define SECTION_DMAC_DESCRIPTOR
+
+/** @}  end of Direct Memory Access Controller */
+
+#endif /* _SAML11_DMAC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/dsu.h b/cpu/sam0_common/include/vendor/saml11/include/component/dsu.h
new file mode 100644
index 0000000000..f2cb14bd44
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/dsu.h
@@ -0,0 +1,785 @@
+/**
+ * \file
+ *
+ * \brief Component description for DSU
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_DSU_COMPONENT_H_
+#define _SAML11_DSU_COMPONENT_H_
+#define _SAML11_DSU_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Device Service Unit
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR DSU */
+/* ========================================================================== */
+
+#define DSU_U2810                      /**< (DSU) Module ID */
+#define REV_DSU 0x100                  /**< (DSU) Module revision */
+
+/* -------- DSU_CTRL : (DSU Offset: 0x00) (/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  :1;                        /**< bit:      1  Reserved */
+    uint8_t  CRC:1;                     /**< bit:      2  32-bit Cyclic Redundancy Code            */
+    uint8_t  MBIST:1;                   /**< bit:      3  Memory built-in self-test                */
+    uint8_t  :4;                        /**< bit:   4..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DSU_CTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CTRL_OFFSET                     (0x00)                                        /**<  (DSU_CTRL) Control  Offset */
+#define DSU_CTRL_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_CTRL) Control  Reset Value */
+
+#define DSU_CTRL_SWRST_Pos                  0                                              /**< (DSU_CTRL) Software Reset Position */
+#define DSU_CTRL_SWRST_Msk                  (_U_(0x1) << DSU_CTRL_SWRST_Pos)               /**< (DSU_CTRL) Software Reset Mask */
+#define DSU_CTRL_SWRST                      DSU_CTRL_SWRST_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_CTRL_SWRST_Msk instead */
+#define DSU_CTRL_CRC_Pos                    2                                              /**< (DSU_CTRL) 32-bit Cyclic Redundancy Code Position */
+#define DSU_CTRL_CRC_Msk                    (_U_(0x1) << DSU_CTRL_CRC_Pos)                 /**< (DSU_CTRL) 32-bit Cyclic Redundancy Code Mask */
+#define DSU_CTRL_CRC                        DSU_CTRL_CRC_Msk                               /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_CTRL_CRC_Msk instead */
+#define DSU_CTRL_MBIST_Pos                  3                                              /**< (DSU_CTRL) Memory built-in self-test Position */
+#define DSU_CTRL_MBIST_Msk                  (_U_(0x1) << DSU_CTRL_MBIST_Pos)               /**< (DSU_CTRL) Memory built-in self-test Mask */
+#define DSU_CTRL_MBIST                      DSU_CTRL_MBIST_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_CTRL_MBIST_Msk instead */
+#define DSU_CTRL_MASK                       _U_(0x0D)                                      /**< \deprecated (DSU_CTRL) Register MASK  (Use DSU_CTRL_Msk instead)  */
+#define DSU_CTRL_Msk                        _U_(0x0D)                                      /**< (DSU_CTRL) Register Mask  */
+
+
+/* -------- DSU_STATUSA : (DSU Offset: 0x01) (R/W 8) Status A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DONE:1;                    /**< bit:      0  Done                                     */
+    uint8_t  CRSTEXT:1;                 /**< bit:      1  CPU Reset Phase Extension                */
+    uint8_t  BERR:1;                    /**< bit:      2  Bus Error                                */
+    uint8_t  FAIL:1;                    /**< bit:      3  Failure                                  */
+    uint8_t  PERR:1;                    /**< bit:      4  Protection Error Detected by the State Machine */
+    uint8_t  BREXT:1;                   /**< bit:      5  BootRom Phase Extension                  */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} DSU_STATUSA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_STATUSA_OFFSET                  (0x01)                                        /**<  (DSU_STATUSA) Status A  Offset */
+#define DSU_STATUSA_RESETVALUE              _U_(0x00)                                     /**<  (DSU_STATUSA) Status A  Reset Value */
+
+#define DSU_STATUSA_DONE_Pos                0                                              /**< (DSU_STATUSA) Done Position */
+#define DSU_STATUSA_DONE_Msk                (_U_(0x1) << DSU_STATUSA_DONE_Pos)             /**< (DSU_STATUSA) Done Mask */
+#define DSU_STATUSA_DONE                    DSU_STATUSA_DONE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_DONE_Msk instead */
+#define DSU_STATUSA_CRSTEXT_Pos             1                                              /**< (DSU_STATUSA) CPU Reset Phase Extension Position */
+#define DSU_STATUSA_CRSTEXT_Msk             (_U_(0x1) << DSU_STATUSA_CRSTEXT_Pos)          /**< (DSU_STATUSA) CPU Reset Phase Extension Mask */
+#define DSU_STATUSA_CRSTEXT                 DSU_STATUSA_CRSTEXT_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_CRSTEXT_Msk instead */
+#define DSU_STATUSA_BERR_Pos                2                                              /**< (DSU_STATUSA) Bus Error Position */
+#define DSU_STATUSA_BERR_Msk                (_U_(0x1) << DSU_STATUSA_BERR_Pos)             /**< (DSU_STATUSA) Bus Error Mask */
+#define DSU_STATUSA_BERR                    DSU_STATUSA_BERR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_BERR_Msk instead */
+#define DSU_STATUSA_FAIL_Pos                3                                              /**< (DSU_STATUSA) Failure Position */
+#define DSU_STATUSA_FAIL_Msk                (_U_(0x1) << DSU_STATUSA_FAIL_Pos)             /**< (DSU_STATUSA) Failure Mask */
+#define DSU_STATUSA_FAIL                    DSU_STATUSA_FAIL_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_FAIL_Msk instead */
+#define DSU_STATUSA_PERR_Pos                4                                              /**< (DSU_STATUSA) Protection Error Detected by the State Machine Position */
+#define DSU_STATUSA_PERR_Msk                (_U_(0x1) << DSU_STATUSA_PERR_Pos)             /**< (DSU_STATUSA) Protection Error Detected by the State Machine Mask */
+#define DSU_STATUSA_PERR                    DSU_STATUSA_PERR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_PERR_Msk instead */
+#define DSU_STATUSA_BREXT_Pos               5                                              /**< (DSU_STATUSA) BootRom Phase Extension Position */
+#define DSU_STATUSA_BREXT_Msk               (_U_(0x1) << DSU_STATUSA_BREXT_Pos)            /**< (DSU_STATUSA) BootRom Phase Extension Mask */
+#define DSU_STATUSA_BREXT                   DSU_STATUSA_BREXT_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSA_BREXT_Msk instead */
+#define DSU_STATUSA_MASK                    _U_(0x3F)                                      /**< \deprecated (DSU_STATUSA) Register MASK  (Use DSU_STATUSA_Msk instead)  */
+#define DSU_STATUSA_Msk                     _U_(0x3F)                                      /**< (DSU_STATUSA) Register Mask  */
+
+
+/* -------- DSU_STATUSB : (DSU Offset: 0x02) (R/ 8) Status B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DAL:2;                     /**< bit:   0..1  Debugger Access Level                    */
+    uint8_t  DBGPRES:1;                 /**< bit:      2  Debugger Present                         */
+    uint8_t  HPE:1;                     /**< bit:      3  Hot-Plugging Enable                      */
+    uint8_t  DCCD0:1;                   /**< bit:      4  Debug Communication Channel 0 Dirty      */
+    uint8_t  DCCD1:1;                   /**< bit:      5  Debug Communication Channel 1 Dirty      */
+    uint8_t  BCCD0:1;                   /**< bit:      6  Boot ROM Communication Channel 0 Dirty   */
+    uint8_t  BCCD1:1;                   /**< bit:      7  Boot ROM Communication Channel 1 Dirty   */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  :4;                        /**< bit:   0..3  Reserved */
+    uint8_t  DCCD:2;                    /**< bit:   4..5  Debug Communication Channel x Dirty      */
+    uint8_t  BCCD:2;                    /**< bit:   6..7  Boot ROM Communication Channel x Dirty   */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} DSU_STATUSB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_STATUSB_OFFSET                  (0x02)                                        /**<  (DSU_STATUSB) Status B  Offset */
+#define DSU_STATUSB_RESETVALUE              _U_(0x00)                                     /**<  (DSU_STATUSB) Status B  Reset Value */
+
+#define DSU_STATUSB_DAL_Pos                 0                                              /**< (DSU_STATUSB) Debugger Access Level Position */
+#define DSU_STATUSB_DAL_Msk                 (_U_(0x3) << DSU_STATUSB_DAL_Pos)              /**< (DSU_STATUSB) Debugger Access Level Mask */
+#define DSU_STATUSB_DAL(value)              (DSU_STATUSB_DAL_Msk & ((value) << DSU_STATUSB_DAL_Pos))
+#define   DSU_STATUSB_DAL_SECURED_Val       _U_(0x0)                                       /**< (DSU_STATUSB)   */
+#define   DSU_STATUSB_DAL_NS_DEBUG_Val      _U_(0x1)                                       /**< (DSU_STATUSB)   */
+#define   DSU_STATUSB_DAL_FULL_DEBUG_Val    _U_(0x2)                                       /**< (DSU_STATUSB)   */
+#define DSU_STATUSB_DAL_SECURED             (DSU_STATUSB_DAL_SECURED_Val << DSU_STATUSB_DAL_Pos)  /**< (DSU_STATUSB)  Position  */
+#define DSU_STATUSB_DAL_NS_DEBUG            (DSU_STATUSB_DAL_NS_DEBUG_Val << DSU_STATUSB_DAL_Pos)  /**< (DSU_STATUSB)  Position  */
+#define DSU_STATUSB_DAL_FULL_DEBUG          (DSU_STATUSB_DAL_FULL_DEBUG_Val << DSU_STATUSB_DAL_Pos)  /**< (DSU_STATUSB)  Position  */
+#define DSU_STATUSB_DBGPRES_Pos             2                                              /**< (DSU_STATUSB) Debugger Present Position */
+#define DSU_STATUSB_DBGPRES_Msk             (_U_(0x1) << DSU_STATUSB_DBGPRES_Pos)          /**< (DSU_STATUSB) Debugger Present Mask */
+#define DSU_STATUSB_DBGPRES                 DSU_STATUSB_DBGPRES_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_DBGPRES_Msk instead */
+#define DSU_STATUSB_HPE_Pos                 3                                              /**< (DSU_STATUSB) Hot-Plugging Enable Position */
+#define DSU_STATUSB_HPE_Msk                 (_U_(0x1) << DSU_STATUSB_HPE_Pos)              /**< (DSU_STATUSB) Hot-Plugging Enable Mask */
+#define DSU_STATUSB_HPE                     DSU_STATUSB_HPE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_HPE_Msk instead */
+#define DSU_STATUSB_DCCD0_Pos               4                                              /**< (DSU_STATUSB) Debug Communication Channel 0 Dirty Position */
+#define DSU_STATUSB_DCCD0_Msk               (_U_(0x1) << DSU_STATUSB_DCCD0_Pos)            /**< (DSU_STATUSB) Debug Communication Channel 0 Dirty Mask */
+#define DSU_STATUSB_DCCD0                   DSU_STATUSB_DCCD0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_DCCD0_Msk instead */
+#define DSU_STATUSB_DCCD1_Pos               5                                              /**< (DSU_STATUSB) Debug Communication Channel 1 Dirty Position */
+#define DSU_STATUSB_DCCD1_Msk               (_U_(0x1) << DSU_STATUSB_DCCD1_Pos)            /**< (DSU_STATUSB) Debug Communication Channel 1 Dirty Mask */
+#define DSU_STATUSB_DCCD1                   DSU_STATUSB_DCCD1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_DCCD1_Msk instead */
+#define DSU_STATUSB_BCCD0_Pos               6                                              /**< (DSU_STATUSB) Boot ROM Communication Channel 0 Dirty Position */
+#define DSU_STATUSB_BCCD0_Msk               (_U_(0x1) << DSU_STATUSB_BCCD0_Pos)            /**< (DSU_STATUSB) Boot ROM Communication Channel 0 Dirty Mask */
+#define DSU_STATUSB_BCCD0                   DSU_STATUSB_BCCD0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_BCCD0_Msk instead */
+#define DSU_STATUSB_BCCD1_Pos               7                                              /**< (DSU_STATUSB) Boot ROM Communication Channel 1 Dirty Position */
+#define DSU_STATUSB_BCCD1_Msk               (_U_(0x1) << DSU_STATUSB_BCCD1_Pos)            /**< (DSU_STATUSB) Boot ROM Communication Channel 1 Dirty Mask */
+#define DSU_STATUSB_BCCD1                   DSU_STATUSB_BCCD1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_STATUSB_BCCD1_Msk instead */
+#define DSU_STATUSB_MASK                    _U_(0xFF)                                      /**< \deprecated (DSU_STATUSB) Register MASK  (Use DSU_STATUSB_Msk instead)  */
+#define DSU_STATUSB_Msk                     _U_(0xFF)                                      /**< (DSU_STATUSB) Register Mask  */
+
+#define DSU_STATUSB_DCCD_Pos                4                                              /**< (DSU_STATUSB Position) Debug Communication Channel x Dirty */
+#define DSU_STATUSB_DCCD_Msk                (_U_(0x3) << DSU_STATUSB_DCCD_Pos)             /**< (DSU_STATUSB Mask) DCCD */
+#define DSU_STATUSB_DCCD(value)             (DSU_STATUSB_DCCD_Msk & ((value) << DSU_STATUSB_DCCD_Pos))  
+#define DSU_STATUSB_BCCD_Pos                6                                              /**< (DSU_STATUSB Position) Boot ROM Communication Channel x Dirty */
+#define DSU_STATUSB_BCCD_Msk                (_U_(0x3) << DSU_STATUSB_BCCD_Pos)             /**< (DSU_STATUSB Mask) BCCD */
+#define DSU_STATUSB_BCCD(value)             (DSU_STATUSB_BCCD_Msk & ((value) << DSU_STATUSB_BCCD_Pos))  
+
+/* -------- DSU_STATUSC : (DSU Offset: 0x03) (R/ 8) Status C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint8_t  reg;                         /**< Type used for register access */
+} DSU_STATUSC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_STATUSC_OFFSET                  (0x03)                                        /**<  (DSU_STATUSC) Status C  Offset */
+#define DSU_STATUSC_RESETVALUE              _U_(0x00)                                     /**<  (DSU_STATUSC) Status C  Reset Value */
+
+#define DSU_STATUSC_MASK                    _U_(0x00)                                      /**< \deprecated (DSU_STATUSC) Register MASK  (Use DSU_STATUSC_Msk instead)  */
+#define DSU_STATUSC_Msk                     _U_(0x00)                                      /**< (DSU_STATUSC) Register Mask  */
+
+
+/* -------- DSU_ADDR : (DSU Offset: 0x04) (R/W 32) Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t AMOD:2;                    /**< bit:   0..1  Access Mode                              */
+    uint32_t ADDR:30;                   /**< bit:  2..31  Address                                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_ADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_ADDR_OFFSET                     (0x04)                                        /**<  (DSU_ADDR) Address  Offset */
+#define DSU_ADDR_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_ADDR) Address  Reset Value */
+
+#define DSU_ADDR_AMOD_Pos                   0                                              /**< (DSU_ADDR) Access Mode Position */
+#define DSU_ADDR_AMOD_Msk                   (_U_(0x3) << DSU_ADDR_AMOD_Pos)                /**< (DSU_ADDR) Access Mode Mask */
+#define DSU_ADDR_AMOD(value)                (DSU_ADDR_AMOD_Msk & ((value) << DSU_ADDR_AMOD_Pos))
+#define DSU_ADDR_ADDR_Pos                   2                                              /**< (DSU_ADDR) Address Position */
+#define DSU_ADDR_ADDR_Msk                   (_U_(0x3FFFFFFF) << DSU_ADDR_ADDR_Pos)         /**< (DSU_ADDR) Address Mask */
+#define DSU_ADDR_ADDR(value)                (DSU_ADDR_ADDR_Msk & ((value) << DSU_ADDR_ADDR_Pos))
+#define DSU_ADDR_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_ADDR) Register MASK  (Use DSU_ADDR_Msk instead)  */
+#define DSU_ADDR_Msk                        _U_(0xFFFFFFFF)                                /**< (DSU_ADDR) Register Mask  */
+
+
+/* -------- DSU_LENGTH : (DSU Offset: 0x08) (R/W 32) Length -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :2;                        /**< bit:   0..1  Reserved */
+    uint32_t LENGTH:30;                 /**< bit:  2..31  Length                                   */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_LENGTH_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_LENGTH_OFFSET                   (0x08)                                        /**<  (DSU_LENGTH) Length  Offset */
+#define DSU_LENGTH_RESETVALUE               _U_(0x00)                                     /**<  (DSU_LENGTH) Length  Reset Value */
+
+#define DSU_LENGTH_LENGTH_Pos               2                                              /**< (DSU_LENGTH) Length Position */
+#define DSU_LENGTH_LENGTH_Msk               (_U_(0x3FFFFFFF) << DSU_LENGTH_LENGTH_Pos)     /**< (DSU_LENGTH) Length Mask */
+#define DSU_LENGTH_LENGTH(value)            (DSU_LENGTH_LENGTH_Msk & ((value) << DSU_LENGTH_LENGTH_Pos))
+#define DSU_LENGTH_MASK                     _U_(0xFFFFFFFC)                                /**< \deprecated (DSU_LENGTH) Register MASK  (Use DSU_LENGTH_Msk instead)  */
+#define DSU_LENGTH_Msk                      _U_(0xFFFFFFFC)                                /**< (DSU_LENGTH) Register Mask  */
+
+
+/* -------- DSU_DATA : (DSU Offset: 0x0c) (R/W 32) Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:32;                   /**< bit:  0..31  Data                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_DATA_OFFSET                     (0x0C)                                        /**<  (DSU_DATA) Data  Offset */
+#define DSU_DATA_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_DATA) Data  Reset Value */
+
+#define DSU_DATA_DATA_Pos                   0                                              /**< (DSU_DATA) Data Position */
+#define DSU_DATA_DATA_Msk                   (_U_(0xFFFFFFFF) << DSU_DATA_DATA_Pos)         /**< (DSU_DATA) Data Mask */
+#define DSU_DATA_DATA(value)                (DSU_DATA_DATA_Msk & ((value) << DSU_DATA_DATA_Pos))
+#define DSU_DATA_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_DATA) Register MASK  (Use DSU_DATA_Msk instead)  */
+#define DSU_DATA_Msk                        _U_(0xFFFFFFFF)                                /**< (DSU_DATA) Register Mask  */
+
+
+/* -------- DSU_DCC : (DSU Offset: 0x10) (R/W 32) Debug Communication Channel n -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:32;                   /**< bit:  0..31  Data                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_DCC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_DCC_OFFSET                      (0x10)                                        /**<  (DSU_DCC) Debug Communication Channel n  Offset */
+#define DSU_DCC_RESETVALUE                  _U_(0x00)                                     /**<  (DSU_DCC) Debug Communication Channel n  Reset Value */
+
+#define DSU_DCC_DATA_Pos                    0                                              /**< (DSU_DCC) Data Position */
+#define DSU_DCC_DATA_Msk                    (_U_(0xFFFFFFFF) << DSU_DCC_DATA_Pos)          /**< (DSU_DCC) Data Mask */
+#define DSU_DCC_DATA(value)                 (DSU_DCC_DATA_Msk & ((value) << DSU_DCC_DATA_Pos))
+#define DSU_DCC_MASK                        _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_DCC) Register MASK  (Use DSU_DCC_Msk instead)  */
+#define DSU_DCC_Msk                         _U_(0xFFFFFFFF)                                /**< (DSU_DCC) Register Mask  */
+
+
+/* -------- DSU_DID : (DSU Offset: 0x18) (R/ 32) Device Identification -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DEVSEL:8;                  /**< bit:   0..7  Device Select                            */
+    uint32_t REVISION:4;                /**< bit:  8..11  Revision Number                          */
+    uint32_t DIE:4;                     /**< bit: 12..15  Die Number                               */
+    uint32_t SERIES:6;                  /**< bit: 16..21  Series                                   */
+    uint32_t :1;                        /**< bit:     22  Reserved */
+    uint32_t FAMILY:5;                  /**< bit: 23..27  Family                                   */
+    uint32_t PROCESSOR:4;               /**< bit: 28..31  Processor                                */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_DID_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_DID_OFFSET                      (0x18)                                        /**<  (DSU_DID) Device Identification  Offset */
+#define DSU_DID_RESETVALUE                  _U_(0x20830000)                               /**<  (DSU_DID) Device Identification  Reset Value */
+
+#define DSU_DID_DEVSEL_Pos                  0                                              /**< (DSU_DID) Device Select Position */
+#define DSU_DID_DEVSEL_Msk                  (_U_(0xFF) << DSU_DID_DEVSEL_Pos)              /**< (DSU_DID) Device Select Mask */
+#define DSU_DID_DEVSEL(value)               (DSU_DID_DEVSEL_Msk & ((value) << DSU_DID_DEVSEL_Pos))
+#define DSU_DID_REVISION_Pos                8                                              /**< (DSU_DID) Revision Number Position */
+#define DSU_DID_REVISION_Msk                (_U_(0xF) << DSU_DID_REVISION_Pos)             /**< (DSU_DID) Revision Number Mask */
+#define DSU_DID_REVISION(value)             (DSU_DID_REVISION_Msk & ((value) << DSU_DID_REVISION_Pos))
+#define DSU_DID_DIE_Pos                     12                                             /**< (DSU_DID) Die Number Position */
+#define DSU_DID_DIE_Msk                     (_U_(0xF) << DSU_DID_DIE_Pos)                  /**< (DSU_DID) Die Number Mask */
+#define DSU_DID_DIE(value)                  (DSU_DID_DIE_Msk & ((value) << DSU_DID_DIE_Pos))
+#define DSU_DID_SERIES_Pos                  16                                             /**< (DSU_DID) Series Position */
+#define DSU_DID_SERIES_Msk                  (_U_(0x3F) << DSU_DID_SERIES_Pos)              /**< (DSU_DID) Series Mask */
+#define DSU_DID_SERIES(value)               (DSU_DID_SERIES_Msk & ((value) << DSU_DID_SERIES_Pos))
+#define   DSU_DID_SERIES_0_Val              _U_(0x0)                                       /**< (DSU_DID) Cortex-M0+ processor, basic feature set  */
+#define   DSU_DID_SERIES_1_Val              _U_(0x1)                                       /**< (DSU_DID) Cortex-M0+ processor, USB  */
+#define DSU_DID_SERIES_0                    (DSU_DID_SERIES_0_Val << DSU_DID_SERIES_Pos)   /**< (DSU_DID) Cortex-M0+ processor, basic feature set Position  */
+#define DSU_DID_SERIES_1                    (DSU_DID_SERIES_1_Val << DSU_DID_SERIES_Pos)   /**< (DSU_DID) Cortex-M0+ processor, USB Position  */
+#define DSU_DID_FAMILY_Pos                  23                                             /**< (DSU_DID) Family Position */
+#define DSU_DID_FAMILY_Msk                  (_U_(0x1F) << DSU_DID_FAMILY_Pos)              /**< (DSU_DID) Family Mask */
+#define DSU_DID_FAMILY(value)               (DSU_DID_FAMILY_Msk & ((value) << DSU_DID_FAMILY_Pos))
+#define   DSU_DID_FAMILY_0_Val              _U_(0x0)                                       /**< (DSU_DID) General purpose microcontroller  */
+#define   DSU_DID_FAMILY_1_Val              _U_(0x1)                                       /**< (DSU_DID) PicoPower  */
+#define DSU_DID_FAMILY_0                    (DSU_DID_FAMILY_0_Val << DSU_DID_FAMILY_Pos)   /**< (DSU_DID) General purpose microcontroller Position  */
+#define DSU_DID_FAMILY_1                    (DSU_DID_FAMILY_1_Val << DSU_DID_FAMILY_Pos)   /**< (DSU_DID) PicoPower Position  */
+#define DSU_DID_PROCESSOR_Pos               28                                             /**< (DSU_DID) Processor Position */
+#define DSU_DID_PROCESSOR_Msk               (_U_(0xF) << DSU_DID_PROCESSOR_Pos)            /**< (DSU_DID) Processor Mask */
+#define DSU_DID_PROCESSOR(value)            (DSU_DID_PROCESSOR_Msk & ((value) << DSU_DID_PROCESSOR_Pos))
+#define   DSU_DID_PROCESSOR_CM0P_Val        _U_(0x1)                                       /**< (DSU_DID) Cortex-M0+  */
+#define   DSU_DID_PROCESSOR_CM23_Val        _U_(0x2)                                       /**< (DSU_DID) Cortex-M23  */
+#define   DSU_DID_PROCESSOR_CM3_Val         _U_(0x3)                                       /**< (DSU_DID) Cortex-M3  */
+#define   DSU_DID_PROCESSOR_CM4_Val         _U_(0x5)                                       /**< (DSU_DID) Cortex-M4  */
+#define   DSU_DID_PROCESSOR_CM4F_Val        _U_(0x6)                                       /**< (DSU_DID) Cortex-M4 with FPU  */
+#define   DSU_DID_PROCESSOR_CM33_Val        _U_(0x7)                                       /**< (DSU_DID) Cortex-M33  */
+#define DSU_DID_PROCESSOR_CM0P              (DSU_DID_PROCESSOR_CM0P_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M0+ Position  */
+#define DSU_DID_PROCESSOR_CM23              (DSU_DID_PROCESSOR_CM23_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M23 Position  */
+#define DSU_DID_PROCESSOR_CM3               (DSU_DID_PROCESSOR_CM3_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M3 Position  */
+#define DSU_DID_PROCESSOR_CM4               (DSU_DID_PROCESSOR_CM4_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M4 Position  */
+#define DSU_DID_PROCESSOR_CM4F              (DSU_DID_PROCESSOR_CM4F_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M4 with FPU Position  */
+#define DSU_DID_PROCESSOR_CM33              (DSU_DID_PROCESSOR_CM33_Val << DSU_DID_PROCESSOR_Pos)  /**< (DSU_DID) Cortex-M33 Position  */
+#define DSU_DID_MASK                        _U_(0xFFBFFFFF)                                /**< \deprecated (DSU_DID) Register MASK  (Use DSU_DID_Msk instead)  */
+#define DSU_DID_Msk                         _U_(0xFFBFFFFF)                                /**< (DSU_DID) Register Mask  */
+
+
+/* -------- DSU_CFG : (DSU Offset: 0x1c) (R/W 32) Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t LQOS:2;                    /**< bit:   0..1  Latency Quality Of Service               */
+    uint32_t DCCDMALEVEL:2;             /**< bit:   2..3  DMA Trigger Level                        */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_CFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CFG_OFFSET                      (0x1C)                                        /**<  (DSU_CFG) Configuration  Offset */
+#define DSU_CFG_RESETVALUE                  _U_(0x02)                                     /**<  (DSU_CFG) Configuration  Reset Value */
+
+#define DSU_CFG_LQOS_Pos                    0                                              /**< (DSU_CFG) Latency Quality Of Service Position */
+#define DSU_CFG_LQOS_Msk                    (_U_(0x3) << DSU_CFG_LQOS_Pos)                 /**< (DSU_CFG) Latency Quality Of Service Mask */
+#define DSU_CFG_LQOS(value)                 (DSU_CFG_LQOS_Msk & ((value) << DSU_CFG_LQOS_Pos))
+#define DSU_CFG_DCCDMALEVEL_Pos             2                                              /**< (DSU_CFG) DMA Trigger Level Position */
+#define DSU_CFG_DCCDMALEVEL_Msk             (_U_(0x3) << DSU_CFG_DCCDMALEVEL_Pos)          /**< (DSU_CFG) DMA Trigger Level Mask */
+#define DSU_CFG_DCCDMALEVEL(value)          (DSU_CFG_DCCDMALEVEL_Msk & ((value) << DSU_CFG_DCCDMALEVEL_Pos))
+#define   DSU_CFG_DCCDMALEVEL_EMPTY_Val     _U_(0x0)                                       /**< (DSU_CFG) Trigger rises when DCC is empty  */
+#define   DSU_CFG_DCCDMALEVEL_FULL_Val      _U_(0x1)                                       /**< (DSU_CFG) Trigger rises when DCC is full  */
+#define DSU_CFG_DCCDMALEVEL_EMPTY           (DSU_CFG_DCCDMALEVEL_EMPTY_Val << DSU_CFG_DCCDMALEVEL_Pos)  /**< (DSU_CFG) Trigger rises when DCC is empty Position  */
+#define DSU_CFG_DCCDMALEVEL_FULL            (DSU_CFG_DCCDMALEVEL_FULL_Val << DSU_CFG_DCCDMALEVEL_Pos)  /**< (DSU_CFG) Trigger rises when DCC is full Position  */
+#define DSU_CFG_MASK                        _U_(0x0F)                                      /**< \deprecated (DSU_CFG) Register MASK  (Use DSU_CFG_Msk instead)  */
+#define DSU_CFG_Msk                         _U_(0x0F)                                      /**< (DSU_CFG) Register Mask  */
+
+
+/* -------- DSU_BCC : (DSU Offset: 0x20) (R/W 32) Boot ROM Communication Channel n -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:32;                   /**< bit:  0..31  Data                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_BCC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_BCC_OFFSET                      (0x20)                                        /**<  (DSU_BCC) Boot ROM Communication Channel n  Offset */
+#define DSU_BCC_RESETVALUE                  _U_(0x00)                                     /**<  (DSU_BCC) Boot ROM Communication Channel n  Reset Value */
+
+#define DSU_BCC_DATA_Pos                    0                                              /**< (DSU_BCC) Data Position */
+#define DSU_BCC_DATA_Msk                    (_U_(0xFFFFFFFF) << DSU_BCC_DATA_Pos)          /**< (DSU_BCC) Data Mask */
+#define DSU_BCC_DATA(value)                 (DSU_BCC_DATA_Msk & ((value) << DSU_BCC_DATA_Pos))
+#define DSU_BCC_MASK                        _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_BCC) Register MASK  (Use DSU_BCC_Msk instead)  */
+#define DSU_BCC_Msk                         _U_(0xFFFFFFFF)                                /**< (DSU_BCC) Register Mask  */
+
+
+/* -------- DSU_DCFG : (DSU Offset: 0xf0) (R/W 32) Device Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DCFG:32;                   /**< bit:  0..31  Device Configuration                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_DCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_DCFG_OFFSET                     (0xF0)                                        /**<  (DSU_DCFG) Device Configuration  Offset */
+#define DSU_DCFG_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_DCFG) Device Configuration  Reset Value */
+
+#define DSU_DCFG_DCFG_Pos                   0                                              /**< (DSU_DCFG) Device Configuration Position */
+#define DSU_DCFG_DCFG_Msk                   (_U_(0xFFFFFFFF) << DSU_DCFG_DCFG_Pos)         /**< (DSU_DCFG) Device Configuration Mask */
+#define DSU_DCFG_DCFG(value)                (DSU_DCFG_DCFG_Msk & ((value) << DSU_DCFG_DCFG_Pos))
+#define DSU_DCFG_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_DCFG) Register MASK  (Use DSU_DCFG_Msk instead)  */
+#define DSU_DCFG_Msk                        _U_(0xFFFFFFFF)                                /**< (DSU_DCFG) Register Mask  */
+
+
+/* -------- DSU_ENTRY0 : (DSU Offset: 0x1000) (R/ 32) CoreSight ROM Table Entry 0 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EPRES:1;                   /**< bit:      0  Entry Present                            */
+    uint32_t FMT:1;                     /**< bit:      1  Format                                   */
+    uint32_t :10;                       /**< bit:  2..11  Reserved */
+    uint32_t ADDOFF:20;                 /**< bit: 12..31  Address Offset                           */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_ENTRY0_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_ENTRY0_OFFSET                   (0x1000)                                      /**<  (DSU_ENTRY0) CoreSight ROM Table Entry 0  Offset */
+#define DSU_ENTRY0_RESETVALUE               _U_(0x9F0FC002)                               /**<  (DSU_ENTRY0) CoreSight ROM Table Entry 0  Reset Value */
+
+#define DSU_ENTRY0_EPRES_Pos                0                                              /**< (DSU_ENTRY0) Entry Present Position */
+#define DSU_ENTRY0_EPRES_Msk                (_U_(0x1) << DSU_ENTRY0_EPRES_Pos)             /**< (DSU_ENTRY0) Entry Present Mask */
+#define DSU_ENTRY0_EPRES                    DSU_ENTRY0_EPRES_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_ENTRY0_EPRES_Msk instead */
+#define DSU_ENTRY0_FMT_Pos                  1                                              /**< (DSU_ENTRY0) Format Position */
+#define DSU_ENTRY0_FMT_Msk                  (_U_(0x1) << DSU_ENTRY0_FMT_Pos)               /**< (DSU_ENTRY0) Format Mask */
+#define DSU_ENTRY0_FMT                      DSU_ENTRY0_FMT_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_ENTRY0_FMT_Msk instead */
+#define DSU_ENTRY0_ADDOFF_Pos               12                                             /**< (DSU_ENTRY0) Address Offset Position */
+#define DSU_ENTRY0_ADDOFF_Msk               (_U_(0xFFFFF) << DSU_ENTRY0_ADDOFF_Pos)        /**< (DSU_ENTRY0) Address Offset Mask */
+#define DSU_ENTRY0_ADDOFF(value)            (DSU_ENTRY0_ADDOFF_Msk & ((value) << DSU_ENTRY0_ADDOFF_Pos))
+#define DSU_ENTRY0_MASK                     _U_(0xFFFFF003)                                /**< \deprecated (DSU_ENTRY0) Register MASK  (Use DSU_ENTRY0_Msk instead)  */
+#define DSU_ENTRY0_Msk                      _U_(0xFFFFF003)                                /**< (DSU_ENTRY0) Register Mask  */
+
+
+/* -------- DSU_ENTRY1 : (DSU Offset: 0x1004) (R/ 32) CoreSight ROM Table Entry 1 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_ENTRY1_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_ENTRY1_OFFSET                   (0x1004)                                      /**<  (DSU_ENTRY1) CoreSight ROM Table Entry 1  Offset */
+#define DSU_ENTRY1_RESETVALUE               _U_(0x00)                                     /**<  (DSU_ENTRY1) CoreSight ROM Table Entry 1  Reset Value */
+
+#define DSU_ENTRY1_MASK                     _U_(0x00)                                      /**< \deprecated (DSU_ENTRY1) Register MASK  (Use DSU_ENTRY1_Msk instead)  */
+#define DSU_ENTRY1_Msk                      _U_(0x00)                                      /**< (DSU_ENTRY1) Register Mask  */
+
+
+/* -------- DSU_END : (DSU Offset: 0x1008) (R/ 32) CoreSight ROM Table End -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t END:32;                    /**< bit:  0..31  End Marker                               */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_END_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_END_OFFSET                      (0x1008)                                      /**<  (DSU_END) CoreSight ROM Table End  Offset */
+#define DSU_END_RESETVALUE                  _U_(0x00)                                     /**<  (DSU_END) CoreSight ROM Table End  Reset Value */
+
+#define DSU_END_END_Pos                     0                                              /**< (DSU_END) End Marker Position */
+#define DSU_END_END_Msk                     (_U_(0xFFFFFFFF) << DSU_END_END_Pos)           /**< (DSU_END) End Marker Mask */
+#define DSU_END_END(value)                  (DSU_END_END_Msk & ((value) << DSU_END_END_Pos))
+#define DSU_END_MASK                        _U_(0xFFFFFFFF)                                /**< \deprecated (DSU_END) Register MASK  (Use DSU_END_Msk instead)  */
+#define DSU_END_Msk                         _U_(0xFFFFFFFF)                                /**< (DSU_END) Register Mask  */
+
+
+/* -------- DSU_MEMTYPE : (DSU Offset: 0x1fcc) (R/ 32) CoreSight ROM Table Memory Type -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SMEMP:1;                   /**< bit:      0  System Memory Present                    */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_MEMTYPE_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_MEMTYPE_OFFSET                  (0x1FCC)                                      /**<  (DSU_MEMTYPE) CoreSight ROM Table Memory Type  Offset */
+#define DSU_MEMTYPE_RESETVALUE              _U_(0x00)                                     /**<  (DSU_MEMTYPE) CoreSight ROM Table Memory Type  Reset Value */
+
+#define DSU_MEMTYPE_SMEMP_Pos               0                                              /**< (DSU_MEMTYPE) System Memory Present Position */
+#define DSU_MEMTYPE_SMEMP_Msk               (_U_(0x1) << DSU_MEMTYPE_SMEMP_Pos)            /**< (DSU_MEMTYPE) System Memory Present Mask */
+#define DSU_MEMTYPE_SMEMP                   DSU_MEMTYPE_SMEMP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_MEMTYPE_SMEMP_Msk instead */
+#define DSU_MEMTYPE_MASK                    _U_(0x01)                                      /**< \deprecated (DSU_MEMTYPE) Register MASK  (Use DSU_MEMTYPE_Msk instead)  */
+#define DSU_MEMTYPE_Msk                     _U_(0x01)                                      /**< (DSU_MEMTYPE) Register Mask  */
+
+
+/* -------- DSU_PID4 : (DSU Offset: 0x1fd0) (R/ 32) Peripheral Identification 4 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t JEPCC:4;                   /**< bit:   0..3  JEP-106 Continuation Code                */
+    uint32_t FKBC:4;                    /**< bit:   4..7  4KB count                                */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID4_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID4_OFFSET                     (0x1FD0)                                      /**<  (DSU_PID4) Peripheral Identification 4  Offset */
+#define DSU_PID4_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_PID4) Peripheral Identification 4  Reset Value */
+
+#define DSU_PID4_JEPCC_Pos                  0                                              /**< (DSU_PID4) JEP-106 Continuation Code Position */
+#define DSU_PID4_JEPCC_Msk                  (_U_(0xF) << DSU_PID4_JEPCC_Pos)               /**< (DSU_PID4) JEP-106 Continuation Code Mask */
+#define DSU_PID4_JEPCC(value)               (DSU_PID4_JEPCC_Msk & ((value) << DSU_PID4_JEPCC_Pos))
+#define DSU_PID4_FKBC_Pos                   4                                              /**< (DSU_PID4) 4KB count Position */
+#define DSU_PID4_FKBC_Msk                   (_U_(0xF) << DSU_PID4_FKBC_Pos)                /**< (DSU_PID4) 4KB count Mask */
+#define DSU_PID4_FKBC(value)                (DSU_PID4_FKBC_Msk & ((value) << DSU_PID4_FKBC_Pos))
+#define DSU_PID4_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_PID4) Register MASK  (Use DSU_PID4_Msk instead)  */
+#define DSU_PID4_Msk                        _U_(0xFF)                                      /**< (DSU_PID4) Register Mask  */
+
+
+/* -------- DSU_PID5 : (DSU Offset: 0x1fd4) (R/ 32) Peripheral Identification 5 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID5_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID5_OFFSET                     (0x1FD4)                                      /**<  (DSU_PID5) Peripheral Identification 5  Offset */
+#define DSU_PID5_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_PID5) Peripheral Identification 5  Reset Value */
+
+#define DSU_PID5_MASK                       _U_(0x00)                                      /**< \deprecated (DSU_PID5) Register MASK  (Use DSU_PID5_Msk instead)  */
+#define DSU_PID5_Msk                        _U_(0x00)                                      /**< (DSU_PID5) Register Mask  */
+
+
+/* -------- DSU_PID6 : (DSU Offset: 0x1fd8) (R/ 32) Peripheral Identification 6 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID6_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID6_OFFSET                     (0x1FD8)                                      /**<  (DSU_PID6) Peripheral Identification 6  Offset */
+#define DSU_PID6_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_PID6) Peripheral Identification 6  Reset Value */
+
+#define DSU_PID6_MASK                       _U_(0x00)                                      /**< \deprecated (DSU_PID6) Register MASK  (Use DSU_PID6_Msk instead)  */
+#define DSU_PID6_Msk                        _U_(0x00)                                      /**< (DSU_PID6) Register Mask  */
+
+
+/* -------- DSU_PID7 : (DSU Offset: 0x1fdc) (R/ 32) Peripheral Identification 7 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID7_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID7_OFFSET                     (0x1FDC)                                      /**<  (DSU_PID7) Peripheral Identification 7  Offset */
+#define DSU_PID7_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_PID7) Peripheral Identification 7  Reset Value */
+
+#define DSU_PID7_MASK                       _U_(0x00)                                      /**< \deprecated (DSU_PID7) Register MASK  (Use DSU_PID7_Msk instead)  */
+#define DSU_PID7_Msk                        _U_(0x00)                                      /**< (DSU_PID7) Register Mask  */
+
+
+/* -------- DSU_PID0 : (DSU Offset: 0x1fe0) (R/ 32) Peripheral Identification 0 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PARTNBL:8;                 /**< bit:   0..7  Part Number Low                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID0_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID0_OFFSET                     (0x1FE0)                                      /**<  (DSU_PID0) Peripheral Identification 0  Offset */
+#define DSU_PID0_RESETVALUE                 _U_(0xD0)                                     /**<  (DSU_PID0) Peripheral Identification 0  Reset Value */
+
+#define DSU_PID0_PARTNBL_Pos                0                                              /**< (DSU_PID0) Part Number Low Position */
+#define DSU_PID0_PARTNBL_Msk                (_U_(0xFF) << DSU_PID0_PARTNBL_Pos)            /**< (DSU_PID0) Part Number Low Mask */
+#define DSU_PID0_PARTNBL(value)             (DSU_PID0_PARTNBL_Msk & ((value) << DSU_PID0_PARTNBL_Pos))
+#define DSU_PID0_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_PID0) Register MASK  (Use DSU_PID0_Msk instead)  */
+#define DSU_PID0_Msk                        _U_(0xFF)                                      /**< (DSU_PID0) Register Mask  */
+
+
+/* -------- DSU_PID1 : (DSU Offset: 0x1fe4) (R/ 32) Peripheral Identification 1 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PARTNBH:4;                 /**< bit:   0..3  Part Number High                         */
+    uint32_t JEPIDCL:4;                 /**< bit:   4..7  Low part of the JEP-106 Identity Code    */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID1_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID1_OFFSET                     (0x1FE4)                                      /**<  (DSU_PID1) Peripheral Identification 1  Offset */
+#define DSU_PID1_RESETVALUE                 _U_(0xFC)                                     /**<  (DSU_PID1) Peripheral Identification 1  Reset Value */
+
+#define DSU_PID1_PARTNBH_Pos                0                                              /**< (DSU_PID1) Part Number High Position */
+#define DSU_PID1_PARTNBH_Msk                (_U_(0xF) << DSU_PID1_PARTNBH_Pos)             /**< (DSU_PID1) Part Number High Mask */
+#define DSU_PID1_PARTNBH(value)             (DSU_PID1_PARTNBH_Msk & ((value) << DSU_PID1_PARTNBH_Pos))
+#define DSU_PID1_JEPIDCL_Pos                4                                              /**< (DSU_PID1) Low part of the JEP-106 Identity Code Position */
+#define DSU_PID1_JEPIDCL_Msk                (_U_(0xF) << DSU_PID1_JEPIDCL_Pos)             /**< (DSU_PID1) Low part of the JEP-106 Identity Code Mask */
+#define DSU_PID1_JEPIDCL(value)             (DSU_PID1_JEPIDCL_Msk & ((value) << DSU_PID1_JEPIDCL_Pos))
+#define DSU_PID1_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_PID1) Register MASK  (Use DSU_PID1_Msk instead)  */
+#define DSU_PID1_Msk                        _U_(0xFF)                                      /**< (DSU_PID1) Register Mask  */
+
+
+/* -------- DSU_PID2 : (DSU Offset: 0x1fe8) (R/ 32) Peripheral Identification 2 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t JEPIDCH:3;                 /**< bit:   0..2  JEP-106 Identity Code High               */
+    uint32_t JEPU:1;                    /**< bit:      3  JEP-106 Identity Code is used            */
+    uint32_t REVISION:4;                /**< bit:   4..7  Revision Number                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID2_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID2_OFFSET                     (0x1FE8)                                      /**<  (DSU_PID2) Peripheral Identification 2  Offset */
+#define DSU_PID2_RESETVALUE                 _U_(0x09)                                     /**<  (DSU_PID2) Peripheral Identification 2  Reset Value */
+
+#define DSU_PID2_JEPIDCH_Pos                0                                              /**< (DSU_PID2) JEP-106 Identity Code High Position */
+#define DSU_PID2_JEPIDCH_Msk                (_U_(0x7) << DSU_PID2_JEPIDCH_Pos)             /**< (DSU_PID2) JEP-106 Identity Code High Mask */
+#define DSU_PID2_JEPIDCH(value)             (DSU_PID2_JEPIDCH_Msk & ((value) << DSU_PID2_JEPIDCH_Pos))
+#define DSU_PID2_JEPU_Pos                   3                                              /**< (DSU_PID2) JEP-106 Identity Code is used Position */
+#define DSU_PID2_JEPU_Msk                   (_U_(0x1) << DSU_PID2_JEPU_Pos)                /**< (DSU_PID2) JEP-106 Identity Code is used Mask */
+#define DSU_PID2_JEPU                       DSU_PID2_JEPU_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use DSU_PID2_JEPU_Msk instead */
+#define DSU_PID2_REVISION_Pos               4                                              /**< (DSU_PID2) Revision Number Position */
+#define DSU_PID2_REVISION_Msk               (_U_(0xF) << DSU_PID2_REVISION_Pos)            /**< (DSU_PID2) Revision Number Mask */
+#define DSU_PID2_REVISION(value)            (DSU_PID2_REVISION_Msk & ((value) << DSU_PID2_REVISION_Pos))
+#define DSU_PID2_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_PID2) Register MASK  (Use DSU_PID2_Msk instead)  */
+#define DSU_PID2_Msk                        _U_(0xFF)                                      /**< (DSU_PID2) Register Mask  */
+
+
+/* -------- DSU_PID3 : (DSU Offset: 0x1fec) (R/ 32) Peripheral Identification 3 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CUSMOD:4;                  /**< bit:   0..3  ARM CUSMOD                               */
+    uint32_t REVAND:4;                  /**< bit:   4..7  Revision Number                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_PID3_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_PID3_OFFSET                     (0x1FEC)                                      /**<  (DSU_PID3) Peripheral Identification 3  Offset */
+#define DSU_PID3_RESETVALUE                 _U_(0x00)                                     /**<  (DSU_PID3) Peripheral Identification 3  Reset Value */
+
+#define DSU_PID3_CUSMOD_Pos                 0                                              /**< (DSU_PID3) ARM CUSMOD Position */
+#define DSU_PID3_CUSMOD_Msk                 (_U_(0xF) << DSU_PID3_CUSMOD_Pos)              /**< (DSU_PID3) ARM CUSMOD Mask */
+#define DSU_PID3_CUSMOD(value)              (DSU_PID3_CUSMOD_Msk & ((value) << DSU_PID3_CUSMOD_Pos))
+#define DSU_PID3_REVAND_Pos                 4                                              /**< (DSU_PID3) Revision Number Position */
+#define DSU_PID3_REVAND_Msk                 (_U_(0xF) << DSU_PID3_REVAND_Pos)              /**< (DSU_PID3) Revision Number Mask */
+#define DSU_PID3_REVAND(value)              (DSU_PID3_REVAND_Msk & ((value) << DSU_PID3_REVAND_Pos))
+#define DSU_PID3_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_PID3) Register MASK  (Use DSU_PID3_Msk instead)  */
+#define DSU_PID3_Msk                        _U_(0xFF)                                      /**< (DSU_PID3) Register Mask  */
+
+
+/* -------- DSU_CID0 : (DSU Offset: 0x1ff0) (R/ 32) Component Identification 0 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PREAMBLEB0:8;              /**< bit:   0..7  Preamble Byte 0                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_CID0_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CID0_OFFSET                     (0x1FF0)                                      /**<  (DSU_CID0) Component Identification 0  Offset */
+#define DSU_CID0_RESETVALUE                 _U_(0x0D)                                     /**<  (DSU_CID0) Component Identification 0  Reset Value */
+
+#define DSU_CID0_PREAMBLEB0_Pos             0                                              /**< (DSU_CID0) Preamble Byte 0 Position */
+#define DSU_CID0_PREAMBLEB0_Msk             (_U_(0xFF) << DSU_CID0_PREAMBLEB0_Pos)         /**< (DSU_CID0) Preamble Byte 0 Mask */
+#define DSU_CID0_PREAMBLEB0(value)          (DSU_CID0_PREAMBLEB0_Msk & ((value) << DSU_CID0_PREAMBLEB0_Pos))
+#define DSU_CID0_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_CID0) Register MASK  (Use DSU_CID0_Msk instead)  */
+#define DSU_CID0_Msk                        _U_(0xFF)                                      /**< (DSU_CID0) Register Mask  */
+
+
+/* -------- DSU_CID1 : (DSU Offset: 0x1ff4) (R/ 32) Component Identification 1 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PREAMBLE:4;                /**< bit:   0..3  Preamble                                 */
+    uint32_t CCLASS:4;                  /**< bit:   4..7  Component Class                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_CID1_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CID1_OFFSET                     (0x1FF4)                                      /**<  (DSU_CID1) Component Identification 1  Offset */
+#define DSU_CID1_RESETVALUE                 _U_(0x10)                                     /**<  (DSU_CID1) Component Identification 1  Reset Value */
+
+#define DSU_CID1_PREAMBLE_Pos               0                                              /**< (DSU_CID1) Preamble Position */
+#define DSU_CID1_PREAMBLE_Msk               (_U_(0xF) << DSU_CID1_PREAMBLE_Pos)            /**< (DSU_CID1) Preamble Mask */
+#define DSU_CID1_PREAMBLE(value)            (DSU_CID1_PREAMBLE_Msk & ((value) << DSU_CID1_PREAMBLE_Pos))
+#define DSU_CID1_CCLASS_Pos                 4                                              /**< (DSU_CID1) Component Class Position */
+#define DSU_CID1_CCLASS_Msk                 (_U_(0xF) << DSU_CID1_CCLASS_Pos)              /**< (DSU_CID1) Component Class Mask */
+#define DSU_CID1_CCLASS(value)              (DSU_CID1_CCLASS_Msk & ((value) << DSU_CID1_CCLASS_Pos))
+#define DSU_CID1_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_CID1) Register MASK  (Use DSU_CID1_Msk instead)  */
+#define DSU_CID1_Msk                        _U_(0xFF)                                      /**< (DSU_CID1) Register Mask  */
+
+
+/* -------- DSU_CID2 : (DSU Offset: 0x1ff8) (R/ 32) Component Identification 2 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PREAMBLEB2:8;              /**< bit:   0..7  Preamble Byte 2                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_CID2_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CID2_OFFSET                     (0x1FF8)                                      /**<  (DSU_CID2) Component Identification 2  Offset */
+#define DSU_CID2_RESETVALUE                 _U_(0x05)                                     /**<  (DSU_CID2) Component Identification 2  Reset Value */
+
+#define DSU_CID2_PREAMBLEB2_Pos             0                                              /**< (DSU_CID2) Preamble Byte 2 Position */
+#define DSU_CID2_PREAMBLEB2_Msk             (_U_(0xFF) << DSU_CID2_PREAMBLEB2_Pos)         /**< (DSU_CID2) Preamble Byte 2 Mask */
+#define DSU_CID2_PREAMBLEB2(value)          (DSU_CID2_PREAMBLEB2_Msk & ((value) << DSU_CID2_PREAMBLEB2_Pos))
+#define DSU_CID2_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_CID2) Register MASK  (Use DSU_CID2_Msk instead)  */
+#define DSU_CID2_Msk                        _U_(0xFF)                                      /**< (DSU_CID2) Register Mask  */
+
+
+/* -------- DSU_CID3 : (DSU Offset: 0x1ffc) (R/ 32) Component Identification 3 -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PREAMBLEB3:8;              /**< bit:   0..7  Preamble Byte 3                          */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} DSU_CID3_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define DSU_CID3_OFFSET                     (0x1FFC)                                      /**<  (DSU_CID3) Component Identification 3  Offset */
+#define DSU_CID3_RESETVALUE                 _U_(0xB1)                                     /**<  (DSU_CID3) Component Identification 3  Reset Value */
+
+#define DSU_CID3_PREAMBLEB3_Pos             0                                              /**< (DSU_CID3) Preamble Byte 3 Position */
+#define DSU_CID3_PREAMBLEB3_Msk             (_U_(0xFF) << DSU_CID3_PREAMBLEB3_Pos)         /**< (DSU_CID3) Preamble Byte 3 Mask */
+#define DSU_CID3_PREAMBLEB3(value)          (DSU_CID3_PREAMBLEB3_Msk & ((value) << DSU_CID3_PREAMBLEB3_Pos))
+#define DSU_CID3_MASK                       _U_(0xFF)                                      /**< \deprecated (DSU_CID3) Register MASK  (Use DSU_CID3_Msk instead)  */
+#define DSU_CID3_Msk                        _U_(0xFF)                                      /**< (DSU_CID3) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief DSU hardware registers */
+typedef struct {  /* Device Service Unit */
+  __O  DSU_CTRL_Type                  CTRL;           /**< Offset: 0x00 ( /W   8) Control */
+  __IO DSU_STATUSA_Type               STATUSA;        /**< Offset: 0x01 (R/W   8) Status A */
+  __I  DSU_STATUSB_Type               STATUSB;        /**< Offset: 0x02 (R/    8) Status B */
+  __I  DSU_STATUSC_Type               STATUSC;        /**< Offset: 0x03 (R/    8) Status C */
+  __IO DSU_ADDR_Type                  ADDR;           /**< Offset: 0x04 (R/W  32) Address */
+  __IO DSU_LENGTH_Type                LENGTH;         /**< Offset: 0x08 (R/W  32) Length */
+  __IO DSU_DATA_Type                  DATA;           /**< Offset: 0x0C (R/W  32) Data */
+  __IO DSU_DCC_Type                   DCC[2];         /**< Offset: 0x10 (R/W  32) Debug Communication Channel n */
+  __I  DSU_DID_Type                   DID;            /**< Offset: 0x18 (R/   32) Device Identification */
+  __IO DSU_CFG_Type                   CFG;            /**< Offset: 0x1C (R/W  32) Configuration */
+  __IO DSU_BCC_Type                   BCC[2];         /**< Offset: 0x20 (R/W  32) Boot ROM Communication Channel n */
+  __I  uint8_t                        Reserved1[200];
+  __IO DSU_DCFG_Type                  DCFG[2];        /**< Offset: 0xF0 (R/W  32) Device Configuration */
+  __I  uint8_t                        Reserved2[3848];
+  __I  DSU_ENTRY0_Type                ENTRY0;         /**< Offset: 0x1000 (R/   32) CoreSight ROM Table Entry 0 */
+  __I  DSU_ENTRY1_Type                ENTRY1;         /**< Offset: 0x1004 (R/   32) CoreSight ROM Table Entry 1 */
+  __I  DSU_END_Type                   END;            /**< Offset: 0x1008 (R/   32) CoreSight ROM Table End */
+  __I  uint8_t                        Reserved3[4032];
+  __I  DSU_MEMTYPE_Type               MEMTYPE;        /**< Offset: 0x1FCC (R/   32) CoreSight ROM Table Memory Type */
+  __I  DSU_PID4_Type                  PID4;           /**< Offset: 0x1FD0 (R/   32) Peripheral Identification 4 */
+  __I  DSU_PID5_Type                  PID5;           /**< Offset: 0x1FD4 (R/   32) Peripheral Identification 5 */
+  __I  DSU_PID6_Type                  PID6;           /**< Offset: 0x1FD8 (R/   32) Peripheral Identification 6 */
+  __I  DSU_PID7_Type                  PID7;           /**< Offset: 0x1FDC (R/   32) Peripheral Identification 7 */
+  __I  DSU_PID0_Type                  PID0;           /**< Offset: 0x1FE0 (R/   32) Peripheral Identification 0 */
+  __I  DSU_PID1_Type                  PID1;           /**< Offset: 0x1FE4 (R/   32) Peripheral Identification 1 */
+  __I  DSU_PID2_Type                  PID2;           /**< Offset: 0x1FE8 (R/   32) Peripheral Identification 2 */
+  __I  DSU_PID3_Type                  PID3;           /**< Offset: 0x1FEC (R/   32) Peripheral Identification 3 */
+  __I  DSU_CID0_Type                  CID0;           /**< Offset: 0x1FF0 (R/   32) Component Identification 0 */
+  __I  DSU_CID1_Type                  CID1;           /**< Offset: 0x1FF4 (R/   32) Component Identification 1 */
+  __I  DSU_CID2_Type                  CID2;           /**< Offset: 0x1FF8 (R/   32) Component Identification 2 */
+  __I  DSU_CID3_Type                  CID3;           /**< Offset: 0x1FFC (R/   32) Component Identification 3 */
+} Dsu;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Device Service Unit */
+
+#endif /* _SAML11_DSU_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/eic.h b/cpu/sam0_common/include/vendor/saml11/include/component/eic.h
new file mode 100644
index 0000000000..555a1a4239
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/eic.h
@@ -0,0 +1,610 @@
+/**
+ * \file
+ *
+ * \brief Component description for EIC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_EIC_COMPONENT_H_
+#define _SAML11_EIC_COMPONENT_H_
+#define _SAML11_EIC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 External Interrupt Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR EIC */
+/* ========================================================================== */
+
+#define EIC_U2804                      /**< (EIC) Module ID */
+#define REV_EIC 0x100                  /**< (EIC) Module revision */
+
+/* -------- EIC_CTRLA : (EIC Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint8_t  :2;                        /**< bit:   2..3  Reserved */
+    uint8_t  CKSEL:1;                   /**< bit:      4  Clock Selection                          */
+    uint8_t  :3;                        /**< bit:   5..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EIC_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_CTRLA_OFFSET                    (0x00)                                        /**<  (EIC_CTRLA) Control A  Offset */
+#define EIC_CTRLA_RESETVALUE                _U_(0x00)                                     /**<  (EIC_CTRLA) Control A  Reset Value */
+
+#define EIC_CTRLA_SWRST_Pos                 0                                              /**< (EIC_CTRLA) Software Reset Position */
+#define EIC_CTRLA_SWRST_Msk                 (_U_(0x1) << EIC_CTRLA_SWRST_Pos)              /**< (EIC_CTRLA) Software Reset Mask */
+#define EIC_CTRLA_SWRST                     EIC_CTRLA_SWRST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CTRLA_SWRST_Msk instead */
+#define EIC_CTRLA_ENABLE_Pos                1                                              /**< (EIC_CTRLA) Enable Position */
+#define EIC_CTRLA_ENABLE_Msk                (_U_(0x1) << EIC_CTRLA_ENABLE_Pos)             /**< (EIC_CTRLA) Enable Mask */
+#define EIC_CTRLA_ENABLE                    EIC_CTRLA_ENABLE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CTRLA_ENABLE_Msk instead */
+#define EIC_CTRLA_CKSEL_Pos                 4                                              /**< (EIC_CTRLA) Clock Selection Position */
+#define EIC_CTRLA_CKSEL_Msk                 (_U_(0x1) << EIC_CTRLA_CKSEL_Pos)              /**< (EIC_CTRLA) Clock Selection Mask */
+#define EIC_CTRLA_CKSEL                     EIC_CTRLA_CKSEL_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CTRLA_CKSEL_Msk instead */
+#define EIC_CTRLA_MASK                      _U_(0x13)                                      /**< \deprecated (EIC_CTRLA) Register MASK  (Use EIC_CTRLA_Msk instead)  */
+#define EIC_CTRLA_Msk                       _U_(0x13)                                      /**< (EIC_CTRLA) Register Mask  */
+
+
+/* -------- EIC_NMICTRL : (EIC Offset: 0x01) (R/W 8) Non-Maskable Interrupt Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  NMISENSE:3;                /**< bit:   0..2  Non-Maskable Interrupt Sense Configuration */
+    uint8_t  NMIFILTEN:1;               /**< bit:      3  Non-Maskable Interrupt Filter Enable     */
+    uint8_t  NMIASYNCH:1;               /**< bit:      4  Asynchronous Edge Detection Mode         */
+    uint8_t  :3;                        /**< bit:   5..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EIC_NMICTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_NMICTRL_OFFSET                  (0x01)                                        /**<  (EIC_NMICTRL) Non-Maskable Interrupt Control  Offset */
+#define EIC_NMICTRL_RESETVALUE              _U_(0x00)                                     /**<  (EIC_NMICTRL) Non-Maskable Interrupt Control  Reset Value */
+
+#define EIC_NMICTRL_NMISENSE_Pos            0                                              /**< (EIC_NMICTRL) Non-Maskable Interrupt Sense Configuration Position */
+#define EIC_NMICTRL_NMISENSE_Msk            (_U_(0x7) << EIC_NMICTRL_NMISENSE_Pos)         /**< (EIC_NMICTRL) Non-Maskable Interrupt Sense Configuration Mask */
+#define EIC_NMICTRL_NMISENSE(value)         (EIC_NMICTRL_NMISENSE_Msk & ((value) << EIC_NMICTRL_NMISENSE_Pos))
+#define   EIC_NMICTRL_NMISENSE_NONE_Val     _U_(0x0)                                       /**< (EIC_NMICTRL) No detection  */
+#define   EIC_NMICTRL_NMISENSE_RISE_Val     _U_(0x1)                                       /**< (EIC_NMICTRL) Rising-edge detection  */
+#define   EIC_NMICTRL_NMISENSE_FALL_Val     _U_(0x2)                                       /**< (EIC_NMICTRL) Falling-edge detection  */
+#define   EIC_NMICTRL_NMISENSE_BOTH_Val     _U_(0x3)                                       /**< (EIC_NMICTRL) Both-edges detection  */
+#define   EIC_NMICTRL_NMISENSE_HIGH_Val     _U_(0x4)                                       /**< (EIC_NMICTRL) High-level detection  */
+#define   EIC_NMICTRL_NMISENSE_LOW_Val      _U_(0x5)                                       /**< (EIC_NMICTRL) Low-level detection  */
+#define EIC_NMICTRL_NMISENSE_NONE           (EIC_NMICTRL_NMISENSE_NONE_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) No detection Position  */
+#define EIC_NMICTRL_NMISENSE_RISE           (EIC_NMICTRL_NMISENSE_RISE_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) Rising-edge detection Position  */
+#define EIC_NMICTRL_NMISENSE_FALL           (EIC_NMICTRL_NMISENSE_FALL_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) Falling-edge detection Position  */
+#define EIC_NMICTRL_NMISENSE_BOTH           (EIC_NMICTRL_NMISENSE_BOTH_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) Both-edges detection Position  */
+#define EIC_NMICTRL_NMISENSE_HIGH           (EIC_NMICTRL_NMISENSE_HIGH_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) High-level detection Position  */
+#define EIC_NMICTRL_NMISENSE_LOW            (EIC_NMICTRL_NMISENSE_LOW_Val << EIC_NMICTRL_NMISENSE_Pos)  /**< (EIC_NMICTRL) Low-level detection Position  */
+#define EIC_NMICTRL_NMIFILTEN_Pos           3                                              /**< (EIC_NMICTRL) Non-Maskable Interrupt Filter Enable Position */
+#define EIC_NMICTRL_NMIFILTEN_Msk           (_U_(0x1) << EIC_NMICTRL_NMIFILTEN_Pos)        /**< (EIC_NMICTRL) Non-Maskable Interrupt Filter Enable Mask */
+#define EIC_NMICTRL_NMIFILTEN               EIC_NMICTRL_NMIFILTEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_NMICTRL_NMIFILTEN_Msk instead */
+#define EIC_NMICTRL_NMIASYNCH_Pos           4                                              /**< (EIC_NMICTRL) Asynchronous Edge Detection Mode Position */
+#define EIC_NMICTRL_NMIASYNCH_Msk           (_U_(0x1) << EIC_NMICTRL_NMIASYNCH_Pos)        /**< (EIC_NMICTRL) Asynchronous Edge Detection Mode Mask */
+#define EIC_NMICTRL_NMIASYNCH               EIC_NMICTRL_NMIASYNCH_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_NMICTRL_NMIASYNCH_Msk instead */
+#define EIC_NMICTRL_MASK                    _U_(0x1F)                                      /**< \deprecated (EIC_NMICTRL) Register MASK  (Use EIC_NMICTRL_Msk instead)  */
+#define EIC_NMICTRL_Msk                     _U_(0x1F)                                      /**< (EIC_NMICTRL) Register Mask  */
+
+
+/* -------- EIC_NMIFLAG : (EIC Offset: 0x02) (R/W 16) Non-Maskable Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t NMI:1;                     /**< bit:      0  Non-Maskable Interrupt                   */
+    uint16_t :15;                       /**< bit:  1..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} EIC_NMIFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_NMIFLAG_OFFSET                  (0x02)                                        /**<  (EIC_NMIFLAG) Non-Maskable Interrupt Flag Status and Clear  Offset */
+#define EIC_NMIFLAG_RESETVALUE              _U_(0x00)                                     /**<  (EIC_NMIFLAG) Non-Maskable Interrupt Flag Status and Clear  Reset Value */
+
+#define EIC_NMIFLAG_NMI_Pos                 0                                              /**< (EIC_NMIFLAG) Non-Maskable Interrupt Position */
+#define EIC_NMIFLAG_NMI_Msk                 (_U_(0x1) << EIC_NMIFLAG_NMI_Pos)              /**< (EIC_NMIFLAG) Non-Maskable Interrupt Mask */
+#define EIC_NMIFLAG_NMI                     EIC_NMIFLAG_NMI_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_NMIFLAG_NMI_Msk instead */
+#define EIC_NMIFLAG_MASK                    _U_(0x01)                                      /**< \deprecated (EIC_NMIFLAG) Register MASK  (Use EIC_NMIFLAG_Msk instead)  */
+#define EIC_NMIFLAG_Msk                     _U_(0x01)                                      /**< (EIC_NMIFLAG) Register Mask  */
+
+
+/* -------- EIC_SYNCBUSY : (EIC Offset: 0x04) (R/ 32) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchronization Busy Status */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Synchronization Busy Status       */
+    uint32_t :30;                       /**< bit:  2..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_SYNCBUSY_OFFSET                 (0x04)                                        /**<  (EIC_SYNCBUSY) Synchronization Busy  Offset */
+#define EIC_SYNCBUSY_RESETVALUE             _U_(0x00)                                     /**<  (EIC_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define EIC_SYNCBUSY_SWRST_Pos              0                                              /**< (EIC_SYNCBUSY) Software Reset Synchronization Busy Status Position */
+#define EIC_SYNCBUSY_SWRST_Msk              (_U_(0x1) << EIC_SYNCBUSY_SWRST_Pos)           /**< (EIC_SYNCBUSY) Software Reset Synchronization Busy Status Mask */
+#define EIC_SYNCBUSY_SWRST                  EIC_SYNCBUSY_SWRST_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_SYNCBUSY_SWRST_Msk instead */
+#define EIC_SYNCBUSY_ENABLE_Pos             1                                              /**< (EIC_SYNCBUSY) Enable Synchronization Busy Status Position */
+#define EIC_SYNCBUSY_ENABLE_Msk             (_U_(0x1) << EIC_SYNCBUSY_ENABLE_Pos)          /**< (EIC_SYNCBUSY) Enable Synchronization Busy Status Mask */
+#define EIC_SYNCBUSY_ENABLE                 EIC_SYNCBUSY_ENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_SYNCBUSY_ENABLE_Msk instead */
+#define EIC_SYNCBUSY_MASK                   _U_(0x03)                                      /**< \deprecated (EIC_SYNCBUSY) Register MASK  (Use EIC_SYNCBUSY_Msk instead)  */
+#define EIC_SYNCBUSY_Msk                    _U_(0x03)                                      /**< (EIC_SYNCBUSY) Register Mask  */
+
+
+/* -------- EIC_EVCTRL : (EIC Offset: 0x08) (R/W 32) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EXTINTEO:8;                /**< bit:   0..7  External Interrupt Event Output Enable   */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_EVCTRL_OFFSET                   (0x08)                                        /**<  (EIC_EVCTRL) Event Control  Offset */
+#define EIC_EVCTRL_RESETVALUE               _U_(0x00)                                     /**<  (EIC_EVCTRL) Event Control  Reset Value */
+
+#define EIC_EVCTRL_EXTINTEO_Pos             0                                              /**< (EIC_EVCTRL) External Interrupt Event Output Enable Position */
+#define EIC_EVCTRL_EXTINTEO_Msk             (_U_(0xFF) << EIC_EVCTRL_EXTINTEO_Pos)         /**< (EIC_EVCTRL) External Interrupt Event Output Enable Mask */
+#define EIC_EVCTRL_EXTINTEO(value)          (EIC_EVCTRL_EXTINTEO_Msk & ((value) << EIC_EVCTRL_EXTINTEO_Pos))
+#define EIC_EVCTRL_MASK                     _U_(0xFF)                                      /**< \deprecated (EIC_EVCTRL) Register MASK  (Use EIC_EVCTRL_Msk instead)  */
+#define EIC_EVCTRL_Msk                      _U_(0xFF)                                      /**< (EIC_EVCTRL) Register Mask  */
+
+
+/* -------- EIC_INTENCLR : (EIC Offset: 0x0c) (R/W 32) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EXTINT:8;                  /**< bit:   0..7  External Interrupt Enable                */
+    uint32_t :23;                       /**< bit:  8..30  Reserved */
+    uint32_t NSCHK:1;                   /**< bit:     31  Non-secure Check Interrupt Enable        */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_INTENCLR_OFFSET                 (0x0C)                                        /**<  (EIC_INTENCLR) Interrupt Enable Clear  Offset */
+#define EIC_INTENCLR_RESETVALUE             _U_(0x00)                                     /**<  (EIC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define EIC_INTENCLR_EXTINT_Pos             0                                              /**< (EIC_INTENCLR) External Interrupt Enable Position */
+#define EIC_INTENCLR_EXTINT_Msk             (_U_(0xFF) << EIC_INTENCLR_EXTINT_Pos)         /**< (EIC_INTENCLR) External Interrupt Enable Mask */
+#define EIC_INTENCLR_EXTINT(value)          (EIC_INTENCLR_EXTINT_Msk & ((value) << EIC_INTENCLR_EXTINT_Pos))
+#define EIC_INTENCLR_NSCHK_Pos              31                                             /**< (EIC_INTENCLR) Non-secure Check Interrupt Enable Position */
+#define EIC_INTENCLR_NSCHK_Msk              (_U_(0x1) << EIC_INTENCLR_NSCHK_Pos)           /**< (EIC_INTENCLR) Non-secure Check Interrupt Enable Mask */
+#define EIC_INTENCLR_NSCHK                  EIC_INTENCLR_NSCHK_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_INTENCLR_NSCHK_Msk instead */
+#define EIC_INTENCLR_MASK                   _U_(0x800000FF)                                /**< \deprecated (EIC_INTENCLR) Register MASK  (Use EIC_INTENCLR_Msk instead)  */
+#define EIC_INTENCLR_Msk                    _U_(0x800000FF)                                /**< (EIC_INTENCLR) Register Mask  */
+
+
+/* -------- EIC_INTENSET : (EIC Offset: 0x10) (R/W 32) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EXTINT:8;                  /**< bit:   0..7  External Interrupt Enable                */
+    uint32_t :23;                       /**< bit:  8..30  Reserved */
+    uint32_t NSCHK:1;                   /**< bit:     31  Non-secure Check Interrupt Enable        */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_INTENSET_OFFSET                 (0x10)                                        /**<  (EIC_INTENSET) Interrupt Enable Set  Offset */
+#define EIC_INTENSET_RESETVALUE             _U_(0x00)                                     /**<  (EIC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define EIC_INTENSET_EXTINT_Pos             0                                              /**< (EIC_INTENSET) External Interrupt Enable Position */
+#define EIC_INTENSET_EXTINT_Msk             (_U_(0xFF) << EIC_INTENSET_EXTINT_Pos)         /**< (EIC_INTENSET) External Interrupt Enable Mask */
+#define EIC_INTENSET_EXTINT(value)          (EIC_INTENSET_EXTINT_Msk & ((value) << EIC_INTENSET_EXTINT_Pos))
+#define EIC_INTENSET_NSCHK_Pos              31                                             /**< (EIC_INTENSET) Non-secure Check Interrupt Enable Position */
+#define EIC_INTENSET_NSCHK_Msk              (_U_(0x1) << EIC_INTENSET_NSCHK_Pos)           /**< (EIC_INTENSET) Non-secure Check Interrupt Enable Mask */
+#define EIC_INTENSET_NSCHK                  EIC_INTENSET_NSCHK_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_INTENSET_NSCHK_Msk instead */
+#define EIC_INTENSET_MASK                   _U_(0x800000FF)                                /**< \deprecated (EIC_INTENSET) Register MASK  (Use EIC_INTENSET_Msk instead)  */
+#define EIC_INTENSET_Msk                    _U_(0x800000FF)                                /**< (EIC_INTENSET) Register Mask  */
+
+
+/* -------- EIC_INTFLAG : (EIC Offset: 0x14) (R/W 32) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t EXTINT:8;                  /**< bit:   0..7  External Interrupt                       */
+    __I uint32_t :23;                       /**< bit:  8..30  Reserved */
+    __I uint32_t NSCHK:1;                   /**< bit:     31  Non-secure Check Interrupt               */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_INTFLAG_OFFSET                  (0x14)                                        /**<  (EIC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define EIC_INTFLAG_RESETVALUE              _U_(0x00)                                     /**<  (EIC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define EIC_INTFLAG_EXTINT_Pos              0                                              /**< (EIC_INTFLAG) External Interrupt Position */
+#define EIC_INTFLAG_EXTINT_Msk              (_U_(0xFF) << EIC_INTFLAG_EXTINT_Pos)          /**< (EIC_INTFLAG) External Interrupt Mask */
+#define EIC_INTFLAG_EXTINT(value)           (EIC_INTFLAG_EXTINT_Msk & ((value) << EIC_INTFLAG_EXTINT_Pos))
+#define EIC_INTFLAG_NSCHK_Pos               31                                             /**< (EIC_INTFLAG) Non-secure Check Interrupt Position */
+#define EIC_INTFLAG_NSCHK_Msk               (_U_(0x1) << EIC_INTFLAG_NSCHK_Pos)            /**< (EIC_INTFLAG) Non-secure Check Interrupt Mask */
+#define EIC_INTFLAG_NSCHK                   EIC_INTFLAG_NSCHK_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_INTFLAG_NSCHK_Msk instead */
+#define EIC_INTFLAG_MASK                    _U_(0x800000FF)                                /**< \deprecated (EIC_INTFLAG) Register MASK  (Use EIC_INTFLAG_Msk instead)  */
+#define EIC_INTFLAG_Msk                     _U_(0x800000FF)                                /**< (EIC_INTFLAG) Register Mask  */
+
+
+/* -------- EIC_ASYNCH : (EIC Offset: 0x18) (R/W 32) External Interrupt Asynchronous Mode -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t ASYNCH:8;                  /**< bit:   0..7  Asynchronous Edge Detection Mode         */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_ASYNCH_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_ASYNCH_OFFSET                   (0x18)                                        /**<  (EIC_ASYNCH) External Interrupt Asynchronous Mode  Offset */
+#define EIC_ASYNCH_RESETVALUE               _U_(0x00)                                     /**<  (EIC_ASYNCH) External Interrupt Asynchronous Mode  Reset Value */
+
+#define EIC_ASYNCH_ASYNCH_Pos               0                                              /**< (EIC_ASYNCH) Asynchronous Edge Detection Mode Position */
+#define EIC_ASYNCH_ASYNCH_Msk               (_U_(0xFF) << EIC_ASYNCH_ASYNCH_Pos)           /**< (EIC_ASYNCH) Asynchronous Edge Detection Mode Mask */
+#define EIC_ASYNCH_ASYNCH(value)            (EIC_ASYNCH_ASYNCH_Msk & ((value) << EIC_ASYNCH_ASYNCH_Pos))
+#define EIC_ASYNCH_MASK                     _U_(0xFF)                                      /**< \deprecated (EIC_ASYNCH) Register MASK  (Use EIC_ASYNCH_Msk instead)  */
+#define EIC_ASYNCH_Msk                      _U_(0xFF)                                      /**< (EIC_ASYNCH) Register Mask  */
+
+
+/* -------- EIC_CONFIG : (EIC Offset: 0x1c) (R/W 32) External Interrupt Sense Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SENSE0:3;                  /**< bit:   0..2  Input Sense Configuration 0              */
+    uint32_t FILTEN0:1;                 /**< bit:      3  Filter Enable 0                          */
+    uint32_t SENSE1:3;                  /**< bit:   4..6  Input Sense Configuration 1              */
+    uint32_t FILTEN1:1;                 /**< bit:      7  Filter Enable 1                          */
+    uint32_t SENSE2:3;                  /**< bit:  8..10  Input Sense Configuration 2              */
+    uint32_t FILTEN2:1;                 /**< bit:     11  Filter Enable 2                          */
+    uint32_t SENSE3:3;                  /**< bit: 12..14  Input Sense Configuration 3              */
+    uint32_t FILTEN3:1;                 /**< bit:     15  Filter Enable 3                          */
+    uint32_t SENSE4:3;                  /**< bit: 16..18  Input Sense Configuration 4              */
+    uint32_t FILTEN4:1;                 /**< bit:     19  Filter Enable 4                          */
+    uint32_t SENSE5:3;                  /**< bit: 20..22  Input Sense Configuration 5              */
+    uint32_t FILTEN5:1;                 /**< bit:     23  Filter Enable 5                          */
+    uint32_t SENSE6:3;                  /**< bit: 24..26  Input Sense Configuration 6              */
+    uint32_t FILTEN6:1;                 /**< bit:     27  Filter Enable 6                          */
+    uint32_t SENSE7:3;                  /**< bit: 28..30  Input Sense Configuration 7              */
+    uint32_t FILTEN7:1;                 /**< bit:     31  Filter Enable 7                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_CONFIG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_CONFIG_OFFSET                   (0x1C)                                        /**<  (EIC_CONFIG) External Interrupt Sense Configuration  Offset */
+#define EIC_CONFIG_RESETVALUE               _U_(0x00)                                     /**<  (EIC_CONFIG) External Interrupt Sense Configuration  Reset Value */
+
+#define EIC_CONFIG_SENSE0_Pos               0                                              /**< (EIC_CONFIG) Input Sense Configuration 0 Position */
+#define EIC_CONFIG_SENSE0_Msk               (_U_(0x7) << EIC_CONFIG_SENSE0_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 0 Mask */
+#define EIC_CONFIG_SENSE0(value)            (EIC_CONFIG_SENSE0_Msk & ((value) << EIC_CONFIG_SENSE0_Pos))
+#define   EIC_CONFIG_SENSE0_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE0_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE0_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE0_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE0_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE0_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE0_NONE              (EIC_CONFIG_SENSE0_NONE_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE0_RISE              (EIC_CONFIG_SENSE0_RISE_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE0_FALL              (EIC_CONFIG_SENSE0_FALL_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE0_BOTH              (EIC_CONFIG_SENSE0_BOTH_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE0_HIGH              (EIC_CONFIG_SENSE0_HIGH_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE0_LOW               (EIC_CONFIG_SENSE0_LOW_Val << EIC_CONFIG_SENSE0_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN0_Pos              3                                              /**< (EIC_CONFIG) Filter Enable 0 Position */
+#define EIC_CONFIG_FILTEN0_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN0_Pos)           /**< (EIC_CONFIG) Filter Enable 0 Mask */
+#define EIC_CONFIG_FILTEN0                  EIC_CONFIG_FILTEN0_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN0_Msk instead */
+#define EIC_CONFIG_SENSE1_Pos               4                                              /**< (EIC_CONFIG) Input Sense Configuration 1 Position */
+#define EIC_CONFIG_SENSE1_Msk               (_U_(0x7) << EIC_CONFIG_SENSE1_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 1 Mask */
+#define EIC_CONFIG_SENSE1(value)            (EIC_CONFIG_SENSE1_Msk & ((value) << EIC_CONFIG_SENSE1_Pos))
+#define   EIC_CONFIG_SENSE1_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE1_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE1_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE1_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE1_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE1_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE1_NONE              (EIC_CONFIG_SENSE1_NONE_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE1_RISE              (EIC_CONFIG_SENSE1_RISE_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE1_FALL              (EIC_CONFIG_SENSE1_FALL_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE1_BOTH              (EIC_CONFIG_SENSE1_BOTH_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE1_HIGH              (EIC_CONFIG_SENSE1_HIGH_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE1_LOW               (EIC_CONFIG_SENSE1_LOW_Val << EIC_CONFIG_SENSE1_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN1_Pos              7                                              /**< (EIC_CONFIG) Filter Enable 1 Position */
+#define EIC_CONFIG_FILTEN1_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN1_Pos)           /**< (EIC_CONFIG) Filter Enable 1 Mask */
+#define EIC_CONFIG_FILTEN1                  EIC_CONFIG_FILTEN1_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN1_Msk instead */
+#define EIC_CONFIG_SENSE2_Pos               8                                              /**< (EIC_CONFIG) Input Sense Configuration 2 Position */
+#define EIC_CONFIG_SENSE2_Msk               (_U_(0x7) << EIC_CONFIG_SENSE2_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 2 Mask */
+#define EIC_CONFIG_SENSE2(value)            (EIC_CONFIG_SENSE2_Msk & ((value) << EIC_CONFIG_SENSE2_Pos))
+#define   EIC_CONFIG_SENSE2_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE2_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE2_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE2_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE2_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE2_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE2_NONE              (EIC_CONFIG_SENSE2_NONE_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE2_RISE              (EIC_CONFIG_SENSE2_RISE_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE2_FALL              (EIC_CONFIG_SENSE2_FALL_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE2_BOTH              (EIC_CONFIG_SENSE2_BOTH_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE2_HIGH              (EIC_CONFIG_SENSE2_HIGH_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE2_LOW               (EIC_CONFIG_SENSE2_LOW_Val << EIC_CONFIG_SENSE2_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN2_Pos              11                                             /**< (EIC_CONFIG) Filter Enable 2 Position */
+#define EIC_CONFIG_FILTEN2_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN2_Pos)           /**< (EIC_CONFIG) Filter Enable 2 Mask */
+#define EIC_CONFIG_FILTEN2                  EIC_CONFIG_FILTEN2_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN2_Msk instead */
+#define EIC_CONFIG_SENSE3_Pos               12                                             /**< (EIC_CONFIG) Input Sense Configuration 3 Position */
+#define EIC_CONFIG_SENSE3_Msk               (_U_(0x7) << EIC_CONFIG_SENSE3_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 3 Mask */
+#define EIC_CONFIG_SENSE3(value)            (EIC_CONFIG_SENSE3_Msk & ((value) << EIC_CONFIG_SENSE3_Pos))
+#define   EIC_CONFIG_SENSE3_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE3_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE3_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE3_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE3_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE3_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE3_NONE              (EIC_CONFIG_SENSE3_NONE_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE3_RISE              (EIC_CONFIG_SENSE3_RISE_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE3_FALL              (EIC_CONFIG_SENSE3_FALL_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE3_BOTH              (EIC_CONFIG_SENSE3_BOTH_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE3_HIGH              (EIC_CONFIG_SENSE3_HIGH_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE3_LOW               (EIC_CONFIG_SENSE3_LOW_Val << EIC_CONFIG_SENSE3_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN3_Pos              15                                             /**< (EIC_CONFIG) Filter Enable 3 Position */
+#define EIC_CONFIG_FILTEN3_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN3_Pos)           /**< (EIC_CONFIG) Filter Enable 3 Mask */
+#define EIC_CONFIG_FILTEN3                  EIC_CONFIG_FILTEN3_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN3_Msk instead */
+#define EIC_CONFIG_SENSE4_Pos               16                                             /**< (EIC_CONFIG) Input Sense Configuration 4 Position */
+#define EIC_CONFIG_SENSE4_Msk               (_U_(0x7) << EIC_CONFIG_SENSE4_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 4 Mask */
+#define EIC_CONFIG_SENSE4(value)            (EIC_CONFIG_SENSE4_Msk & ((value) << EIC_CONFIG_SENSE4_Pos))
+#define   EIC_CONFIG_SENSE4_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE4_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE4_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE4_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE4_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE4_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE4_NONE              (EIC_CONFIG_SENSE4_NONE_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE4_RISE              (EIC_CONFIG_SENSE4_RISE_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE4_FALL              (EIC_CONFIG_SENSE4_FALL_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE4_BOTH              (EIC_CONFIG_SENSE4_BOTH_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE4_HIGH              (EIC_CONFIG_SENSE4_HIGH_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE4_LOW               (EIC_CONFIG_SENSE4_LOW_Val << EIC_CONFIG_SENSE4_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN4_Pos              19                                             /**< (EIC_CONFIG) Filter Enable 4 Position */
+#define EIC_CONFIG_FILTEN4_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN4_Pos)           /**< (EIC_CONFIG) Filter Enable 4 Mask */
+#define EIC_CONFIG_FILTEN4                  EIC_CONFIG_FILTEN4_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN4_Msk instead */
+#define EIC_CONFIG_SENSE5_Pos               20                                             /**< (EIC_CONFIG) Input Sense Configuration 5 Position */
+#define EIC_CONFIG_SENSE5_Msk               (_U_(0x7) << EIC_CONFIG_SENSE5_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 5 Mask */
+#define EIC_CONFIG_SENSE5(value)            (EIC_CONFIG_SENSE5_Msk & ((value) << EIC_CONFIG_SENSE5_Pos))
+#define   EIC_CONFIG_SENSE5_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE5_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE5_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE5_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE5_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE5_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE5_NONE              (EIC_CONFIG_SENSE5_NONE_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE5_RISE              (EIC_CONFIG_SENSE5_RISE_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE5_FALL              (EIC_CONFIG_SENSE5_FALL_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE5_BOTH              (EIC_CONFIG_SENSE5_BOTH_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE5_HIGH              (EIC_CONFIG_SENSE5_HIGH_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE5_LOW               (EIC_CONFIG_SENSE5_LOW_Val << EIC_CONFIG_SENSE5_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN5_Pos              23                                             /**< (EIC_CONFIG) Filter Enable 5 Position */
+#define EIC_CONFIG_FILTEN5_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN5_Pos)           /**< (EIC_CONFIG) Filter Enable 5 Mask */
+#define EIC_CONFIG_FILTEN5                  EIC_CONFIG_FILTEN5_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN5_Msk instead */
+#define EIC_CONFIG_SENSE6_Pos               24                                             /**< (EIC_CONFIG) Input Sense Configuration 6 Position */
+#define EIC_CONFIG_SENSE6_Msk               (_U_(0x7) << EIC_CONFIG_SENSE6_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 6 Mask */
+#define EIC_CONFIG_SENSE6(value)            (EIC_CONFIG_SENSE6_Msk & ((value) << EIC_CONFIG_SENSE6_Pos))
+#define   EIC_CONFIG_SENSE6_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE6_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE6_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE6_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE6_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE6_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE6_NONE              (EIC_CONFIG_SENSE6_NONE_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE6_RISE              (EIC_CONFIG_SENSE6_RISE_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE6_FALL              (EIC_CONFIG_SENSE6_FALL_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE6_BOTH              (EIC_CONFIG_SENSE6_BOTH_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE6_HIGH              (EIC_CONFIG_SENSE6_HIGH_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE6_LOW               (EIC_CONFIG_SENSE6_LOW_Val << EIC_CONFIG_SENSE6_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN6_Pos              27                                             /**< (EIC_CONFIG) Filter Enable 6 Position */
+#define EIC_CONFIG_FILTEN6_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN6_Pos)           /**< (EIC_CONFIG) Filter Enable 6 Mask */
+#define EIC_CONFIG_FILTEN6                  EIC_CONFIG_FILTEN6_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN6_Msk instead */
+#define EIC_CONFIG_SENSE7_Pos               28                                             /**< (EIC_CONFIG) Input Sense Configuration 7 Position */
+#define EIC_CONFIG_SENSE7_Msk               (_U_(0x7) << EIC_CONFIG_SENSE7_Pos)            /**< (EIC_CONFIG) Input Sense Configuration 7 Mask */
+#define EIC_CONFIG_SENSE7(value)            (EIC_CONFIG_SENSE7_Msk & ((value) << EIC_CONFIG_SENSE7_Pos))
+#define   EIC_CONFIG_SENSE7_NONE_Val        _U_(0x0)                                       /**< (EIC_CONFIG) No detection  */
+#define   EIC_CONFIG_SENSE7_RISE_Val        _U_(0x1)                                       /**< (EIC_CONFIG) Rising edge detection  */
+#define   EIC_CONFIG_SENSE7_FALL_Val        _U_(0x2)                                       /**< (EIC_CONFIG) Falling edge detection  */
+#define   EIC_CONFIG_SENSE7_BOTH_Val        _U_(0x3)                                       /**< (EIC_CONFIG) Both edges detection  */
+#define   EIC_CONFIG_SENSE7_HIGH_Val        _U_(0x4)                                       /**< (EIC_CONFIG) High level detection  */
+#define   EIC_CONFIG_SENSE7_LOW_Val         _U_(0x5)                                       /**< (EIC_CONFIG) Low level detection  */
+#define EIC_CONFIG_SENSE7_NONE              (EIC_CONFIG_SENSE7_NONE_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) No detection Position  */
+#define EIC_CONFIG_SENSE7_RISE              (EIC_CONFIG_SENSE7_RISE_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) Rising edge detection Position  */
+#define EIC_CONFIG_SENSE7_FALL              (EIC_CONFIG_SENSE7_FALL_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) Falling edge detection Position  */
+#define EIC_CONFIG_SENSE7_BOTH              (EIC_CONFIG_SENSE7_BOTH_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) Both edges detection Position  */
+#define EIC_CONFIG_SENSE7_HIGH              (EIC_CONFIG_SENSE7_HIGH_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) High level detection Position  */
+#define EIC_CONFIG_SENSE7_LOW               (EIC_CONFIG_SENSE7_LOW_Val << EIC_CONFIG_SENSE7_Pos)  /**< (EIC_CONFIG) Low level detection Position  */
+#define EIC_CONFIG_FILTEN7_Pos              31                                             /**< (EIC_CONFIG) Filter Enable 7 Position */
+#define EIC_CONFIG_FILTEN7_Msk              (_U_(0x1) << EIC_CONFIG_FILTEN7_Pos)           /**< (EIC_CONFIG) Filter Enable 7 Mask */
+#define EIC_CONFIG_FILTEN7                  EIC_CONFIG_FILTEN7_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_CONFIG_FILTEN7_Msk instead */
+#define EIC_CONFIG_MASK                     _U_(0xFFFFFFFF)                                /**< \deprecated (EIC_CONFIG) Register MASK  (Use EIC_CONFIG_Msk instead)  */
+#define EIC_CONFIG_Msk                      _U_(0xFFFFFFFF)                                /**< (EIC_CONFIG) Register Mask  */
+
+
+/* -------- EIC_DEBOUNCEN : (EIC Offset: 0x30) (R/W 32) Debouncer Enable -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DEBOUNCEN:8;               /**< bit:   0..7  Debouncer Enable                         */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_DEBOUNCEN_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_DEBOUNCEN_OFFSET                (0x30)                                        /**<  (EIC_DEBOUNCEN) Debouncer Enable  Offset */
+#define EIC_DEBOUNCEN_RESETVALUE            _U_(0x00)                                     /**<  (EIC_DEBOUNCEN) Debouncer Enable  Reset Value */
+
+#define EIC_DEBOUNCEN_DEBOUNCEN_Pos         0                                              /**< (EIC_DEBOUNCEN) Debouncer Enable Position */
+#define EIC_DEBOUNCEN_DEBOUNCEN_Msk         (_U_(0xFF) << EIC_DEBOUNCEN_DEBOUNCEN_Pos)     /**< (EIC_DEBOUNCEN) Debouncer Enable Mask */
+#define EIC_DEBOUNCEN_DEBOUNCEN(value)      (EIC_DEBOUNCEN_DEBOUNCEN_Msk & ((value) << EIC_DEBOUNCEN_DEBOUNCEN_Pos))
+#define EIC_DEBOUNCEN_MASK                  _U_(0xFF)                                      /**< \deprecated (EIC_DEBOUNCEN) Register MASK  (Use EIC_DEBOUNCEN_Msk instead)  */
+#define EIC_DEBOUNCEN_Msk                   _U_(0xFF)                                      /**< (EIC_DEBOUNCEN) Register Mask  */
+
+
+/* -------- EIC_DPRESCALER : (EIC Offset: 0x34) (R/W 32) Debouncer Prescaler -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PRESCALER0:3;              /**< bit:   0..2  Debouncer Prescaler                      */
+    uint32_t STATES0:1;                 /**< bit:      3  Debouncer number of states               */
+    uint32_t :12;                       /**< bit:  4..15  Reserved */
+    uint32_t TICKON:1;                  /**< bit:     16  Pin Sampler frequency selection          */
+    uint32_t :15;                       /**< bit: 17..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :3;                        /**< bit:   0..2  Reserved */
+    uint32_t STATES:1;                  /**< bit:      3  Debouncer number of states               */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_DPRESCALER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_DPRESCALER_OFFSET               (0x34)                                        /**<  (EIC_DPRESCALER) Debouncer Prescaler  Offset */
+#define EIC_DPRESCALER_RESETVALUE           _U_(0x00)                                     /**<  (EIC_DPRESCALER) Debouncer Prescaler  Reset Value */
+
+#define EIC_DPRESCALER_PRESCALER0_Pos       0                                              /**< (EIC_DPRESCALER) Debouncer Prescaler Position */
+#define EIC_DPRESCALER_PRESCALER0_Msk       (_U_(0x7) << EIC_DPRESCALER_PRESCALER0_Pos)    /**< (EIC_DPRESCALER) Debouncer Prescaler Mask */
+#define EIC_DPRESCALER_PRESCALER0(value)    (EIC_DPRESCALER_PRESCALER0_Msk & ((value) << EIC_DPRESCALER_PRESCALER0_Pos))
+#define EIC_DPRESCALER_STATES0_Pos          3                                              /**< (EIC_DPRESCALER) Debouncer number of states Position */
+#define EIC_DPRESCALER_STATES0_Msk          (_U_(0x1) << EIC_DPRESCALER_STATES0_Pos)       /**< (EIC_DPRESCALER) Debouncer number of states Mask */
+#define EIC_DPRESCALER_STATES0              EIC_DPRESCALER_STATES0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_DPRESCALER_STATES0_Msk instead */
+#define EIC_DPRESCALER_TICKON_Pos           16                                             /**< (EIC_DPRESCALER) Pin Sampler frequency selection Position */
+#define EIC_DPRESCALER_TICKON_Msk           (_U_(0x1) << EIC_DPRESCALER_TICKON_Pos)        /**< (EIC_DPRESCALER) Pin Sampler frequency selection Mask */
+#define EIC_DPRESCALER_TICKON               EIC_DPRESCALER_TICKON_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_DPRESCALER_TICKON_Msk instead */
+#define EIC_DPRESCALER_MASK                 _U_(0x1000F)                                   /**< \deprecated (EIC_DPRESCALER) Register MASK  (Use EIC_DPRESCALER_Msk instead)  */
+#define EIC_DPRESCALER_Msk                  _U_(0x1000F)                                   /**< (EIC_DPRESCALER) Register Mask  */
+
+#define EIC_DPRESCALER_STATES_Pos           3                                              /**< (EIC_DPRESCALER Position) Debouncer number of states */
+#define EIC_DPRESCALER_STATES_Msk           (_U_(0x1) << EIC_DPRESCALER_STATES_Pos)        /**< (EIC_DPRESCALER Mask) STATES */
+#define EIC_DPRESCALER_STATES(value)        (EIC_DPRESCALER_STATES_Msk & ((value) << EIC_DPRESCALER_STATES_Pos))  
+
+/* -------- EIC_PINSTATE : (EIC Offset: 0x38) (R/ 32) Pin State -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PINSTATE:8;                /**< bit:   0..7  Pin State                                */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_PINSTATE_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_PINSTATE_OFFSET                 (0x38)                                        /**<  (EIC_PINSTATE) Pin State  Offset */
+#define EIC_PINSTATE_RESETVALUE             _U_(0x00)                                     /**<  (EIC_PINSTATE) Pin State  Reset Value */
+
+#define EIC_PINSTATE_PINSTATE_Pos           0                                              /**< (EIC_PINSTATE) Pin State Position */
+#define EIC_PINSTATE_PINSTATE_Msk           (_U_(0xFF) << EIC_PINSTATE_PINSTATE_Pos)       /**< (EIC_PINSTATE) Pin State Mask */
+#define EIC_PINSTATE_PINSTATE(value)        (EIC_PINSTATE_PINSTATE_Msk & ((value) << EIC_PINSTATE_PINSTATE_Pos))
+#define EIC_PINSTATE_MASK                   _U_(0xFF)                                      /**< \deprecated (EIC_PINSTATE) Register MASK  (Use EIC_PINSTATE_Msk instead)  */
+#define EIC_PINSTATE_Msk                    _U_(0xFF)                                      /**< (EIC_PINSTATE) Register Mask  */
+
+
+/* -------- EIC_NSCHK : (EIC Offset: 0x3c) (R/W 32) Non-secure Interrupt Check Enable -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EXTINT:8;                  /**< bit:   0..7  External Interrupt Nonsecure Check Enable */
+    uint32_t :23;                       /**< bit:  8..30  Reserved */
+    uint32_t NMI:1;                     /**< bit:     31  Non-Maskable External Interrupt Nonsecure Check Enable */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_NSCHK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_NSCHK_OFFSET                    (0x3C)                                        /**<  (EIC_NSCHK) Non-secure Interrupt Check Enable  Offset */
+#define EIC_NSCHK_RESETVALUE                _U_(0x00)                                     /**<  (EIC_NSCHK) Non-secure Interrupt Check Enable  Reset Value */
+
+#define EIC_NSCHK_EXTINT_Pos                0                                              /**< (EIC_NSCHK) External Interrupt Nonsecure Check Enable Position */
+#define EIC_NSCHK_EXTINT_Msk                (_U_(0xFF) << EIC_NSCHK_EXTINT_Pos)            /**< (EIC_NSCHK) External Interrupt Nonsecure Check Enable Mask */
+#define EIC_NSCHK_EXTINT(value)             (EIC_NSCHK_EXTINT_Msk & ((value) << EIC_NSCHK_EXTINT_Pos))
+#define EIC_NSCHK_NMI_Pos                   31                                             /**< (EIC_NSCHK) Non-Maskable External Interrupt Nonsecure Check Enable Position */
+#define EIC_NSCHK_NMI_Msk                   (_U_(0x1) << EIC_NSCHK_NMI_Pos)                /**< (EIC_NSCHK) Non-Maskable External Interrupt Nonsecure Check Enable Mask */
+#define EIC_NSCHK_NMI                       EIC_NSCHK_NMI_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_NSCHK_NMI_Msk instead */
+#define EIC_NSCHK_MASK                      _U_(0x800000FF)                                /**< \deprecated (EIC_NSCHK) Register MASK  (Use EIC_NSCHK_Msk instead)  */
+#define EIC_NSCHK_Msk                       _U_(0x800000FF)                                /**< (EIC_NSCHK) Register Mask  */
+
+
+/* -------- EIC_NONSEC : (EIC Offset: 0x40) (R/W 32) Non-secure Interrupt -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EXTINT:8;                  /**< bit:   0..7  External Interrupt Nonsecure Enable      */
+    uint32_t :23;                       /**< bit:  8..30  Reserved */
+    uint32_t NMI:1;                     /**< bit:     31  Non-Maskable Interrupt Nonsecure Enable  */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EIC_NONSEC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EIC_NONSEC_OFFSET                   (0x40)                                        /**<  (EIC_NONSEC) Non-secure Interrupt  Offset */
+#define EIC_NONSEC_RESETVALUE               _U_(0x00)                                     /**<  (EIC_NONSEC) Non-secure Interrupt  Reset Value */
+
+#define EIC_NONSEC_EXTINT_Pos               0                                              /**< (EIC_NONSEC) External Interrupt Nonsecure Enable Position */
+#define EIC_NONSEC_EXTINT_Msk               (_U_(0xFF) << EIC_NONSEC_EXTINT_Pos)           /**< (EIC_NONSEC) External Interrupt Nonsecure Enable Mask */
+#define EIC_NONSEC_EXTINT(value)            (EIC_NONSEC_EXTINT_Msk & ((value) << EIC_NONSEC_EXTINT_Pos))
+#define EIC_NONSEC_NMI_Pos                  31                                             /**< (EIC_NONSEC) Non-Maskable Interrupt Nonsecure Enable Position */
+#define EIC_NONSEC_NMI_Msk                  (_U_(0x1) << EIC_NONSEC_NMI_Pos)               /**< (EIC_NONSEC) Non-Maskable Interrupt Nonsecure Enable Mask */
+#define EIC_NONSEC_NMI                      EIC_NONSEC_NMI_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use EIC_NONSEC_NMI_Msk instead */
+#define EIC_NONSEC_MASK                     _U_(0x800000FF)                                /**< \deprecated (EIC_NONSEC) Register MASK  (Use EIC_NONSEC_Msk instead)  */
+#define EIC_NONSEC_Msk                      _U_(0x800000FF)                                /**< (EIC_NONSEC) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief EIC hardware registers */
+typedef struct {  /* External Interrupt Controller */
+  __IO EIC_CTRLA_Type                 CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __IO EIC_NMICTRL_Type               NMICTRL;        /**< Offset: 0x01 (R/W   8) Non-Maskable Interrupt Control */
+  __IO EIC_NMIFLAG_Type               NMIFLAG;        /**< Offset: 0x02 (R/W  16) Non-Maskable Interrupt Flag Status and Clear */
+  __I  EIC_SYNCBUSY_Type              SYNCBUSY;       /**< Offset: 0x04 (R/   32) Synchronization Busy */
+  __IO EIC_EVCTRL_Type                EVCTRL;         /**< Offset: 0x08 (R/W  32) Event Control */
+  __IO EIC_INTENCLR_Type              INTENCLR;       /**< Offset: 0x0C (R/W  32) Interrupt Enable Clear */
+  __IO EIC_INTENSET_Type              INTENSET;       /**< Offset: 0x10 (R/W  32) Interrupt Enable Set */
+  __IO EIC_INTFLAG_Type               INTFLAG;        /**< Offset: 0x14 (R/W  32) Interrupt Flag Status and Clear */
+  __IO EIC_ASYNCH_Type                ASYNCH;         /**< Offset: 0x18 (R/W  32) External Interrupt Asynchronous Mode */
+  __IO EIC_CONFIG_Type                CONFIG[1];      /**< Offset: 0x1C (R/W  32) External Interrupt Sense Configuration */
+  __I  uint8_t                        Reserved1[16];
+  __IO EIC_DEBOUNCEN_Type             DEBOUNCEN;      /**< Offset: 0x30 (R/W  32) Debouncer Enable */
+  __IO EIC_DPRESCALER_Type            DPRESCALER;     /**< Offset: 0x34 (R/W  32) Debouncer Prescaler */
+  __I  EIC_PINSTATE_Type              PINSTATE;       /**< Offset: 0x38 (R/   32) Pin State */
+  __IO EIC_NSCHK_Type                 NSCHK;          /**< Offset: 0x3C (R/W  32) Non-secure Interrupt Check Enable */
+  __IO EIC_NONSEC_Type                NONSEC;         /**< Offset: 0x40 (R/W  32) Non-secure Interrupt */
+} Eic;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of External Interrupt Controller */
+
+#endif /* _SAML11_EIC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/evsys.h b/cpu/sam0_common/include/vendor/saml11/include/component/evsys.h
new file mode 100644
index 0000000000..03082a74d6
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/evsys.h
@@ -0,0 +1,927 @@
+/**
+ * \file
+ *
+ * \brief Component description for EVSYS
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_EVSYS_COMPONENT_H_
+#define _SAML11_EVSYS_COMPONENT_H_
+#define _SAML11_EVSYS_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Event System Interface
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR EVSYS */
+/* ========================================================================== */
+
+#define EVSYS_U2504                      /**< (EVSYS) Module ID */
+#define REV_EVSYS 0x200                  /**< (EVSYS) Module revision */
+
+/* -------- EVSYS_CHANNEL : (EVSYS Offset: 0x00) (R/W 32) Channel n Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVGEN:6;                   /**< bit:   0..5  Event Generator Selection                */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t PATH:2;                    /**< bit:   8..9  Path Selection                           */
+    uint32_t EDGSEL:2;                  /**< bit: 10..11  Edge Detection Selection                 */
+    uint32_t :2;                        /**< bit: 12..13  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:     14  Run in standby                           */
+    uint32_t ONDEMAND:1;                /**< bit:     15  Generic Clock On Demand                  */
+    uint32_t :16;                       /**< bit: 16..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_CHANNEL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CHANNEL_OFFSET                (0x00)                                        /**<  (EVSYS_CHANNEL) Channel n Control  Offset */
+#define EVSYS_CHANNEL_RESETVALUE            _U_(0x8000)                                   /**<  (EVSYS_CHANNEL) Channel n Control  Reset Value */
+
+#define EVSYS_CHANNEL_EVGEN_Pos             0                                              /**< (EVSYS_CHANNEL) Event Generator Selection Position */
+#define EVSYS_CHANNEL_EVGEN_Msk             (_U_(0x3F) << EVSYS_CHANNEL_EVGEN_Pos)         /**< (EVSYS_CHANNEL) Event Generator Selection Mask */
+#define EVSYS_CHANNEL_EVGEN(value)          (EVSYS_CHANNEL_EVGEN_Msk & ((value) << EVSYS_CHANNEL_EVGEN_Pos))
+#define EVSYS_CHANNEL_PATH_Pos              8                                              /**< (EVSYS_CHANNEL) Path Selection Position */
+#define EVSYS_CHANNEL_PATH_Msk              (_U_(0x3) << EVSYS_CHANNEL_PATH_Pos)           /**< (EVSYS_CHANNEL) Path Selection Mask */
+#define EVSYS_CHANNEL_PATH(value)           (EVSYS_CHANNEL_PATH_Msk & ((value) << EVSYS_CHANNEL_PATH_Pos))
+#define   EVSYS_CHANNEL_PATH_SYNCHRONOUS_Val _U_(0x0)                                       /**< (EVSYS_CHANNEL) Synchronous path  */
+#define   EVSYS_CHANNEL_PATH_RESYNCHRONIZED_Val _U_(0x1)                                       /**< (EVSYS_CHANNEL) Resynchronized path  */
+#define   EVSYS_CHANNEL_PATH_ASYNCHRONOUS_Val _U_(0x2)                                       /**< (EVSYS_CHANNEL) Asynchronous path  */
+#define EVSYS_CHANNEL_PATH_SYNCHRONOUS      (EVSYS_CHANNEL_PATH_SYNCHRONOUS_Val << EVSYS_CHANNEL_PATH_Pos)  /**< (EVSYS_CHANNEL) Synchronous path Position  */
+#define EVSYS_CHANNEL_PATH_RESYNCHRONIZED   (EVSYS_CHANNEL_PATH_RESYNCHRONIZED_Val << EVSYS_CHANNEL_PATH_Pos)  /**< (EVSYS_CHANNEL) Resynchronized path Position  */
+#define EVSYS_CHANNEL_PATH_ASYNCHRONOUS     (EVSYS_CHANNEL_PATH_ASYNCHRONOUS_Val << EVSYS_CHANNEL_PATH_Pos)  /**< (EVSYS_CHANNEL) Asynchronous path Position  */
+#define EVSYS_CHANNEL_EDGSEL_Pos            10                                             /**< (EVSYS_CHANNEL) Edge Detection Selection Position */
+#define EVSYS_CHANNEL_EDGSEL_Msk            (_U_(0x3) << EVSYS_CHANNEL_EDGSEL_Pos)         /**< (EVSYS_CHANNEL) Edge Detection Selection Mask */
+#define EVSYS_CHANNEL_EDGSEL(value)         (EVSYS_CHANNEL_EDGSEL_Msk & ((value) << EVSYS_CHANNEL_EDGSEL_Pos))
+#define   EVSYS_CHANNEL_EDGSEL_NO_EVT_OUTPUT_Val _U_(0x0)                                       /**< (EVSYS_CHANNEL) No event output when using the resynchronized or synchronous path  */
+#define   EVSYS_CHANNEL_EDGSEL_RISING_EDGE_Val _U_(0x1)                                       /**< (EVSYS_CHANNEL) Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path  */
+#define   EVSYS_CHANNEL_EDGSEL_FALLING_EDGE_Val _U_(0x2)                                       /**< (EVSYS_CHANNEL) Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path  */
+#define   EVSYS_CHANNEL_EDGSEL_BOTH_EDGES_Val _U_(0x3)                                       /**< (EVSYS_CHANNEL) Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path  */
+#define EVSYS_CHANNEL_EDGSEL_NO_EVT_OUTPUT  (EVSYS_CHANNEL_EDGSEL_NO_EVT_OUTPUT_Val << EVSYS_CHANNEL_EDGSEL_Pos)  /**< (EVSYS_CHANNEL) No event output when using the resynchronized or synchronous path Position  */
+#define EVSYS_CHANNEL_EDGSEL_RISING_EDGE    (EVSYS_CHANNEL_EDGSEL_RISING_EDGE_Val << EVSYS_CHANNEL_EDGSEL_Pos)  /**< (EVSYS_CHANNEL) Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path Position  */
+#define EVSYS_CHANNEL_EDGSEL_FALLING_EDGE   (EVSYS_CHANNEL_EDGSEL_FALLING_EDGE_Val << EVSYS_CHANNEL_EDGSEL_Pos)  /**< (EVSYS_CHANNEL) Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path Position  */
+#define EVSYS_CHANNEL_EDGSEL_BOTH_EDGES     (EVSYS_CHANNEL_EDGSEL_BOTH_EDGES_Val << EVSYS_CHANNEL_EDGSEL_Pos)  /**< (EVSYS_CHANNEL) Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path Position  */
+#define EVSYS_CHANNEL_RUNSTDBY_Pos          14                                             /**< (EVSYS_CHANNEL) Run in standby Position */
+#define EVSYS_CHANNEL_RUNSTDBY_Msk          (_U_(0x1) << EVSYS_CHANNEL_RUNSTDBY_Pos)       /**< (EVSYS_CHANNEL) Run in standby Mask */
+#define EVSYS_CHANNEL_RUNSTDBY              EVSYS_CHANNEL_RUNSTDBY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHANNEL_RUNSTDBY_Msk instead */
+#define EVSYS_CHANNEL_ONDEMAND_Pos          15                                             /**< (EVSYS_CHANNEL) Generic Clock On Demand Position */
+#define EVSYS_CHANNEL_ONDEMAND_Msk          (_U_(0x1) << EVSYS_CHANNEL_ONDEMAND_Pos)       /**< (EVSYS_CHANNEL) Generic Clock On Demand Mask */
+#define EVSYS_CHANNEL_ONDEMAND              EVSYS_CHANNEL_ONDEMAND_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHANNEL_ONDEMAND_Msk instead */
+#define EVSYS_CHANNEL_MASK                  _U_(0xCF3F)                                    /**< \deprecated (EVSYS_CHANNEL) Register MASK  (Use EVSYS_CHANNEL_Msk instead)  */
+#define EVSYS_CHANNEL_Msk                   _U_(0xCF3F)                                    /**< (EVSYS_CHANNEL) Register Mask  */
+
+
+/* -------- EVSYS_CHINTENCLR : (EVSYS Offset: 0x04) (R/W 8) Channel n Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  OVR:1;                     /**< bit:      0  Channel Overrun Interrupt Disable        */
+    uint8_t  EVD:1;                     /**< bit:      1  Channel Event Detected Interrupt Disable */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_CHINTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CHINTENCLR_OFFSET             (0x04)                                        /**<  (EVSYS_CHINTENCLR) Channel n Interrupt Enable Clear  Offset */
+#define EVSYS_CHINTENCLR_RESETVALUE         _U_(0x00)                                     /**<  (EVSYS_CHINTENCLR) Channel n Interrupt Enable Clear  Reset Value */
+
+#define EVSYS_CHINTENCLR_OVR_Pos            0                                              /**< (EVSYS_CHINTENCLR) Channel Overrun Interrupt Disable Position */
+#define EVSYS_CHINTENCLR_OVR_Msk            (_U_(0x1) << EVSYS_CHINTENCLR_OVR_Pos)         /**< (EVSYS_CHINTENCLR) Channel Overrun Interrupt Disable Mask */
+#define EVSYS_CHINTENCLR_OVR                EVSYS_CHINTENCLR_OVR_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTENCLR_OVR_Msk instead */
+#define EVSYS_CHINTENCLR_EVD_Pos            1                                              /**< (EVSYS_CHINTENCLR) Channel Event Detected Interrupt Disable Position */
+#define EVSYS_CHINTENCLR_EVD_Msk            (_U_(0x1) << EVSYS_CHINTENCLR_EVD_Pos)         /**< (EVSYS_CHINTENCLR) Channel Event Detected Interrupt Disable Mask */
+#define EVSYS_CHINTENCLR_EVD                EVSYS_CHINTENCLR_EVD_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTENCLR_EVD_Msk instead */
+#define EVSYS_CHINTENCLR_MASK               _U_(0x03)                                      /**< \deprecated (EVSYS_CHINTENCLR) Register MASK  (Use EVSYS_CHINTENCLR_Msk instead)  */
+#define EVSYS_CHINTENCLR_Msk                _U_(0x03)                                      /**< (EVSYS_CHINTENCLR) Register Mask  */
+
+
+/* -------- EVSYS_CHINTENSET : (EVSYS Offset: 0x05) (R/W 8) Channel n Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  OVR:1;                     /**< bit:      0  Channel Overrun Interrupt Enable         */
+    uint8_t  EVD:1;                     /**< bit:      1  Channel Event Detected Interrupt Enable  */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_CHINTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CHINTENSET_OFFSET             (0x05)                                        /**<  (EVSYS_CHINTENSET) Channel n Interrupt Enable Set  Offset */
+#define EVSYS_CHINTENSET_RESETVALUE         _U_(0x00)                                     /**<  (EVSYS_CHINTENSET) Channel n Interrupt Enable Set  Reset Value */
+
+#define EVSYS_CHINTENSET_OVR_Pos            0                                              /**< (EVSYS_CHINTENSET) Channel Overrun Interrupt Enable Position */
+#define EVSYS_CHINTENSET_OVR_Msk            (_U_(0x1) << EVSYS_CHINTENSET_OVR_Pos)         /**< (EVSYS_CHINTENSET) Channel Overrun Interrupt Enable Mask */
+#define EVSYS_CHINTENSET_OVR                EVSYS_CHINTENSET_OVR_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTENSET_OVR_Msk instead */
+#define EVSYS_CHINTENSET_EVD_Pos            1                                              /**< (EVSYS_CHINTENSET) Channel Event Detected Interrupt Enable Position */
+#define EVSYS_CHINTENSET_EVD_Msk            (_U_(0x1) << EVSYS_CHINTENSET_EVD_Pos)         /**< (EVSYS_CHINTENSET) Channel Event Detected Interrupt Enable Mask */
+#define EVSYS_CHINTENSET_EVD                EVSYS_CHINTENSET_EVD_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTENSET_EVD_Msk instead */
+#define EVSYS_CHINTENSET_MASK               _U_(0x03)                                      /**< \deprecated (EVSYS_CHINTENSET) Register MASK  (Use EVSYS_CHINTENSET_Msk instead)  */
+#define EVSYS_CHINTENSET_Msk                _U_(0x03)                                      /**< (EVSYS_CHINTENSET) Register Mask  */
+
+
+/* -------- EVSYS_CHINTFLAG : (EVSYS Offset: 0x06) (R/W 8) Channel n Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t OVR:1;                     /**< bit:      0  Channel Overrun                          */
+    __I uint8_t EVD:1;                     /**< bit:      1  Channel Event Detected                   */
+    __I uint8_t :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_CHINTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CHINTFLAG_OFFSET              (0x06)                                        /**<  (EVSYS_CHINTFLAG) Channel n Interrupt Flag Status and Clear  Offset */
+#define EVSYS_CHINTFLAG_RESETVALUE          _U_(0x00)                                     /**<  (EVSYS_CHINTFLAG) Channel n Interrupt Flag Status and Clear  Reset Value */
+
+#define EVSYS_CHINTFLAG_OVR_Pos             0                                              /**< (EVSYS_CHINTFLAG) Channel Overrun Position */
+#define EVSYS_CHINTFLAG_OVR_Msk             (_U_(0x1) << EVSYS_CHINTFLAG_OVR_Pos)          /**< (EVSYS_CHINTFLAG) Channel Overrun Mask */
+#define EVSYS_CHINTFLAG_OVR                 EVSYS_CHINTFLAG_OVR_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTFLAG_OVR_Msk instead */
+#define EVSYS_CHINTFLAG_EVD_Pos             1                                              /**< (EVSYS_CHINTFLAG) Channel Event Detected Position */
+#define EVSYS_CHINTFLAG_EVD_Msk             (_U_(0x1) << EVSYS_CHINTFLAG_EVD_Pos)          /**< (EVSYS_CHINTFLAG) Channel Event Detected Mask */
+#define EVSYS_CHINTFLAG_EVD                 EVSYS_CHINTFLAG_EVD_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHINTFLAG_EVD_Msk instead */
+#define EVSYS_CHINTFLAG_MASK                _U_(0x03)                                      /**< \deprecated (EVSYS_CHINTFLAG) Register MASK  (Use EVSYS_CHINTFLAG_Msk instead)  */
+#define EVSYS_CHINTFLAG_Msk                 _U_(0x03)                                      /**< (EVSYS_CHINTFLAG) Register Mask  */
+
+
+/* -------- EVSYS_CHSTATUS : (EVSYS Offset: 0x07) (R/ 8) Channel n Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RDYUSR:1;                  /**< bit:      0  Ready User                               */
+    uint8_t  BUSYCH:1;                  /**< bit:      1  Busy Channel                             */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_CHSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CHSTATUS_OFFSET               (0x07)                                        /**<  (EVSYS_CHSTATUS) Channel n Status  Offset */
+#define EVSYS_CHSTATUS_RESETVALUE           _U_(0x01)                                     /**<  (EVSYS_CHSTATUS) Channel n Status  Reset Value */
+
+#define EVSYS_CHSTATUS_RDYUSR_Pos           0                                              /**< (EVSYS_CHSTATUS) Ready User Position */
+#define EVSYS_CHSTATUS_RDYUSR_Msk           (_U_(0x1) << EVSYS_CHSTATUS_RDYUSR_Pos)        /**< (EVSYS_CHSTATUS) Ready User Mask */
+#define EVSYS_CHSTATUS_RDYUSR               EVSYS_CHSTATUS_RDYUSR_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHSTATUS_RDYUSR_Msk instead */
+#define EVSYS_CHSTATUS_BUSYCH_Pos           1                                              /**< (EVSYS_CHSTATUS) Busy Channel Position */
+#define EVSYS_CHSTATUS_BUSYCH_Msk           (_U_(0x1) << EVSYS_CHSTATUS_BUSYCH_Pos)        /**< (EVSYS_CHSTATUS) Busy Channel Mask */
+#define EVSYS_CHSTATUS_BUSYCH               EVSYS_CHSTATUS_BUSYCH_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CHSTATUS_BUSYCH_Msk instead */
+#define EVSYS_CHSTATUS_MASK                 _U_(0x03)                                      /**< \deprecated (EVSYS_CHSTATUS) Register MASK  (Use EVSYS_CHSTATUS_Msk instead)  */
+#define EVSYS_CHSTATUS_Msk                  _U_(0x03)                                      /**< (EVSYS_CHSTATUS) Register Mask  */
+
+
+/* -------- EVSYS_CTRLA : (EVSYS Offset: 0x00) (/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_CTRLA_OFFSET                  (0x00)                                        /**<  (EVSYS_CTRLA) Control  Offset */
+#define EVSYS_CTRLA_RESETVALUE              _U_(0x00)                                     /**<  (EVSYS_CTRLA) Control  Reset Value */
+
+#define EVSYS_CTRLA_SWRST_Pos               0                                              /**< (EVSYS_CTRLA) Software Reset Position */
+#define EVSYS_CTRLA_SWRST_Msk               (_U_(0x1) << EVSYS_CTRLA_SWRST_Pos)            /**< (EVSYS_CTRLA) Software Reset Mask */
+#define EVSYS_CTRLA_SWRST                   EVSYS_CTRLA_SWRST_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_CTRLA_SWRST_Msk instead */
+#define EVSYS_CTRLA_MASK                    _U_(0x01)                                      /**< \deprecated (EVSYS_CTRLA) Register MASK  (Use EVSYS_CTRLA_Msk instead)  */
+#define EVSYS_CTRLA_Msk                     _U_(0x01)                                      /**< (EVSYS_CTRLA) Register Mask  */
+
+
+/* -------- EVSYS_SWEVT : (EVSYS Offset: 0x04) (/W 32) Software Event -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CHANNEL0:1;                /**< bit:      0  Channel 0 Software Selection             */
+    uint32_t CHANNEL1:1;                /**< bit:      1  Channel 1 Software Selection             */
+    uint32_t CHANNEL2:1;                /**< bit:      2  Channel 2 Software Selection             */
+    uint32_t CHANNEL3:1;                /**< bit:      3  Channel 3 Software Selection             */
+    uint32_t CHANNEL4:1;                /**< bit:      4  Channel 4 Software Selection             */
+    uint32_t CHANNEL5:1;                /**< bit:      5  Channel 5 Software Selection             */
+    uint32_t CHANNEL6:1;                /**< bit:      6  Channel 6 Software Selection             */
+    uint32_t CHANNEL7:1;                /**< bit:      7  Channel 7 Software Selection             */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t CHANNEL:8;                 /**< bit:   0..7  Channel 7 Software Selection             */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_SWEVT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_SWEVT_OFFSET                  (0x04)                                        /**<  (EVSYS_SWEVT) Software Event  Offset */
+#define EVSYS_SWEVT_RESETVALUE              _U_(0x00)                                     /**<  (EVSYS_SWEVT) Software Event  Reset Value */
+
+#define EVSYS_SWEVT_CHANNEL0_Pos            0                                              /**< (EVSYS_SWEVT) Channel 0 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL0_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL0_Pos)         /**< (EVSYS_SWEVT) Channel 0 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL0                EVSYS_SWEVT_CHANNEL0_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL0_Msk instead */
+#define EVSYS_SWEVT_CHANNEL1_Pos            1                                              /**< (EVSYS_SWEVT) Channel 1 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL1_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL1_Pos)         /**< (EVSYS_SWEVT) Channel 1 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL1                EVSYS_SWEVT_CHANNEL1_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL1_Msk instead */
+#define EVSYS_SWEVT_CHANNEL2_Pos            2                                              /**< (EVSYS_SWEVT) Channel 2 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL2_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL2_Pos)         /**< (EVSYS_SWEVT) Channel 2 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL2                EVSYS_SWEVT_CHANNEL2_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL2_Msk instead */
+#define EVSYS_SWEVT_CHANNEL3_Pos            3                                              /**< (EVSYS_SWEVT) Channel 3 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL3_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL3_Pos)         /**< (EVSYS_SWEVT) Channel 3 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL3                EVSYS_SWEVT_CHANNEL3_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL3_Msk instead */
+#define EVSYS_SWEVT_CHANNEL4_Pos            4                                              /**< (EVSYS_SWEVT) Channel 4 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL4_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL4_Pos)         /**< (EVSYS_SWEVT) Channel 4 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL4                EVSYS_SWEVT_CHANNEL4_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL4_Msk instead */
+#define EVSYS_SWEVT_CHANNEL5_Pos            5                                              /**< (EVSYS_SWEVT) Channel 5 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL5_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL5_Pos)         /**< (EVSYS_SWEVT) Channel 5 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL5                EVSYS_SWEVT_CHANNEL5_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL5_Msk instead */
+#define EVSYS_SWEVT_CHANNEL6_Pos            6                                              /**< (EVSYS_SWEVT) Channel 6 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL6_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL6_Pos)         /**< (EVSYS_SWEVT) Channel 6 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL6                EVSYS_SWEVT_CHANNEL6_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL6_Msk instead */
+#define EVSYS_SWEVT_CHANNEL7_Pos            7                                              /**< (EVSYS_SWEVT) Channel 7 Software Selection Position */
+#define EVSYS_SWEVT_CHANNEL7_Msk            (_U_(0x1) << EVSYS_SWEVT_CHANNEL7_Pos)         /**< (EVSYS_SWEVT) Channel 7 Software Selection Mask */
+#define EVSYS_SWEVT_CHANNEL7                EVSYS_SWEVT_CHANNEL7_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_SWEVT_CHANNEL7_Msk instead */
+#define EVSYS_SWEVT_MASK                    _U_(0xFF)                                      /**< \deprecated (EVSYS_SWEVT) Register MASK  (Use EVSYS_SWEVT_Msk instead)  */
+#define EVSYS_SWEVT_Msk                     _U_(0xFF)                                      /**< (EVSYS_SWEVT) Register Mask  */
+
+#define EVSYS_SWEVT_CHANNEL_Pos             0                                              /**< (EVSYS_SWEVT Position) Channel 7 Software Selection */
+#define EVSYS_SWEVT_CHANNEL_Msk             (_U_(0xFF) << EVSYS_SWEVT_CHANNEL_Pos)         /**< (EVSYS_SWEVT Mask) CHANNEL */
+#define EVSYS_SWEVT_CHANNEL(value)          (EVSYS_SWEVT_CHANNEL_Msk & ((value) << EVSYS_SWEVT_CHANNEL_Pos))  
+
+/* -------- EVSYS_PRICTRL : (EVSYS Offset: 0x08) (R/W 8) Priority Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PRI:2;                     /**< bit:   0..1  Channel Priority Number                  */
+    uint8_t  :5;                        /**< bit:   2..6  Reserved */
+    uint8_t  RREN:1;                    /**< bit:      7  Round-Robin Scheduling Enable            */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_PRICTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_PRICTRL_OFFSET                (0x08)                                        /**<  (EVSYS_PRICTRL) Priority Control  Offset */
+#define EVSYS_PRICTRL_RESETVALUE            _U_(0x00)                                     /**<  (EVSYS_PRICTRL) Priority Control  Reset Value */
+
+#define EVSYS_PRICTRL_PRI_Pos               0                                              /**< (EVSYS_PRICTRL) Channel Priority Number Position */
+#define EVSYS_PRICTRL_PRI_Msk               (_U_(0x3) << EVSYS_PRICTRL_PRI_Pos)            /**< (EVSYS_PRICTRL) Channel Priority Number Mask */
+#define EVSYS_PRICTRL_PRI(value)            (EVSYS_PRICTRL_PRI_Msk & ((value) << EVSYS_PRICTRL_PRI_Pos))
+#define EVSYS_PRICTRL_RREN_Pos              7                                              /**< (EVSYS_PRICTRL) Round-Robin Scheduling Enable Position */
+#define EVSYS_PRICTRL_RREN_Msk              (_U_(0x1) << EVSYS_PRICTRL_RREN_Pos)           /**< (EVSYS_PRICTRL) Round-Robin Scheduling Enable Mask */
+#define EVSYS_PRICTRL_RREN                  EVSYS_PRICTRL_RREN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_PRICTRL_RREN_Msk instead */
+#define EVSYS_PRICTRL_MASK                  _U_(0x83)                                      /**< \deprecated (EVSYS_PRICTRL) Register MASK  (Use EVSYS_PRICTRL_Msk instead)  */
+#define EVSYS_PRICTRL_Msk                   _U_(0x83)                                      /**< (EVSYS_PRICTRL) Register Mask  */
+
+
+/* -------- EVSYS_INTPEND : (EVSYS Offset: 0x10) (R/W 16) Channel Pending Interrupt -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t ID:2;                      /**< bit:   0..1  Channel ID                               */
+    uint16_t :6;                        /**< bit:   2..7  Reserved */
+    uint16_t OVR:1;                     /**< bit:      8  Channel Overrun                          */
+    uint16_t EVD:1;                     /**< bit:      9  Channel Event Detected                   */
+    uint16_t :4;                        /**< bit: 10..13  Reserved */
+    uint16_t READY:1;                   /**< bit:     14  Ready                                    */
+    uint16_t BUSY:1;                    /**< bit:     15  Busy                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} EVSYS_INTPEND_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_INTPEND_OFFSET                (0x10)                                        /**<  (EVSYS_INTPEND) Channel Pending Interrupt  Offset */
+#define EVSYS_INTPEND_RESETVALUE            _U_(0x4000)                                   /**<  (EVSYS_INTPEND) Channel Pending Interrupt  Reset Value */
+
+#define EVSYS_INTPEND_ID_Pos                0                                              /**< (EVSYS_INTPEND) Channel ID Position */
+#define EVSYS_INTPEND_ID_Msk                (_U_(0x3) << EVSYS_INTPEND_ID_Pos)             /**< (EVSYS_INTPEND) Channel ID Mask */
+#define EVSYS_INTPEND_ID(value)             (EVSYS_INTPEND_ID_Msk & ((value) << EVSYS_INTPEND_ID_Pos))
+#define EVSYS_INTPEND_OVR_Pos               8                                              /**< (EVSYS_INTPEND) Channel Overrun Position */
+#define EVSYS_INTPEND_OVR_Msk               (_U_(0x1) << EVSYS_INTPEND_OVR_Pos)            /**< (EVSYS_INTPEND) Channel Overrun Mask */
+#define EVSYS_INTPEND_OVR                   EVSYS_INTPEND_OVR_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTPEND_OVR_Msk instead */
+#define EVSYS_INTPEND_EVD_Pos               9                                              /**< (EVSYS_INTPEND) Channel Event Detected Position */
+#define EVSYS_INTPEND_EVD_Msk               (_U_(0x1) << EVSYS_INTPEND_EVD_Pos)            /**< (EVSYS_INTPEND) Channel Event Detected Mask */
+#define EVSYS_INTPEND_EVD                   EVSYS_INTPEND_EVD_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTPEND_EVD_Msk instead */
+#define EVSYS_INTPEND_READY_Pos             14                                             /**< (EVSYS_INTPEND) Ready Position */
+#define EVSYS_INTPEND_READY_Msk             (_U_(0x1) << EVSYS_INTPEND_READY_Pos)          /**< (EVSYS_INTPEND) Ready Mask */
+#define EVSYS_INTPEND_READY                 EVSYS_INTPEND_READY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTPEND_READY_Msk instead */
+#define EVSYS_INTPEND_BUSY_Pos              15                                             /**< (EVSYS_INTPEND) Busy Position */
+#define EVSYS_INTPEND_BUSY_Msk              (_U_(0x1) << EVSYS_INTPEND_BUSY_Pos)           /**< (EVSYS_INTPEND) Busy Mask */
+#define EVSYS_INTPEND_BUSY                  EVSYS_INTPEND_BUSY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTPEND_BUSY_Msk instead */
+#define EVSYS_INTPEND_MASK                  _U_(0xC303)                                    /**< \deprecated (EVSYS_INTPEND) Register MASK  (Use EVSYS_INTPEND_Msk instead)  */
+#define EVSYS_INTPEND_Msk                   _U_(0xC303)                                    /**< (EVSYS_INTPEND) Register Mask  */
+
+
+/* -------- EVSYS_INTSTATUS : (EVSYS Offset: 0x14) (R/ 32) Interrupt Status -------- */
+#if !(defined(__ASSEMBLER__) || 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 :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t CHINT:4;                   /**< bit:   0..3  Channel 3 Pending Interrupt              */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_INTSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_INTSTATUS_OFFSET              (0x14)                                        /**<  (EVSYS_INTSTATUS) Interrupt Status  Offset */
+#define EVSYS_INTSTATUS_RESETVALUE          _U_(0x00)                                     /**<  (EVSYS_INTSTATUS) Interrupt Status  Reset Value */
+
+#define EVSYS_INTSTATUS_CHINT0_Pos          0                                              /**< (EVSYS_INTSTATUS) Channel 0 Pending Interrupt Position */
+#define EVSYS_INTSTATUS_CHINT0_Msk          (_U_(0x1) << EVSYS_INTSTATUS_CHINT0_Pos)       /**< (EVSYS_INTSTATUS) Channel 0 Pending Interrupt Mask */
+#define EVSYS_INTSTATUS_CHINT0              EVSYS_INTSTATUS_CHINT0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTSTATUS_CHINT0_Msk instead */
+#define EVSYS_INTSTATUS_CHINT1_Pos          1                                              /**< (EVSYS_INTSTATUS) Channel 1 Pending Interrupt Position */
+#define EVSYS_INTSTATUS_CHINT1_Msk          (_U_(0x1) << EVSYS_INTSTATUS_CHINT1_Pos)       /**< (EVSYS_INTSTATUS) Channel 1 Pending Interrupt Mask */
+#define EVSYS_INTSTATUS_CHINT1              EVSYS_INTSTATUS_CHINT1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTSTATUS_CHINT1_Msk instead */
+#define EVSYS_INTSTATUS_CHINT2_Pos          2                                              /**< (EVSYS_INTSTATUS) Channel 2 Pending Interrupt Position */
+#define EVSYS_INTSTATUS_CHINT2_Msk          (_U_(0x1) << EVSYS_INTSTATUS_CHINT2_Pos)       /**< (EVSYS_INTSTATUS) Channel 2 Pending Interrupt Mask */
+#define EVSYS_INTSTATUS_CHINT2              EVSYS_INTSTATUS_CHINT2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTSTATUS_CHINT2_Msk instead */
+#define EVSYS_INTSTATUS_CHINT3_Pos          3                                              /**< (EVSYS_INTSTATUS) Channel 3 Pending Interrupt Position */
+#define EVSYS_INTSTATUS_CHINT3_Msk          (_U_(0x1) << EVSYS_INTSTATUS_CHINT3_Pos)       /**< (EVSYS_INTSTATUS) Channel 3 Pending Interrupt Mask */
+#define EVSYS_INTSTATUS_CHINT3              EVSYS_INTSTATUS_CHINT3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTSTATUS_CHINT3_Msk instead */
+#define EVSYS_INTSTATUS_MASK                _U_(0x0F)                                      /**< \deprecated (EVSYS_INTSTATUS) Register MASK  (Use EVSYS_INTSTATUS_Msk instead)  */
+#define EVSYS_INTSTATUS_Msk                 _U_(0x0F)                                      /**< (EVSYS_INTSTATUS) Register Mask  */
+
+#define EVSYS_INTSTATUS_CHINT_Pos           0                                              /**< (EVSYS_INTSTATUS Position) Channel 3 Pending Interrupt */
+#define EVSYS_INTSTATUS_CHINT_Msk           (_U_(0xF) << EVSYS_INTSTATUS_CHINT_Pos)        /**< (EVSYS_INTSTATUS Mask) CHINT */
+#define EVSYS_INTSTATUS_CHINT(value)        (EVSYS_INTSTATUS_CHINT_Msk & ((value) << EVSYS_INTSTATUS_CHINT_Pos))  
+
+/* -------- EVSYS_BUSYCH : (EVSYS Offset: 0x18) (R/ 32) Busy Channels -------- */
+#if !(defined(__ASSEMBLER__) || 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 :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t BUSYCH:4;                  /**< bit:   0..3  Busy Channel 3                           */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_BUSYCH_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_BUSYCH_OFFSET                 (0x18)                                        /**<  (EVSYS_BUSYCH) Busy Channels  Offset */
+#define EVSYS_BUSYCH_RESETVALUE             _U_(0x00)                                     /**<  (EVSYS_BUSYCH) Busy Channels  Reset Value */
+
+#define EVSYS_BUSYCH_BUSYCH0_Pos            0                                              /**< (EVSYS_BUSYCH) Busy Channel 0 Position */
+#define EVSYS_BUSYCH_BUSYCH0_Msk            (_U_(0x1) << EVSYS_BUSYCH_BUSYCH0_Pos)         /**< (EVSYS_BUSYCH) Busy Channel 0 Mask */
+#define EVSYS_BUSYCH_BUSYCH0                EVSYS_BUSYCH_BUSYCH0_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_BUSYCH_BUSYCH0_Msk instead */
+#define EVSYS_BUSYCH_BUSYCH1_Pos            1                                              /**< (EVSYS_BUSYCH) Busy Channel 1 Position */
+#define EVSYS_BUSYCH_BUSYCH1_Msk            (_U_(0x1) << EVSYS_BUSYCH_BUSYCH1_Pos)         /**< (EVSYS_BUSYCH) Busy Channel 1 Mask */
+#define EVSYS_BUSYCH_BUSYCH1                EVSYS_BUSYCH_BUSYCH1_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_BUSYCH_BUSYCH1_Msk instead */
+#define EVSYS_BUSYCH_BUSYCH2_Pos            2                                              /**< (EVSYS_BUSYCH) Busy Channel 2 Position */
+#define EVSYS_BUSYCH_BUSYCH2_Msk            (_U_(0x1) << EVSYS_BUSYCH_BUSYCH2_Pos)         /**< (EVSYS_BUSYCH) Busy Channel 2 Mask */
+#define EVSYS_BUSYCH_BUSYCH2                EVSYS_BUSYCH_BUSYCH2_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_BUSYCH_BUSYCH2_Msk instead */
+#define EVSYS_BUSYCH_BUSYCH3_Pos            3                                              /**< (EVSYS_BUSYCH) Busy Channel 3 Position */
+#define EVSYS_BUSYCH_BUSYCH3_Msk            (_U_(0x1) << EVSYS_BUSYCH_BUSYCH3_Pos)         /**< (EVSYS_BUSYCH) Busy Channel 3 Mask */
+#define EVSYS_BUSYCH_BUSYCH3                EVSYS_BUSYCH_BUSYCH3_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_BUSYCH_BUSYCH3_Msk instead */
+#define EVSYS_BUSYCH_MASK                   _U_(0x0F)                                      /**< \deprecated (EVSYS_BUSYCH) Register MASK  (Use EVSYS_BUSYCH_Msk instead)  */
+#define EVSYS_BUSYCH_Msk                    _U_(0x0F)                                      /**< (EVSYS_BUSYCH) Register Mask  */
+
+#define EVSYS_BUSYCH_BUSYCH_Pos             0                                              /**< (EVSYS_BUSYCH Position) Busy Channel 3 */
+#define EVSYS_BUSYCH_BUSYCH_Msk             (_U_(0xF) << EVSYS_BUSYCH_BUSYCH_Pos)          /**< (EVSYS_BUSYCH Mask) BUSYCH */
+#define EVSYS_BUSYCH_BUSYCH(value)          (EVSYS_BUSYCH_BUSYCH_Msk & ((value) << EVSYS_BUSYCH_BUSYCH_Pos))  
+
+/* -------- EVSYS_READYUSR : (EVSYS Offset: 0x1c) (R/ 32) Ready Users -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t READYUSR0:1;               /**< bit:      0  Ready User for Channel 0                 */
+    uint32_t READYUSR1:1;               /**< bit:      1  Ready User for Channel 1                 */
+    uint32_t READYUSR2:1;               /**< bit:      2  Ready User for Channel 2                 */
+    uint32_t READYUSR3:1;               /**< bit:      3  Ready User for Channel 3                 */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t READYUSR:4;                /**< bit:   0..3  Ready User for Channel 3                 */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_READYUSR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_READYUSR_OFFSET               (0x1C)                                        /**<  (EVSYS_READYUSR) Ready Users  Offset */
+#define EVSYS_READYUSR_RESETVALUE           _U_(0xFFFFFFFF)                               /**<  (EVSYS_READYUSR) Ready Users  Reset Value */
+
+#define EVSYS_READYUSR_READYUSR0_Pos        0                                              /**< (EVSYS_READYUSR) Ready User for Channel 0 Position */
+#define EVSYS_READYUSR_READYUSR0_Msk        (_U_(0x1) << EVSYS_READYUSR_READYUSR0_Pos)     /**< (EVSYS_READYUSR) Ready User for Channel 0 Mask */
+#define EVSYS_READYUSR_READYUSR0            EVSYS_READYUSR_READYUSR0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_READYUSR_READYUSR0_Msk instead */
+#define EVSYS_READYUSR_READYUSR1_Pos        1                                              /**< (EVSYS_READYUSR) Ready User for Channel 1 Position */
+#define EVSYS_READYUSR_READYUSR1_Msk        (_U_(0x1) << EVSYS_READYUSR_READYUSR1_Pos)     /**< (EVSYS_READYUSR) Ready User for Channel 1 Mask */
+#define EVSYS_READYUSR_READYUSR1            EVSYS_READYUSR_READYUSR1_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_READYUSR_READYUSR1_Msk instead */
+#define EVSYS_READYUSR_READYUSR2_Pos        2                                              /**< (EVSYS_READYUSR) Ready User for Channel 2 Position */
+#define EVSYS_READYUSR_READYUSR2_Msk        (_U_(0x1) << EVSYS_READYUSR_READYUSR2_Pos)     /**< (EVSYS_READYUSR) Ready User for Channel 2 Mask */
+#define EVSYS_READYUSR_READYUSR2            EVSYS_READYUSR_READYUSR2_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_READYUSR_READYUSR2_Msk instead */
+#define EVSYS_READYUSR_READYUSR3_Pos        3                                              /**< (EVSYS_READYUSR) Ready User for Channel 3 Position */
+#define EVSYS_READYUSR_READYUSR3_Msk        (_U_(0x1) << EVSYS_READYUSR_READYUSR3_Pos)     /**< (EVSYS_READYUSR) Ready User for Channel 3 Mask */
+#define EVSYS_READYUSR_READYUSR3            EVSYS_READYUSR_READYUSR3_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_READYUSR_READYUSR3_Msk instead */
+#define EVSYS_READYUSR_MASK                 _U_(0x0F)                                      /**< \deprecated (EVSYS_READYUSR) Register MASK  (Use EVSYS_READYUSR_Msk instead)  */
+#define EVSYS_READYUSR_Msk                  _U_(0x0F)                                      /**< (EVSYS_READYUSR) Register Mask  */
+
+#define EVSYS_READYUSR_READYUSR_Pos         0                                              /**< (EVSYS_READYUSR Position) Ready User for Channel 3 */
+#define EVSYS_READYUSR_READYUSR_Msk         (_U_(0xF) << EVSYS_READYUSR_READYUSR_Pos)      /**< (EVSYS_READYUSR Mask) READYUSR */
+#define EVSYS_READYUSR_READYUSR(value)      (EVSYS_READYUSR_READYUSR_Msk & ((value) << EVSYS_READYUSR_READYUSR_Pos))  
+
+/* -------- EVSYS_USER : (EVSYS Offset: 0x120) (R/W 8) User Multiplexer n -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CHANNEL:4;                 /**< bit:   0..3  Channel Event Selection                  */
+    uint8_t  :4;                        /**< bit:   4..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_USER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_USER_OFFSET                   (0x120)                                       /**<  (EVSYS_USER) User Multiplexer n  Offset */
+#define EVSYS_USER_RESETVALUE               _U_(0x00)                                     /**<  (EVSYS_USER) User Multiplexer n  Reset Value */
+
+#define EVSYS_USER_CHANNEL_Pos              0                                              /**< (EVSYS_USER) Channel Event Selection Position */
+#define EVSYS_USER_CHANNEL_Msk              (_U_(0xF) << EVSYS_USER_CHANNEL_Pos)           /**< (EVSYS_USER) Channel Event Selection Mask */
+#define EVSYS_USER_CHANNEL(value)           (EVSYS_USER_CHANNEL_Msk & ((value) << EVSYS_USER_CHANNEL_Pos))
+#define EVSYS_USER_MASK                     _U_(0x0F)                                      /**< \deprecated (EVSYS_USER) Register MASK  (Use EVSYS_USER_Msk instead)  */
+#define EVSYS_USER_Msk                      _U_(0x0F)                                      /**< (EVSYS_USER) Register Mask  */
+
+
+/* -------- EVSYS_INTENCLR : (EVSYS Offset: 0x1d4) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  NSCHK:1;                   /**< bit:      0  Non-Secure Check Interrupt Enable        */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_INTENCLR_OFFSET               (0x1D4)                                       /**<  (EVSYS_INTENCLR) Interrupt Enable Clear  Offset */
+#define EVSYS_INTENCLR_RESETVALUE           _U_(0x00)                                     /**<  (EVSYS_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define EVSYS_INTENCLR_NSCHK_Pos            0                                              /**< (EVSYS_INTENCLR) Non-Secure Check Interrupt Enable Position */
+#define EVSYS_INTENCLR_NSCHK_Msk            (_U_(0x1) << EVSYS_INTENCLR_NSCHK_Pos)         /**< (EVSYS_INTENCLR) Non-Secure Check Interrupt Enable Mask */
+#define EVSYS_INTENCLR_NSCHK                EVSYS_INTENCLR_NSCHK_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTENCLR_NSCHK_Msk instead */
+#define EVSYS_INTENCLR_MASK                 _U_(0x01)                                      /**< \deprecated (EVSYS_INTENCLR) Register MASK  (Use EVSYS_INTENCLR_Msk instead)  */
+#define EVSYS_INTENCLR_Msk                  _U_(0x01)                                      /**< (EVSYS_INTENCLR) Register Mask  */
+
+
+/* -------- EVSYS_INTENSET : (EVSYS Offset: 0x1d5) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  NSCHK:1;                   /**< bit:      0  Non-Secure Check Interrupt Enable        */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_INTENSET_OFFSET               (0x1D5)                                       /**<  (EVSYS_INTENSET) Interrupt Enable Set  Offset */
+#define EVSYS_INTENSET_RESETVALUE           _U_(0x00)                                     /**<  (EVSYS_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define EVSYS_INTENSET_NSCHK_Pos            0                                              /**< (EVSYS_INTENSET) Non-Secure Check Interrupt Enable Position */
+#define EVSYS_INTENSET_NSCHK_Msk            (_U_(0x1) << EVSYS_INTENSET_NSCHK_Pos)         /**< (EVSYS_INTENSET) Non-Secure Check Interrupt Enable Mask */
+#define EVSYS_INTENSET_NSCHK                EVSYS_INTENSET_NSCHK_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTENSET_NSCHK_Msk instead */
+#define EVSYS_INTENSET_MASK                 _U_(0x01)                                      /**< \deprecated (EVSYS_INTENSET) Register MASK  (Use EVSYS_INTENSET_Msk instead)  */
+#define EVSYS_INTENSET_Msk                  _U_(0x01)                                      /**< (EVSYS_INTENSET) Register Mask  */
+
+
+/* -------- EVSYS_INTFLAG : (EVSYS Offset: 0x1d6) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t NSCHK:1;                   /**< bit:      0  Non-Secure Check                         */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} EVSYS_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_INTFLAG_OFFSET                (0x1D6)                                       /**<  (EVSYS_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define EVSYS_INTFLAG_RESETVALUE            _U_(0x00)                                     /**<  (EVSYS_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define EVSYS_INTFLAG_NSCHK_Pos             0                                              /**< (EVSYS_INTFLAG) Non-Secure Check Position */
+#define EVSYS_INTFLAG_NSCHK_Msk             (_U_(0x1) << EVSYS_INTFLAG_NSCHK_Pos)          /**< (EVSYS_INTFLAG) Non-Secure Check Mask */
+#define EVSYS_INTFLAG_NSCHK                 EVSYS_INTFLAG_NSCHK_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_INTFLAG_NSCHK_Msk instead */
+#define EVSYS_INTFLAG_MASK                  _U_(0x01)                                      /**< \deprecated (EVSYS_INTFLAG) Register MASK  (Use EVSYS_INTFLAG_Msk instead)  */
+#define EVSYS_INTFLAG_Msk                   _U_(0x01)                                      /**< (EVSYS_INTFLAG) Register Mask  */
+
+
+/* -------- EVSYS_NONSECCHAN : (EVSYS Offset: 0x1d8) (R/W 32) Channels Security Attribution -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CHANNEL0:1;                /**< bit:      0  Non-Secure for Channel 0                 */
+    uint32_t CHANNEL1:1;                /**< bit:      1  Non-Secure for Channel 1                 */
+    uint32_t CHANNEL2:1;                /**< bit:      2  Non-Secure for Channel 2                 */
+    uint32_t CHANNEL3:1;                /**< bit:      3  Non-Secure for Channel 3                 */
+    uint32_t CHANNEL4:1;                /**< bit:      4  Non-Secure for Channel 4                 */
+    uint32_t CHANNEL5:1;                /**< bit:      5  Non-Secure for Channel 5                 */
+    uint32_t CHANNEL6:1;                /**< bit:      6  Non-Secure for Channel 6                 */
+    uint32_t CHANNEL7:1;                /**< bit:      7  Non-Secure for Channel 7                 */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t CHANNEL:8;                 /**< bit:   0..7  Non-Secure for Channel 7                 */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_NONSECCHAN_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_NONSECCHAN_OFFSET             (0x1D8)                                       /**<  (EVSYS_NONSECCHAN) Channels Security Attribution  Offset */
+#define EVSYS_NONSECCHAN_RESETVALUE         _U_(0x00)                                     /**<  (EVSYS_NONSECCHAN) Channels Security Attribution  Reset Value */
+
+#define EVSYS_NONSECCHAN_CHANNEL0_Pos       0                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 0 Position */
+#define EVSYS_NONSECCHAN_CHANNEL0_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL0_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 0 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL0           EVSYS_NONSECCHAN_CHANNEL0_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL0_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL1_Pos       1                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 1 Position */
+#define EVSYS_NONSECCHAN_CHANNEL1_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL1_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 1 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL1           EVSYS_NONSECCHAN_CHANNEL1_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL1_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL2_Pos       2                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 2 Position */
+#define EVSYS_NONSECCHAN_CHANNEL2_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL2_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 2 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL2           EVSYS_NONSECCHAN_CHANNEL2_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL2_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL3_Pos       3                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 3 Position */
+#define EVSYS_NONSECCHAN_CHANNEL3_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL3_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 3 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL3           EVSYS_NONSECCHAN_CHANNEL3_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL3_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL4_Pos       4                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 4 Position */
+#define EVSYS_NONSECCHAN_CHANNEL4_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL4_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 4 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL4           EVSYS_NONSECCHAN_CHANNEL4_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL4_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL5_Pos       5                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 5 Position */
+#define EVSYS_NONSECCHAN_CHANNEL5_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL5_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 5 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL5           EVSYS_NONSECCHAN_CHANNEL5_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL5_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL6_Pos       6                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 6 Position */
+#define EVSYS_NONSECCHAN_CHANNEL6_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL6_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 6 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL6           EVSYS_NONSECCHAN_CHANNEL6_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL6_Msk instead */
+#define EVSYS_NONSECCHAN_CHANNEL7_Pos       7                                              /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 7 Position */
+#define EVSYS_NONSECCHAN_CHANNEL7_Msk       (_U_(0x1) << EVSYS_NONSECCHAN_CHANNEL7_Pos)    /**< (EVSYS_NONSECCHAN) Non-Secure for Channel 7 Mask */
+#define EVSYS_NONSECCHAN_CHANNEL7           EVSYS_NONSECCHAN_CHANNEL7_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECCHAN_CHANNEL7_Msk instead */
+#define EVSYS_NONSECCHAN_MASK               _U_(0xFF)                                      /**< \deprecated (EVSYS_NONSECCHAN) Register MASK  (Use EVSYS_NONSECCHAN_Msk instead)  */
+#define EVSYS_NONSECCHAN_Msk                _U_(0xFF)                                      /**< (EVSYS_NONSECCHAN) Register Mask  */
+
+#define EVSYS_NONSECCHAN_CHANNEL_Pos        0                                              /**< (EVSYS_NONSECCHAN Position) Non-Secure for Channel 7 */
+#define EVSYS_NONSECCHAN_CHANNEL_Msk        (_U_(0xFF) << EVSYS_NONSECCHAN_CHANNEL_Pos)    /**< (EVSYS_NONSECCHAN Mask) CHANNEL */
+#define EVSYS_NONSECCHAN_CHANNEL(value)     (EVSYS_NONSECCHAN_CHANNEL_Msk & ((value) << EVSYS_NONSECCHAN_CHANNEL_Pos))  
+
+/* -------- EVSYS_NSCHKCHAN : (EVSYS Offset: 0x1dc) (R/W 32) Non-Secure Channels Check -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CHANNEL0:1;                /**< bit:      0  Channel 0 to be checked as non-secured   */
+    uint32_t CHANNEL1:1;                /**< bit:      1  Channel 1 to be checked as non-secured   */
+    uint32_t CHANNEL2:1;                /**< bit:      2  Channel 2 to be checked as non-secured   */
+    uint32_t CHANNEL3:1;                /**< bit:      3  Channel 3 to be checked as non-secured   */
+    uint32_t CHANNEL4:1;                /**< bit:      4  Channel 4 to be checked as non-secured   */
+    uint32_t CHANNEL5:1;                /**< bit:      5  Channel 5 to be checked as non-secured   */
+    uint32_t CHANNEL6:1;                /**< bit:      6  Channel 6 to be checked as non-secured   */
+    uint32_t CHANNEL7:1;                /**< bit:      7  Channel 7 to be checked as non-secured   */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t CHANNEL:8;                 /**< bit:   0..7  Channel 7 to be checked as non-secured   */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_NSCHKCHAN_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_NSCHKCHAN_OFFSET              (0x1DC)                                       /**<  (EVSYS_NSCHKCHAN) Non-Secure Channels Check  Offset */
+#define EVSYS_NSCHKCHAN_RESETVALUE          _U_(0x00)                                     /**<  (EVSYS_NSCHKCHAN) Non-Secure Channels Check  Reset Value */
+
+#define EVSYS_NSCHKCHAN_CHANNEL0_Pos        0                                              /**< (EVSYS_NSCHKCHAN) Channel 0 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL0_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL0_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 0 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL0            EVSYS_NSCHKCHAN_CHANNEL0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL0_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL1_Pos        1                                              /**< (EVSYS_NSCHKCHAN) Channel 1 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL1_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL1_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 1 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL1            EVSYS_NSCHKCHAN_CHANNEL1_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL1_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL2_Pos        2                                              /**< (EVSYS_NSCHKCHAN) Channel 2 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL2_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL2_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 2 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL2            EVSYS_NSCHKCHAN_CHANNEL2_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL2_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL3_Pos        3                                              /**< (EVSYS_NSCHKCHAN) Channel 3 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL3_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL3_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 3 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL3            EVSYS_NSCHKCHAN_CHANNEL3_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL3_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL4_Pos        4                                              /**< (EVSYS_NSCHKCHAN) Channel 4 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL4_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL4_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 4 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL4            EVSYS_NSCHKCHAN_CHANNEL4_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL4_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL5_Pos        5                                              /**< (EVSYS_NSCHKCHAN) Channel 5 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL5_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL5_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 5 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL5            EVSYS_NSCHKCHAN_CHANNEL5_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL5_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL6_Pos        6                                              /**< (EVSYS_NSCHKCHAN) Channel 6 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL6_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL6_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 6 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL6            EVSYS_NSCHKCHAN_CHANNEL6_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL6_Msk instead */
+#define EVSYS_NSCHKCHAN_CHANNEL7_Pos        7                                              /**< (EVSYS_NSCHKCHAN) Channel 7 to be checked as non-secured Position */
+#define EVSYS_NSCHKCHAN_CHANNEL7_Msk        (_U_(0x1) << EVSYS_NSCHKCHAN_CHANNEL7_Pos)     /**< (EVSYS_NSCHKCHAN) Channel 7 to be checked as non-secured Mask */
+#define EVSYS_NSCHKCHAN_CHANNEL7            EVSYS_NSCHKCHAN_CHANNEL7_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKCHAN_CHANNEL7_Msk instead */
+#define EVSYS_NSCHKCHAN_MASK                _U_(0xFF)                                      /**< \deprecated (EVSYS_NSCHKCHAN) Register MASK  (Use EVSYS_NSCHKCHAN_Msk instead)  */
+#define EVSYS_NSCHKCHAN_Msk                 _U_(0xFF)                                      /**< (EVSYS_NSCHKCHAN) Register Mask  */
+
+#define EVSYS_NSCHKCHAN_CHANNEL_Pos         0                                              /**< (EVSYS_NSCHKCHAN Position) Channel 7 to be checked as non-secured */
+#define EVSYS_NSCHKCHAN_CHANNEL_Msk         (_U_(0xFF) << EVSYS_NSCHKCHAN_CHANNEL_Pos)     /**< (EVSYS_NSCHKCHAN Mask) CHANNEL */
+#define EVSYS_NSCHKCHAN_CHANNEL(value)      (EVSYS_NSCHKCHAN_CHANNEL_Msk & ((value) << EVSYS_NSCHKCHAN_CHANNEL_Pos))  
+
+/* -------- EVSYS_NONSECUSER : (EVSYS Offset: 0x1e0) (R/W 32) Users Security Attribution -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t USER0:1;                   /**< bit:      0  Non-Secure for User 0                    */
+    uint32_t USER1:1;                   /**< bit:      1  Non-Secure for User 1                    */
+    uint32_t USER2:1;                   /**< bit:      2  Non-Secure for User 2                    */
+    uint32_t USER3:1;                   /**< bit:      3  Non-Secure for User 3                    */
+    uint32_t USER4:1;                   /**< bit:      4  Non-Secure for User 4                    */
+    uint32_t USER5:1;                   /**< bit:      5  Non-Secure for User 5                    */
+    uint32_t USER6:1;                   /**< bit:      6  Non-Secure for User 6                    */
+    uint32_t USER7:1;                   /**< bit:      7  Non-Secure for User 7                    */
+    uint32_t USER8:1;                   /**< bit:      8  Non-Secure for User 8                    */
+    uint32_t USER9:1;                   /**< bit:      9  Non-Secure for User 9                    */
+    uint32_t USER10:1;                  /**< bit:     10  Non-Secure for User 10                   */
+    uint32_t USER11:1;                  /**< bit:     11  Non-Secure for User 11                   */
+    uint32_t USER12:1;                  /**< bit:     12  Non-Secure for User 12                   */
+    uint32_t USER13:1;                  /**< bit:     13  Non-Secure for User 13                   */
+    uint32_t USER14:1;                  /**< bit:     14  Non-Secure for User 14                   */
+    uint32_t USER15:1;                  /**< bit:     15  Non-Secure for User 15                   */
+    uint32_t USER16:1;                  /**< bit:     16  Non-Secure for User 16                   */
+    uint32_t USER17:1;                  /**< bit:     17  Non-Secure for User 17                   */
+    uint32_t USER18:1;                  /**< bit:     18  Non-Secure for User 18                   */
+    uint32_t USER19:1;                  /**< bit:     19  Non-Secure for User 19                   */
+    uint32_t USER20:1;                  /**< bit:     20  Non-Secure for User 20                   */
+    uint32_t USER21:1;                  /**< bit:     21  Non-Secure for User 21                   */
+    uint32_t USER22:1;                  /**< bit:     22  Non-Secure for User 22                   */
+    uint32_t :9;                        /**< bit: 23..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t USER:23;                   /**< bit:  0..22  Non-Secure for User 22                   */
+    uint32_t :9;                        /**< bit: 23..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_NONSECUSER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_NONSECUSER_OFFSET             (0x1E0)                                       /**<  (EVSYS_NONSECUSER) Users Security Attribution  Offset */
+#define EVSYS_NONSECUSER_RESETVALUE         _U_(0x00)                                     /**<  (EVSYS_NONSECUSER) Users Security Attribution  Reset Value */
+
+#define EVSYS_NONSECUSER_USER0_Pos          0                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 0 Position */
+#define EVSYS_NONSECUSER_USER0_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER0_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 0 Mask */
+#define EVSYS_NONSECUSER_USER0              EVSYS_NONSECUSER_USER0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER0_Msk instead */
+#define EVSYS_NONSECUSER_USER1_Pos          1                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 1 Position */
+#define EVSYS_NONSECUSER_USER1_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER1_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 1 Mask */
+#define EVSYS_NONSECUSER_USER1              EVSYS_NONSECUSER_USER1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER1_Msk instead */
+#define EVSYS_NONSECUSER_USER2_Pos          2                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 2 Position */
+#define EVSYS_NONSECUSER_USER2_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER2_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 2 Mask */
+#define EVSYS_NONSECUSER_USER2              EVSYS_NONSECUSER_USER2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER2_Msk instead */
+#define EVSYS_NONSECUSER_USER3_Pos          3                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 3 Position */
+#define EVSYS_NONSECUSER_USER3_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER3_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 3 Mask */
+#define EVSYS_NONSECUSER_USER3              EVSYS_NONSECUSER_USER3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER3_Msk instead */
+#define EVSYS_NONSECUSER_USER4_Pos          4                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 4 Position */
+#define EVSYS_NONSECUSER_USER4_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER4_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 4 Mask */
+#define EVSYS_NONSECUSER_USER4              EVSYS_NONSECUSER_USER4_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER4_Msk instead */
+#define EVSYS_NONSECUSER_USER5_Pos          5                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 5 Position */
+#define EVSYS_NONSECUSER_USER5_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER5_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 5 Mask */
+#define EVSYS_NONSECUSER_USER5              EVSYS_NONSECUSER_USER5_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER5_Msk instead */
+#define EVSYS_NONSECUSER_USER6_Pos          6                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 6 Position */
+#define EVSYS_NONSECUSER_USER6_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER6_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 6 Mask */
+#define EVSYS_NONSECUSER_USER6              EVSYS_NONSECUSER_USER6_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER6_Msk instead */
+#define EVSYS_NONSECUSER_USER7_Pos          7                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 7 Position */
+#define EVSYS_NONSECUSER_USER7_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER7_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 7 Mask */
+#define EVSYS_NONSECUSER_USER7              EVSYS_NONSECUSER_USER7_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER7_Msk instead */
+#define EVSYS_NONSECUSER_USER8_Pos          8                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 8 Position */
+#define EVSYS_NONSECUSER_USER8_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER8_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 8 Mask */
+#define EVSYS_NONSECUSER_USER8              EVSYS_NONSECUSER_USER8_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER8_Msk instead */
+#define EVSYS_NONSECUSER_USER9_Pos          9                                              /**< (EVSYS_NONSECUSER) Non-Secure for User 9 Position */
+#define EVSYS_NONSECUSER_USER9_Msk          (_U_(0x1) << EVSYS_NONSECUSER_USER9_Pos)       /**< (EVSYS_NONSECUSER) Non-Secure for User 9 Mask */
+#define EVSYS_NONSECUSER_USER9              EVSYS_NONSECUSER_USER9_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER9_Msk instead */
+#define EVSYS_NONSECUSER_USER10_Pos         10                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 10 Position */
+#define EVSYS_NONSECUSER_USER10_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER10_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 10 Mask */
+#define EVSYS_NONSECUSER_USER10             EVSYS_NONSECUSER_USER10_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER10_Msk instead */
+#define EVSYS_NONSECUSER_USER11_Pos         11                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 11 Position */
+#define EVSYS_NONSECUSER_USER11_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER11_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 11 Mask */
+#define EVSYS_NONSECUSER_USER11             EVSYS_NONSECUSER_USER11_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER11_Msk instead */
+#define EVSYS_NONSECUSER_USER12_Pos         12                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 12 Position */
+#define EVSYS_NONSECUSER_USER12_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER12_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 12 Mask */
+#define EVSYS_NONSECUSER_USER12             EVSYS_NONSECUSER_USER12_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER12_Msk instead */
+#define EVSYS_NONSECUSER_USER13_Pos         13                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 13 Position */
+#define EVSYS_NONSECUSER_USER13_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER13_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 13 Mask */
+#define EVSYS_NONSECUSER_USER13             EVSYS_NONSECUSER_USER13_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER13_Msk instead */
+#define EVSYS_NONSECUSER_USER14_Pos         14                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 14 Position */
+#define EVSYS_NONSECUSER_USER14_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER14_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 14 Mask */
+#define EVSYS_NONSECUSER_USER14             EVSYS_NONSECUSER_USER14_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER14_Msk instead */
+#define EVSYS_NONSECUSER_USER15_Pos         15                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 15 Position */
+#define EVSYS_NONSECUSER_USER15_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER15_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 15 Mask */
+#define EVSYS_NONSECUSER_USER15             EVSYS_NONSECUSER_USER15_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER15_Msk instead */
+#define EVSYS_NONSECUSER_USER16_Pos         16                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 16 Position */
+#define EVSYS_NONSECUSER_USER16_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER16_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 16 Mask */
+#define EVSYS_NONSECUSER_USER16             EVSYS_NONSECUSER_USER16_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER16_Msk instead */
+#define EVSYS_NONSECUSER_USER17_Pos         17                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 17 Position */
+#define EVSYS_NONSECUSER_USER17_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER17_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 17 Mask */
+#define EVSYS_NONSECUSER_USER17             EVSYS_NONSECUSER_USER17_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER17_Msk instead */
+#define EVSYS_NONSECUSER_USER18_Pos         18                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 18 Position */
+#define EVSYS_NONSECUSER_USER18_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER18_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 18 Mask */
+#define EVSYS_NONSECUSER_USER18             EVSYS_NONSECUSER_USER18_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER18_Msk instead */
+#define EVSYS_NONSECUSER_USER19_Pos         19                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 19 Position */
+#define EVSYS_NONSECUSER_USER19_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER19_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 19 Mask */
+#define EVSYS_NONSECUSER_USER19             EVSYS_NONSECUSER_USER19_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER19_Msk instead */
+#define EVSYS_NONSECUSER_USER20_Pos         20                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 20 Position */
+#define EVSYS_NONSECUSER_USER20_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER20_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 20 Mask */
+#define EVSYS_NONSECUSER_USER20             EVSYS_NONSECUSER_USER20_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER20_Msk instead */
+#define EVSYS_NONSECUSER_USER21_Pos         21                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 21 Position */
+#define EVSYS_NONSECUSER_USER21_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER21_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 21 Mask */
+#define EVSYS_NONSECUSER_USER21             EVSYS_NONSECUSER_USER21_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER21_Msk instead */
+#define EVSYS_NONSECUSER_USER22_Pos         22                                             /**< (EVSYS_NONSECUSER) Non-Secure for User 22 Position */
+#define EVSYS_NONSECUSER_USER22_Msk         (_U_(0x1) << EVSYS_NONSECUSER_USER22_Pos)      /**< (EVSYS_NONSECUSER) Non-Secure for User 22 Mask */
+#define EVSYS_NONSECUSER_USER22             EVSYS_NONSECUSER_USER22_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NONSECUSER_USER22_Msk instead */
+#define EVSYS_NONSECUSER_MASK               _U_(0x7FFFFF)                                  /**< \deprecated (EVSYS_NONSECUSER) Register MASK  (Use EVSYS_NONSECUSER_Msk instead)  */
+#define EVSYS_NONSECUSER_Msk                _U_(0x7FFFFF)                                  /**< (EVSYS_NONSECUSER) Register Mask  */
+
+#define EVSYS_NONSECUSER_USER_Pos           0                                              /**< (EVSYS_NONSECUSER Position) Non-Secure for User 22 */
+#define EVSYS_NONSECUSER_USER_Msk           (_U_(0x7FFFFF) << EVSYS_NONSECUSER_USER_Pos)   /**< (EVSYS_NONSECUSER Mask) USER */
+#define EVSYS_NONSECUSER_USER(value)        (EVSYS_NONSECUSER_USER_Msk & ((value) << EVSYS_NONSECUSER_USER_Pos))  
+
+/* -------- EVSYS_NSCHKUSER : (EVSYS Offset: 0x1f0) (R/W 32) Non-Secure Users Check -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t USER0:1;                   /**< bit:      0  User 0 to be checked as non-secured      */
+    uint32_t USER1:1;                   /**< bit:      1  User 1 to be checked as non-secured      */
+    uint32_t USER2:1;                   /**< bit:      2  User 2 to be checked as non-secured      */
+    uint32_t USER3:1;                   /**< bit:      3  User 3 to be checked as non-secured      */
+    uint32_t USER4:1;                   /**< bit:      4  User 4 to be checked as non-secured      */
+    uint32_t USER5:1;                   /**< bit:      5  User 5 to be checked as non-secured      */
+    uint32_t USER6:1;                   /**< bit:      6  User 6 to be checked as non-secured      */
+    uint32_t USER7:1;                   /**< bit:      7  User 7 to be checked as non-secured      */
+    uint32_t USER8:1;                   /**< bit:      8  User 8 to be checked as non-secured      */
+    uint32_t USER9:1;                   /**< bit:      9  User 9 to be checked as non-secured      */
+    uint32_t USER10:1;                  /**< bit:     10  User 10 to be checked as non-secured     */
+    uint32_t USER11:1;                  /**< bit:     11  User 11 to be checked as non-secured     */
+    uint32_t USER12:1;                  /**< bit:     12  User 12 to be checked as non-secured     */
+    uint32_t USER13:1;                  /**< bit:     13  User 13 to be checked as non-secured     */
+    uint32_t USER14:1;                  /**< bit:     14  User 14 to be checked as non-secured     */
+    uint32_t USER15:1;                  /**< bit:     15  User 15 to be checked as non-secured     */
+    uint32_t USER16:1;                  /**< bit:     16  User 16 to be checked as non-secured     */
+    uint32_t USER17:1;                  /**< bit:     17  User 17 to be checked as non-secured     */
+    uint32_t USER18:1;                  /**< bit:     18  User 18 to be checked as non-secured     */
+    uint32_t USER19:1;                  /**< bit:     19  User 19 to be checked as non-secured     */
+    uint32_t USER20:1;                  /**< bit:     20  User 20 to be checked as non-secured     */
+    uint32_t USER21:1;                  /**< bit:     21  User 21 to be checked as non-secured     */
+    uint32_t USER22:1;                  /**< bit:     22  User 22 to be checked as non-secured     */
+    uint32_t :9;                        /**< bit: 23..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t USER:23;                   /**< bit:  0..22  User 22 to be checked as non-secured     */
+    uint32_t :9;                        /**< bit: 23..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} EVSYS_NSCHKUSER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define EVSYS_NSCHKUSER_OFFSET              (0x1F0)                                       /**<  (EVSYS_NSCHKUSER) Non-Secure Users Check  Offset */
+#define EVSYS_NSCHKUSER_RESETVALUE          _U_(0x00)                                     /**<  (EVSYS_NSCHKUSER) Non-Secure Users Check  Reset Value */
+
+#define EVSYS_NSCHKUSER_USER0_Pos           0                                              /**< (EVSYS_NSCHKUSER) User 0 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER0_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER0_Pos)        /**< (EVSYS_NSCHKUSER) User 0 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER0               EVSYS_NSCHKUSER_USER0_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER0_Msk instead */
+#define EVSYS_NSCHKUSER_USER1_Pos           1                                              /**< (EVSYS_NSCHKUSER) User 1 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER1_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER1_Pos)        /**< (EVSYS_NSCHKUSER) User 1 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER1               EVSYS_NSCHKUSER_USER1_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER1_Msk instead */
+#define EVSYS_NSCHKUSER_USER2_Pos           2                                              /**< (EVSYS_NSCHKUSER) User 2 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER2_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER2_Pos)        /**< (EVSYS_NSCHKUSER) User 2 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER2               EVSYS_NSCHKUSER_USER2_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER2_Msk instead */
+#define EVSYS_NSCHKUSER_USER3_Pos           3                                              /**< (EVSYS_NSCHKUSER) User 3 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER3_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER3_Pos)        /**< (EVSYS_NSCHKUSER) User 3 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER3               EVSYS_NSCHKUSER_USER3_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER3_Msk instead */
+#define EVSYS_NSCHKUSER_USER4_Pos           4                                              /**< (EVSYS_NSCHKUSER) User 4 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER4_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER4_Pos)        /**< (EVSYS_NSCHKUSER) User 4 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER4               EVSYS_NSCHKUSER_USER4_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER4_Msk instead */
+#define EVSYS_NSCHKUSER_USER5_Pos           5                                              /**< (EVSYS_NSCHKUSER) User 5 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER5_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER5_Pos)        /**< (EVSYS_NSCHKUSER) User 5 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER5               EVSYS_NSCHKUSER_USER5_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER5_Msk instead */
+#define EVSYS_NSCHKUSER_USER6_Pos           6                                              /**< (EVSYS_NSCHKUSER) User 6 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER6_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER6_Pos)        /**< (EVSYS_NSCHKUSER) User 6 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER6               EVSYS_NSCHKUSER_USER6_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER6_Msk instead */
+#define EVSYS_NSCHKUSER_USER7_Pos           7                                              /**< (EVSYS_NSCHKUSER) User 7 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER7_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER7_Pos)        /**< (EVSYS_NSCHKUSER) User 7 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER7               EVSYS_NSCHKUSER_USER7_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER7_Msk instead */
+#define EVSYS_NSCHKUSER_USER8_Pos           8                                              /**< (EVSYS_NSCHKUSER) User 8 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER8_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER8_Pos)        /**< (EVSYS_NSCHKUSER) User 8 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER8               EVSYS_NSCHKUSER_USER8_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER8_Msk instead */
+#define EVSYS_NSCHKUSER_USER9_Pos           9                                              /**< (EVSYS_NSCHKUSER) User 9 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER9_Msk           (_U_(0x1) << EVSYS_NSCHKUSER_USER9_Pos)        /**< (EVSYS_NSCHKUSER) User 9 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER9               EVSYS_NSCHKUSER_USER9_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER9_Msk instead */
+#define EVSYS_NSCHKUSER_USER10_Pos          10                                             /**< (EVSYS_NSCHKUSER) User 10 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER10_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER10_Pos)       /**< (EVSYS_NSCHKUSER) User 10 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER10              EVSYS_NSCHKUSER_USER10_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER10_Msk instead */
+#define EVSYS_NSCHKUSER_USER11_Pos          11                                             /**< (EVSYS_NSCHKUSER) User 11 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER11_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER11_Pos)       /**< (EVSYS_NSCHKUSER) User 11 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER11              EVSYS_NSCHKUSER_USER11_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER11_Msk instead */
+#define EVSYS_NSCHKUSER_USER12_Pos          12                                             /**< (EVSYS_NSCHKUSER) User 12 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER12_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER12_Pos)       /**< (EVSYS_NSCHKUSER) User 12 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER12              EVSYS_NSCHKUSER_USER12_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER12_Msk instead */
+#define EVSYS_NSCHKUSER_USER13_Pos          13                                             /**< (EVSYS_NSCHKUSER) User 13 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER13_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER13_Pos)       /**< (EVSYS_NSCHKUSER) User 13 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER13              EVSYS_NSCHKUSER_USER13_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER13_Msk instead */
+#define EVSYS_NSCHKUSER_USER14_Pos          14                                             /**< (EVSYS_NSCHKUSER) User 14 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER14_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER14_Pos)       /**< (EVSYS_NSCHKUSER) User 14 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER14              EVSYS_NSCHKUSER_USER14_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER14_Msk instead */
+#define EVSYS_NSCHKUSER_USER15_Pos          15                                             /**< (EVSYS_NSCHKUSER) User 15 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER15_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER15_Pos)       /**< (EVSYS_NSCHKUSER) User 15 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER15              EVSYS_NSCHKUSER_USER15_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER15_Msk instead */
+#define EVSYS_NSCHKUSER_USER16_Pos          16                                             /**< (EVSYS_NSCHKUSER) User 16 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER16_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER16_Pos)       /**< (EVSYS_NSCHKUSER) User 16 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER16              EVSYS_NSCHKUSER_USER16_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER16_Msk instead */
+#define EVSYS_NSCHKUSER_USER17_Pos          17                                             /**< (EVSYS_NSCHKUSER) User 17 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER17_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER17_Pos)       /**< (EVSYS_NSCHKUSER) User 17 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER17              EVSYS_NSCHKUSER_USER17_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER17_Msk instead */
+#define EVSYS_NSCHKUSER_USER18_Pos          18                                             /**< (EVSYS_NSCHKUSER) User 18 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER18_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER18_Pos)       /**< (EVSYS_NSCHKUSER) User 18 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER18              EVSYS_NSCHKUSER_USER18_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER18_Msk instead */
+#define EVSYS_NSCHKUSER_USER19_Pos          19                                             /**< (EVSYS_NSCHKUSER) User 19 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER19_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER19_Pos)       /**< (EVSYS_NSCHKUSER) User 19 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER19              EVSYS_NSCHKUSER_USER19_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER19_Msk instead */
+#define EVSYS_NSCHKUSER_USER20_Pos          20                                             /**< (EVSYS_NSCHKUSER) User 20 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER20_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER20_Pos)       /**< (EVSYS_NSCHKUSER) User 20 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER20              EVSYS_NSCHKUSER_USER20_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER20_Msk instead */
+#define EVSYS_NSCHKUSER_USER21_Pos          21                                             /**< (EVSYS_NSCHKUSER) User 21 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER21_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER21_Pos)       /**< (EVSYS_NSCHKUSER) User 21 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER21              EVSYS_NSCHKUSER_USER21_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER21_Msk instead */
+#define EVSYS_NSCHKUSER_USER22_Pos          22                                             /**< (EVSYS_NSCHKUSER) User 22 to be checked as non-secured Position */
+#define EVSYS_NSCHKUSER_USER22_Msk          (_U_(0x1) << EVSYS_NSCHKUSER_USER22_Pos)       /**< (EVSYS_NSCHKUSER) User 22 to be checked as non-secured Mask */
+#define EVSYS_NSCHKUSER_USER22              EVSYS_NSCHKUSER_USER22_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use EVSYS_NSCHKUSER_USER22_Msk instead */
+#define EVSYS_NSCHKUSER_MASK                _U_(0x7FFFFF)                                  /**< \deprecated (EVSYS_NSCHKUSER) Register MASK  (Use EVSYS_NSCHKUSER_Msk instead)  */
+#define EVSYS_NSCHKUSER_Msk                 _U_(0x7FFFFF)                                  /**< (EVSYS_NSCHKUSER) Register Mask  */
+
+#define EVSYS_NSCHKUSER_USER_Pos            0                                              /**< (EVSYS_NSCHKUSER Position) User 22 to be checked as non-secured */
+#define EVSYS_NSCHKUSER_USER_Msk            (_U_(0x7FFFFF) << EVSYS_NSCHKUSER_USER_Pos)    /**< (EVSYS_NSCHKUSER Mask) USER */
+#define EVSYS_NSCHKUSER_USER(value)         (EVSYS_NSCHKUSER_USER_Msk & ((value) << EVSYS_NSCHKUSER_USER_Pos))  
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief CHANNEL hardware registers */
+typedef struct {  
+  __IO EVSYS_CHANNEL_Type             CHANNEL;        /**< Offset: 0x00 (R/W  32) Channel n Control */
+  __IO EVSYS_CHINTENCLR_Type          CHINTENCLR;     /**< Offset: 0x04 (R/W   8) Channel n Interrupt Enable Clear */
+  __IO EVSYS_CHINTENSET_Type          CHINTENSET;     /**< Offset: 0x05 (R/W   8) Channel n Interrupt Enable Set */
+  __IO EVSYS_CHINTFLAG_Type           CHINTFLAG;      /**< Offset: 0x06 (R/W   8) Channel n Interrupt Flag Status and Clear */
+  __I  EVSYS_CHSTATUS_Type            CHSTATUS;       /**< Offset: 0x07 (R/    8) Channel n Status */
+} EvsysChannel;
+
+/** \brief EVSYS hardware registers */
+typedef struct {  /* Event System Interface */
+  __O  EVSYS_CTRLA_Type               CTRLA;          /**< Offset: 0x00 ( /W   8) Control */
+  __I  uint8_t                        Reserved1[3];
+  __O  EVSYS_SWEVT_Type               SWEVT;          /**< Offset: 0x04 ( /W  32) Software Event */
+  __IO EVSYS_PRICTRL_Type             PRICTRL;        /**< Offset: 0x08 (R/W   8) Priority Control */
+  __I  uint8_t                        Reserved2[7];
+  __IO EVSYS_INTPEND_Type             INTPEND;        /**< Offset: 0x10 (R/W  16) Channel Pending Interrupt */
+  __I  uint8_t                        Reserved3[2];
+  __I  EVSYS_INTSTATUS_Type           INTSTATUS;      /**< Offset: 0x14 (R/   32) Interrupt Status */
+  __I  EVSYS_BUSYCH_Type              BUSYCH;         /**< Offset: 0x18 (R/   32) Busy Channels */
+  __I  EVSYS_READYUSR_Type            READYUSR;       /**< Offset: 0x1C (R/   32) Ready Users */
+       EvsysChannel                   Channel[8];     /**< Offset: 0x20  */
+  __I  uint8_t                        Reserved4[192];
+  __IO EVSYS_USER_Type                USER[23];       /**< Offset: 0x120 (R/W   8) User Multiplexer n */
+  __I  uint8_t                        Reserved5[157];
+  __IO EVSYS_INTENCLR_Type            INTENCLR;       /**< Offset: 0x1D4 (R/W   8) Interrupt Enable Clear */
+  __IO EVSYS_INTENSET_Type            INTENSET;       /**< Offset: 0x1D5 (R/W   8) Interrupt Enable Set */
+  __IO EVSYS_INTFLAG_Type             INTFLAG;        /**< Offset: 0x1D6 (R/W   8) Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved6[1];
+  __IO EVSYS_NONSECCHAN_Type          NONSECCHAN;     /**< Offset: 0x1D8 (R/W  32) Channels Security Attribution */
+  __IO EVSYS_NSCHKCHAN_Type           NSCHKCHAN;      /**< Offset: 0x1DC (R/W  32) Non-Secure Channels Check */
+  __IO EVSYS_NONSECUSER_Type          NONSECUSER[1];  /**< Offset: 0x1E0 (R/W  32) Users Security Attribution */
+  __I  uint8_t                        Reserved7[12];
+  __IO EVSYS_NSCHKUSER_Type           NSCHKUSER[1];   /**< Offset: 0x1F0 (R/W  32) Non-Secure Users Check */
+} Evsys;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Event System Interface */
+
+#endif /* _SAML11_EVSYS_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/freqm.h b/cpu/sam0_common/include/vendor/saml11/include/component/freqm.h
new file mode 100644
index 0000000000..1567cba0b6
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/freqm.h
@@ -0,0 +1,269 @@
+/**
+ * \file
+ *
+ * \brief Component description for FREQM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_FREQM_COMPONENT_H_
+#define _SAML11_FREQM_COMPONENT_H_
+#define _SAML11_FREQM_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Frequency Meter
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR FREQM */
+/* ========================================================================== */
+
+#define FREQM_U2257                      /**< (FREQM) Module ID */
+#define REV_FREQM 0x210                  /**< (FREQM) Module revision */
+
+/* -------- FREQM_CTRLA : (FREQM Offset: 0x00) (R/W 8) Control A Register -------- */
+#if !(defined(__ASSEMBLER__) || 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 */
+} FREQM_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_CTRLA_OFFSET                  (0x00)                                        /**<  (FREQM_CTRLA) Control A Register  Offset */
+#define FREQM_CTRLA_RESETVALUE              _U_(0x00)                                     /**<  (FREQM_CTRLA) Control A Register  Reset Value */
+
+#define FREQM_CTRLA_SWRST_Pos               0                                              /**< (FREQM_CTRLA) Software Reset Position */
+#define FREQM_CTRLA_SWRST_Msk               (_U_(0x1) << FREQM_CTRLA_SWRST_Pos)            /**< (FREQM_CTRLA) Software Reset Mask */
+#define FREQM_CTRLA_SWRST                   FREQM_CTRLA_SWRST_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_CTRLA_SWRST_Msk instead */
+#define FREQM_CTRLA_ENABLE_Pos              1                                              /**< (FREQM_CTRLA) Enable Position */
+#define FREQM_CTRLA_ENABLE_Msk              (_U_(0x1) << FREQM_CTRLA_ENABLE_Pos)           /**< (FREQM_CTRLA) Enable Mask */
+#define FREQM_CTRLA_ENABLE                  FREQM_CTRLA_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_CTRLA_ENABLE_Msk instead */
+#define FREQM_CTRLA_MASK                    _U_(0x03)                                      /**< \deprecated (FREQM_CTRLA) Register MASK  (Use FREQM_CTRLA_Msk instead)  */
+#define FREQM_CTRLA_Msk                     _U_(0x03)                                      /**< (FREQM_CTRLA) Register Mask  */
+
+
+/* -------- FREQM_CTRLB : (FREQM Offset: 0x01) (/W 8) Control B Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  START:1;                   /**< bit:      0  Start Measurement                        */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} FREQM_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_CTRLB_OFFSET                  (0x01)                                        /**<  (FREQM_CTRLB) Control B Register  Offset */
+#define FREQM_CTRLB_RESETVALUE              _U_(0x00)                                     /**<  (FREQM_CTRLB) Control B Register  Reset Value */
+
+#define FREQM_CTRLB_START_Pos               0                                              /**< (FREQM_CTRLB) Start Measurement Position */
+#define FREQM_CTRLB_START_Msk               (_U_(0x1) << FREQM_CTRLB_START_Pos)            /**< (FREQM_CTRLB) Start Measurement Mask */
+#define FREQM_CTRLB_START                   FREQM_CTRLB_START_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_CTRLB_START_Msk instead */
+#define FREQM_CTRLB_MASK                    _U_(0x01)                                      /**< \deprecated (FREQM_CTRLB) Register MASK  (Use FREQM_CTRLB_Msk instead)  */
+#define FREQM_CTRLB_Msk                     _U_(0x01)                                      /**< (FREQM_CTRLB) Register Mask  */
+
+
+/* -------- FREQM_CFGA : (FREQM Offset: 0x02) (R/W 16) Config A register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t REFNUM:8;                  /**< bit:   0..7  Number of Reference Clock Cycles         */
+    uint16_t :7;                        /**< bit:  8..14  Reserved */
+    uint16_t DIVREF:1;                  /**< bit:     15  Divide Reference Clock                   */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} FREQM_CFGA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_CFGA_OFFSET                   (0x02)                                        /**<  (FREQM_CFGA) Config A register  Offset */
+#define FREQM_CFGA_RESETVALUE               _U_(0x00)                                     /**<  (FREQM_CFGA) Config A register  Reset Value */
+
+#define FREQM_CFGA_REFNUM_Pos               0                                              /**< (FREQM_CFGA) Number of Reference Clock Cycles Position */
+#define FREQM_CFGA_REFNUM_Msk               (_U_(0xFF) << FREQM_CFGA_REFNUM_Pos)           /**< (FREQM_CFGA) Number of Reference Clock Cycles Mask */
+#define FREQM_CFGA_REFNUM(value)            (FREQM_CFGA_REFNUM_Msk & ((value) << FREQM_CFGA_REFNUM_Pos))
+#define FREQM_CFGA_DIVREF_Pos               15                                             /**< (FREQM_CFGA) Divide Reference Clock Position */
+#define FREQM_CFGA_DIVREF_Msk               (_U_(0x1) << FREQM_CFGA_DIVREF_Pos)            /**< (FREQM_CFGA) Divide Reference Clock Mask */
+#define FREQM_CFGA_DIVREF                   FREQM_CFGA_DIVREF_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_CFGA_DIVREF_Msk instead */
+#define FREQM_CFGA_MASK                     _U_(0x80FF)                                    /**< \deprecated (FREQM_CFGA) Register MASK  (Use FREQM_CFGA_Msk instead)  */
+#define FREQM_CFGA_Msk                      _U_(0x80FF)                                    /**< (FREQM_CFGA) Register Mask  */
+
+
+/* -------- FREQM_INTENCLR : (FREQM Offset: 0x08) (R/W 8) Interrupt Enable Clear Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DONE:1;                    /**< bit:      0  Measurement Done Interrupt Enable        */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} FREQM_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_INTENCLR_OFFSET               (0x08)                                        /**<  (FREQM_INTENCLR) Interrupt Enable Clear Register  Offset */
+#define FREQM_INTENCLR_RESETVALUE           _U_(0x00)                                     /**<  (FREQM_INTENCLR) Interrupt Enable Clear Register  Reset Value */
+
+#define FREQM_INTENCLR_DONE_Pos             0                                              /**< (FREQM_INTENCLR) Measurement Done Interrupt Enable Position */
+#define FREQM_INTENCLR_DONE_Msk             (_U_(0x1) << FREQM_INTENCLR_DONE_Pos)          /**< (FREQM_INTENCLR) Measurement Done Interrupt Enable Mask */
+#define FREQM_INTENCLR_DONE                 FREQM_INTENCLR_DONE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_INTENCLR_DONE_Msk instead */
+#define FREQM_INTENCLR_MASK                 _U_(0x01)                                      /**< \deprecated (FREQM_INTENCLR) Register MASK  (Use FREQM_INTENCLR_Msk instead)  */
+#define FREQM_INTENCLR_Msk                  _U_(0x01)                                      /**< (FREQM_INTENCLR) Register Mask  */
+
+
+/* -------- FREQM_INTENSET : (FREQM Offset: 0x09) (R/W 8) Interrupt Enable Set Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DONE:1;                    /**< bit:      0  Measurement Done Interrupt Enable        */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} FREQM_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_INTENSET_OFFSET               (0x09)                                        /**<  (FREQM_INTENSET) Interrupt Enable Set Register  Offset */
+#define FREQM_INTENSET_RESETVALUE           _U_(0x00)                                     /**<  (FREQM_INTENSET) Interrupt Enable Set Register  Reset Value */
+
+#define FREQM_INTENSET_DONE_Pos             0                                              /**< (FREQM_INTENSET) Measurement Done Interrupt Enable Position */
+#define FREQM_INTENSET_DONE_Msk             (_U_(0x1) << FREQM_INTENSET_DONE_Pos)          /**< (FREQM_INTENSET) Measurement Done Interrupt Enable Mask */
+#define FREQM_INTENSET_DONE                 FREQM_INTENSET_DONE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_INTENSET_DONE_Msk instead */
+#define FREQM_INTENSET_MASK                 _U_(0x01)                                      /**< \deprecated (FREQM_INTENSET) Register MASK  (Use FREQM_INTENSET_Msk instead)  */
+#define FREQM_INTENSET_Msk                  _U_(0x01)                                      /**< (FREQM_INTENSET) Register Mask  */
+
+
+/* -------- FREQM_INTFLAG : (FREQM Offset: 0x0a) (R/W 8) Interrupt Flag Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t DONE:1;                    /**< bit:      0  Measurement Done                         */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} FREQM_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_INTFLAG_OFFSET                (0x0A)                                        /**<  (FREQM_INTFLAG) Interrupt Flag Register  Offset */
+#define FREQM_INTFLAG_RESETVALUE            _U_(0x00)                                     /**<  (FREQM_INTFLAG) Interrupt Flag Register  Reset Value */
+
+#define FREQM_INTFLAG_DONE_Pos              0                                              /**< (FREQM_INTFLAG) Measurement Done Position */
+#define FREQM_INTFLAG_DONE_Msk              (_U_(0x1) << FREQM_INTFLAG_DONE_Pos)           /**< (FREQM_INTFLAG) Measurement Done Mask */
+#define FREQM_INTFLAG_DONE                  FREQM_INTFLAG_DONE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_INTFLAG_DONE_Msk instead */
+#define FREQM_INTFLAG_MASK                  _U_(0x01)                                      /**< \deprecated (FREQM_INTFLAG) Register MASK  (Use FREQM_INTFLAG_Msk instead)  */
+#define FREQM_INTFLAG_Msk                   _U_(0x01)                                      /**< (FREQM_INTFLAG) Register Mask  */
+
+
+/* -------- FREQM_STATUS : (FREQM Offset: 0x0b) (R/W 8) Status Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  BUSY:1;                    /**< bit:      0  FREQM Status                             */
+    uint8_t  OVF:1;                     /**< bit:      1  Sticky Count Value Overflow              */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} FREQM_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_STATUS_OFFSET                 (0x0B)                                        /**<  (FREQM_STATUS) Status Register  Offset */
+#define FREQM_STATUS_RESETVALUE             _U_(0x00)                                     /**<  (FREQM_STATUS) Status Register  Reset Value */
+
+#define FREQM_STATUS_BUSY_Pos               0                                              /**< (FREQM_STATUS) FREQM Status Position */
+#define FREQM_STATUS_BUSY_Msk               (_U_(0x1) << FREQM_STATUS_BUSY_Pos)            /**< (FREQM_STATUS) FREQM Status Mask */
+#define FREQM_STATUS_BUSY                   FREQM_STATUS_BUSY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_STATUS_BUSY_Msk instead */
+#define FREQM_STATUS_OVF_Pos                1                                              /**< (FREQM_STATUS) Sticky Count Value Overflow Position */
+#define FREQM_STATUS_OVF_Msk                (_U_(0x1) << FREQM_STATUS_OVF_Pos)             /**< (FREQM_STATUS) Sticky Count Value Overflow Mask */
+#define FREQM_STATUS_OVF                    FREQM_STATUS_OVF_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_STATUS_OVF_Msk instead */
+#define FREQM_STATUS_MASK                   _U_(0x03)                                      /**< \deprecated (FREQM_STATUS) Register MASK  (Use FREQM_STATUS_Msk instead)  */
+#define FREQM_STATUS_Msk                    _U_(0x03)                                      /**< (FREQM_STATUS) Register Mask  */
+
+
+/* -------- FREQM_SYNCBUSY : (FREQM Offset: 0x0c) (R/ 32) Synchronization Busy Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t :30;                       /**< bit:  2..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} FREQM_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_SYNCBUSY_OFFSET               (0x0C)                                        /**<  (FREQM_SYNCBUSY) Synchronization Busy Register  Offset */
+#define FREQM_SYNCBUSY_RESETVALUE           _U_(0x00)                                     /**<  (FREQM_SYNCBUSY) Synchronization Busy Register  Reset Value */
+
+#define FREQM_SYNCBUSY_SWRST_Pos            0                                              /**< (FREQM_SYNCBUSY) Software Reset Position */
+#define FREQM_SYNCBUSY_SWRST_Msk            (_U_(0x1) << FREQM_SYNCBUSY_SWRST_Pos)         /**< (FREQM_SYNCBUSY) Software Reset Mask */
+#define FREQM_SYNCBUSY_SWRST                FREQM_SYNCBUSY_SWRST_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_SYNCBUSY_SWRST_Msk instead */
+#define FREQM_SYNCBUSY_ENABLE_Pos           1                                              /**< (FREQM_SYNCBUSY) Enable Position */
+#define FREQM_SYNCBUSY_ENABLE_Msk           (_U_(0x1) << FREQM_SYNCBUSY_ENABLE_Pos)        /**< (FREQM_SYNCBUSY) Enable Mask */
+#define FREQM_SYNCBUSY_ENABLE               FREQM_SYNCBUSY_ENABLE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use FREQM_SYNCBUSY_ENABLE_Msk instead */
+#define FREQM_SYNCBUSY_MASK                 _U_(0x03)                                      /**< \deprecated (FREQM_SYNCBUSY) Register MASK  (Use FREQM_SYNCBUSY_Msk instead)  */
+#define FREQM_SYNCBUSY_Msk                  _U_(0x03)                                      /**< (FREQM_SYNCBUSY) Register Mask  */
+
+
+/* -------- FREQM_VALUE : (FREQM Offset: 0x10) (R/ 32) Count Value Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t VALUE:24;                  /**< bit:  0..23  Measurement Value                        */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} FREQM_VALUE_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define FREQM_VALUE_OFFSET                  (0x10)                                        /**<  (FREQM_VALUE) Count Value Register  Offset */
+#define FREQM_VALUE_RESETVALUE              _U_(0x00)                                     /**<  (FREQM_VALUE) Count Value Register  Reset Value */
+
+#define FREQM_VALUE_VALUE_Pos               0                                              /**< (FREQM_VALUE) Measurement Value Position */
+#define FREQM_VALUE_VALUE_Msk               (_U_(0xFFFFFF) << FREQM_VALUE_VALUE_Pos)       /**< (FREQM_VALUE) Measurement Value Mask */
+#define FREQM_VALUE_VALUE(value)            (FREQM_VALUE_VALUE_Msk & ((value) << FREQM_VALUE_VALUE_Pos))
+#define FREQM_VALUE_MASK                    _U_(0xFFFFFF)                                  /**< \deprecated (FREQM_VALUE) Register MASK  (Use FREQM_VALUE_Msk instead)  */
+#define FREQM_VALUE_Msk                     _U_(0xFFFFFF)                                  /**< (FREQM_VALUE) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief FREQM hardware registers */
+typedef struct {  /* Frequency Meter */
+  __IO FREQM_CTRLA_Type               CTRLA;          /**< Offset: 0x00 (R/W   8) Control A Register */
+  __O  FREQM_CTRLB_Type               CTRLB;          /**< Offset: 0x01 ( /W   8) Control B Register */
+  __IO FREQM_CFGA_Type                CFGA;           /**< Offset: 0x02 (R/W  16) Config A register */
+  __I  uint8_t                        Reserved1[4];
+  __IO FREQM_INTENCLR_Type            INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt Enable Clear Register */
+  __IO FREQM_INTENSET_Type            INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt Enable Set Register */
+  __IO FREQM_INTFLAG_Type             INTFLAG;        /**< Offset: 0x0A (R/W   8) Interrupt Flag Register */
+  __IO FREQM_STATUS_Type              STATUS;         /**< Offset: 0x0B (R/W   8) Status Register */
+  __I  FREQM_SYNCBUSY_Type            SYNCBUSY;       /**< Offset: 0x0C (R/   32) Synchronization Busy Register */
+  __I  FREQM_VALUE_Type               VALUE;          /**< Offset: 0x10 (R/   32) Count Value Register */
+} Freqm;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Frequency Meter */
+
+#endif /* _SAML11_FREQM_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/gclk.h b/cpu/sam0_common/include/vendor/saml11/include/component/gclk.h
new file mode 100644
index 0000000000..78e429d5ce
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/gclk.h
@@ -0,0 +1,238 @@
+/**
+ * \file
+ *
+ * \brief Component description for GCLK
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_GCLK_COMPONENT_H_
+#define _SAML11_GCLK_COMPONENT_H_
+#define _SAML11_GCLK_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Generic Clock Generator
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR GCLK */
+/* ========================================================================== */
+
+#define GCLK_U2122                      /**< (GCLK) Module ID */
+#define REV_GCLK 0x112                  /**< (GCLK) Module revision */
+
+/* -------- GCLK_CTRLA : (GCLK Offset: 0x00) (R/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} GCLK_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define GCLK_CTRLA_OFFSET                   (0x00)                                        /**<  (GCLK_CTRLA) Control  Offset */
+#define GCLK_CTRLA_RESETVALUE               _U_(0x00)                                     /**<  (GCLK_CTRLA) Control  Reset Value */
+
+#define GCLK_CTRLA_SWRST_Pos                0                                              /**< (GCLK_CTRLA) Software Reset Position */
+#define GCLK_CTRLA_SWRST_Msk                (_U_(0x1) << GCLK_CTRLA_SWRST_Pos)             /**< (GCLK_CTRLA) Software Reset Mask */
+#define GCLK_CTRLA_SWRST                    GCLK_CTRLA_SWRST_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_CTRLA_SWRST_Msk instead */
+#define GCLK_CTRLA_MASK                     _U_(0x01)                                      /**< \deprecated (GCLK_CTRLA) Register MASK  (Use GCLK_CTRLA_Msk instead)  */
+#define GCLK_CTRLA_Msk                      _U_(0x01)                                      /**< (GCLK_CTRLA) Register Mask  */
+
+
+/* -------- GCLK_SYNCBUSY : (GCLK Offset: 0x04) (R/ 32) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchroniation Busy bit   */
+    uint32_t :1;                        /**< bit:      1  Reserved */
+    uint32_t GENCTRL0:1;                /**< bit:      2  Generic Clock Generator Control 0 Synchronization Busy bit */
+    uint32_t GENCTRL1:1;                /**< bit:      3  Generic Clock Generator Control 1 Synchronization Busy bit */
+    uint32_t GENCTRL2:1;                /**< bit:      4  Generic Clock Generator Control 2 Synchronization Busy bit */
+    uint32_t GENCTRL3:1;                /**< bit:      5  Generic Clock Generator Control 3 Synchronization Busy bit */
+    uint32_t GENCTRL4:1;                /**< bit:      6  Generic Clock Generator Control 4 Synchronization Busy bit */
+    uint32_t :25;                       /**< bit:  7..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :2;                        /**< bit:   0..1  Reserved */
+    uint32_t GENCTRL:5;                 /**< bit:   2..6  Generic Clock Generator Control 4 Synchronization Busy bit */
+    uint32_t :25;                       /**< bit:  7..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} GCLK_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define GCLK_SYNCBUSY_OFFSET                (0x04)                                        /**<  (GCLK_SYNCBUSY) Synchronization Busy  Offset */
+#define GCLK_SYNCBUSY_RESETVALUE            _U_(0x00)                                     /**<  (GCLK_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define GCLK_SYNCBUSY_SWRST_Pos             0                                              /**< (GCLK_SYNCBUSY) Software Reset Synchroniation Busy bit Position */
+#define GCLK_SYNCBUSY_SWRST_Msk             (_U_(0x1) << GCLK_SYNCBUSY_SWRST_Pos)          /**< (GCLK_SYNCBUSY) Software Reset Synchroniation Busy bit Mask */
+#define GCLK_SYNCBUSY_SWRST                 GCLK_SYNCBUSY_SWRST_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_SWRST_Msk instead */
+#define GCLK_SYNCBUSY_GENCTRL0_Pos          2                                              /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 0 Synchronization Busy bit Position */
+#define GCLK_SYNCBUSY_GENCTRL0_Msk          (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL0_Pos)       /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 0 Synchronization Busy bit Mask */
+#define GCLK_SYNCBUSY_GENCTRL0              GCLK_SYNCBUSY_GENCTRL0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL0_Msk instead */
+#define GCLK_SYNCBUSY_GENCTRL1_Pos          3                                              /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 1 Synchronization Busy bit Position */
+#define GCLK_SYNCBUSY_GENCTRL1_Msk          (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL1_Pos)       /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 1 Synchronization Busy bit Mask */
+#define GCLK_SYNCBUSY_GENCTRL1              GCLK_SYNCBUSY_GENCTRL1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL1_Msk instead */
+#define GCLK_SYNCBUSY_GENCTRL2_Pos          4                                              /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 2 Synchronization Busy bit Position */
+#define GCLK_SYNCBUSY_GENCTRL2_Msk          (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL2_Pos)       /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 2 Synchronization Busy bit Mask */
+#define GCLK_SYNCBUSY_GENCTRL2              GCLK_SYNCBUSY_GENCTRL2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL2_Msk instead */
+#define GCLK_SYNCBUSY_GENCTRL3_Pos          5                                              /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 3 Synchronization Busy bit Position */
+#define GCLK_SYNCBUSY_GENCTRL3_Msk          (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL3_Pos)       /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 3 Synchronization Busy bit Mask */
+#define GCLK_SYNCBUSY_GENCTRL3              GCLK_SYNCBUSY_GENCTRL3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL3_Msk instead */
+#define GCLK_SYNCBUSY_GENCTRL4_Pos          6                                              /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 4 Synchronization Busy bit Position */
+#define GCLK_SYNCBUSY_GENCTRL4_Msk          (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL4_Pos)       /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 4 Synchronization Busy bit Mask */
+#define GCLK_SYNCBUSY_GENCTRL4              GCLK_SYNCBUSY_GENCTRL4_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL4_Msk instead */
+#define GCLK_SYNCBUSY_MASK                  _U_(0x7D)                                      /**< \deprecated (GCLK_SYNCBUSY) Register MASK  (Use GCLK_SYNCBUSY_Msk instead)  */
+#define GCLK_SYNCBUSY_Msk                   _U_(0x7D)                                      /**< (GCLK_SYNCBUSY) Register Mask  */
+
+#define GCLK_SYNCBUSY_GENCTRL_Pos           2                                              /**< (GCLK_SYNCBUSY Position) Generic Clock Generator Control 4 Synchronization Busy bit */
+#define GCLK_SYNCBUSY_GENCTRL_Msk           (_U_(0x1F) << GCLK_SYNCBUSY_GENCTRL_Pos)       /**< (GCLK_SYNCBUSY Mask) GENCTRL */
+#define GCLK_SYNCBUSY_GENCTRL(value)        (GCLK_SYNCBUSY_GENCTRL_Msk & ((value) << GCLK_SYNCBUSY_GENCTRL_Pos))  
+
+/* -------- GCLK_GENCTRL : (GCLK Offset: 0x20) (R/W 32) Generic Clock Generator Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SRC:3;                     /**< bit:   0..2  Source Select                            */
+    uint32_t :5;                        /**< bit:   3..7  Reserved */
+    uint32_t GENEN:1;                   /**< bit:      8  Generic Clock Generator Enable           */
+    uint32_t IDC:1;                     /**< bit:      9  Improve Duty Cycle                       */
+    uint32_t OOV:1;                     /**< bit:     10  Output Off Value                         */
+    uint32_t OE:1;                      /**< bit:     11  Output Enable                            */
+    uint32_t DIVSEL:1;                  /**< bit:     12  Divide Selection                         */
+    uint32_t RUNSTDBY:1;                /**< bit:     13  Run in Standby                           */
+    uint32_t :2;                        /**< bit: 14..15  Reserved */
+    uint32_t DIV:16;                    /**< bit: 16..31  Division Factor                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} GCLK_GENCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define GCLK_GENCTRL_OFFSET                 (0x20)                                        /**<  (GCLK_GENCTRL) Generic Clock Generator Control  Offset */
+#define GCLK_GENCTRL_RESETVALUE             _U_(0x00)                                     /**<  (GCLK_GENCTRL) Generic Clock Generator Control  Reset Value */
+
+#define GCLK_GENCTRL_SRC_Pos                0                                              /**< (GCLK_GENCTRL) Source Select Position */
+#define GCLK_GENCTRL_SRC_Msk                (_U_(0x7) << GCLK_GENCTRL_SRC_Pos)             /**< (GCLK_GENCTRL) Source Select Mask */
+#define GCLK_GENCTRL_SRC(value)             (GCLK_GENCTRL_SRC_Msk & ((value) << GCLK_GENCTRL_SRC_Pos))
+#define   GCLK_GENCTRL_SRC_XOSC_Val         _U_(0x0)                                       /**< (GCLK_GENCTRL) XOSC oscillator output  */
+#define   GCLK_GENCTRL_SRC_GCLKIN_Val       _U_(0x1)                                       /**< (GCLK_GENCTRL) Generator input pad  */
+#define   GCLK_GENCTRL_SRC_GCLKGEN1_Val     _U_(0x2)                                       /**< (GCLK_GENCTRL) Generic clock generator 1 output  */
+#define   GCLK_GENCTRL_SRC_OSCULP32K_Val    _U_(0x3)                                       /**< (GCLK_GENCTRL) OSCULP32K oscillator output  */
+#define   GCLK_GENCTRL_SRC_XOSC32K_Val      _U_(0x4)                                       /**< (GCLK_GENCTRL) XOSC32K oscillator output  */
+#define   GCLK_GENCTRL_SRC_OSC16M_Val       _U_(0x5)                                       /**< (GCLK_GENCTRL) OSC16M oscillator output  */
+#define   GCLK_GENCTRL_SRC_DFLLULP_Val      _U_(0x6)                                       /**< (GCLK_GENCTRL) DFLLULP output  */
+#define   GCLK_GENCTRL_SRC_FDPLL96M_Val     _U_(0x7)                                       /**< (GCLK_GENCTRL) FDPLL output  */
+#define GCLK_GENCTRL_SRC_XOSC               (GCLK_GENCTRL_SRC_XOSC_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) XOSC oscillator output Position  */
+#define GCLK_GENCTRL_SRC_GCLKIN             (GCLK_GENCTRL_SRC_GCLKIN_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) Generator input pad Position  */
+#define GCLK_GENCTRL_SRC_GCLKGEN1           (GCLK_GENCTRL_SRC_GCLKGEN1_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) Generic clock generator 1 output Position  */
+#define GCLK_GENCTRL_SRC_OSCULP32K          (GCLK_GENCTRL_SRC_OSCULP32K_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) OSCULP32K oscillator output Position  */
+#define GCLK_GENCTRL_SRC_XOSC32K            (GCLK_GENCTRL_SRC_XOSC32K_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) XOSC32K oscillator output Position  */
+#define GCLK_GENCTRL_SRC_OSC16M             (GCLK_GENCTRL_SRC_OSC16M_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) OSC16M oscillator output Position  */
+#define GCLK_GENCTRL_SRC_DFLLULP            (GCLK_GENCTRL_SRC_DFLLULP_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) DFLLULP output Position  */
+#define GCLK_GENCTRL_SRC_FDPLL96M           (GCLK_GENCTRL_SRC_FDPLL96M_Val << GCLK_GENCTRL_SRC_Pos)  /**< (GCLK_GENCTRL) FDPLL output Position  */
+#define GCLK_GENCTRL_GENEN_Pos              8                                              /**< (GCLK_GENCTRL) Generic Clock Generator Enable Position */
+#define GCLK_GENCTRL_GENEN_Msk              (_U_(0x1) << GCLK_GENCTRL_GENEN_Pos)           /**< (GCLK_GENCTRL) Generic Clock Generator Enable Mask */
+#define GCLK_GENCTRL_GENEN                  GCLK_GENCTRL_GENEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_GENEN_Msk instead */
+#define GCLK_GENCTRL_IDC_Pos                9                                              /**< (GCLK_GENCTRL) Improve Duty Cycle Position */
+#define GCLK_GENCTRL_IDC_Msk                (_U_(0x1) << GCLK_GENCTRL_IDC_Pos)             /**< (GCLK_GENCTRL) Improve Duty Cycle Mask */
+#define GCLK_GENCTRL_IDC                    GCLK_GENCTRL_IDC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_IDC_Msk instead */
+#define GCLK_GENCTRL_OOV_Pos                10                                             /**< (GCLK_GENCTRL) Output Off Value Position */
+#define GCLK_GENCTRL_OOV_Msk                (_U_(0x1) << GCLK_GENCTRL_OOV_Pos)             /**< (GCLK_GENCTRL) Output Off Value Mask */
+#define GCLK_GENCTRL_OOV                    GCLK_GENCTRL_OOV_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_OOV_Msk instead */
+#define GCLK_GENCTRL_OE_Pos                 11                                             /**< (GCLK_GENCTRL) Output Enable Position */
+#define GCLK_GENCTRL_OE_Msk                 (_U_(0x1) << GCLK_GENCTRL_OE_Pos)              /**< (GCLK_GENCTRL) Output Enable Mask */
+#define GCLK_GENCTRL_OE                     GCLK_GENCTRL_OE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_OE_Msk instead */
+#define GCLK_GENCTRL_DIVSEL_Pos             12                                             /**< (GCLK_GENCTRL) Divide Selection Position */
+#define GCLK_GENCTRL_DIVSEL_Msk             (_U_(0x1) << GCLK_GENCTRL_DIVSEL_Pos)          /**< (GCLK_GENCTRL) Divide Selection Mask */
+#define GCLK_GENCTRL_DIVSEL                 GCLK_GENCTRL_DIVSEL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_DIVSEL_Msk instead */
+#define GCLK_GENCTRL_RUNSTDBY_Pos           13                                             /**< (GCLK_GENCTRL) Run in Standby Position */
+#define GCLK_GENCTRL_RUNSTDBY_Msk           (_U_(0x1) << GCLK_GENCTRL_RUNSTDBY_Pos)        /**< (GCLK_GENCTRL) Run in Standby Mask */
+#define GCLK_GENCTRL_RUNSTDBY               GCLK_GENCTRL_RUNSTDBY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_RUNSTDBY_Msk instead */
+#define GCLK_GENCTRL_DIV_Pos                16                                             /**< (GCLK_GENCTRL) Division Factor Position */
+#define GCLK_GENCTRL_DIV_Msk                (_U_(0xFFFF) << GCLK_GENCTRL_DIV_Pos)          /**< (GCLK_GENCTRL) Division Factor Mask */
+#define GCLK_GENCTRL_DIV(value)             (GCLK_GENCTRL_DIV_Msk & ((value) << GCLK_GENCTRL_DIV_Pos))
+#define GCLK_GENCTRL_MASK                   _U_(0xFFFF3F07)                                /**< \deprecated (GCLK_GENCTRL) Register MASK  (Use GCLK_GENCTRL_Msk instead)  */
+#define GCLK_GENCTRL_Msk                    _U_(0xFFFF3F07)                                /**< (GCLK_GENCTRL) Register Mask  */
+
+
+/* -------- GCLK_PCHCTRL : (GCLK Offset: 0x80) (R/W 32) Peripheral Clock Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t GEN:3;                     /**< bit:   0..2  Generic Clock Generator                  */
+    uint32_t :3;                        /**< bit:   3..5  Reserved */
+    uint32_t CHEN:1;                    /**< bit:      6  Channel Enable                           */
+    uint32_t WRTLOCK:1;                 /**< bit:      7  Write Lock                               */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} GCLK_PCHCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define GCLK_PCHCTRL_OFFSET                 (0x80)                                        /**<  (GCLK_PCHCTRL) Peripheral Clock Control  Offset */
+#define GCLK_PCHCTRL_RESETVALUE             _U_(0x00)                                     /**<  (GCLK_PCHCTRL) Peripheral Clock Control  Reset Value */
+
+#define GCLK_PCHCTRL_GEN_Pos                0                                              /**< (GCLK_PCHCTRL) Generic Clock Generator Position */
+#define GCLK_PCHCTRL_GEN_Msk                (_U_(0x7) << GCLK_PCHCTRL_GEN_Pos)             /**< (GCLK_PCHCTRL) Generic Clock Generator Mask */
+#define GCLK_PCHCTRL_GEN(value)             (GCLK_PCHCTRL_GEN_Msk & ((value) << GCLK_PCHCTRL_GEN_Pos))
+#define   GCLK_PCHCTRL_GEN_GCLK0_Val        _U_(0x0)                                       /**< (GCLK_PCHCTRL) Generic clock generator 0  */
+#define   GCLK_PCHCTRL_GEN_GCLK1_Val        _U_(0x1)                                       /**< (GCLK_PCHCTRL) Generic clock generator 1  */
+#define   GCLK_PCHCTRL_GEN_GCLK2_Val        _U_(0x2)                                       /**< (GCLK_PCHCTRL) Generic clock generator 2  */
+#define   GCLK_PCHCTRL_GEN_GCLK3_Val        _U_(0x3)                                       /**< (GCLK_PCHCTRL) Generic clock generator 3  */
+#define   GCLK_PCHCTRL_GEN_GCLK4_Val        _U_(0x4)                                       /**< (GCLK_PCHCTRL) Generic clock generator 4  */
+#define GCLK_PCHCTRL_GEN_GCLK0              (GCLK_PCHCTRL_GEN_GCLK0_Val << GCLK_PCHCTRL_GEN_Pos)  /**< (GCLK_PCHCTRL) Generic clock generator 0 Position  */
+#define GCLK_PCHCTRL_GEN_GCLK1              (GCLK_PCHCTRL_GEN_GCLK1_Val << GCLK_PCHCTRL_GEN_Pos)  /**< (GCLK_PCHCTRL) Generic clock generator 1 Position  */
+#define GCLK_PCHCTRL_GEN_GCLK2              (GCLK_PCHCTRL_GEN_GCLK2_Val << GCLK_PCHCTRL_GEN_Pos)  /**< (GCLK_PCHCTRL) Generic clock generator 2 Position  */
+#define GCLK_PCHCTRL_GEN_GCLK3              (GCLK_PCHCTRL_GEN_GCLK3_Val << GCLK_PCHCTRL_GEN_Pos)  /**< (GCLK_PCHCTRL) Generic clock generator 3 Position  */
+#define GCLK_PCHCTRL_GEN_GCLK4              (GCLK_PCHCTRL_GEN_GCLK4_Val << GCLK_PCHCTRL_GEN_Pos)  /**< (GCLK_PCHCTRL) Generic clock generator 4 Position  */
+#define GCLK_PCHCTRL_CHEN_Pos               6                                              /**< (GCLK_PCHCTRL) Channel Enable Position */
+#define GCLK_PCHCTRL_CHEN_Msk               (_U_(0x1) << GCLK_PCHCTRL_CHEN_Pos)            /**< (GCLK_PCHCTRL) Channel Enable Mask */
+#define GCLK_PCHCTRL_CHEN                   GCLK_PCHCTRL_CHEN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_PCHCTRL_CHEN_Msk instead */
+#define GCLK_PCHCTRL_WRTLOCK_Pos            7                                              /**< (GCLK_PCHCTRL) Write Lock Position */
+#define GCLK_PCHCTRL_WRTLOCK_Msk            (_U_(0x1) << GCLK_PCHCTRL_WRTLOCK_Pos)         /**< (GCLK_PCHCTRL) Write Lock Mask */
+#define GCLK_PCHCTRL_WRTLOCK                GCLK_PCHCTRL_WRTLOCK_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_PCHCTRL_WRTLOCK_Msk instead */
+#define GCLK_PCHCTRL_MASK                   _U_(0xC7)                                      /**< \deprecated (GCLK_PCHCTRL) Register MASK  (Use GCLK_PCHCTRL_Msk instead)  */
+#define GCLK_PCHCTRL_Msk                    _U_(0xC7)                                      /**< (GCLK_PCHCTRL) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief GCLK hardware registers */
+typedef struct {  /* Generic Clock Generator */
+  __IO GCLK_CTRLA_Type                CTRLA;          /**< Offset: 0x00 (R/W   8) Control */
+  __I  uint8_t                        Reserved1[3];
+  __I  GCLK_SYNCBUSY_Type             SYNCBUSY;       /**< Offset: 0x04 (R/   32) Synchronization Busy */
+  __I  uint8_t                        Reserved2[24];
+  __IO GCLK_GENCTRL_Type              GENCTRL[5];     /**< Offset: 0x20 (R/W  32) Generic Clock Generator Control */
+  __I  uint8_t                        Reserved3[76];
+  __IO GCLK_PCHCTRL_Type              PCHCTRL[21];    /**< Offset: 0x80 (R/W  32) Peripheral Clock Control */
+} Gclk;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Generic Clock Generator */
+
+#endif /* _SAML11_GCLK_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/idau.h b/cpu/sam0_common/include/vendor/saml11/include/component/idau.h
new file mode 100644
index 0000000000..2746f2a1ea
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/idau.h
@@ -0,0 +1,163 @@
+/**
+ * \file
+ *
+ * \brief Component description for IDAU
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_IDAU_COMPONENT_H_
+#define _SAML11_IDAU_COMPONENT_H_
+#define _SAML11_IDAU_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Implementation Defined Attribution Unit
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR IDAU */
+/* ========================================================================== */
+
+#define IDAU_U2803                      /**< (IDAU) Module ID */
+#define REV_IDAU 0x100                  /**< (IDAU) Module revision */
+
+/* -------- IDAU_SECCTRL : (IDAU Offset: 0x01) (R/W 8) SECCTRL -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :2;                        /**< bit:   0..1  Reserved */
+    uint8_t  RXN:1;                     /**< bit:      2  CPU RAM is eXecute Never                 */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} IDAU_SECCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define IDAU_SECCTRL_OFFSET                 (0x01)                                        /**<  (IDAU_SECCTRL) SECCTRL  Offset */
+#define IDAU_SECCTRL_RESETVALUE             _U_(0x03)                                     /**<  (IDAU_SECCTRL) SECCTRL  Reset Value */
+
+#define IDAU_SECCTRL_RXN_Pos                2                                              /**< (IDAU_SECCTRL) CPU RAM is eXecute Never Position */
+#define IDAU_SECCTRL_RXN_Msk                (_U_(0x1) << IDAU_SECCTRL_RXN_Pos)             /**< (IDAU_SECCTRL) CPU RAM is eXecute Never Mask */
+#define IDAU_SECCTRL_RXN                    IDAU_SECCTRL_RXN_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use IDAU_SECCTRL_RXN_Msk instead */
+#define IDAU_SECCTRL_MASK                   _U_(0x04)                                      /**< \deprecated (IDAU_SECCTRL) Register MASK  (Use IDAU_SECCTRL_Msk instead)  */
+#define IDAU_SECCTRL_Msk                    _U_(0x04)                                      /**< (IDAU_SECCTRL) Register Mask  */
+
+
+/* -------- IDAU_SCFGB : (IDAU Offset: 0x04) (R/W 32) SCFGB -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BS:8;                      /**< bit:   0..7  Boot Secure                              */
+    uint32_t BNSC:6;                    /**< bit:  8..13  Boot Secure, Non-secure Callable         */
+    uint32_t :2;                        /**< bit: 14..15  Reserved */
+    uint32_t BOOTPROT:8;                /**< bit: 16..23  Boot Protection                          */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} IDAU_SCFGB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define IDAU_SCFGB_OFFSET                   (0x04)                                        /**<  (IDAU_SCFGB) SCFGB  Offset */
+#define IDAU_SCFGB_RESETVALUE               _U_(0x00)                                     /**<  (IDAU_SCFGB) SCFGB  Reset Value */
+
+#define IDAU_SCFGB_BS_Pos                   0                                              /**< (IDAU_SCFGB) Boot Secure Position */
+#define IDAU_SCFGB_BS_Msk                   (_U_(0xFF) << IDAU_SCFGB_BS_Pos)               /**< (IDAU_SCFGB) Boot Secure Mask */
+#define IDAU_SCFGB_BS(value)                (IDAU_SCFGB_BS_Msk & ((value) << IDAU_SCFGB_BS_Pos))
+#define IDAU_SCFGB_BNSC_Pos                 8                                              /**< (IDAU_SCFGB) Boot Secure, Non-secure Callable Position */
+#define IDAU_SCFGB_BNSC_Msk                 (_U_(0x3F) << IDAU_SCFGB_BNSC_Pos)             /**< (IDAU_SCFGB) Boot Secure, Non-secure Callable Mask */
+#define IDAU_SCFGB_BNSC(value)              (IDAU_SCFGB_BNSC_Msk & ((value) << IDAU_SCFGB_BNSC_Pos))
+#define IDAU_SCFGB_BOOTPROT_Pos             16                                             /**< (IDAU_SCFGB) Boot Protection Position */
+#define IDAU_SCFGB_BOOTPROT_Msk             (_U_(0xFF) << IDAU_SCFGB_BOOTPROT_Pos)         /**< (IDAU_SCFGB) Boot Protection Mask */
+#define IDAU_SCFGB_BOOTPROT(value)          (IDAU_SCFGB_BOOTPROT_Msk & ((value) << IDAU_SCFGB_BOOTPROT_Pos))
+#define IDAU_SCFGB_MASK                     _U_(0xFF3FFF)                                  /**< \deprecated (IDAU_SCFGB) Register MASK  (Use IDAU_SCFGB_Msk instead)  */
+#define IDAU_SCFGB_Msk                      _U_(0xFF3FFF)                                  /**< (IDAU_SCFGB) Register Mask  */
+
+
+/* -------- IDAU_SCFGA : (IDAU Offset: 0x08) (R/W 32) SCFGA -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t AS:8;                      /**< bit:   0..7  Application Secure                       */
+    uint32_t ANSC:6;                    /**< bit:  8..13  Application Secure, Non-secure Callable  */
+    uint32_t :2;                        /**< bit: 14..15  Reserved */
+    uint32_t DS:4;                      /**< bit: 16..19  DATAFLASH Data Secure                    */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} IDAU_SCFGA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define IDAU_SCFGA_OFFSET                   (0x08)                                        /**<  (IDAU_SCFGA) SCFGA  Offset */
+#define IDAU_SCFGA_RESETVALUE               _U_(0x00)                                     /**<  (IDAU_SCFGA) SCFGA  Reset Value */
+
+#define IDAU_SCFGA_AS_Pos                   0                                              /**< (IDAU_SCFGA) Application Secure Position */
+#define IDAU_SCFGA_AS_Msk                   (_U_(0xFF) << IDAU_SCFGA_AS_Pos)               /**< (IDAU_SCFGA) Application Secure Mask */
+#define IDAU_SCFGA_AS(value)                (IDAU_SCFGA_AS_Msk & ((value) << IDAU_SCFGA_AS_Pos))
+#define IDAU_SCFGA_ANSC_Pos                 8                                              /**< (IDAU_SCFGA) Application Secure, Non-secure Callable Position */
+#define IDAU_SCFGA_ANSC_Msk                 (_U_(0x3F) << IDAU_SCFGA_ANSC_Pos)             /**< (IDAU_SCFGA) Application Secure, Non-secure Callable Mask */
+#define IDAU_SCFGA_ANSC(value)              (IDAU_SCFGA_ANSC_Msk & ((value) << IDAU_SCFGA_ANSC_Pos))
+#define IDAU_SCFGA_DS_Pos                   16                                             /**< (IDAU_SCFGA) DATAFLASH Data Secure Position */
+#define IDAU_SCFGA_DS_Msk                   (_U_(0xF) << IDAU_SCFGA_DS_Pos)                /**< (IDAU_SCFGA) DATAFLASH Data Secure Mask */
+#define IDAU_SCFGA_DS(value)                (IDAU_SCFGA_DS_Msk & ((value) << IDAU_SCFGA_DS_Pos))
+#define IDAU_SCFGA_MASK                     _U_(0xF3FFF)                                   /**< \deprecated (IDAU_SCFGA) Register MASK  (Use IDAU_SCFGA_Msk instead)  */
+#define IDAU_SCFGA_Msk                      _U_(0xF3FFF)                                   /**< (IDAU_SCFGA) Register Mask  */
+
+
+/* -------- IDAU_SCFGR : (IDAU Offset: 0x0c) (R/W 8) SCFGR -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RS:7;                      /**< bit:   0..6  RAM Secure                               */
+    uint8_t  :1;                        /**< bit:      7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} IDAU_SCFGR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define IDAU_SCFGR_OFFSET                   (0x0C)                                        /**<  (IDAU_SCFGR) SCFGR  Offset */
+#define IDAU_SCFGR_RESETVALUE               _U_(0x00)                                     /**<  (IDAU_SCFGR) SCFGR  Reset Value */
+
+#define IDAU_SCFGR_RS_Pos                   0                                              /**< (IDAU_SCFGR) RAM Secure Position */
+#define IDAU_SCFGR_RS_Msk                   (_U_(0x7F) << IDAU_SCFGR_RS_Pos)               /**< (IDAU_SCFGR) RAM Secure Mask */
+#define IDAU_SCFGR_RS(value)                (IDAU_SCFGR_RS_Msk & ((value) << IDAU_SCFGR_RS_Pos))
+#define IDAU_SCFGR_MASK                     _U_(0x7F)                                      /**< \deprecated (IDAU_SCFGR) Register MASK  (Use IDAU_SCFGR_Msk instead)  */
+#define IDAU_SCFGR_Msk                      _U_(0x7F)                                      /**< (IDAU_SCFGR) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief IDAU hardware registers */
+typedef struct {  /* Implementation Defined Attribution Unit */
+  __I  uint8_t                        Reserved1[1];
+  __IO IDAU_SECCTRL_Type              SECCTRL;        /**< Offset: 0x01 (R/W   8) SECCTRL */
+  __I  uint8_t                        Reserved2[2];
+  __IO IDAU_SCFGB_Type                SCFGB;          /**< Offset: 0x04 (R/W  32) SCFGB */
+  __IO IDAU_SCFGA_Type                SCFGA;          /**< Offset: 0x08 (R/W  32) SCFGA */
+  __IO IDAU_SCFGR_Type                SCFGR;          /**< Offset: 0x0C (R/W   8) SCFGR */
+} Idau;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Implementation Defined Attribution Unit */
+
+#endif /* _SAML11_IDAU_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/mclk.h b/cpu/sam0_common/include/vendor/saml11/include/component/mclk.h
new file mode 100644
index 0000000000..4874f4e343
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/mclk.h
@@ -0,0 +1,416 @@
+/**
+ * \file
+ *
+ * \brief Component description for MCLK
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_MCLK_COMPONENT_H_
+#define _SAML11_MCLK_COMPONENT_H_
+#define _SAML11_MCLK_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Main Clock
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR MCLK */
+/* ========================================================================== */
+
+#define MCLK_U2234                      /**< (MCLK) Module ID */
+#define REV_MCLK 0x300                  /**< (MCLK) Module revision */
+
+/* -------- MCLK_CTRLA : (MCLK Offset: 0x00) (R/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :2;                        /**< bit:   0..1  Reserved */
+    uint8_t  CKSEL:1;                   /**< bit:      2  Clock Select                             */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} MCLK_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_CTRLA_OFFSET                   (0x00)                                        /**<  (MCLK_CTRLA) Control  Offset */
+#define MCLK_CTRLA_RESETVALUE               _U_(0x00)                                     /**<  (MCLK_CTRLA) Control  Reset Value */
+
+#define MCLK_CTRLA_CKSEL_Pos                2                                              /**< (MCLK_CTRLA) Clock Select Position */
+#define MCLK_CTRLA_CKSEL_Msk                (_U_(0x1) << MCLK_CTRLA_CKSEL_Pos)             /**< (MCLK_CTRLA) Clock Select Mask */
+#define MCLK_CTRLA_CKSEL                    MCLK_CTRLA_CKSEL_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_CTRLA_CKSEL_Msk instead */
+#define MCLK_CTRLA_MASK                     _U_(0x04)                                      /**< \deprecated (MCLK_CTRLA) Register MASK  (Use MCLK_CTRLA_Msk instead)  */
+#define MCLK_CTRLA_Msk                      _U_(0x04)                                      /**< (MCLK_CTRLA) Register Mask  */
+
+
+/* -------- MCLK_INTENCLR : (MCLK Offset: 0x01) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CKRDY:1;                   /**< bit:      0  Clock Ready Interrupt Enable             */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} MCLK_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_INTENCLR_OFFSET                (0x01)                                        /**<  (MCLK_INTENCLR) Interrupt Enable Clear  Offset */
+#define MCLK_INTENCLR_RESETVALUE            _U_(0x00)                                     /**<  (MCLK_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define MCLK_INTENCLR_CKRDY_Pos             0                                              /**< (MCLK_INTENCLR) Clock Ready Interrupt Enable Position */
+#define MCLK_INTENCLR_CKRDY_Msk             (_U_(0x1) << MCLK_INTENCLR_CKRDY_Pos)          /**< (MCLK_INTENCLR) Clock Ready Interrupt Enable Mask */
+#define MCLK_INTENCLR_CKRDY                 MCLK_INTENCLR_CKRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_INTENCLR_CKRDY_Msk instead */
+#define MCLK_INTENCLR_MASK                  _U_(0x01)                                      /**< \deprecated (MCLK_INTENCLR) Register MASK  (Use MCLK_INTENCLR_Msk instead)  */
+#define MCLK_INTENCLR_Msk                   _U_(0x01)                                      /**< (MCLK_INTENCLR) Register Mask  */
+
+
+/* -------- MCLK_INTENSET : (MCLK Offset: 0x02) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CKRDY:1;                   /**< bit:      0  Clock Ready Interrupt Enable             */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} MCLK_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_INTENSET_OFFSET                (0x02)                                        /**<  (MCLK_INTENSET) Interrupt Enable Set  Offset */
+#define MCLK_INTENSET_RESETVALUE            _U_(0x00)                                     /**<  (MCLK_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define MCLK_INTENSET_CKRDY_Pos             0                                              /**< (MCLK_INTENSET) Clock Ready Interrupt Enable Position */
+#define MCLK_INTENSET_CKRDY_Msk             (_U_(0x1) << MCLK_INTENSET_CKRDY_Pos)          /**< (MCLK_INTENSET) Clock Ready Interrupt Enable Mask */
+#define MCLK_INTENSET_CKRDY                 MCLK_INTENSET_CKRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_INTENSET_CKRDY_Msk instead */
+#define MCLK_INTENSET_MASK                  _U_(0x01)                                      /**< \deprecated (MCLK_INTENSET) Register MASK  (Use MCLK_INTENSET_Msk instead)  */
+#define MCLK_INTENSET_Msk                   _U_(0x01)                                      /**< (MCLK_INTENSET) Register Mask  */
+
+
+/* -------- MCLK_INTFLAG : (MCLK Offset: 0x03) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t CKRDY:1;                   /**< bit:      0  Clock Ready                              */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} MCLK_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_INTFLAG_OFFSET                 (0x03)                                        /**<  (MCLK_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define MCLK_INTFLAG_RESETVALUE             _U_(0x01)                                     /**<  (MCLK_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define MCLK_INTFLAG_CKRDY_Pos              0                                              /**< (MCLK_INTFLAG) Clock Ready Position */
+#define MCLK_INTFLAG_CKRDY_Msk              (_U_(0x1) << MCLK_INTFLAG_CKRDY_Pos)           /**< (MCLK_INTFLAG) Clock Ready Mask */
+#define MCLK_INTFLAG_CKRDY                  MCLK_INTFLAG_CKRDY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_INTFLAG_CKRDY_Msk instead */
+#define MCLK_INTFLAG_MASK                   _U_(0x01)                                      /**< \deprecated (MCLK_INTFLAG) Register MASK  (Use MCLK_INTFLAG_Msk instead)  */
+#define MCLK_INTFLAG_Msk                    _U_(0x01)                                      /**< (MCLK_INTFLAG) Register Mask  */
+
+
+/* -------- MCLK_CPUDIV : (MCLK Offset: 0x04) (R/W 8) CPU Clock Division -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CPUDIV:8;                  /**< bit:   0..7  CPU Clock Division Factor                */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} MCLK_CPUDIV_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_CPUDIV_OFFSET                  (0x04)                                        /**<  (MCLK_CPUDIV) CPU Clock Division  Offset */
+#define MCLK_CPUDIV_RESETVALUE              _U_(0x01)                                     /**<  (MCLK_CPUDIV) CPU Clock Division  Reset Value */
+
+#define MCLK_CPUDIV_CPUDIV_Pos              0                                              /**< (MCLK_CPUDIV) CPU Clock Division Factor Position */
+#define MCLK_CPUDIV_CPUDIV_Msk              (_U_(0xFF) << MCLK_CPUDIV_CPUDIV_Pos)          /**< (MCLK_CPUDIV) CPU Clock Division Factor Mask */
+#define MCLK_CPUDIV_CPUDIV(value)           (MCLK_CPUDIV_CPUDIV_Msk & ((value) << MCLK_CPUDIV_CPUDIV_Pos))
+#define   MCLK_CPUDIV_CPUDIV_DIV1_Val       _U_(0x1)                                       /**< (MCLK_CPUDIV) Divide by 1  */
+#define   MCLK_CPUDIV_CPUDIV_DIV2_Val       _U_(0x2)                                       /**< (MCLK_CPUDIV) Divide by 2  */
+#define   MCLK_CPUDIV_CPUDIV_DIV4_Val       _U_(0x4)                                       /**< (MCLK_CPUDIV) Divide by 4  */
+#define   MCLK_CPUDIV_CPUDIV_DIV8_Val       _U_(0x8)                                       /**< (MCLK_CPUDIV) Divide by 8  */
+#define   MCLK_CPUDIV_CPUDIV_DIV16_Val      _U_(0x10)                                      /**< (MCLK_CPUDIV) Divide by 16  */
+#define   MCLK_CPUDIV_CPUDIV_DIV32_Val      _U_(0x20)                                      /**< (MCLK_CPUDIV) Divide by 32  */
+#define   MCLK_CPUDIV_CPUDIV_DIV64_Val      _U_(0x40)                                      /**< (MCLK_CPUDIV) Divide by 64  */
+#define   MCLK_CPUDIV_CPUDIV_DIV128_Val     _U_(0x80)                                      /**< (MCLK_CPUDIV) Divide by 128  */
+#define MCLK_CPUDIV_CPUDIV_DIV1             (MCLK_CPUDIV_CPUDIV_DIV1_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 1 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV2             (MCLK_CPUDIV_CPUDIV_DIV2_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 2 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV4             (MCLK_CPUDIV_CPUDIV_DIV4_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 4 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV8             (MCLK_CPUDIV_CPUDIV_DIV8_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 8 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV16            (MCLK_CPUDIV_CPUDIV_DIV16_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 16 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV32            (MCLK_CPUDIV_CPUDIV_DIV32_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 32 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV64            (MCLK_CPUDIV_CPUDIV_DIV64_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 64 Position  */
+#define MCLK_CPUDIV_CPUDIV_DIV128           (MCLK_CPUDIV_CPUDIV_DIV128_Val << MCLK_CPUDIV_CPUDIV_Pos)  /**< (MCLK_CPUDIV) Divide by 128 Position  */
+#define MCLK_CPUDIV_MASK                    _U_(0xFF)                                      /**< \deprecated (MCLK_CPUDIV) Register MASK  (Use MCLK_CPUDIV_Msk instead)  */
+#define MCLK_CPUDIV_Msk                     _U_(0xFF)                                      /**< (MCLK_CPUDIV) Register Mask  */
+
+
+/* -------- MCLK_AHBMASK : (MCLK Offset: 0x10) (R/W 32) AHB Mask -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t HPB0_:1;                   /**< bit:      0  HPB0 AHB Clock Mask                      */
+    uint32_t HPB1_:1;                   /**< bit:      1  HPB1 AHB Clock Mask                      */
+    uint32_t HPB2_:1;                   /**< bit:      2  HPB2 AHB Clock Mask                      */
+    uint32_t DMAC_:1;                   /**< bit:      3  DMAC AHB Clock Mask                      */
+    uint32_t DSU_:1;                    /**< bit:      4  DSU AHB Clock Mask                       */
+    uint32_t :1;                        /**< bit:      5  Reserved */
+    uint32_t PAC_:1;                    /**< bit:      6  PAC AHB Clock Mask                       */
+    uint32_t NVMCTRL_:1;                /**< bit:      7  NVMCTRL AHB Clock Mask                   */
+    uint32_t :4;                        /**< bit:  8..11  Reserved */
+    uint32_t TRAM_:1;                   /**< bit:     12  TRAM AHB Clock Mask                      */
+    uint32_t :19;                       /**< bit: 13..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} MCLK_AHBMASK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_AHBMASK_OFFSET                 (0x10)                                        /**<  (MCLK_AHBMASK) AHB Mask  Offset */
+#define MCLK_AHBMASK_RESETVALUE             _U_(0x1FFF)                                   /**<  (MCLK_AHBMASK) AHB Mask  Reset Value */
+
+#define MCLK_AHBMASK_HPB0_Pos               0                                              /**< (MCLK_AHBMASK) HPB0 AHB Clock Mask Position */
+#define MCLK_AHBMASK_HPB0_Msk               (_U_(0x1) << MCLK_AHBMASK_HPB0_Pos)            /**< (MCLK_AHBMASK) HPB0 AHB Clock Mask Mask */
+#define MCLK_AHBMASK_HPB0                   MCLK_AHBMASK_HPB0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_HPB0_Msk instead */
+#define MCLK_AHBMASK_HPB1_Pos               1                                              /**< (MCLK_AHBMASK) HPB1 AHB Clock Mask Position */
+#define MCLK_AHBMASK_HPB1_Msk               (_U_(0x1) << MCLK_AHBMASK_HPB1_Pos)            /**< (MCLK_AHBMASK) HPB1 AHB Clock Mask Mask */
+#define MCLK_AHBMASK_HPB1                   MCLK_AHBMASK_HPB1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_HPB1_Msk instead */
+#define MCLK_AHBMASK_HPB2_Pos               2                                              /**< (MCLK_AHBMASK) HPB2 AHB Clock Mask Position */
+#define MCLK_AHBMASK_HPB2_Msk               (_U_(0x1) << MCLK_AHBMASK_HPB2_Pos)            /**< (MCLK_AHBMASK) HPB2 AHB Clock Mask Mask */
+#define MCLK_AHBMASK_HPB2                   MCLK_AHBMASK_HPB2_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_HPB2_Msk instead */
+#define MCLK_AHBMASK_DMAC_Pos               3                                              /**< (MCLK_AHBMASK) DMAC AHB Clock Mask Position */
+#define MCLK_AHBMASK_DMAC_Msk               (_U_(0x1) << MCLK_AHBMASK_DMAC_Pos)            /**< (MCLK_AHBMASK) DMAC AHB Clock Mask Mask */
+#define MCLK_AHBMASK_DMAC                   MCLK_AHBMASK_DMAC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_DMAC_Msk instead */
+#define MCLK_AHBMASK_DSU_Pos                4                                              /**< (MCLK_AHBMASK) DSU AHB Clock Mask Position */
+#define MCLK_AHBMASK_DSU_Msk                (_U_(0x1) << MCLK_AHBMASK_DSU_Pos)             /**< (MCLK_AHBMASK) DSU AHB Clock Mask Mask */
+#define MCLK_AHBMASK_DSU                    MCLK_AHBMASK_DSU_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_DSU_Msk instead */
+#define MCLK_AHBMASK_PAC_Pos                6                                              /**< (MCLK_AHBMASK) PAC AHB Clock Mask Position */
+#define MCLK_AHBMASK_PAC_Msk                (_U_(0x1) << MCLK_AHBMASK_PAC_Pos)             /**< (MCLK_AHBMASK) PAC AHB Clock Mask Mask */
+#define MCLK_AHBMASK_PAC                    MCLK_AHBMASK_PAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_PAC_Msk instead */
+#define MCLK_AHBMASK_NVMCTRL_Pos            7                                              /**< (MCLK_AHBMASK) NVMCTRL AHB Clock Mask Position */
+#define MCLK_AHBMASK_NVMCTRL_Msk            (_U_(0x1) << MCLK_AHBMASK_NVMCTRL_Pos)         /**< (MCLK_AHBMASK) NVMCTRL AHB Clock Mask Mask */
+#define MCLK_AHBMASK_NVMCTRL                MCLK_AHBMASK_NVMCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_NVMCTRL_Msk instead */
+#define MCLK_AHBMASK_TRAM_Pos               12                                             /**< (MCLK_AHBMASK) TRAM AHB Clock Mask Position */
+#define MCLK_AHBMASK_TRAM_Msk               (_U_(0x1) << MCLK_AHBMASK_TRAM_Pos)            /**< (MCLK_AHBMASK) TRAM AHB Clock Mask Mask */
+#define MCLK_AHBMASK_TRAM                   MCLK_AHBMASK_TRAM_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_AHBMASK_TRAM_Msk instead */
+#define MCLK_AHBMASK_MASK                   _U_(0x10DF)                                    /**< \deprecated (MCLK_AHBMASK) Register MASK  (Use MCLK_AHBMASK_Msk instead)  */
+#define MCLK_AHBMASK_Msk                    _U_(0x10DF)                                    /**< (MCLK_AHBMASK) Register Mask  */
+
+#define MCLK_AHBMASK_HPB_Pos                0                                              /**< (MCLK_AHBMASK Position) HPBx AHB Clock Mask */
+#define MCLK_AHBMASK_HPB_Msk                (_U_(0x7) << MCLK_AHBMASK_HPB_Pos)             /**< (MCLK_AHBMASK Mask) HPB */
+#define MCLK_AHBMASK_HPB(value)             (MCLK_AHBMASK_HPB_Msk & ((value) << MCLK_AHBMASK_HPB_Pos))  
+
+/* -------- MCLK_APBAMASK : (MCLK Offset: 0x14) (R/W 32) APBA Mask -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PAC_:1;                    /**< bit:      0  PAC APB Clock Enable                     */
+    uint32_t PM_:1;                     /**< bit:      1  PM APB Clock Enable                      */
+    uint32_t MCLK_:1;                   /**< bit:      2  MCLK APB Clock Enable                    */
+    uint32_t RSTC_:1;                   /**< bit:      3  RSTC APB Clock Enable                    */
+    uint32_t OSCCTRL_:1;                /**< bit:      4  OSCCTRL APB Clock Enable                 */
+    uint32_t OSC32KCTRL_:1;             /**< bit:      5  OSC32KCTRL APB Clock Enable              */
+    uint32_t SUPC_:1;                   /**< bit:      6  SUPC APB Clock Enable                    */
+    uint32_t GCLK_:1;                   /**< bit:      7  GCLK APB Clock Enable                    */
+    uint32_t WDT_:1;                    /**< bit:      8  WDT APB Clock Enable                     */
+    uint32_t RTC_:1;                    /**< bit:      9  RTC APB Clock Enable                     */
+    uint32_t EIC_:1;                    /**< bit:     10  EIC APB Clock Enable                     */
+    uint32_t FREQM_:1;                  /**< bit:     11  FREQM APB Clock Enable                   */
+    uint32_t PORT_:1;                   /**< bit:     12  PORT APB Clock Enable                    */
+    uint32_t AC_:1;                     /**< bit:     13  AC APB Clock Enable                      */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} MCLK_APBAMASK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_APBAMASK_OFFSET                (0x14)                                        /**<  (MCLK_APBAMASK) APBA Mask  Offset */
+#define MCLK_APBAMASK_RESETVALUE            _U_(0x7FFF)                                   /**<  (MCLK_APBAMASK) APBA Mask  Reset Value */
+
+#define MCLK_APBAMASK_PAC_Pos               0                                              /**< (MCLK_APBAMASK) PAC APB Clock Enable Position */
+#define MCLK_APBAMASK_PAC_Msk               (_U_(0x1) << MCLK_APBAMASK_PAC_Pos)            /**< (MCLK_APBAMASK) PAC APB Clock Enable Mask */
+#define MCLK_APBAMASK_PAC                   MCLK_APBAMASK_PAC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_PAC_Msk instead */
+#define MCLK_APBAMASK_PM_Pos                1                                              /**< (MCLK_APBAMASK) PM APB Clock Enable Position */
+#define MCLK_APBAMASK_PM_Msk                (_U_(0x1) << MCLK_APBAMASK_PM_Pos)             /**< (MCLK_APBAMASK) PM APB Clock Enable Mask */
+#define MCLK_APBAMASK_PM                    MCLK_APBAMASK_PM_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_PM_Msk instead */
+#define MCLK_APBAMASK_MCLK_Pos              2                                              /**< (MCLK_APBAMASK) MCLK APB Clock Enable Position */
+#define MCLK_APBAMASK_MCLK_Msk              (_U_(0x1) << MCLK_APBAMASK_MCLK_Pos)           /**< (MCLK_APBAMASK) MCLK APB Clock Enable Mask */
+#define MCLK_APBAMASK_MCLK                  MCLK_APBAMASK_MCLK_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_MCLK_Msk instead */
+#define MCLK_APBAMASK_RSTC_Pos              3                                              /**< (MCLK_APBAMASK) RSTC APB Clock Enable Position */
+#define MCLK_APBAMASK_RSTC_Msk              (_U_(0x1) << MCLK_APBAMASK_RSTC_Pos)           /**< (MCLK_APBAMASK) RSTC APB Clock Enable Mask */
+#define MCLK_APBAMASK_RSTC                  MCLK_APBAMASK_RSTC_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_RSTC_Msk instead */
+#define MCLK_APBAMASK_OSCCTRL_Pos           4                                              /**< (MCLK_APBAMASK) OSCCTRL APB Clock Enable Position */
+#define MCLK_APBAMASK_OSCCTRL_Msk           (_U_(0x1) << MCLK_APBAMASK_OSCCTRL_Pos)        /**< (MCLK_APBAMASK) OSCCTRL APB Clock Enable Mask */
+#define MCLK_APBAMASK_OSCCTRL               MCLK_APBAMASK_OSCCTRL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_OSCCTRL_Msk instead */
+#define MCLK_APBAMASK_OSC32KCTRL_Pos        5                                              /**< (MCLK_APBAMASK) OSC32KCTRL APB Clock Enable Position */
+#define MCLK_APBAMASK_OSC32KCTRL_Msk        (_U_(0x1) << MCLK_APBAMASK_OSC32KCTRL_Pos)     /**< (MCLK_APBAMASK) OSC32KCTRL APB Clock Enable Mask */
+#define MCLK_APBAMASK_OSC32KCTRL            MCLK_APBAMASK_OSC32KCTRL_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_OSC32KCTRL_Msk instead */
+#define MCLK_APBAMASK_SUPC_Pos              6                                              /**< (MCLK_APBAMASK) SUPC APB Clock Enable Position */
+#define MCLK_APBAMASK_SUPC_Msk              (_U_(0x1) << MCLK_APBAMASK_SUPC_Pos)           /**< (MCLK_APBAMASK) SUPC APB Clock Enable Mask */
+#define MCLK_APBAMASK_SUPC                  MCLK_APBAMASK_SUPC_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_SUPC_Msk instead */
+#define MCLK_APBAMASK_GCLK_Pos              7                                              /**< (MCLK_APBAMASK) GCLK APB Clock Enable Position */
+#define MCLK_APBAMASK_GCLK_Msk              (_U_(0x1) << MCLK_APBAMASK_GCLK_Pos)           /**< (MCLK_APBAMASK) GCLK APB Clock Enable Mask */
+#define MCLK_APBAMASK_GCLK                  MCLK_APBAMASK_GCLK_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_GCLK_Msk instead */
+#define MCLK_APBAMASK_WDT_Pos               8                                              /**< (MCLK_APBAMASK) WDT APB Clock Enable Position */
+#define MCLK_APBAMASK_WDT_Msk               (_U_(0x1) << MCLK_APBAMASK_WDT_Pos)            /**< (MCLK_APBAMASK) WDT APB Clock Enable Mask */
+#define MCLK_APBAMASK_WDT                   MCLK_APBAMASK_WDT_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_WDT_Msk instead */
+#define MCLK_APBAMASK_RTC_Pos               9                                              /**< (MCLK_APBAMASK) RTC APB Clock Enable Position */
+#define MCLK_APBAMASK_RTC_Msk               (_U_(0x1) << MCLK_APBAMASK_RTC_Pos)            /**< (MCLK_APBAMASK) RTC APB Clock Enable Mask */
+#define MCLK_APBAMASK_RTC                   MCLK_APBAMASK_RTC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_RTC_Msk instead */
+#define MCLK_APBAMASK_EIC_Pos               10                                             /**< (MCLK_APBAMASK) EIC APB Clock Enable Position */
+#define MCLK_APBAMASK_EIC_Msk               (_U_(0x1) << MCLK_APBAMASK_EIC_Pos)            /**< (MCLK_APBAMASK) EIC APB Clock Enable Mask */
+#define MCLK_APBAMASK_EIC                   MCLK_APBAMASK_EIC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_EIC_Msk instead */
+#define MCLK_APBAMASK_FREQM_Pos             11                                             /**< (MCLK_APBAMASK) FREQM APB Clock Enable Position */
+#define MCLK_APBAMASK_FREQM_Msk             (_U_(0x1) << MCLK_APBAMASK_FREQM_Pos)          /**< (MCLK_APBAMASK) FREQM APB Clock Enable Mask */
+#define MCLK_APBAMASK_FREQM                 MCLK_APBAMASK_FREQM_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_FREQM_Msk instead */
+#define MCLK_APBAMASK_PORT_Pos              12                                             /**< (MCLK_APBAMASK) PORT APB Clock Enable Position */
+#define MCLK_APBAMASK_PORT_Msk              (_U_(0x1) << MCLK_APBAMASK_PORT_Pos)           /**< (MCLK_APBAMASK) PORT APB Clock Enable Mask */
+#define MCLK_APBAMASK_PORT                  MCLK_APBAMASK_PORT_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_PORT_Msk instead */
+#define MCLK_APBAMASK_AC_Pos                13                                             /**< (MCLK_APBAMASK) AC APB Clock Enable Position */
+#define MCLK_APBAMASK_AC_Msk                (_U_(0x1) << MCLK_APBAMASK_AC_Pos)             /**< (MCLK_APBAMASK) AC APB Clock Enable Mask */
+#define MCLK_APBAMASK_AC                    MCLK_APBAMASK_AC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBAMASK_AC_Msk instead */
+#define MCLK_APBAMASK_MASK                  _U_(0x3FFF)                                    /**< \deprecated (MCLK_APBAMASK) Register MASK  (Use MCLK_APBAMASK_Msk instead)  */
+#define MCLK_APBAMASK_Msk                   _U_(0x3FFF)                                    /**< (MCLK_APBAMASK) Register Mask  */
+
+
+/* -------- MCLK_APBBMASK : (MCLK Offset: 0x18) (R/W 32) APBB Mask -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IDAU_:1;                   /**< bit:      0  IDAU APB Clock Enable                    */
+    uint32_t DSU_:1;                    /**< bit:      1  DSU APB Clock Enable                     */
+    uint32_t NVMCTRL_:1;                /**< bit:      2  NVMCTRL APB Clock Enable                 */
+    uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} MCLK_APBBMASK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_APBBMASK_OFFSET                (0x18)                                        /**<  (MCLK_APBBMASK) APBB Mask  Offset */
+#define MCLK_APBBMASK_RESETVALUE            _U_(0x17)                                     /**<  (MCLK_APBBMASK) APBB Mask  Reset Value */
+
+#define MCLK_APBBMASK_IDAU_Pos              0                                              /**< (MCLK_APBBMASK) IDAU APB Clock Enable Position */
+#define MCLK_APBBMASK_IDAU_Msk              (_U_(0x1) << MCLK_APBBMASK_IDAU_Pos)           /**< (MCLK_APBBMASK) IDAU APB Clock Enable Mask */
+#define MCLK_APBBMASK_IDAU                  MCLK_APBBMASK_IDAU_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBBMASK_IDAU_Msk instead */
+#define MCLK_APBBMASK_DSU_Pos               1                                              /**< (MCLK_APBBMASK) DSU APB Clock Enable Position */
+#define MCLK_APBBMASK_DSU_Msk               (_U_(0x1) << MCLK_APBBMASK_DSU_Pos)            /**< (MCLK_APBBMASK) DSU APB Clock Enable Mask */
+#define MCLK_APBBMASK_DSU                   MCLK_APBBMASK_DSU_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBBMASK_DSU_Msk instead */
+#define MCLK_APBBMASK_NVMCTRL_Pos           2                                              /**< (MCLK_APBBMASK) NVMCTRL APB Clock Enable Position */
+#define MCLK_APBBMASK_NVMCTRL_Msk           (_U_(0x1) << MCLK_APBBMASK_NVMCTRL_Pos)        /**< (MCLK_APBBMASK) NVMCTRL APB Clock Enable Mask */
+#define MCLK_APBBMASK_NVMCTRL               MCLK_APBBMASK_NVMCTRL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBBMASK_NVMCTRL_Msk instead */
+#define MCLK_APBBMASK_MASK                  _U_(0x07)                                      /**< \deprecated (MCLK_APBBMASK) Register MASK  (Use MCLK_APBBMASK_Msk instead)  */
+#define MCLK_APBBMASK_Msk                   _U_(0x07)                                      /**< (MCLK_APBBMASK) Register Mask  */
+
+
+/* -------- MCLK_APBCMASK : (MCLK Offset: 0x1c) (R/W 32) APBC Mask -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVSYS_:1;                  /**< bit:      0  EVSYS APB Clock Enable                   */
+    uint32_t SERCOM0_:1;                /**< bit:      1  SERCOM0 APB Clock Enable                 */
+    uint32_t SERCOM1_:1;                /**< bit:      2  SERCOM1 APB Clock Enable                 */
+    uint32_t SERCOM2_:1;                /**< bit:      3  SERCOM2 APB Clock Enable                 */
+    uint32_t TC0_:1;                    /**< bit:      4  TC0 APB Clock Enable                     */
+    uint32_t TC1_:1;                    /**< bit:      5  TC1 APB Clock Enable                     */
+    uint32_t TC2_:1;                    /**< bit:      6  TC2 APB Clock Enable                     */
+    uint32_t ADC_:1;                    /**< bit:      7  ADC APB Clock Enable                     */
+    uint32_t DAC_:1;                    /**< bit:      8  DAC APB Clock Enable                     */
+    uint32_t PTC_:1;                    /**< bit:      9  PTC APB Clock Enable                     */
+    uint32_t TRNG_:1;                   /**< bit:     10  TRNG APB Clock Enable                    */
+    uint32_t CCL_:1;                    /**< bit:     11  CCL APB Clock Enable                     */
+    uint32_t OPAMP_:1;                  /**< bit:     12  OPAMP APB Clock Enable                   */
+    uint32_t :19;                       /**< bit: 13..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} MCLK_APBCMASK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define MCLK_APBCMASK_OFFSET                (0x1C)                                        /**<  (MCLK_APBCMASK) APBC Mask  Offset */
+#define MCLK_APBCMASK_RESETVALUE            _U_(0x1FFF)                                   /**<  (MCLK_APBCMASK) APBC Mask  Reset Value */
+
+#define MCLK_APBCMASK_EVSYS_Pos             0                                              /**< (MCLK_APBCMASK) EVSYS APB Clock Enable Position */
+#define MCLK_APBCMASK_EVSYS_Msk             (_U_(0x1) << MCLK_APBCMASK_EVSYS_Pos)          /**< (MCLK_APBCMASK) EVSYS APB Clock Enable Mask */
+#define MCLK_APBCMASK_EVSYS                 MCLK_APBCMASK_EVSYS_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_EVSYS_Msk instead */
+#define MCLK_APBCMASK_SERCOM0_Pos           1                                              /**< (MCLK_APBCMASK) SERCOM0 APB Clock Enable Position */
+#define MCLK_APBCMASK_SERCOM0_Msk           (_U_(0x1) << MCLK_APBCMASK_SERCOM0_Pos)        /**< (MCLK_APBCMASK) SERCOM0 APB Clock Enable Mask */
+#define MCLK_APBCMASK_SERCOM0               MCLK_APBCMASK_SERCOM0_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_SERCOM0_Msk instead */
+#define MCLK_APBCMASK_SERCOM1_Pos           2                                              /**< (MCLK_APBCMASK) SERCOM1 APB Clock Enable Position */
+#define MCLK_APBCMASK_SERCOM1_Msk           (_U_(0x1) << MCLK_APBCMASK_SERCOM1_Pos)        /**< (MCLK_APBCMASK) SERCOM1 APB Clock Enable Mask */
+#define MCLK_APBCMASK_SERCOM1               MCLK_APBCMASK_SERCOM1_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_SERCOM1_Msk instead */
+#define MCLK_APBCMASK_SERCOM2_Pos           3                                              /**< (MCLK_APBCMASK) SERCOM2 APB Clock Enable Position */
+#define MCLK_APBCMASK_SERCOM2_Msk           (_U_(0x1) << MCLK_APBCMASK_SERCOM2_Pos)        /**< (MCLK_APBCMASK) SERCOM2 APB Clock Enable Mask */
+#define MCLK_APBCMASK_SERCOM2               MCLK_APBCMASK_SERCOM2_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_SERCOM2_Msk instead */
+#define MCLK_APBCMASK_TC0_Pos               4                                              /**< (MCLK_APBCMASK) TC0 APB Clock Enable Position */
+#define MCLK_APBCMASK_TC0_Msk               (_U_(0x1) << MCLK_APBCMASK_TC0_Pos)            /**< (MCLK_APBCMASK) TC0 APB Clock Enable Mask */
+#define MCLK_APBCMASK_TC0                   MCLK_APBCMASK_TC0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_TC0_Msk instead */
+#define MCLK_APBCMASK_TC1_Pos               5                                              /**< (MCLK_APBCMASK) TC1 APB Clock Enable Position */
+#define MCLK_APBCMASK_TC1_Msk               (_U_(0x1) << MCLK_APBCMASK_TC1_Pos)            /**< (MCLK_APBCMASK) TC1 APB Clock Enable Mask */
+#define MCLK_APBCMASK_TC1                   MCLK_APBCMASK_TC1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_TC1_Msk instead */
+#define MCLK_APBCMASK_TC2_Pos               6                                              /**< (MCLK_APBCMASK) TC2 APB Clock Enable Position */
+#define MCLK_APBCMASK_TC2_Msk               (_U_(0x1) << MCLK_APBCMASK_TC2_Pos)            /**< (MCLK_APBCMASK) TC2 APB Clock Enable Mask */
+#define MCLK_APBCMASK_TC2                   MCLK_APBCMASK_TC2_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_TC2_Msk instead */
+#define MCLK_APBCMASK_ADC_Pos               7                                              /**< (MCLK_APBCMASK) ADC APB Clock Enable Position */
+#define MCLK_APBCMASK_ADC_Msk               (_U_(0x1) << MCLK_APBCMASK_ADC_Pos)            /**< (MCLK_APBCMASK) ADC APB Clock Enable Mask */
+#define MCLK_APBCMASK_ADC                   MCLK_APBCMASK_ADC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_ADC_Msk instead */
+#define MCLK_APBCMASK_DAC_Pos               8                                              /**< (MCLK_APBCMASK) DAC APB Clock Enable Position */
+#define MCLK_APBCMASK_DAC_Msk               (_U_(0x1) << MCLK_APBCMASK_DAC_Pos)            /**< (MCLK_APBCMASK) DAC APB Clock Enable Mask */
+#define MCLK_APBCMASK_DAC                   MCLK_APBCMASK_DAC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_DAC_Msk instead */
+#define MCLK_APBCMASK_PTC_Pos               9                                              /**< (MCLK_APBCMASK) PTC APB Clock Enable Position */
+#define MCLK_APBCMASK_PTC_Msk               (_U_(0x1) << MCLK_APBCMASK_PTC_Pos)            /**< (MCLK_APBCMASK) PTC APB Clock Enable Mask */
+#define MCLK_APBCMASK_PTC                   MCLK_APBCMASK_PTC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_PTC_Msk instead */
+#define MCLK_APBCMASK_TRNG_Pos              10                                             /**< (MCLK_APBCMASK) TRNG APB Clock Enable Position */
+#define MCLK_APBCMASK_TRNG_Msk              (_U_(0x1) << MCLK_APBCMASK_TRNG_Pos)           /**< (MCLK_APBCMASK) TRNG APB Clock Enable Mask */
+#define MCLK_APBCMASK_TRNG                  MCLK_APBCMASK_TRNG_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_TRNG_Msk instead */
+#define MCLK_APBCMASK_CCL_Pos               11                                             /**< (MCLK_APBCMASK) CCL APB Clock Enable Position */
+#define MCLK_APBCMASK_CCL_Msk               (_U_(0x1) << MCLK_APBCMASK_CCL_Pos)            /**< (MCLK_APBCMASK) CCL APB Clock Enable Mask */
+#define MCLK_APBCMASK_CCL                   MCLK_APBCMASK_CCL_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_CCL_Msk instead */
+#define MCLK_APBCMASK_OPAMP_Pos             12                                             /**< (MCLK_APBCMASK) OPAMP APB Clock Enable Position */
+#define MCLK_APBCMASK_OPAMP_Msk             (_U_(0x1) << MCLK_APBCMASK_OPAMP_Pos)          /**< (MCLK_APBCMASK) OPAMP APB Clock Enable Mask */
+#define MCLK_APBCMASK_OPAMP                 MCLK_APBCMASK_OPAMP_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use MCLK_APBCMASK_OPAMP_Msk instead */
+#define MCLK_APBCMASK_MASK                  _U_(0x1FFF)                                    /**< \deprecated (MCLK_APBCMASK) Register MASK  (Use MCLK_APBCMASK_Msk instead)  */
+#define MCLK_APBCMASK_Msk                   _U_(0x1FFF)                                    /**< (MCLK_APBCMASK) Register Mask  */
+
+#define MCLK_APBCMASK_SERCOM_Pos            1                                              /**< (MCLK_APBCMASK Position) SERCOMx APB Clock Enable */
+#define MCLK_APBCMASK_SERCOM_Msk            (_U_(0x7) << MCLK_APBCMASK_SERCOM_Pos)         /**< (MCLK_APBCMASK Mask) SERCOM */
+#define MCLK_APBCMASK_SERCOM(value)         (MCLK_APBCMASK_SERCOM_Msk & ((value) << MCLK_APBCMASK_SERCOM_Pos))  
+#define MCLK_APBCMASK_TC_Pos                4                                              /**< (MCLK_APBCMASK Position) TCx APB Clock Enable */
+#define MCLK_APBCMASK_TC_Msk                (_U_(0x7) << MCLK_APBCMASK_TC_Pos)             /**< (MCLK_APBCMASK Mask) TC */
+#define MCLK_APBCMASK_TC(value)             (MCLK_APBCMASK_TC_Msk & ((value) << MCLK_APBCMASK_TC_Pos))  
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief MCLK hardware registers */
+typedef struct {  /* Main Clock */
+  __IO MCLK_CTRLA_Type                CTRLA;          /**< Offset: 0x00 (R/W   8) Control */
+  __IO MCLK_INTENCLR_Type             INTENCLR;       /**< Offset: 0x01 (R/W   8) Interrupt Enable Clear */
+  __IO MCLK_INTENSET_Type             INTENSET;       /**< Offset: 0x02 (R/W   8) Interrupt Enable Set */
+  __IO MCLK_INTFLAG_Type              INTFLAG;        /**< Offset: 0x03 (R/W   8) Interrupt Flag Status and Clear */
+  __IO MCLK_CPUDIV_Type               CPUDIV;         /**< Offset: 0x04 (R/W   8) CPU Clock Division */
+  __I  uint8_t                        Reserved1[11];
+  __IO MCLK_AHBMASK_Type              AHBMASK;        /**< Offset: 0x10 (R/W  32) AHB Mask */
+  __IO MCLK_APBAMASK_Type             APBAMASK;       /**< Offset: 0x14 (R/W  32) APBA Mask */
+  __IO MCLK_APBBMASK_Type             APBBMASK;       /**< Offset: 0x18 (R/W  32) APBB Mask */
+  __IO MCLK_APBCMASK_Type             APBCMASK;       /**< Offset: 0x1C (R/W  32) APBC Mask */
+} Mclk;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Main Clock */
+
+#endif /* _SAML11_MCLK_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/nvmctrl.h b/cpu/sam0_common/include/vendor/saml11/include/component/nvmctrl.h
new file mode 100644
index 0000000000..c14c60ad5b
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/nvmctrl.h
@@ -0,0 +1,1051 @@
+/**
+ * \file
+ *
+ * \brief Component description for NVMCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_NVMCTRL_COMPONENT_H_
+#define _SAML11_NVMCTRL_COMPONENT_H_
+#define _SAML11_NVMCTRL_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Non-Volatile Memory Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR NVMCTRL */
+/* ========================================================================== */
+
+#define NVMCTRL_U2802                      /**< (NVMCTRL) Module ID */
+#define REV_NVMCTRL 0x100                  /**< (NVMCTRL) Module revision */
+
+/* -------- NVMCTRL_CTRLA : (NVMCTRL Offset: 0x00) (/W 16) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t CMD:7;                     /**< bit:   0..6  Command                                  */
+    uint16_t :1;                        /**< bit:      7  Reserved */
+    uint16_t CMDEX:8;                   /**< bit:  8..15  Command Execution                        */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} NVMCTRL_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_CTRLA_OFFSET                (0x00)                                        /**<  (NVMCTRL_CTRLA) Control A  Offset */
+#define NVMCTRL_CTRLA_RESETVALUE            _U_(0x00)                                     /**<  (NVMCTRL_CTRLA) Control A  Reset Value */
+
+#define NVMCTRL_CTRLA_CMD_Pos               0                                              /**< (NVMCTRL_CTRLA) Command Position */
+#define NVMCTRL_CTRLA_CMD_Msk               (_U_(0x7F) << NVMCTRL_CTRLA_CMD_Pos)           /**< (NVMCTRL_CTRLA) Command Mask */
+#define NVMCTRL_CTRLA_CMD(value)            (NVMCTRL_CTRLA_CMD_Msk & ((value) << NVMCTRL_CTRLA_CMD_Pos))
+#define   NVMCTRL_CTRLA_CMD_ER_Val          _U_(0x2)                                       /**< (NVMCTRL_CTRLA) Erase Row - Erases the row addressed by the ADDR register.  */
+#define   NVMCTRL_CTRLA_CMD_WP_Val          _U_(0x4)                                       /**< (NVMCTRL_CTRLA) Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register.  */
+#define   NVMCTRL_CTRLA_CMD_SPRM_Val        _U_(0x42)                                      /**< (NVMCTRL_CTRLA) Sets the power reduction mode.  */
+#define   NVMCTRL_CTRLA_CMD_CPRM_Val        _U_(0x43)                                      /**< (NVMCTRL_CTRLA) Clears the power reduction mode.  */
+#define   NVMCTRL_CTRLA_CMD_PBC_Val         _U_(0x44)                                      /**< (NVMCTRL_CTRLA) Page Buffer Clear - Clears the page buffer.  */
+#define   NVMCTRL_CTRLA_CMD_INVALL_Val      _U_(0x46)                                      /**< (NVMCTRL_CTRLA) Invalidate all cache lines.  */
+#define   NVMCTRL_CTRLA_CMD_SDAL0_Val       _U_(0x4B)                                      /**< (NVMCTRL_CTRLA) Set DAL=0  */
+#define   NVMCTRL_CTRLA_CMD_SDAL1_Val       _U_(0x4C)                                      /**< (NVMCTRL_CTRLA) Set DAL=1  */
+#define NVMCTRL_CTRLA_CMD_ER                (NVMCTRL_CTRLA_CMD_ER_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Erase Row - Erases the row addressed by the ADDR register. Position  */
+#define NVMCTRL_CTRLA_CMD_WP                (NVMCTRL_CTRLA_CMD_WP_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register. Position  */
+#define NVMCTRL_CTRLA_CMD_SPRM              (NVMCTRL_CTRLA_CMD_SPRM_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Sets the power reduction mode. Position  */
+#define NVMCTRL_CTRLA_CMD_CPRM              (NVMCTRL_CTRLA_CMD_CPRM_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Clears the power reduction mode. Position  */
+#define NVMCTRL_CTRLA_CMD_PBC               (NVMCTRL_CTRLA_CMD_PBC_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Page Buffer Clear - Clears the page buffer. Position  */
+#define NVMCTRL_CTRLA_CMD_INVALL            (NVMCTRL_CTRLA_CMD_INVALL_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Invalidate all cache lines. Position  */
+#define NVMCTRL_CTRLA_CMD_SDAL0             (NVMCTRL_CTRLA_CMD_SDAL0_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Set DAL=0 Position  */
+#define NVMCTRL_CTRLA_CMD_SDAL1             (NVMCTRL_CTRLA_CMD_SDAL1_Val << NVMCTRL_CTRLA_CMD_Pos)  /**< (NVMCTRL_CTRLA) Set DAL=1 Position  */
+#define NVMCTRL_CTRLA_CMDEX_Pos             8                                              /**< (NVMCTRL_CTRLA) Command Execution Position */
+#define NVMCTRL_CTRLA_CMDEX_Msk             (_U_(0xFF) << NVMCTRL_CTRLA_CMDEX_Pos)         /**< (NVMCTRL_CTRLA) Command Execution Mask */
+#define NVMCTRL_CTRLA_CMDEX(value)          (NVMCTRL_CTRLA_CMDEX_Msk & ((value) << NVMCTRL_CTRLA_CMDEX_Pos))
+#define   NVMCTRL_CTRLA_CMDEX_KEY_Val       _U_(0xA5)                                      /**< (NVMCTRL_CTRLA) Execution Key  */
+#define NVMCTRL_CTRLA_CMDEX_KEY             (NVMCTRL_CTRLA_CMDEX_KEY_Val << NVMCTRL_CTRLA_CMDEX_Pos)  /**< (NVMCTRL_CTRLA) Execution Key Position  */
+#define NVMCTRL_CTRLA_MASK                  _U_(0xFF7F)                                    /**< \deprecated (NVMCTRL_CTRLA) Register MASK  (Use NVMCTRL_CTRLA_Msk instead)  */
+#define NVMCTRL_CTRLA_Msk                   _U_(0xFF7F)                                    /**< (NVMCTRL_CTRLA) Register Mask  */
+
+
+/* -------- NVMCTRL_CTRLB : (NVMCTRL Offset: 0x04) (R/W 32) Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t RWS:4;                     /**< bit:   1..4  NVM Read Wait States                     */
+    uint32_t :3;                        /**< bit:   5..7  Reserved */
+    uint32_t SLEEPPRM:2;                /**< bit:   8..9  Power Reduction Mode during Sleep        */
+    uint32_t :1;                        /**< bit:     10  Reserved */
+    uint32_t FWUP:1;                    /**< bit:     11  fast wake-up                             */
+    uint32_t :4;                        /**< bit: 12..15  Reserved */
+    uint32_t READMODE:2;                /**< bit: 16..17  NVMCTRL Read Mode                        */
+    uint32_t CACHEDIS:1;                /**< bit:     18  Cache Disable                            */
+    uint32_t QWEN:1;                    /**< bit:     19  Quick Write Enable                       */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_CTRLB_OFFSET                (0x04)                                        /**<  (NVMCTRL_CTRLB) Control B  Offset */
+#define NVMCTRL_CTRLB_RESETVALUE            _U_(0x00)                                     /**<  (NVMCTRL_CTRLB) Control B  Reset Value */
+
+#define NVMCTRL_CTRLB_RWS_Pos               1                                              /**< (NVMCTRL_CTRLB) NVM Read Wait States Position */
+#define NVMCTRL_CTRLB_RWS_Msk               (_U_(0xF) << NVMCTRL_CTRLB_RWS_Pos)            /**< (NVMCTRL_CTRLB) NVM Read Wait States Mask */
+#define NVMCTRL_CTRLB_RWS(value)            (NVMCTRL_CTRLB_RWS_Msk & ((value) << NVMCTRL_CTRLB_RWS_Pos))
+#define NVMCTRL_CTRLB_SLEEPPRM_Pos          8                                              /**< (NVMCTRL_CTRLB) Power Reduction Mode during Sleep Position */
+#define NVMCTRL_CTRLB_SLEEPPRM_Msk          (_U_(0x3) << NVMCTRL_CTRLB_SLEEPPRM_Pos)       /**< (NVMCTRL_CTRLB) Power Reduction Mode during Sleep Mask */
+#define NVMCTRL_CTRLB_SLEEPPRM(value)       (NVMCTRL_CTRLB_SLEEPPRM_Msk & ((value) << NVMCTRL_CTRLB_SLEEPPRM_Pos))
+#define   NVMCTRL_CTRLB_SLEEPPRM_WAKEONACCESS_Val _U_(0x0)                                       /**< (NVMCTRL_CTRLB) NVM block enters low-power mode when entering sleep.NVM block exits low-power mode upon first access.  */
+#define   NVMCTRL_CTRLB_SLEEPPRM_WAKEUPINSTANT_Val _U_(0x1)                                       /**< (NVMCTRL_CTRLB) NVM block enters low-power mode when entering sleep.NVM block exits low-power mode when exiting sleep.  */
+#define   NVMCTRL_CTRLB_SLEEPPRM_DISABLED_Val _U_(0x3)                                       /**< (NVMCTRL_CTRLB) Auto power reduction disabled.  */
+#define NVMCTRL_CTRLB_SLEEPPRM_WAKEONACCESS (NVMCTRL_CTRLB_SLEEPPRM_WAKEONACCESS_Val << NVMCTRL_CTRLB_SLEEPPRM_Pos)  /**< (NVMCTRL_CTRLB) NVM block enters low-power mode when entering sleep.NVM block exits low-power mode upon first access. Position  */
+#define NVMCTRL_CTRLB_SLEEPPRM_WAKEUPINSTANT (NVMCTRL_CTRLB_SLEEPPRM_WAKEUPINSTANT_Val << NVMCTRL_CTRLB_SLEEPPRM_Pos)  /**< (NVMCTRL_CTRLB) NVM block enters low-power mode when entering sleep.NVM block exits low-power mode when exiting sleep. Position  */
+#define NVMCTRL_CTRLB_SLEEPPRM_DISABLED     (NVMCTRL_CTRLB_SLEEPPRM_DISABLED_Val << NVMCTRL_CTRLB_SLEEPPRM_Pos)  /**< (NVMCTRL_CTRLB) Auto power reduction disabled. Position  */
+#define NVMCTRL_CTRLB_FWUP_Pos              11                                             /**< (NVMCTRL_CTRLB) fast wake-up Position */
+#define NVMCTRL_CTRLB_FWUP_Msk              (_U_(0x1) << NVMCTRL_CTRLB_FWUP_Pos)           /**< (NVMCTRL_CTRLB) fast wake-up Mask */
+#define NVMCTRL_CTRLB_FWUP                  NVMCTRL_CTRLB_FWUP_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_CTRLB_FWUP_Msk instead */
+#define NVMCTRL_CTRLB_READMODE_Pos          16                                             /**< (NVMCTRL_CTRLB) NVMCTRL Read Mode Position */
+#define NVMCTRL_CTRLB_READMODE_Msk          (_U_(0x3) << NVMCTRL_CTRLB_READMODE_Pos)       /**< (NVMCTRL_CTRLB) NVMCTRL Read Mode Mask */
+#define NVMCTRL_CTRLB_READMODE(value)       (NVMCTRL_CTRLB_READMODE_Msk & ((value) << NVMCTRL_CTRLB_READMODE_Pos))
+#define   NVMCTRL_CTRLB_READMODE_NO_MISS_PENALTY_Val _U_(0x0)                                       /**< (NVMCTRL_CTRLB) The NVM Controller (cache system) does not insert wait states on a cache miss. Gives the best system performance.  */
+#define   NVMCTRL_CTRLB_READMODE_LOW_POWER_Val _U_(0x1)                                       /**< (NVMCTRL_CTRLB) Reduces power consumption of the cache system, but inserts a wait state each time there is a cache miss. This mode may not be relevant if CPU performance is required, as the application will be stalled and may lead to increase run time.  */
+#define   NVMCTRL_CTRLB_READMODE_DETERMINISTIC_Val _U_(0x2)                                       /**< (NVMCTRL_CTRLB) The cache system ensures that a cache hit or miss takes the same amount of time, determined by the number of programmed flash wait states. This mode can be used for real-time applications that require deterministic execution timings.  */
+#define NVMCTRL_CTRLB_READMODE_NO_MISS_PENALTY (NVMCTRL_CTRLB_READMODE_NO_MISS_PENALTY_Val << NVMCTRL_CTRLB_READMODE_Pos)  /**< (NVMCTRL_CTRLB) The NVM Controller (cache system) does not insert wait states on a cache miss. Gives the best system performance. Position  */
+#define NVMCTRL_CTRLB_READMODE_LOW_POWER    (NVMCTRL_CTRLB_READMODE_LOW_POWER_Val << NVMCTRL_CTRLB_READMODE_Pos)  /**< (NVMCTRL_CTRLB) Reduces power consumption of the cache system, but inserts a wait state each time there is a cache miss. This mode may not be relevant if CPU performance is required, as the application will be stalled and may lead to increase run time. Position  */
+#define NVMCTRL_CTRLB_READMODE_DETERMINISTIC (NVMCTRL_CTRLB_READMODE_DETERMINISTIC_Val << NVMCTRL_CTRLB_READMODE_Pos)  /**< (NVMCTRL_CTRLB) The cache system ensures that a cache hit or miss takes the same amount of time, determined by the number of programmed flash wait states. This mode can be used for real-time applications that require deterministic execution timings. Position  */
+#define NVMCTRL_CTRLB_CACHEDIS_Pos          18                                             /**< (NVMCTRL_CTRLB) Cache Disable Position */
+#define NVMCTRL_CTRLB_CACHEDIS_Msk          (_U_(0x1) << NVMCTRL_CTRLB_CACHEDIS_Pos)       /**< (NVMCTRL_CTRLB) Cache Disable Mask */
+#define NVMCTRL_CTRLB_CACHEDIS              NVMCTRL_CTRLB_CACHEDIS_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_CTRLB_CACHEDIS_Msk instead */
+#define NVMCTRL_CTRLB_QWEN_Pos              19                                             /**< (NVMCTRL_CTRLB) Quick Write Enable Position */
+#define NVMCTRL_CTRLB_QWEN_Msk              (_U_(0x1) << NVMCTRL_CTRLB_QWEN_Pos)           /**< (NVMCTRL_CTRLB) Quick Write Enable Mask */
+#define NVMCTRL_CTRLB_QWEN                  NVMCTRL_CTRLB_QWEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_CTRLB_QWEN_Msk instead */
+#define NVMCTRL_CTRLB_MASK                  _U_(0xF0B1E)                                   /**< \deprecated (NVMCTRL_CTRLB) Register MASK  (Use NVMCTRL_CTRLB_Msk instead)  */
+#define NVMCTRL_CTRLB_Msk                   _U_(0xF0B1E)                                   /**< (NVMCTRL_CTRLB) Register Mask  */
+
+
+/* -------- NVMCTRL_CTRLC : (NVMCTRL Offset: 0x08) (R/W 8) Control C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  MANW:1;                    /**< bit:      0  Manual Write                             */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} NVMCTRL_CTRLC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_CTRLC_OFFSET                (0x08)                                        /**<  (NVMCTRL_CTRLC) Control C  Offset */
+#define NVMCTRL_CTRLC_RESETVALUE            _U_(0x01)                                     /**<  (NVMCTRL_CTRLC) Control C  Reset Value */
+
+#define NVMCTRL_CTRLC_MANW_Pos              0                                              /**< (NVMCTRL_CTRLC) Manual Write Position */
+#define NVMCTRL_CTRLC_MANW_Msk              (_U_(0x1) << NVMCTRL_CTRLC_MANW_Pos)           /**< (NVMCTRL_CTRLC) Manual Write Mask */
+#define NVMCTRL_CTRLC_MANW                  NVMCTRL_CTRLC_MANW_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_CTRLC_MANW_Msk instead */
+#define NVMCTRL_CTRLC_MASK                  _U_(0x01)                                      /**< \deprecated (NVMCTRL_CTRLC) Register MASK  (Use NVMCTRL_CTRLC_Msk instead)  */
+#define NVMCTRL_CTRLC_Msk                   _U_(0x01)                                      /**< (NVMCTRL_CTRLC) Register Mask  */
+
+
+/* -------- NVMCTRL_EVCTRL : (NVMCTRL Offset: 0x0a) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  AUTOWEI:1;                 /**< bit:      0  Auto Write Event Enable                  */
+    uint8_t  AUTOWINV:1;                /**< bit:      1  Auto Write Event Polarity Inverted       */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} NVMCTRL_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_EVCTRL_OFFSET               (0x0A)                                        /**<  (NVMCTRL_EVCTRL) Event Control  Offset */
+#define NVMCTRL_EVCTRL_RESETVALUE           _U_(0x00)                                     /**<  (NVMCTRL_EVCTRL) Event Control  Reset Value */
+
+#define NVMCTRL_EVCTRL_AUTOWEI_Pos          0                                              /**< (NVMCTRL_EVCTRL) Auto Write Event Enable Position */
+#define NVMCTRL_EVCTRL_AUTOWEI_Msk          (_U_(0x1) << NVMCTRL_EVCTRL_AUTOWEI_Pos)       /**< (NVMCTRL_EVCTRL) Auto Write Event Enable Mask */
+#define NVMCTRL_EVCTRL_AUTOWEI              NVMCTRL_EVCTRL_AUTOWEI_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_EVCTRL_AUTOWEI_Msk instead */
+#define NVMCTRL_EVCTRL_AUTOWINV_Pos         1                                              /**< (NVMCTRL_EVCTRL) Auto Write Event Polarity Inverted Position */
+#define NVMCTRL_EVCTRL_AUTOWINV_Msk         (_U_(0x1) << NVMCTRL_EVCTRL_AUTOWINV_Pos)      /**< (NVMCTRL_EVCTRL) Auto Write Event Polarity Inverted Mask */
+#define NVMCTRL_EVCTRL_AUTOWINV             NVMCTRL_EVCTRL_AUTOWINV_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_EVCTRL_AUTOWINV_Msk instead */
+#define NVMCTRL_EVCTRL_MASK                 _U_(0x03)                                      /**< \deprecated (NVMCTRL_EVCTRL) Register MASK  (Use NVMCTRL_EVCTRL_Msk instead)  */
+#define NVMCTRL_EVCTRL_Msk                  _U_(0x03)                                      /**< (NVMCTRL_EVCTRL) Register Mask  */
+
+
+/* -------- NVMCTRL_INTENCLR : (NVMCTRL Offset: 0x0c) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DONE:1;                    /**< bit:      0  NVM Done Interrupt Clear                 */
+    uint8_t  PROGE:1;                   /**< bit:      1  Programming Error Status Interrupt Clear */
+    uint8_t  LOCKE:1;                   /**< bit:      2  Lock Error Status Interrupt Clear        */
+    uint8_t  NVME:1;                    /**< bit:      3  NVM Error Interrupt Clear                */
+    uint8_t  KEYE:1;                    /**< bit:      4  Key Write Error Interrupt Clear          */
+    uint8_t  NSCHK:1;                   /**< bit:      5  NS configuration change detected Interrupt Clear */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} NVMCTRL_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_INTENCLR_OFFSET             (0x0C)                                        /**<  (NVMCTRL_INTENCLR) Interrupt Enable Clear  Offset */
+#define NVMCTRL_INTENCLR_RESETVALUE         _U_(0x00)                                     /**<  (NVMCTRL_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define NVMCTRL_INTENCLR_DONE_Pos           0                                              /**< (NVMCTRL_INTENCLR) NVM Done Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_DONE_Msk           (_U_(0x1) << NVMCTRL_INTENCLR_DONE_Pos)        /**< (NVMCTRL_INTENCLR) NVM Done Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_DONE               NVMCTRL_INTENCLR_DONE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_DONE_Msk instead */
+#define NVMCTRL_INTENCLR_PROGE_Pos          1                                              /**< (NVMCTRL_INTENCLR) Programming Error Status Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_PROGE_Msk          (_U_(0x1) << NVMCTRL_INTENCLR_PROGE_Pos)       /**< (NVMCTRL_INTENCLR) Programming Error Status Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_PROGE              NVMCTRL_INTENCLR_PROGE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_PROGE_Msk instead */
+#define NVMCTRL_INTENCLR_LOCKE_Pos          2                                              /**< (NVMCTRL_INTENCLR) Lock Error Status Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_LOCKE_Msk          (_U_(0x1) << NVMCTRL_INTENCLR_LOCKE_Pos)       /**< (NVMCTRL_INTENCLR) Lock Error Status Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_LOCKE              NVMCTRL_INTENCLR_LOCKE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_LOCKE_Msk instead */
+#define NVMCTRL_INTENCLR_NVME_Pos           3                                              /**< (NVMCTRL_INTENCLR) NVM Error Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_NVME_Msk           (_U_(0x1) << NVMCTRL_INTENCLR_NVME_Pos)        /**< (NVMCTRL_INTENCLR) NVM Error Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_NVME               NVMCTRL_INTENCLR_NVME_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_NVME_Msk instead */
+#define NVMCTRL_INTENCLR_KEYE_Pos           4                                              /**< (NVMCTRL_INTENCLR) Key Write Error Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_KEYE_Msk           (_U_(0x1) << NVMCTRL_INTENCLR_KEYE_Pos)        /**< (NVMCTRL_INTENCLR) Key Write Error Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_KEYE               NVMCTRL_INTENCLR_KEYE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_KEYE_Msk instead */
+#define NVMCTRL_INTENCLR_NSCHK_Pos          5                                              /**< (NVMCTRL_INTENCLR) NS configuration change detected Interrupt Clear Position */
+#define NVMCTRL_INTENCLR_NSCHK_Msk          (_U_(0x1) << NVMCTRL_INTENCLR_NSCHK_Pos)       /**< (NVMCTRL_INTENCLR) NS configuration change detected Interrupt Clear Mask */
+#define NVMCTRL_INTENCLR_NSCHK              NVMCTRL_INTENCLR_NSCHK_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENCLR_NSCHK_Msk instead */
+#define NVMCTRL_INTENCLR_MASK               _U_(0x3F)                                      /**< \deprecated (NVMCTRL_INTENCLR) Register MASK  (Use NVMCTRL_INTENCLR_Msk instead)  */
+#define NVMCTRL_INTENCLR_Msk                _U_(0x3F)                                      /**< (NVMCTRL_INTENCLR) Register Mask  */
+
+
+/* -------- NVMCTRL_INTENSET : (NVMCTRL Offset: 0x10) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DONE:1;                    /**< bit:      0  NVM Done Interrupt Enable                */
+    uint8_t  PROGE:1;                   /**< bit:      1  Programming Error Status Interrupt Enable */
+    uint8_t  LOCKE:1;                   /**< bit:      2  Lock Error Status Interrupt Enable       */
+    uint8_t  NVME:1;                    /**< bit:      3  NVM Error Interrupt Enable               */
+    uint8_t  KEYE:1;                    /**< bit:      4  Key Write Error Interrupt Enable         */
+    uint8_t  NSCHK:1;                   /**< bit:      5  NS configuration change detected Interrupt Enable */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} NVMCTRL_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_INTENSET_OFFSET             (0x10)                                        /**<  (NVMCTRL_INTENSET) Interrupt Enable Set  Offset */
+#define NVMCTRL_INTENSET_RESETVALUE         _U_(0x00)                                     /**<  (NVMCTRL_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define NVMCTRL_INTENSET_DONE_Pos           0                                              /**< (NVMCTRL_INTENSET) NVM Done Interrupt Enable Position */
+#define NVMCTRL_INTENSET_DONE_Msk           (_U_(0x1) << NVMCTRL_INTENSET_DONE_Pos)        /**< (NVMCTRL_INTENSET) NVM Done Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_DONE               NVMCTRL_INTENSET_DONE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_DONE_Msk instead */
+#define NVMCTRL_INTENSET_PROGE_Pos          1                                              /**< (NVMCTRL_INTENSET) Programming Error Status Interrupt Enable Position */
+#define NVMCTRL_INTENSET_PROGE_Msk          (_U_(0x1) << NVMCTRL_INTENSET_PROGE_Pos)       /**< (NVMCTRL_INTENSET) Programming Error Status Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_PROGE              NVMCTRL_INTENSET_PROGE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_PROGE_Msk instead */
+#define NVMCTRL_INTENSET_LOCKE_Pos          2                                              /**< (NVMCTRL_INTENSET) Lock Error Status Interrupt Enable Position */
+#define NVMCTRL_INTENSET_LOCKE_Msk          (_U_(0x1) << NVMCTRL_INTENSET_LOCKE_Pos)       /**< (NVMCTRL_INTENSET) Lock Error Status Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_LOCKE              NVMCTRL_INTENSET_LOCKE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_LOCKE_Msk instead */
+#define NVMCTRL_INTENSET_NVME_Pos           3                                              /**< (NVMCTRL_INTENSET) NVM Error Interrupt Enable Position */
+#define NVMCTRL_INTENSET_NVME_Msk           (_U_(0x1) << NVMCTRL_INTENSET_NVME_Pos)        /**< (NVMCTRL_INTENSET) NVM Error Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_NVME               NVMCTRL_INTENSET_NVME_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_NVME_Msk instead */
+#define NVMCTRL_INTENSET_KEYE_Pos           4                                              /**< (NVMCTRL_INTENSET) Key Write Error Interrupt Enable Position */
+#define NVMCTRL_INTENSET_KEYE_Msk           (_U_(0x1) << NVMCTRL_INTENSET_KEYE_Pos)        /**< (NVMCTRL_INTENSET) Key Write Error Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_KEYE               NVMCTRL_INTENSET_KEYE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_KEYE_Msk instead */
+#define NVMCTRL_INTENSET_NSCHK_Pos          5                                              /**< (NVMCTRL_INTENSET) NS configuration change detected Interrupt Enable Position */
+#define NVMCTRL_INTENSET_NSCHK_Msk          (_U_(0x1) << NVMCTRL_INTENSET_NSCHK_Pos)       /**< (NVMCTRL_INTENSET) NS configuration change detected Interrupt Enable Mask */
+#define NVMCTRL_INTENSET_NSCHK              NVMCTRL_INTENSET_NSCHK_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTENSET_NSCHK_Msk instead */
+#define NVMCTRL_INTENSET_MASK               _U_(0x3F)                                      /**< \deprecated (NVMCTRL_INTENSET) Register MASK  (Use NVMCTRL_INTENSET_Msk instead)  */
+#define NVMCTRL_INTENSET_Msk                _U_(0x3F)                                      /**< (NVMCTRL_INTENSET) Register Mask  */
+
+
+/* -------- NVMCTRL_INTFLAG : (NVMCTRL Offset: 0x14) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t DONE:1;                    /**< bit:      0  NVM Done                                 */
+    __I uint8_t PROGE:1;                   /**< bit:      1  Programming Error Status                 */
+    __I uint8_t LOCKE:1;                   /**< bit:      2  Lock Error Status                        */
+    __I uint8_t NVME:1;                    /**< bit:      3  NVM Error                                */
+    __I uint8_t KEYE:1;                    /**< bit:      4  KEY Write Error                          */
+    __I uint8_t NSCHK:1;                   /**< bit:      5  NS configuration change detected         */
+    __I uint8_t :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} NVMCTRL_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_INTFLAG_OFFSET              (0x14)                                        /**<  (NVMCTRL_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define NVMCTRL_INTFLAG_RESETVALUE          _U_(0x00)                                     /**<  (NVMCTRL_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define NVMCTRL_INTFLAG_DONE_Pos            0                                              /**< (NVMCTRL_INTFLAG) NVM Done Position */
+#define NVMCTRL_INTFLAG_DONE_Msk            (_U_(0x1) << NVMCTRL_INTFLAG_DONE_Pos)         /**< (NVMCTRL_INTFLAG) NVM Done Mask */
+#define NVMCTRL_INTFLAG_DONE                NVMCTRL_INTFLAG_DONE_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_DONE_Msk instead */
+#define NVMCTRL_INTFLAG_PROGE_Pos           1                                              /**< (NVMCTRL_INTFLAG) Programming Error Status Position */
+#define NVMCTRL_INTFLAG_PROGE_Msk           (_U_(0x1) << NVMCTRL_INTFLAG_PROGE_Pos)        /**< (NVMCTRL_INTFLAG) Programming Error Status Mask */
+#define NVMCTRL_INTFLAG_PROGE               NVMCTRL_INTFLAG_PROGE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_PROGE_Msk instead */
+#define NVMCTRL_INTFLAG_LOCKE_Pos           2                                              /**< (NVMCTRL_INTFLAG) Lock Error Status Position */
+#define NVMCTRL_INTFLAG_LOCKE_Msk           (_U_(0x1) << NVMCTRL_INTFLAG_LOCKE_Pos)        /**< (NVMCTRL_INTFLAG) Lock Error Status Mask */
+#define NVMCTRL_INTFLAG_LOCKE               NVMCTRL_INTFLAG_LOCKE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_LOCKE_Msk instead */
+#define NVMCTRL_INTFLAG_NVME_Pos            3                                              /**< (NVMCTRL_INTFLAG) NVM Error Position */
+#define NVMCTRL_INTFLAG_NVME_Msk            (_U_(0x1) << NVMCTRL_INTFLAG_NVME_Pos)         /**< (NVMCTRL_INTFLAG) NVM Error Mask */
+#define NVMCTRL_INTFLAG_NVME                NVMCTRL_INTFLAG_NVME_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_NVME_Msk instead */
+#define NVMCTRL_INTFLAG_KEYE_Pos            4                                              /**< (NVMCTRL_INTFLAG) KEY Write Error Position */
+#define NVMCTRL_INTFLAG_KEYE_Msk            (_U_(0x1) << NVMCTRL_INTFLAG_KEYE_Pos)         /**< (NVMCTRL_INTFLAG) KEY Write Error Mask */
+#define NVMCTRL_INTFLAG_KEYE                NVMCTRL_INTFLAG_KEYE_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_KEYE_Msk instead */
+#define NVMCTRL_INTFLAG_NSCHK_Pos           5                                              /**< (NVMCTRL_INTFLAG) NS configuration change detected Position */
+#define NVMCTRL_INTFLAG_NSCHK_Msk           (_U_(0x1) << NVMCTRL_INTFLAG_NSCHK_Pos)        /**< (NVMCTRL_INTFLAG) NS configuration change detected Mask */
+#define NVMCTRL_INTFLAG_NSCHK               NVMCTRL_INTFLAG_NSCHK_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_INTFLAG_NSCHK_Msk instead */
+#define NVMCTRL_INTFLAG_MASK                _U_(0x3F)                                      /**< \deprecated (NVMCTRL_INTFLAG) Register MASK  (Use NVMCTRL_INTFLAG_Msk instead)  */
+#define NVMCTRL_INTFLAG_Msk                 _U_(0x3F)                                      /**< (NVMCTRL_INTFLAG) Register Mask  */
+
+
+/* -------- NVMCTRL_STATUS : (NVMCTRL Offset: 0x18) (R/ 16) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PRM:1;                     /**< bit:      0  Power Reduction Mode                     */
+    uint16_t LOAD:1;                    /**< bit:      1  NVM Page Buffer Active Loading           */
+    uint16_t READY:1;                   /**< bit:      2  NVM Ready                                */
+    uint16_t DALFUSE:2;                 /**< bit:   3..4  Debug Access Level Fuse                  */
+    uint16_t :11;                       /**< bit:  5..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} NVMCTRL_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_STATUS_OFFSET               (0x18)                                        /**<  (NVMCTRL_STATUS) Status  Offset */
+#define NVMCTRL_STATUS_RESETVALUE           _U_(0x00)                                     /**<  (NVMCTRL_STATUS) Status  Reset Value */
+
+#define NVMCTRL_STATUS_PRM_Pos              0                                              /**< (NVMCTRL_STATUS) Power Reduction Mode Position */
+#define NVMCTRL_STATUS_PRM_Msk              (_U_(0x1) << NVMCTRL_STATUS_PRM_Pos)           /**< (NVMCTRL_STATUS) Power Reduction Mode Mask */
+#define NVMCTRL_STATUS_PRM                  NVMCTRL_STATUS_PRM_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_STATUS_PRM_Msk instead */
+#define NVMCTRL_STATUS_LOAD_Pos             1                                              /**< (NVMCTRL_STATUS) NVM Page Buffer Active Loading Position */
+#define NVMCTRL_STATUS_LOAD_Msk             (_U_(0x1) << NVMCTRL_STATUS_LOAD_Pos)          /**< (NVMCTRL_STATUS) NVM Page Buffer Active Loading Mask */
+#define NVMCTRL_STATUS_LOAD                 NVMCTRL_STATUS_LOAD_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_STATUS_LOAD_Msk instead */
+#define NVMCTRL_STATUS_READY_Pos            2                                              /**< (NVMCTRL_STATUS) NVM Ready Position */
+#define NVMCTRL_STATUS_READY_Msk            (_U_(0x1) << NVMCTRL_STATUS_READY_Pos)         /**< (NVMCTRL_STATUS) NVM Ready Mask */
+#define NVMCTRL_STATUS_READY                NVMCTRL_STATUS_READY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_STATUS_READY_Msk instead */
+#define NVMCTRL_STATUS_DALFUSE_Pos          3                                              /**< (NVMCTRL_STATUS) Debug Access Level Fuse Position */
+#define NVMCTRL_STATUS_DALFUSE_Msk          (_U_(0x3) << NVMCTRL_STATUS_DALFUSE_Pos)       /**< (NVMCTRL_STATUS) Debug Access Level Fuse Mask */
+#define NVMCTRL_STATUS_DALFUSE(value)       (NVMCTRL_STATUS_DALFUSE_Msk & ((value) << NVMCTRL_STATUS_DALFUSE_Pos))
+#define NVMCTRL_STATUS_MASK                 _U_(0x1F)                                      /**< \deprecated (NVMCTRL_STATUS) Register MASK  (Use NVMCTRL_STATUS_Msk instead)  */
+#define NVMCTRL_STATUS_Msk                  _U_(0x1F)                                      /**< (NVMCTRL_STATUS) Register Mask  */
+
+
+/* -------- NVMCTRL_ADDR : (NVMCTRL Offset: 0x1c) (R/W 32) Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t AOFFSET:16;                /**< bit:  0..15  NVM Address Offset In The Selected Array */
+    uint32_t :6;                        /**< bit: 16..21  Reserved */
+    uint32_t ARRAY:2;                   /**< bit: 22..23  Array Select                             */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_ADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_ADDR_OFFSET                 (0x1C)                                        /**<  (NVMCTRL_ADDR) Address  Offset */
+#define NVMCTRL_ADDR_RESETVALUE             _U_(0x00)                                     /**<  (NVMCTRL_ADDR) Address  Reset Value */
+
+#define NVMCTRL_ADDR_AOFFSET_Pos            0                                              /**< (NVMCTRL_ADDR) NVM Address Offset In The Selected Array Position */
+#define NVMCTRL_ADDR_AOFFSET_Msk            (_U_(0xFFFF) << NVMCTRL_ADDR_AOFFSET_Pos)      /**< (NVMCTRL_ADDR) NVM Address Offset In The Selected Array Mask */
+#define NVMCTRL_ADDR_AOFFSET(value)         (NVMCTRL_ADDR_AOFFSET_Msk & ((value) << NVMCTRL_ADDR_AOFFSET_Pos))
+#define NVMCTRL_ADDR_ARRAY_Pos              22                                             /**< (NVMCTRL_ADDR) Array Select Position */
+#define NVMCTRL_ADDR_ARRAY_Msk              (_U_(0x3) << NVMCTRL_ADDR_ARRAY_Pos)           /**< (NVMCTRL_ADDR) Array Select Mask */
+#define NVMCTRL_ADDR_ARRAY(value)           (NVMCTRL_ADDR_ARRAY_Msk & ((value) << NVMCTRL_ADDR_ARRAY_Pos))
+#define   NVMCTRL_ADDR_ARRAY_FLASH_Val      _U_(0x0)                                       /**< (NVMCTRL_ADDR) FLASH Array  */
+#define   NVMCTRL_ADDR_ARRAY_DATAFLASH_Val  _U_(0x1)                                       /**< (NVMCTRL_ADDR) DATA FLASH Array  */
+#define   NVMCTRL_ADDR_ARRAY_AUX_Val        _U_(0x2)                                       /**< (NVMCTRL_ADDR) Auxilliary Space  */
+#define   NVMCTRL_ADDR_ARRAY_RESERVED_Val   _U_(0x3)                                       /**< (NVMCTRL_ADDR) Reserved Array  */
+#define NVMCTRL_ADDR_ARRAY_FLASH            (NVMCTRL_ADDR_ARRAY_FLASH_Val << NVMCTRL_ADDR_ARRAY_Pos)  /**< (NVMCTRL_ADDR) FLASH Array Position  */
+#define NVMCTRL_ADDR_ARRAY_DATAFLASH        (NVMCTRL_ADDR_ARRAY_DATAFLASH_Val << NVMCTRL_ADDR_ARRAY_Pos)  /**< (NVMCTRL_ADDR) DATA FLASH Array Position  */
+#define NVMCTRL_ADDR_ARRAY_AUX              (NVMCTRL_ADDR_ARRAY_AUX_Val << NVMCTRL_ADDR_ARRAY_Pos)  /**< (NVMCTRL_ADDR) Auxilliary Space Position  */
+#define NVMCTRL_ADDR_ARRAY_RESERVED         (NVMCTRL_ADDR_ARRAY_RESERVED_Val << NVMCTRL_ADDR_ARRAY_Pos)  /**< (NVMCTRL_ADDR) Reserved Array Position  */
+#define NVMCTRL_ADDR_MASK                   _U_(0xC0FFFF)                                  /**< \deprecated (NVMCTRL_ADDR) Register MASK  (Use NVMCTRL_ADDR_Msk instead)  */
+#define NVMCTRL_ADDR_Msk                    _U_(0xC0FFFF)                                  /**< (NVMCTRL_ADDR) Register Mask  */
+
+
+/* -------- NVMCTRL_SULCK : (NVMCTRL Offset: 0x20) (R/W 16) Secure Unlock Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BS:1;                      /**< bit:      0  Secure Boot Region                       */
+    uint16_t AS:1;                      /**< bit:      1  Secure Application Region                */
+    uint16_t DS:1;                      /**< bit:      2  Data Secure Region                       */
+    uint16_t :5;                        /**< bit:   3..7  Reserved */
+    uint16_t SLKEY:8;                   /**< bit:  8..15  Write Key                                */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} NVMCTRL_SULCK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_SULCK_OFFSET                (0x20)                                        /**<  (NVMCTRL_SULCK) Secure Unlock Register  Offset */
+
+#define NVMCTRL_SULCK_BS_Pos                0                                              /**< (NVMCTRL_SULCK) Secure Boot Region Position */
+#define NVMCTRL_SULCK_BS_Msk                (_U_(0x1) << NVMCTRL_SULCK_BS_Pos)             /**< (NVMCTRL_SULCK) Secure Boot Region Mask */
+#define NVMCTRL_SULCK_BS                    NVMCTRL_SULCK_BS_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SULCK_BS_Msk instead */
+#define NVMCTRL_SULCK_AS_Pos                1                                              /**< (NVMCTRL_SULCK) Secure Application Region Position */
+#define NVMCTRL_SULCK_AS_Msk                (_U_(0x1) << NVMCTRL_SULCK_AS_Pos)             /**< (NVMCTRL_SULCK) Secure Application Region Mask */
+#define NVMCTRL_SULCK_AS                    NVMCTRL_SULCK_AS_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SULCK_AS_Msk instead */
+#define NVMCTRL_SULCK_DS_Pos                2                                              /**< (NVMCTRL_SULCK) Data Secure Region Position */
+#define NVMCTRL_SULCK_DS_Msk                (_U_(0x1) << NVMCTRL_SULCK_DS_Pos)             /**< (NVMCTRL_SULCK) Data Secure Region Mask */
+#define NVMCTRL_SULCK_DS                    NVMCTRL_SULCK_DS_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SULCK_DS_Msk instead */
+#define NVMCTRL_SULCK_SLKEY_Pos             8                                              /**< (NVMCTRL_SULCK) Write Key Position */
+#define NVMCTRL_SULCK_SLKEY_Msk             (_U_(0xFF) << NVMCTRL_SULCK_SLKEY_Pos)         /**< (NVMCTRL_SULCK) Write Key Mask */
+#define NVMCTRL_SULCK_SLKEY(value)          (NVMCTRL_SULCK_SLKEY_Msk & ((value) << NVMCTRL_SULCK_SLKEY_Pos))
+#define   NVMCTRL_SULCK_SLKEY_KEY_Val       _U_(0xA5)                                      /**< (NVMCTRL_SULCK) Write Key  */
+#define NVMCTRL_SULCK_SLKEY_KEY             (NVMCTRL_SULCK_SLKEY_KEY_Val << NVMCTRL_SULCK_SLKEY_Pos)  /**< (NVMCTRL_SULCK) Write Key Position  */
+#define NVMCTRL_SULCK_MASK                  _U_(0xFF07)                                    /**< \deprecated (NVMCTRL_SULCK) Register MASK  (Use NVMCTRL_SULCK_Msk instead)  */
+#define NVMCTRL_SULCK_Msk                   _U_(0xFF07)                                    /**< (NVMCTRL_SULCK) Register Mask  */
+
+
+/* -------- NVMCTRL_NSULCK : (NVMCTRL Offset: 0x22) (R/W 16) Non-Secure Unlock Register -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BNS:1;                     /**< bit:      0  Non-Secure Boot Region                   */
+    uint16_t ANS:1;                     /**< bit:      1  Non-Secure Application Region            */
+    uint16_t DNS:1;                     /**< bit:      2  Non-Secure Data Region                   */
+    uint16_t :5;                        /**< bit:   3..7  Reserved */
+    uint16_t NSLKEY:8;                  /**< bit:  8..15  Write Key                                */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} NVMCTRL_NSULCK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_NSULCK_OFFSET               (0x22)                                        /**<  (NVMCTRL_NSULCK) Non-Secure Unlock Register  Offset */
+
+#define NVMCTRL_NSULCK_BNS_Pos              0                                              /**< (NVMCTRL_NSULCK) Non-Secure Boot Region Position */
+#define NVMCTRL_NSULCK_BNS_Msk              (_U_(0x1) << NVMCTRL_NSULCK_BNS_Pos)           /**< (NVMCTRL_NSULCK) Non-Secure Boot Region Mask */
+#define NVMCTRL_NSULCK_BNS                  NVMCTRL_NSULCK_BNS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_NSULCK_BNS_Msk instead */
+#define NVMCTRL_NSULCK_ANS_Pos              1                                              /**< (NVMCTRL_NSULCK) Non-Secure Application Region Position */
+#define NVMCTRL_NSULCK_ANS_Msk              (_U_(0x1) << NVMCTRL_NSULCK_ANS_Pos)           /**< (NVMCTRL_NSULCK) Non-Secure Application Region Mask */
+#define NVMCTRL_NSULCK_ANS                  NVMCTRL_NSULCK_ANS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_NSULCK_ANS_Msk instead */
+#define NVMCTRL_NSULCK_DNS_Pos              2                                              /**< (NVMCTRL_NSULCK) Non-Secure Data Region Position */
+#define NVMCTRL_NSULCK_DNS_Msk              (_U_(0x1) << NVMCTRL_NSULCK_DNS_Pos)           /**< (NVMCTRL_NSULCK) Non-Secure Data Region Mask */
+#define NVMCTRL_NSULCK_DNS                  NVMCTRL_NSULCK_DNS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_NSULCK_DNS_Msk instead */
+#define NVMCTRL_NSULCK_NSLKEY_Pos           8                                              /**< (NVMCTRL_NSULCK) Write Key Position */
+#define NVMCTRL_NSULCK_NSLKEY_Msk           (_U_(0xFF) << NVMCTRL_NSULCK_NSLKEY_Pos)       /**< (NVMCTRL_NSULCK) Write Key Mask */
+#define NVMCTRL_NSULCK_NSLKEY(value)        (NVMCTRL_NSULCK_NSLKEY_Msk & ((value) << NVMCTRL_NSULCK_NSLKEY_Pos))
+#define   NVMCTRL_NSULCK_NSLKEY_KEY_Val     _U_(0xA5)                                      /**< (NVMCTRL_NSULCK) Write Key  */
+#define NVMCTRL_NSULCK_NSLKEY_KEY           (NVMCTRL_NSULCK_NSLKEY_KEY_Val << NVMCTRL_NSULCK_NSLKEY_Pos)  /**< (NVMCTRL_NSULCK) Write Key Position  */
+#define NVMCTRL_NSULCK_MASK                 _U_(0xFF07)                                    /**< \deprecated (NVMCTRL_NSULCK) Register MASK  (Use NVMCTRL_NSULCK_Msk instead)  */
+#define NVMCTRL_NSULCK_Msk                  _U_(0xFF07)                                    /**< (NVMCTRL_NSULCK) Register Mask  */
+
+
+/* -------- NVMCTRL_PARAM : (NVMCTRL Offset: 0x24) (R/W 32) NVM Parameter -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t FLASHP:16;                 /**< bit:  0..15  FLASH Pages                              */
+    uint32_t PSZ:3;                     /**< bit: 16..18  Page Size                                */
+    uint32_t :1;                        /**< bit:     19  Reserved */
+    uint32_t DFLASHP:12;                /**< bit: 20..31  DATAFLASH Pages                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_PARAM_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_PARAM_OFFSET                (0x24)                                        /**<  (NVMCTRL_PARAM) NVM Parameter  Offset */
+#define NVMCTRL_PARAM_RESETVALUE            _U_(0x00)                                     /**<  (NVMCTRL_PARAM) NVM Parameter  Reset Value */
+
+#define NVMCTRL_PARAM_FLASHP_Pos            0                                              /**< (NVMCTRL_PARAM) FLASH Pages Position */
+#define NVMCTRL_PARAM_FLASHP_Msk            (_U_(0xFFFF) << NVMCTRL_PARAM_FLASHP_Pos)      /**< (NVMCTRL_PARAM) FLASH Pages Mask */
+#define NVMCTRL_PARAM_FLASHP(value)         (NVMCTRL_PARAM_FLASHP_Msk & ((value) << NVMCTRL_PARAM_FLASHP_Pos))
+#define NVMCTRL_PARAM_PSZ_Pos               16                                             /**< (NVMCTRL_PARAM) Page Size Position */
+#define NVMCTRL_PARAM_PSZ_Msk               (_U_(0x7) << NVMCTRL_PARAM_PSZ_Pos)            /**< (NVMCTRL_PARAM) Page Size Mask */
+#define NVMCTRL_PARAM_PSZ(value)            (NVMCTRL_PARAM_PSZ_Msk & ((value) << NVMCTRL_PARAM_PSZ_Pos))
+#define   NVMCTRL_PARAM_PSZ_8_Val           _U_(0x0)                                       /**< (NVMCTRL_PARAM) 8 bytes  */
+#define   NVMCTRL_PARAM_PSZ_16_Val          _U_(0x1)                                       /**< (NVMCTRL_PARAM) 16 bytes  */
+#define   NVMCTRL_PARAM_PSZ_32_Val          _U_(0x2)                                       /**< (NVMCTRL_PARAM) 32 bytes  */
+#define   NVMCTRL_PARAM_PSZ_64_Val          _U_(0x3)                                       /**< (NVMCTRL_PARAM) 64 bytes  */
+#define   NVMCTRL_PARAM_PSZ_128_Val         _U_(0x4)                                       /**< (NVMCTRL_PARAM) 128 bytes  */
+#define   NVMCTRL_PARAM_PSZ_256_Val         _U_(0x5)                                       /**< (NVMCTRL_PARAM) 256 bytes  */
+#define   NVMCTRL_PARAM_PSZ_512_Val         _U_(0x6)                                       /**< (NVMCTRL_PARAM) 512 bytes  */
+#define   NVMCTRL_PARAM_PSZ_1024_Val        _U_(0x7)                                       /**< (NVMCTRL_PARAM) 1024 bytes  */
+#define NVMCTRL_PARAM_PSZ_8                 (NVMCTRL_PARAM_PSZ_8_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 8 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_16                (NVMCTRL_PARAM_PSZ_16_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 16 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_32                (NVMCTRL_PARAM_PSZ_32_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 32 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_64                (NVMCTRL_PARAM_PSZ_64_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 64 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_128               (NVMCTRL_PARAM_PSZ_128_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 128 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_256               (NVMCTRL_PARAM_PSZ_256_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 256 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_512               (NVMCTRL_PARAM_PSZ_512_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 512 bytes Position  */
+#define NVMCTRL_PARAM_PSZ_1024              (NVMCTRL_PARAM_PSZ_1024_Val << NVMCTRL_PARAM_PSZ_Pos)  /**< (NVMCTRL_PARAM) 1024 bytes Position  */
+#define NVMCTRL_PARAM_DFLASHP_Pos           20                                             /**< (NVMCTRL_PARAM) DATAFLASH Pages Position */
+#define NVMCTRL_PARAM_DFLASHP_Msk           (_U_(0xFFF) << NVMCTRL_PARAM_DFLASHP_Pos)      /**< (NVMCTRL_PARAM) DATAFLASH Pages Mask */
+#define NVMCTRL_PARAM_DFLASHP(value)        (NVMCTRL_PARAM_DFLASHP_Msk & ((value) << NVMCTRL_PARAM_DFLASHP_Pos))
+#define NVMCTRL_PARAM_MASK                  _U_(0xFFF7FFFF)                                /**< \deprecated (NVMCTRL_PARAM) Register MASK  (Use NVMCTRL_PARAM_Msk instead)  */
+#define NVMCTRL_PARAM_Msk                   _U_(0xFFF7FFFF)                                /**< (NVMCTRL_PARAM) Register Mask  */
+
+
+/* -------- NVMCTRL_DSCC : (NVMCTRL Offset: 0x30) (/W 32) Data Scramble Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DSCKEY:30;                 /**< bit:  0..29  Data Scramble Key                        */
+    uint32_t :2;                        /**< bit: 30..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_DSCC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_DSCC_OFFSET                 (0x30)                                        /**<  (NVMCTRL_DSCC) Data Scramble Configuration  Offset */
+#define NVMCTRL_DSCC_RESETVALUE             _U_(0x00)                                     /**<  (NVMCTRL_DSCC) Data Scramble Configuration  Reset Value */
+
+#define NVMCTRL_DSCC_DSCKEY_Pos             0                                              /**< (NVMCTRL_DSCC) Data Scramble Key Position */
+#define NVMCTRL_DSCC_DSCKEY_Msk             (_U_(0x3FFFFFFF) << NVMCTRL_DSCC_DSCKEY_Pos)   /**< (NVMCTRL_DSCC) Data Scramble Key Mask */
+#define NVMCTRL_DSCC_DSCKEY(value)          (NVMCTRL_DSCC_DSCKEY_Msk & ((value) << NVMCTRL_DSCC_DSCKEY_Pos))
+#define NVMCTRL_DSCC_MASK                   _U_(0x3FFFFFFF)                                /**< \deprecated (NVMCTRL_DSCC) Register MASK  (Use NVMCTRL_DSCC_Msk instead)  */
+#define NVMCTRL_DSCC_Msk                    _U_(0x3FFFFFFF)                                /**< (NVMCTRL_DSCC) Register Mask  */
+
+
+/* -------- NVMCTRL_SECCTRL : (NVMCTRL Offset: 0x34) (R/W 32) Security Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t TAMPEEN:1;                 /**< bit:      0  Tamper Erase Enable                      */
+    uint32_t :1;                        /**< bit:      1  Reserved */
+    uint32_t SILACC:1;                  /**< bit:      2  Silent Access                            */
+    uint32_t DSCEN:1;                   /**< bit:      3  Data Scramble Enable                     */
+    uint32_t :2;                        /**< bit:   4..5  Reserved */
+    uint32_t DXN:1;                     /**< bit:      6  Data Flash is eXecute Never              */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t TEROW:3;                   /**< bit:  8..10  Tamper Rease Row                         */
+    uint32_t :13;                       /**< bit: 11..23  Reserved */
+    uint32_t KEY:8;                     /**< bit: 24..31  Write Key                                */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_SECCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_SECCTRL_OFFSET              (0x34)                                        /**<  (NVMCTRL_SECCTRL) Security Control  Offset */
+#define NVMCTRL_SECCTRL_RESETVALUE          _U_(0x30)                                     /**<  (NVMCTRL_SECCTRL) Security Control  Reset Value */
+
+#define NVMCTRL_SECCTRL_TAMPEEN_Pos         0                                              /**< (NVMCTRL_SECCTRL) Tamper Erase Enable Position */
+#define NVMCTRL_SECCTRL_TAMPEEN_Msk         (_U_(0x1) << NVMCTRL_SECCTRL_TAMPEEN_Pos)      /**< (NVMCTRL_SECCTRL) Tamper Erase Enable Mask */
+#define NVMCTRL_SECCTRL_TAMPEEN             NVMCTRL_SECCTRL_TAMPEEN_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SECCTRL_TAMPEEN_Msk instead */
+#define NVMCTRL_SECCTRL_SILACC_Pos          2                                              /**< (NVMCTRL_SECCTRL) Silent Access Position */
+#define NVMCTRL_SECCTRL_SILACC_Msk          (_U_(0x1) << NVMCTRL_SECCTRL_SILACC_Pos)       /**< (NVMCTRL_SECCTRL) Silent Access Mask */
+#define NVMCTRL_SECCTRL_SILACC              NVMCTRL_SECCTRL_SILACC_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SECCTRL_SILACC_Msk instead */
+#define NVMCTRL_SECCTRL_DSCEN_Pos           3                                              /**< (NVMCTRL_SECCTRL) Data Scramble Enable Position */
+#define NVMCTRL_SECCTRL_DSCEN_Msk           (_U_(0x1) << NVMCTRL_SECCTRL_DSCEN_Pos)        /**< (NVMCTRL_SECCTRL) Data Scramble Enable Mask */
+#define NVMCTRL_SECCTRL_DSCEN               NVMCTRL_SECCTRL_DSCEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SECCTRL_DSCEN_Msk instead */
+#define NVMCTRL_SECCTRL_DXN_Pos             6                                              /**< (NVMCTRL_SECCTRL) Data Flash is eXecute Never Position */
+#define NVMCTRL_SECCTRL_DXN_Msk             (_U_(0x1) << NVMCTRL_SECCTRL_DXN_Pos)          /**< (NVMCTRL_SECCTRL) Data Flash is eXecute Never Mask */
+#define NVMCTRL_SECCTRL_DXN                 NVMCTRL_SECCTRL_DXN_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SECCTRL_DXN_Msk instead */
+#define NVMCTRL_SECCTRL_TEROW_Pos           8                                              /**< (NVMCTRL_SECCTRL) Tamper Rease Row Position */
+#define NVMCTRL_SECCTRL_TEROW_Msk           (_U_(0x7) << NVMCTRL_SECCTRL_TEROW_Pos)        /**< (NVMCTRL_SECCTRL) Tamper Rease Row Mask */
+#define NVMCTRL_SECCTRL_TEROW(value)        (NVMCTRL_SECCTRL_TEROW_Msk & ((value) << NVMCTRL_SECCTRL_TEROW_Pos))
+#define NVMCTRL_SECCTRL_KEY_Pos             24                                             /**< (NVMCTRL_SECCTRL) Write Key Position */
+#define NVMCTRL_SECCTRL_KEY_Msk             (_U_(0xFF) << NVMCTRL_SECCTRL_KEY_Pos)         /**< (NVMCTRL_SECCTRL) Write Key Mask */
+#define NVMCTRL_SECCTRL_KEY(value)          (NVMCTRL_SECCTRL_KEY_Msk & ((value) << NVMCTRL_SECCTRL_KEY_Pos))
+#define   NVMCTRL_SECCTRL_KEY_KEY_Val       _U_(0xA5)                                      /**< (NVMCTRL_SECCTRL) Write Key  */
+#define NVMCTRL_SECCTRL_KEY_KEY             (NVMCTRL_SECCTRL_KEY_KEY_Val << NVMCTRL_SECCTRL_KEY_Pos)  /**< (NVMCTRL_SECCTRL) Write Key Position  */
+#define NVMCTRL_SECCTRL_MASK                _U_(0xFF00074D)                                /**< \deprecated (NVMCTRL_SECCTRL) Register MASK  (Use NVMCTRL_SECCTRL_Msk instead)  */
+#define NVMCTRL_SECCTRL_Msk                 _U_(0xFF00074D)                                /**< (NVMCTRL_SECCTRL) Register Mask  */
+
+
+/* -------- NVMCTRL_SCFGB : (NVMCTRL Offset: 0x38) (R/W 32) Secure Boot Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BCREN:1;                   /**< bit:      0  Boot Configuration Row Read Enable       */
+    uint32_t BCWEN:1;                   /**< bit:      1  Boot Configuration Row Write Enable      */
+    uint32_t :30;                       /**< bit:  2..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_SCFGB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_SCFGB_OFFSET                (0x38)                                        /**<  (NVMCTRL_SCFGB) Secure Boot Configuration  Offset */
+#define NVMCTRL_SCFGB_RESETVALUE            _U_(0x03)                                     /**<  (NVMCTRL_SCFGB) Secure Boot Configuration  Reset Value */
+
+#define NVMCTRL_SCFGB_BCREN_Pos             0                                              /**< (NVMCTRL_SCFGB) Boot Configuration Row Read Enable Position */
+#define NVMCTRL_SCFGB_BCREN_Msk             (_U_(0x1) << NVMCTRL_SCFGB_BCREN_Pos)          /**< (NVMCTRL_SCFGB) Boot Configuration Row Read Enable Mask */
+#define NVMCTRL_SCFGB_BCREN                 NVMCTRL_SCFGB_BCREN_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SCFGB_BCREN_Msk instead */
+#define NVMCTRL_SCFGB_BCWEN_Pos             1                                              /**< (NVMCTRL_SCFGB) Boot Configuration Row Write Enable Position */
+#define NVMCTRL_SCFGB_BCWEN_Msk             (_U_(0x1) << NVMCTRL_SCFGB_BCWEN_Pos)          /**< (NVMCTRL_SCFGB) Boot Configuration Row Write Enable Mask */
+#define NVMCTRL_SCFGB_BCWEN                 NVMCTRL_SCFGB_BCWEN_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SCFGB_BCWEN_Msk instead */
+#define NVMCTRL_SCFGB_MASK                  _U_(0x03)                                      /**< \deprecated (NVMCTRL_SCFGB) Register MASK  (Use NVMCTRL_SCFGB_Msk instead)  */
+#define NVMCTRL_SCFGB_Msk                   _U_(0x03)                                      /**< (NVMCTRL_SCFGB) Register Mask  */
+
+
+/* -------- NVMCTRL_SCFGAD : (NVMCTRL Offset: 0x3c) (R/W 32) Secure Application and Data Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t URWEN:1;                   /**< bit:      0  User Row Write Enable                    */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_SCFGAD_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_SCFGAD_OFFSET               (0x3C)                                        /**<  (NVMCTRL_SCFGAD) Secure Application and Data Configuration  Offset */
+#define NVMCTRL_SCFGAD_RESETVALUE           _U_(0x01)                                     /**<  (NVMCTRL_SCFGAD) Secure Application and Data Configuration  Reset Value */
+
+#define NVMCTRL_SCFGAD_URWEN_Pos            0                                              /**< (NVMCTRL_SCFGAD) User Row Write Enable Position */
+#define NVMCTRL_SCFGAD_URWEN_Msk            (_U_(0x1) << NVMCTRL_SCFGAD_URWEN_Pos)         /**< (NVMCTRL_SCFGAD) User Row Write Enable Mask */
+#define NVMCTRL_SCFGAD_URWEN                NVMCTRL_SCFGAD_URWEN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_SCFGAD_URWEN_Msk instead */
+#define NVMCTRL_SCFGAD_MASK                 _U_(0x01)                                      /**< \deprecated (NVMCTRL_SCFGAD) Register MASK  (Use NVMCTRL_SCFGAD_Msk instead)  */
+#define NVMCTRL_SCFGAD_Msk                  _U_(0x01)                                      /**< (NVMCTRL_SCFGAD) Register Mask  */
+
+
+/* -------- NVMCTRL_NONSEC : (NVMCTRL Offset: 0x40) (R/W 32) Non-secure Write Enable -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t WRITE:1;                   /**< bit:      0  Non-secure APB alias write enable, non-secure AHB writes to non-secure regions enable */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_NONSEC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_NONSEC_OFFSET               (0x40)                                        /**<  (NVMCTRL_NONSEC) Non-secure Write Enable  Offset */
+#define NVMCTRL_NONSEC_RESETVALUE           _U_(0x01)                                     /**<  (NVMCTRL_NONSEC) Non-secure Write Enable  Reset Value */
+
+#define NVMCTRL_NONSEC_WRITE_Pos            0                                              /**< (NVMCTRL_NONSEC) Non-secure APB alias write enable, non-secure AHB writes to non-secure regions enable Position */
+#define NVMCTRL_NONSEC_WRITE_Msk            (_U_(0x1) << NVMCTRL_NONSEC_WRITE_Pos)         /**< (NVMCTRL_NONSEC) Non-secure APB alias write enable, non-secure AHB writes to non-secure regions enable Mask */
+#define NVMCTRL_NONSEC_WRITE                NVMCTRL_NONSEC_WRITE_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_NONSEC_WRITE_Msk instead */
+#define NVMCTRL_NONSEC_MASK                 _U_(0x01)                                      /**< \deprecated (NVMCTRL_NONSEC) Register MASK  (Use NVMCTRL_NONSEC_Msk instead)  */
+#define NVMCTRL_NONSEC_Msk                  _U_(0x01)                                      /**< (NVMCTRL_NONSEC) Register Mask  */
+
+
+/* -------- NVMCTRL_NSCHK : (NVMCTRL Offset: 0x44) (R/W 32) Non-secure Write Reference Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t WRITE:1;                   /**< bit:      0  Reference value to be checked against NONSEC.WRITE */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} NVMCTRL_NSCHK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define NVMCTRL_NSCHK_OFFSET                (0x44)                                        /**<  (NVMCTRL_NSCHK) Non-secure Write Reference Value  Offset */
+#define NVMCTRL_NSCHK_RESETVALUE            _U_(0x01)                                     /**<  (NVMCTRL_NSCHK) Non-secure Write Reference Value  Reset Value */
+
+#define NVMCTRL_NSCHK_WRITE_Pos             0                                              /**< (NVMCTRL_NSCHK) Reference value to be checked against NONSEC.WRITE Position */
+#define NVMCTRL_NSCHK_WRITE_Msk             (_U_(0x1) << NVMCTRL_NSCHK_WRITE_Pos)          /**< (NVMCTRL_NSCHK) Reference value to be checked against NONSEC.WRITE Mask */
+#define NVMCTRL_NSCHK_WRITE                 NVMCTRL_NSCHK_WRITE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use NVMCTRL_NSCHK_WRITE_Msk instead */
+#define NVMCTRL_NSCHK_MASK                  _U_(0x01)                                      /**< \deprecated (NVMCTRL_NSCHK) Register MASK  (Use NVMCTRL_NSCHK_Msk instead)  */
+#define NVMCTRL_NSCHK_Msk                   _U_(0x01)                                      /**< (NVMCTRL_NSCHK) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief NVMCTRL hardware registers */
+typedef struct {  /* Non-Volatile Memory Controller */
+  __O  NVMCTRL_CTRLA_Type             CTRLA;          /**< Offset: 0x00 ( /W  16) Control A */
+  __I  uint8_t                        Reserved1[2];
+  __IO NVMCTRL_CTRLB_Type             CTRLB;          /**< Offset: 0x04 (R/W  32) Control B */
+  __IO NVMCTRL_CTRLC_Type             CTRLC;          /**< Offset: 0x08 (R/W   8) Control C */
+  __I  uint8_t                        Reserved2[1];
+  __IO NVMCTRL_EVCTRL_Type            EVCTRL;         /**< Offset: 0x0A (R/W   8) Event Control */
+  __I  uint8_t                        Reserved3[1];
+  __IO NVMCTRL_INTENCLR_Type          INTENCLR;       /**< Offset: 0x0C (R/W   8) Interrupt Enable Clear */
+  __I  uint8_t                        Reserved4[3];
+  __IO NVMCTRL_INTENSET_Type          INTENSET;       /**< Offset: 0x10 (R/W   8) Interrupt Enable Set */
+  __I  uint8_t                        Reserved5[3];
+  __IO NVMCTRL_INTFLAG_Type           INTFLAG;        /**< Offset: 0x14 (R/W   8) Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved6[3];
+  __I  NVMCTRL_STATUS_Type            STATUS;         /**< Offset: 0x18 (R/   16) Status */
+  __I  uint8_t                        Reserved7[2];
+  __IO NVMCTRL_ADDR_Type              ADDR;           /**< Offset: 0x1C (R/W  32) Address */
+  __IO NVMCTRL_SULCK_Type             SULCK;          /**< Offset: 0x20 (R/W  16) Secure Unlock Register */
+  __IO NVMCTRL_NSULCK_Type            NSULCK;         /**< Offset: 0x22 (R/W  16) Non-Secure Unlock Register */
+  __IO NVMCTRL_PARAM_Type             PARAM;          /**< Offset: 0x24 (R/W  32) NVM Parameter */
+  __I  uint8_t                        Reserved8[8];
+  __O  NVMCTRL_DSCC_Type              DSCC;           /**< Offset: 0x30 ( /W  32) Data Scramble Configuration */
+  __IO NVMCTRL_SECCTRL_Type           SECCTRL;        /**< Offset: 0x34 (R/W  32) Security Control */
+  __IO NVMCTRL_SCFGB_Type             SCFGB;          /**< Offset: 0x38 (R/W  32) Secure Boot Configuration */
+  __IO NVMCTRL_SCFGAD_Type            SCFGAD;         /**< Offset: 0x3C (R/W  32) Secure Application and Data Configuration */
+  __IO NVMCTRL_NONSEC_Type            NONSEC;         /**< Offset: 0x40 (R/W  32) Non-secure Write Enable */
+  __IO NVMCTRL_NSCHK_Type             NSCHK;          /**< Offset: 0x44 (R/W  32) Non-secure Write Reference Value */
+} Nvmctrl;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+#if defined (__GNUC__) || defined (__CC_ARM)
+  #define SECTION_AUX                  __attribute__ ((section(".flash")))
+  #define SECTION_BOCOR                __attribute__ ((section(".flash")))
+  #define SECTION_DATAFLASH            __attribute__ ((section(".flash")))
+  #define SECTION_SW_CALIB             __attribute__ ((section(".flash")))
+  #define SECTION_TEMP_LOG             __attribute__ ((section(".flash")))
+  #define SECTION_USER_PAGE            __attribute__ ((section(".flash")))
+
+#elif defined(__ICCARM__)
+  #define SECTION_AUX                  @".flash"
+  #define SECTION_BOCOR                @".flash"
+  #define SECTION_DATAFLASH            @".flash"
+  #define SECTION_SW_CALIB             @".flash"
+  #define SECTION_TEMP_LOG             @".flash"
+  #define SECTION_USER_PAGE            @".flash"
+
+#endif
+  #define SECTION_NVMCTRL_AUX          SECTION_AUX          /**< \brief \deprecated Old style definition. Use SECTION_AUX instead */
+  #define SECTION_NVMCTRL_BOCOR        SECTION_BOCOR        /**< \brief \deprecated Old style definition. Use SECTION_BOCOR instead */
+  #define SECTION_NVMCTRL_DATAFLASH    SECTION_DATAFLASH    /**< \brief \deprecated Old style definition. Use SECTION_DATAFLASH instead */
+  #define SECTION_NVMCTRL_SW_CALIB     SECTION_SW_CALIB     /**< \brief \deprecated Old style definition. Use SECTION_SW_CALIB instead */
+  #define SECTION_NVMCTRL_TEMP_LOG     SECTION_TEMP_LOG     /**< \brief \deprecated Old style definition. Use SECTION_TEMP_LOG instead */
+  #define SECTION_NVMCTRL_USER         SECTION_USER_PAGE    /**< \brief \deprecated Old style definition. Use SECTION_USER_PAGE instead */
+
+/** @}  end of Non-Volatile Memory Controller */
+
+/** \addtogroup fuses_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR NON-VOLATILE FUSES */
+/* ************************************************************************** */
+#define ADC_FUSES_BIASCOMP_ADDR     SW_CALIB_ADDR
+#define ADC_FUSES_BIASCOMP_Pos      3            /**< \brief (SW_CALIB_ADDR) ADC Comparator Scaling */
+#define ADC_FUSES_BIASCOMP_Msk      (_U_(0x7) << ADC_FUSES_BIASCOMP_Pos)
+#define ADC_FUSES_BIASCOMP(value)   (ADC_FUSES_BIASCOMP_Msk & ((value) << ADC_FUSES_BIASCOMP_Pos))
+
+#define ADC_FUSES_BIASREFBUF_ADDR   SW_CALIB_ADDR
+#define ADC_FUSES_BIASREFBUF_Pos    0            /**< \brief (SW_CALIB_ADDR) ADC Bias Reference Buffer Scaling */
+#define ADC_FUSES_BIASREFBUF_Msk    (_U_(0x7) << ADC_FUSES_BIASREFBUF_Pos)
+#define ADC_FUSES_BIASREFBUF(value) (ADC_FUSES_BIASREFBUF_Msk & ((value) << ADC_FUSES_BIASREFBUF_Pos))
+
+#define FUSES_BOD33USERLEVEL_ADDR   USER_PAGE_ADDR
+#define FUSES_BOD33USERLEVEL_Pos    7            /**< \brief (USER_PAGE_ADDR) BOD33 User Level */
+#define FUSES_BOD33USERLEVEL_Msk    (_U_(0x3F) << FUSES_BOD33USERLEVEL_Pos)
+#define FUSES_BOD33USERLEVEL(value) (FUSES_BOD33USERLEVEL_Msk & ((value) << FUSES_BOD33USERLEVEL_Pos))
+
+#define FUSES_BOD33_ACTION_ADDR     USER_PAGE_ADDR
+#define FUSES_BOD33_ACTION_Pos      14           /**< \brief (USER_PAGE_ADDR) BOD33 Action */
+#define FUSES_BOD33_ACTION_Msk      (_U_(0x3) << FUSES_BOD33_ACTION_Pos)
+#define FUSES_BOD33_ACTION(value)   (FUSES_BOD33_ACTION_Msk & ((value) << FUSES_BOD33_ACTION_Pos))
+
+#define FUSES_BOD33_DIS_ADDR        USER_PAGE_ADDR
+#define FUSES_BOD33_DIS_Pos         13           /**< \brief (USER_PAGE_ADDR) BOD33 Disable */
+#define FUSES_BOD33_DIS_Msk         (_U_(0x1) << FUSES_BOD33_DIS_Pos)
+
+#define FUSES_BOD33_HYST_ADDR       (USER_PAGE_ADDR + 4)
+#define FUSES_BOD33_HYST_Pos        9            /**< \brief (USER_PAGE_ADDR) BOD33 Hysteresis */
+#define FUSES_BOD33_HYST_Msk        (_U_(0x1) << FUSES_BOD33_HYST_Pos)
+
+#define FUSES_BOOTROM_BOCORCRC_ADDR (BOCOR_ADDR + 8)
+#define FUSES_BOOTROM_BOCORCRC_Pos  0            /**< \brief (BOCOR_ADDR) CRC for BOCOR0 DWORD */
+#define FUSES_BOOTROM_BOCORCRC_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORCRC_Pos)
+#define FUSES_BOOTROM_BOCORCRC(value) (FUSES_BOOTROM_BOCORCRC_Msk & ((value) << FUSES_BOOTROM_BOCORCRC_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_0_ADDR (BOCOR_ADDR + 224)
+#define FUSES_BOOTROM_BOCORHASH_0_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 31:0 */
+#define FUSES_BOOTROM_BOCORHASH_0_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_0_Pos)
+#define FUSES_BOOTROM_BOCORHASH_0(value) (FUSES_BOOTROM_BOCORHASH_0_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_0_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_1_ADDR (BOCOR_ADDR + 228)
+#define FUSES_BOOTROM_BOCORHASH_1_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 63:32 */
+#define FUSES_BOOTROM_BOCORHASH_1_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_1_Pos)
+#define FUSES_BOOTROM_BOCORHASH_1(value) (FUSES_BOOTROM_BOCORHASH_1_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_1_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_2_ADDR (BOCOR_ADDR + 232)
+#define FUSES_BOOTROM_BOCORHASH_2_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 95:64 */
+#define FUSES_BOOTROM_BOCORHASH_2_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_2_Pos)
+#define FUSES_BOOTROM_BOCORHASH_2(value) (FUSES_BOOTROM_BOCORHASH_2_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_2_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_3_ADDR (BOCOR_ADDR + 236)
+#define FUSES_BOOTROM_BOCORHASH_3_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 127:96 */
+#define FUSES_BOOTROM_BOCORHASH_3_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_3_Pos)
+#define FUSES_BOOTROM_BOCORHASH_3(value) (FUSES_BOOTROM_BOCORHASH_3_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_3_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_4_ADDR (BOCOR_ADDR + 240)
+#define FUSES_BOOTROM_BOCORHASH_4_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 159:128 */
+#define FUSES_BOOTROM_BOCORHASH_4_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_4_Pos)
+#define FUSES_BOOTROM_BOCORHASH_4(value) (FUSES_BOOTROM_BOCORHASH_4_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_4_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_5_ADDR (BOCOR_ADDR + 244)
+#define FUSES_BOOTROM_BOCORHASH_5_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 191:160 */
+#define FUSES_BOOTROM_BOCORHASH_5_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_5_Pos)
+#define FUSES_BOOTROM_BOCORHASH_5(value) (FUSES_BOOTROM_BOCORHASH_5_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_5_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_6_ADDR (BOCOR_ADDR + 248)
+#define FUSES_BOOTROM_BOCORHASH_6_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 223:192 */
+#define FUSES_BOOTROM_BOCORHASH_6_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_6_Pos)
+#define FUSES_BOOTROM_BOCORHASH_6(value) (FUSES_BOOTROM_BOCORHASH_6_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_6_Pos))
+
+#define FUSES_BOOTROM_BOCORHASH_7_ADDR (BOCOR_ADDR + 252)
+#define FUSES_BOOTROM_BOCORHASH_7_Pos 0            /**< \brief (BOCOR_ADDR) Boot Configuration Row Hash bits 255:224 */
+#define FUSES_BOOTROM_BOCORHASH_7_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOCORHASH_7_Pos)
+#define FUSES_BOOTROM_BOCORHASH_7(value) (FUSES_BOOTROM_BOCORHASH_7_Msk & ((value) << FUSES_BOOTROM_BOCORHASH_7_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_0_ADDR (BOCOR_ADDR + 80)
+#define FUSES_BOOTROM_BOOTKEY_0_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 31:0 */
+#define FUSES_BOOTROM_BOOTKEY_0_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_0_Pos)
+#define FUSES_BOOTROM_BOOTKEY_0(value) (FUSES_BOOTROM_BOOTKEY_0_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_0_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_1_ADDR (BOCOR_ADDR + 84)
+#define FUSES_BOOTROM_BOOTKEY_1_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 63:32 */
+#define FUSES_BOOTROM_BOOTKEY_1_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_1_Pos)
+#define FUSES_BOOTROM_BOOTKEY_1(value) (FUSES_BOOTROM_BOOTKEY_1_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_1_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_2_ADDR (BOCOR_ADDR + 88)
+#define FUSES_BOOTROM_BOOTKEY_2_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 95:64 */
+#define FUSES_BOOTROM_BOOTKEY_2_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_2_Pos)
+#define FUSES_BOOTROM_BOOTKEY_2(value) (FUSES_BOOTROM_BOOTKEY_2_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_2_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_3_ADDR (BOCOR_ADDR + 92)
+#define FUSES_BOOTROM_BOOTKEY_3_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 127:96 */
+#define FUSES_BOOTROM_BOOTKEY_3_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_3_Pos)
+#define FUSES_BOOTROM_BOOTKEY_3(value) (FUSES_BOOTROM_BOOTKEY_3_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_3_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_4_ADDR (BOCOR_ADDR + 96)
+#define FUSES_BOOTROM_BOOTKEY_4_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 159:128 */
+#define FUSES_BOOTROM_BOOTKEY_4_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_4_Pos)
+#define FUSES_BOOTROM_BOOTKEY_4(value) (FUSES_BOOTROM_BOOTKEY_4_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_4_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_5_ADDR (BOCOR_ADDR + 100)
+#define FUSES_BOOTROM_BOOTKEY_5_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 191:160 */
+#define FUSES_BOOTROM_BOOTKEY_5_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_5_Pos)
+#define FUSES_BOOTROM_BOOTKEY_5(value) (FUSES_BOOTROM_BOOTKEY_5_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_5_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_6_ADDR (BOCOR_ADDR + 104)
+#define FUSES_BOOTROM_BOOTKEY_6_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 223:192 */
+#define FUSES_BOOTROM_BOOTKEY_6_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_6_Pos)
+#define FUSES_BOOTROM_BOOTKEY_6(value) (FUSES_BOOTROM_BOOTKEY_6_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_6_Pos))
+
+#define FUSES_BOOTROM_BOOTKEY_7_ADDR (BOCOR_ADDR + 108)
+#define FUSES_BOOTROM_BOOTKEY_7_Pos 0            /**< \brief (BOCOR_ADDR) Secure Boot Key bits 255:224 */
+#define FUSES_BOOTROM_BOOTKEY_7_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_BOOTKEY_7_Pos)
+#define FUSES_BOOTROM_BOOTKEY_7(value) (FUSES_BOOTROM_BOOTKEY_7_Msk & ((value) << FUSES_BOOTROM_BOOTKEY_7_Pos))
+
+#define FUSES_BOOTROM_BOOTOPT_ADDR  BOCOR_ADDR
+#define FUSES_BOOTROM_BOOTOPT_Pos   24           /**< \brief (BOCOR_ADDR) Boot Option */
+#define FUSES_BOOTROM_BOOTOPT_Msk   (_U_(0xFF) << FUSES_BOOTROM_BOOTOPT_Pos)
+#define FUSES_BOOTROM_BOOTOPT(value) (FUSES_BOOTROM_BOOTOPT_Msk & ((value) << FUSES_BOOTROM_BOOTOPT_Pos))
+
+#define FUSES_BOOTROM_CEKEY0_0_ADDR (BOCOR_ADDR + 16)
+#define FUSES_BOOTROM_CEKEY0_0_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 0 bits 31:0 */
+#define FUSES_BOOTROM_CEKEY0_0_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY0_0_Pos)
+#define FUSES_BOOTROM_CEKEY0_0(value) (FUSES_BOOTROM_CEKEY0_0_Msk & ((value) << FUSES_BOOTROM_CEKEY0_0_Pos))
+
+#define FUSES_BOOTROM_CEKEY0_1_ADDR (BOCOR_ADDR + 20)
+#define FUSES_BOOTROM_CEKEY0_1_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 0 bits 63:32 */
+#define FUSES_BOOTROM_CEKEY0_1_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY0_1_Pos)
+#define FUSES_BOOTROM_CEKEY0_1(value) (FUSES_BOOTROM_CEKEY0_1_Msk & ((value) << FUSES_BOOTROM_CEKEY0_1_Pos))
+
+#define FUSES_BOOTROM_CEKEY0_2_ADDR (BOCOR_ADDR + 24)
+#define FUSES_BOOTROM_CEKEY0_2_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 0 bits 95:64 */
+#define FUSES_BOOTROM_CEKEY0_2_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY0_2_Pos)
+#define FUSES_BOOTROM_CEKEY0_2(value) (FUSES_BOOTROM_CEKEY0_2_Msk & ((value) << FUSES_BOOTROM_CEKEY0_2_Pos))
+
+#define FUSES_BOOTROM_CEKEY0_3_ADDR (BOCOR_ADDR + 28)
+#define FUSES_BOOTROM_CEKEY0_3_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 0 bits 127:96 */
+#define FUSES_BOOTROM_CEKEY0_3_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY0_3_Pos)
+#define FUSES_BOOTROM_CEKEY0_3(value) (FUSES_BOOTROM_CEKEY0_3_Msk & ((value) << FUSES_BOOTROM_CEKEY0_3_Pos))
+
+#define FUSES_BOOTROM_CEKEY1_0_ADDR (BOCOR_ADDR + 32)
+#define FUSES_BOOTROM_CEKEY1_0_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 1 bits 31:0 */
+#define FUSES_BOOTROM_CEKEY1_0_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY1_0_Pos)
+#define FUSES_BOOTROM_CEKEY1_0(value) (FUSES_BOOTROM_CEKEY1_0_Msk & ((value) << FUSES_BOOTROM_CEKEY1_0_Pos))
+
+#define FUSES_BOOTROM_CEKEY1_1_ADDR (BOCOR_ADDR + 36)
+#define FUSES_BOOTROM_CEKEY1_1_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 1 bits 63:32 */
+#define FUSES_BOOTROM_CEKEY1_1_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY1_1_Pos)
+#define FUSES_BOOTROM_CEKEY1_1(value) (FUSES_BOOTROM_CEKEY1_1_Msk & ((value) << FUSES_BOOTROM_CEKEY1_1_Pos))
+
+#define FUSES_BOOTROM_CEKEY1_2_ADDR (BOCOR_ADDR + 40)
+#define FUSES_BOOTROM_CEKEY1_2_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 1 bits 95:64 */
+#define FUSES_BOOTROM_CEKEY1_2_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY1_2_Pos)
+#define FUSES_BOOTROM_CEKEY1_2(value) (FUSES_BOOTROM_CEKEY1_2_Msk & ((value) << FUSES_BOOTROM_CEKEY1_2_Pos))
+
+#define FUSES_BOOTROM_CEKEY1_3_ADDR (BOCOR_ADDR + 44)
+#define FUSES_BOOTROM_CEKEY1_3_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 1 bits 127:96 */
+#define FUSES_BOOTROM_CEKEY1_3_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY1_3_Pos)
+#define FUSES_BOOTROM_CEKEY1_3(value) (FUSES_BOOTROM_CEKEY1_3_Msk & ((value) << FUSES_BOOTROM_CEKEY1_3_Pos))
+
+#define FUSES_BOOTROM_CEKEY2_0_ADDR (BOCOR_ADDR + 48)
+#define FUSES_BOOTROM_CEKEY2_0_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 2 bits 31:0 */
+#define FUSES_BOOTROM_CEKEY2_0_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY2_0_Pos)
+#define FUSES_BOOTROM_CEKEY2_0(value) (FUSES_BOOTROM_CEKEY2_0_Msk & ((value) << FUSES_BOOTROM_CEKEY2_0_Pos))
+
+#define FUSES_BOOTROM_CEKEY2_1_ADDR (BOCOR_ADDR + 52)
+#define FUSES_BOOTROM_CEKEY2_1_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 2 bits 63:32 */
+#define FUSES_BOOTROM_CEKEY2_1_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY2_1_Pos)
+#define FUSES_BOOTROM_CEKEY2_1(value) (FUSES_BOOTROM_CEKEY2_1_Msk & ((value) << FUSES_BOOTROM_CEKEY2_1_Pos))
+
+#define FUSES_BOOTROM_CEKEY2_2_ADDR (BOCOR_ADDR + 56)
+#define FUSES_BOOTROM_CEKEY2_2_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 2 bits 95:64 */
+#define FUSES_BOOTROM_CEKEY2_2_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY2_2_Pos)
+#define FUSES_BOOTROM_CEKEY2_2(value) (FUSES_BOOTROM_CEKEY2_2_Msk & ((value) << FUSES_BOOTROM_CEKEY2_2_Pos))
+
+#define FUSES_BOOTROM_CEKEY2_3_ADDR (BOCOR_ADDR + 60)
+#define FUSES_BOOTROM_CEKEY2_3_Pos  0            /**< \brief (BOCOR_ADDR) Chip Erase Key 2 bits 127:96 */
+#define FUSES_BOOTROM_CEKEY2_3_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CEKEY2_3_Pos)
+#define FUSES_BOOTROM_CEKEY2_3(value) (FUSES_BOOTROM_CEKEY2_3_Msk & ((value) << FUSES_BOOTROM_CEKEY2_3_Pos))
+
+#define FUSES_BOOTROM_CRCKEY_0_ADDR (BOCOR_ADDR + 64)
+#define FUSES_BOOTROM_CRCKEY_0_Pos  0            /**< \brief (BOCOR_ADDR) CRC Key bits 31:0 */
+#define FUSES_BOOTROM_CRCKEY_0_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CRCKEY_0_Pos)
+#define FUSES_BOOTROM_CRCKEY_0(value) (FUSES_BOOTROM_CRCKEY_0_Msk & ((value) << FUSES_BOOTROM_CRCKEY_0_Pos))
+
+#define FUSES_BOOTROM_CRCKEY_1_ADDR (BOCOR_ADDR + 68)
+#define FUSES_BOOTROM_CRCKEY_1_Pos  0            /**< \brief (BOCOR_ADDR) CRC Key bits 63:32 */
+#define FUSES_BOOTROM_CRCKEY_1_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CRCKEY_1_Pos)
+#define FUSES_BOOTROM_CRCKEY_1(value) (FUSES_BOOTROM_CRCKEY_1_Msk & ((value) << FUSES_BOOTROM_CRCKEY_1_Pos))
+
+#define FUSES_BOOTROM_CRCKEY_2_ADDR (BOCOR_ADDR + 72)
+#define FUSES_BOOTROM_CRCKEY_2_Pos  0            /**< \brief (BOCOR_ADDR) CRC Key bits 95:64 */
+#define FUSES_BOOTROM_CRCKEY_2_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CRCKEY_2_Pos)
+#define FUSES_BOOTROM_CRCKEY_2(value) (FUSES_BOOTROM_CRCKEY_2_Msk & ((value) << FUSES_BOOTROM_CRCKEY_2_Pos))
+
+#define FUSES_BOOTROM_CRCKEY_3_ADDR (BOCOR_ADDR + 76)
+#define FUSES_BOOTROM_CRCKEY_3_Pos  0            /**< \brief (BOCOR_ADDR) CRC Key bits 127:96 */
+#define FUSES_BOOTROM_CRCKEY_3_Msk  (_U_(0xFFFFFFFF) << FUSES_BOOTROM_CRCKEY_3_Pos)
+#define FUSES_BOOTROM_CRCKEY_3(value) (FUSES_BOOTROM_CRCKEY_3_Msk & ((value) << FUSES_BOOTROM_CRCKEY_3_Pos))
+
+#define FUSES_BOOTROM_DXN_ADDR      (USER_PAGE_ADDR + 4)
+#define FUSES_BOOTROM_DXN_Pos       12           /**< \brief (USER_PAGE_ADDR) DATA FLASH is eXecute Never */
+#define FUSES_BOOTROM_DXN_Msk       (_U_(0x1) << FUSES_BOOTROM_DXN_Pos)
+
+#define FUSES_BOOTROM_NONSECA_ADDR  (USER_PAGE_ADDR + 16)
+#define FUSES_BOOTROM_NONSECA_Pos   0            /**< \brief (USER_PAGE_ADDR) NONSEC fuses for the bridgeA peripherals */
+#define FUSES_BOOTROM_NONSECA_Msk   (_U_(0xFFFFFFFF) << FUSES_BOOTROM_NONSECA_Pos)
+#define FUSES_BOOTROM_NONSECA(value) (FUSES_BOOTROM_NONSECA_Msk & ((value) << FUSES_BOOTROM_NONSECA_Pos))
+
+#define FUSES_BOOTROM_NONSECB_ADDR  (USER_PAGE_ADDR + 20)
+#define FUSES_BOOTROM_NONSECB_Pos   0            /**< \brief (USER_PAGE_ADDR) NONSEC fuses for the bridgeB peripherals */
+#define FUSES_BOOTROM_NONSECB_Msk   (_U_(0xFFFFFFFF) << FUSES_BOOTROM_NONSECB_Pos)
+#define FUSES_BOOTROM_NONSECB(value) (FUSES_BOOTROM_NONSECB_Msk & ((value) << FUSES_BOOTROM_NONSECB_Pos))
+
+#define FUSES_BOOTROM_NONSECC_ADDR  (USER_PAGE_ADDR + 24)
+#define FUSES_BOOTROM_NONSECC_Pos   0            /**< \brief (USER_PAGE_ADDR) NONSEC fuses for the bridgeC peripherals */
+#define FUSES_BOOTROM_NONSECC_Msk   (_U_(0xFFFFFFFF) << FUSES_BOOTROM_NONSECC_Pos)
+#define FUSES_BOOTROM_NONSECC(value) (FUSES_BOOTROM_NONSECC_Msk & ((value) << FUSES_BOOTROM_NONSECC_Pos))
+
+#define FUSES_BOOTROM_ROMVERSION_ADDR (BOCOR_ADDR + 12)
+#define FUSES_BOOTROM_ROMVERSION_Pos 0            /**< \brief (BOCOR_ADDR) BOOTROM Version */
+#define FUSES_BOOTROM_ROMVERSION_Msk (_U_(0xFFFFFFFF) << FUSES_BOOTROM_ROMVERSION_Pos)
+#define FUSES_BOOTROM_ROMVERSION(value) (FUSES_BOOTROM_ROMVERSION_Msk & ((value) << FUSES_BOOTROM_ROMVERSION_Pos))
+
+#define FUSES_BOOTROM_RXN_ADDR      (USER_PAGE_ADDR + 4)
+#define FUSES_BOOTROM_RXN_Pos       11           /**< \brief (USER_PAGE_ADDR) RAM is eXecute Never */
+#define FUSES_BOOTROM_RXN_Msk       (_U_(0x1) << FUSES_BOOTROM_RXN_Pos)
+
+#define FUSES_BOOTROM_USERCRC_ADDR  (USER_PAGE_ADDR + 28)
+#define FUSES_BOOTROM_USERCRC_Pos   0            /**< \brief (USER_PAGE_ADDR) CRC for USER[1,2,3] DWORDS */
+#define FUSES_BOOTROM_USERCRC_Msk   (_U_(0xFFFFFFFF) << FUSES_BOOTROM_USERCRC_Pos)
+#define FUSES_BOOTROM_USERCRC(value) (FUSES_BOOTROM_USERCRC_Msk & ((value) << FUSES_BOOTROM_USERCRC_Pos))
+
+#define FUSES_DFLLULP_DIV_PL0_ADDR  SW_CALIB_ADDR
+#define FUSES_DFLLULP_DIV_PL0_Pos   6            /**< \brief (SW_CALIB_ADDR) DFLLULP DIV at PL0 */
+#define FUSES_DFLLULP_DIV_PL0_Msk   (_U_(0x7) << FUSES_DFLLULP_DIV_PL0_Pos)
+#define FUSES_DFLLULP_DIV_PL0(value) (FUSES_DFLLULP_DIV_PL0_Msk & ((value) << FUSES_DFLLULP_DIV_PL0_Pos))
+
+#define FUSES_DFLLULP_DIV_PL2_ADDR  SW_CALIB_ADDR
+#define FUSES_DFLLULP_DIV_PL2_Pos   9            /**< \brief (SW_CALIB_ADDR) DFLLULP DIV at PL2 */
+#define FUSES_DFLLULP_DIV_PL2_Msk   (_U_(0x7) << FUSES_DFLLULP_DIV_PL2_Pos)
+#define FUSES_DFLLULP_DIV_PL2(value) (FUSES_DFLLULP_DIV_PL2_Msk & ((value) << FUSES_DFLLULP_DIV_PL2_Pos))
+
+#define FUSES_HOT_ADC_VAL_PTAT_ADDR (TEMP_LOG_ADDR + 4)
+#define FUSES_HOT_ADC_VAL_PTAT_Pos  20           /**< \brief (TEMP_LOG_ADDR) 12-bit ADC conversion at hot temperature PTAT */
+#define FUSES_HOT_ADC_VAL_PTAT_Msk  (_U_(0xFFF) << FUSES_HOT_ADC_VAL_PTAT_Pos)
+#define FUSES_HOT_ADC_VAL_PTAT(value) (FUSES_HOT_ADC_VAL_PTAT_Msk & ((value) << FUSES_HOT_ADC_VAL_PTAT_Pos))
+
+#define FUSES_HOT_INT1V_VAL_ADDR    (TEMP_LOG_ADDR + 4)
+#define FUSES_HOT_INT1V_VAL_Pos     0            /**< \brief (TEMP_LOG_ADDR) 2's complement of the internal 1V reference drift at hot temperature (versus a 1.0 centered value) */
+#define FUSES_HOT_INT1V_VAL_Msk     (_U_(0xFF) << FUSES_HOT_INT1V_VAL_Pos)
+#define FUSES_HOT_INT1V_VAL(value)  (FUSES_HOT_INT1V_VAL_Msk & ((value) << FUSES_HOT_INT1V_VAL_Pos))
+
+#define FUSES_HOT_TEMP_VAL_DEC_ADDR TEMP_LOG_ADDR
+#define FUSES_HOT_TEMP_VAL_DEC_Pos  20           /**< \brief (TEMP_LOG_ADDR) Decimal part of hot temperature */
+#define FUSES_HOT_TEMP_VAL_DEC_Msk  (_U_(0xF) << FUSES_HOT_TEMP_VAL_DEC_Pos)
+#define FUSES_HOT_TEMP_VAL_DEC(value) (FUSES_HOT_TEMP_VAL_DEC_Msk & ((value) << FUSES_HOT_TEMP_VAL_DEC_Pos))
+
+#define FUSES_HOT_TEMP_VAL_INT_ADDR TEMP_LOG_ADDR
+#define FUSES_HOT_TEMP_VAL_INT_Pos  12           /**< \brief (TEMP_LOG_ADDR) Integer part of hot temperature in oC */
+#define FUSES_HOT_TEMP_VAL_INT_Msk  (_U_(0xFF) << FUSES_HOT_TEMP_VAL_INT_Pos)
+#define FUSES_HOT_TEMP_VAL_INT(value) (FUSES_HOT_TEMP_VAL_INT_Msk & ((value) << FUSES_HOT_TEMP_VAL_INT_Pos))
+
+#define FUSES_ROOM_ADC_VAL_PTAT_ADDR (TEMP_LOG_ADDR + 4)
+#define FUSES_ROOM_ADC_VAL_PTAT_Pos 8            /**< \brief (TEMP_LOG_ADDR) 12-bit ADC conversion at room temperature PTAT */
+#define FUSES_ROOM_ADC_VAL_PTAT_Msk (_U_(0xFFF) << FUSES_ROOM_ADC_VAL_PTAT_Pos)
+#define FUSES_ROOM_ADC_VAL_PTAT(value) (FUSES_ROOM_ADC_VAL_PTAT_Msk & ((value) << FUSES_ROOM_ADC_VAL_PTAT_Pos))
+
+#define FUSES_ROOM_INT1V_VAL_ADDR   TEMP_LOG_ADDR
+#define FUSES_ROOM_INT1V_VAL_Pos    24           /**< \brief (TEMP_LOG_ADDR) 2's complement of the internal 1V reference drift at room temperature (versus a 1.0 centered value) */
+#define FUSES_ROOM_INT1V_VAL_Msk    (_U_(0xFF) << FUSES_ROOM_INT1V_VAL_Pos)
+#define FUSES_ROOM_INT1V_VAL(value) (FUSES_ROOM_INT1V_VAL_Msk & ((value) << FUSES_ROOM_INT1V_VAL_Pos))
+
+#define FUSES_ROOM_TEMP_VAL_DEC_ADDR TEMP_LOG_ADDR
+#define FUSES_ROOM_TEMP_VAL_DEC_Pos 8            /**< \brief (TEMP_LOG_ADDR) Decimal part of room temperature */
+#define FUSES_ROOM_TEMP_VAL_DEC_Msk (_U_(0xF) << FUSES_ROOM_TEMP_VAL_DEC_Pos)
+#define FUSES_ROOM_TEMP_VAL_DEC(value) (FUSES_ROOM_TEMP_VAL_DEC_Msk & ((value) << FUSES_ROOM_TEMP_VAL_DEC_Pos))
+
+#define FUSES_ROOM_TEMP_VAL_INT_ADDR TEMP_LOG_ADDR
+#define FUSES_ROOM_TEMP_VAL_INT_Pos 0            /**< \brief (TEMP_LOG_ADDR) Integer part of room temperature in oC */
+#define FUSES_ROOM_TEMP_VAL_INT_Msk (_U_(0xFF) << FUSES_ROOM_TEMP_VAL_INT_Pos)
+#define FUSES_ROOM_TEMP_VAL_INT(value) (FUSES_ROOM_TEMP_VAL_INT_Msk & ((value) << FUSES_ROOM_TEMP_VAL_INT_Pos))
+
+#define NVMCTRL_FUSES_BCREN_ADDR    (BOCOR_ADDR + 4)
+#define NVMCTRL_FUSES_BCREN_Pos     17           /**< \brief (BOCOR_ADDR) Boot Configuration Read Enable */
+#define NVMCTRL_FUSES_BCREN_Msk     (_U_(0x1) << NVMCTRL_FUSES_BCREN_Pos)
+
+#define NVMCTRL_FUSES_BCWEN_ADDR    (BOCOR_ADDR + 4)
+#define NVMCTRL_FUSES_BCWEN_Pos     16           /**< \brief (BOCOR_ADDR) Boot Configuration Write Enable */
+#define NVMCTRL_FUSES_BCWEN_Msk     (_U_(0x1) << NVMCTRL_FUSES_BCWEN_Pos)
+
+#define NVMCTRL_FUSES_NSULCK_ADDR   USER_PAGE_ADDR
+#define NVMCTRL_FUSES_NSULCK_Pos    3            /**< \brief (USER_PAGE_ADDR) NVM Non-Secure Region Locks */
+#define NVMCTRL_FUSES_NSULCK_Msk    (_U_(0x7) << NVMCTRL_FUSES_NSULCK_Pos)
+#define NVMCTRL_FUSES_NSULCK(value) (NVMCTRL_FUSES_NSULCK_Msk & ((value) << NVMCTRL_FUSES_NSULCK_Pos))
+
+#define NVMCTRL_FUSES_SULCK_ADDR    USER_PAGE_ADDR
+#define NVMCTRL_FUSES_SULCK_Pos     0            /**< \brief (USER_PAGE_ADDR) NVM Secure Region Locks */
+#define NVMCTRL_FUSES_SULCK_Msk     (_U_(0x7) << NVMCTRL_FUSES_SULCK_Pos)
+#define NVMCTRL_FUSES_SULCK(value)  (NVMCTRL_FUSES_SULCK_Msk & ((value) << NVMCTRL_FUSES_SULCK_Pos))
+
+#define NVMCTRL_FUSES_URWEN_ADDR    (USER_PAGE_ADDR + 12)
+#define NVMCTRL_FUSES_URWEN_Pos     0            /**< \brief (USER_PAGE_ADDR) User Row Write Enable */
+#define NVMCTRL_FUSES_URWEN_Msk     (_U_(0x1) << NVMCTRL_FUSES_URWEN_Pos)
+
+#define WDT_FUSES_ALWAYSON_ADDR     USER_PAGE_ADDR
+#define WDT_FUSES_ALWAYSON_Pos      27           /**< \brief (USER_PAGE_ADDR) WDT Always On */
+#define WDT_FUSES_ALWAYSON_Msk      (_U_(0x1) << WDT_FUSES_ALWAYSON_Pos)
+
+#define WDT_FUSES_ENABLE_ADDR       USER_PAGE_ADDR
+#define WDT_FUSES_ENABLE_Pos        26           /**< \brief (USER_PAGE_ADDR) WDT Enable */
+#define WDT_FUSES_ENABLE_Msk        (_U_(0x1) << WDT_FUSES_ENABLE_Pos)
+
+#define WDT_FUSES_EWOFFSET_ADDR     (USER_PAGE_ADDR + 4)
+#define WDT_FUSES_EWOFFSET_Pos      4            /**< \brief (USER_PAGE_ADDR) WDT Early Warning Offset */
+#define WDT_FUSES_EWOFFSET_Msk      (_U_(0xF) << WDT_FUSES_EWOFFSET_Pos)
+#define WDT_FUSES_EWOFFSET(value)   (WDT_FUSES_EWOFFSET_Msk & ((value) << WDT_FUSES_EWOFFSET_Pos))
+
+#define WDT_FUSES_PER_ADDR          USER_PAGE_ADDR
+#define WDT_FUSES_PER_Pos           28           /**< \brief (USER_PAGE_ADDR) WDT Period */
+#define WDT_FUSES_PER_Msk           (_U_(0xF) << WDT_FUSES_PER_Pos)
+#define WDT_FUSES_PER(value)        (WDT_FUSES_PER_Msk & ((value) << WDT_FUSES_PER_Pos))
+
+#define WDT_FUSES_RUNSTDBY_ADDR     USER_PAGE_ADDR
+#define WDT_FUSES_RUNSTDBY_Pos      25           /**< \brief (USER_PAGE_ADDR) WDT Run During Standby */
+#define WDT_FUSES_RUNSTDBY_Msk      (_U_(0x1) << WDT_FUSES_RUNSTDBY_Pos)
+
+#define WDT_FUSES_WEN_ADDR          (USER_PAGE_ADDR + 4)
+#define WDT_FUSES_WEN_Pos           8            /**< \brief (USER_PAGE_ADDR) WDT Window Mode Enable */
+#define WDT_FUSES_WEN_Msk           (_U_(0x1) << WDT_FUSES_WEN_Pos)
+
+#define WDT_FUSES_WINDOW_ADDR       (USER_PAGE_ADDR + 4)
+#define WDT_FUSES_WINDOW_Pos        0            /**< \brief (USER_PAGE_ADDR) WDT Window */
+#define WDT_FUSES_WINDOW_Msk        (_U_(0xF) << WDT_FUSES_WINDOW_Pos)
+#define WDT_FUSES_WINDOW(value)     (WDT_FUSES_WINDOW_Msk & ((value) << WDT_FUSES_WINDOW_Pos))
+
+/** @}  end of Peripheral Software API */
+
+#endif /* _SAML11_NVMCTRL_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/opamp.h b/cpu/sam0_common/include/vendor/saml11/include/component/opamp.h
new file mode 100644
index 0000000000..2ce7331a4f
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/opamp.h
@@ -0,0 +1,227 @@
+/**
+ * \file
+ *
+ * \brief Component description for OPAMP
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_OPAMP_COMPONENT_H_
+#define _SAML11_OPAMP_COMPONENT_H_
+#define _SAML11_OPAMP_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Operational Amplifier
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR OPAMP */
+/* ========================================================================== */
+
+#define OPAMP_U2237                      /**< (OPAMP) Module ID */
+#define REV_OPAMP 0x200                  /**< (OPAMP) Module revision */
+
+/* -------- OPAMP_CTRLA : (OPAMP Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint8_t  :5;                        /**< bit:   2..6  Reserved */
+    uint8_t  LPMUX:1;                   /**< bit:      7  Low-Power Mux                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OPAMP_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OPAMP_CTRLA_OFFSET                  (0x00)                                        /**<  (OPAMP_CTRLA) Control A  Offset */
+#define OPAMP_CTRLA_RESETVALUE              _U_(0x00)                                     /**<  (OPAMP_CTRLA) Control A  Reset Value */
+
+#define OPAMP_CTRLA_SWRST_Pos               0                                              /**< (OPAMP_CTRLA) Software Reset Position */
+#define OPAMP_CTRLA_SWRST_Msk               (_U_(0x1) << OPAMP_CTRLA_SWRST_Pos)            /**< (OPAMP_CTRLA) Software Reset Mask */
+#define OPAMP_CTRLA_SWRST                   OPAMP_CTRLA_SWRST_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_CTRLA_SWRST_Msk instead */
+#define OPAMP_CTRLA_ENABLE_Pos              1                                              /**< (OPAMP_CTRLA) Enable Position */
+#define OPAMP_CTRLA_ENABLE_Msk              (_U_(0x1) << OPAMP_CTRLA_ENABLE_Pos)           /**< (OPAMP_CTRLA) Enable Mask */
+#define OPAMP_CTRLA_ENABLE                  OPAMP_CTRLA_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_CTRLA_ENABLE_Msk instead */
+#define OPAMP_CTRLA_LPMUX_Pos               7                                              /**< (OPAMP_CTRLA) Low-Power Mux Position */
+#define OPAMP_CTRLA_LPMUX_Msk               (_U_(0x1) << OPAMP_CTRLA_LPMUX_Pos)            /**< (OPAMP_CTRLA) Low-Power Mux Mask */
+#define OPAMP_CTRLA_LPMUX                   OPAMP_CTRLA_LPMUX_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_CTRLA_LPMUX_Msk instead */
+#define OPAMP_CTRLA_MASK                    _U_(0x83)                                      /**< \deprecated (OPAMP_CTRLA) Register MASK  (Use OPAMP_CTRLA_Msk instead)  */
+#define OPAMP_CTRLA_Msk                     _U_(0x83)                                      /**< (OPAMP_CTRLA) Register Mask  */
+
+
+/* -------- OPAMP_STATUS : (OPAMP Offset: 0x02) (R/ 8) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  READY0:1;                  /**< bit:      0  OPAMP 0 Ready                            */
+    uint8_t  READY1:1;                  /**< bit:      1  OPAMP 1 Ready                            */
+    uint8_t  READY2:1;                  /**< bit:      2  OPAMP 2 Ready                            */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  READY:3;                   /**< bit:   0..2  OPAMP 2 Ready                            */
+    uint8_t  :5;                        /**< bit:   3..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} OPAMP_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OPAMP_STATUS_OFFSET                 (0x02)                                        /**<  (OPAMP_STATUS) Status  Offset */
+#define OPAMP_STATUS_RESETVALUE             _U_(0x00)                                     /**<  (OPAMP_STATUS) Status  Reset Value */
+
+#define OPAMP_STATUS_READY0_Pos             0                                              /**< (OPAMP_STATUS) OPAMP 0 Ready Position */
+#define OPAMP_STATUS_READY0_Msk             (_U_(0x1) << OPAMP_STATUS_READY0_Pos)          /**< (OPAMP_STATUS) OPAMP 0 Ready Mask */
+#define OPAMP_STATUS_READY0                 OPAMP_STATUS_READY0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_STATUS_READY0_Msk instead */
+#define OPAMP_STATUS_READY1_Pos             1                                              /**< (OPAMP_STATUS) OPAMP 1 Ready Position */
+#define OPAMP_STATUS_READY1_Msk             (_U_(0x1) << OPAMP_STATUS_READY1_Pos)          /**< (OPAMP_STATUS) OPAMP 1 Ready Mask */
+#define OPAMP_STATUS_READY1                 OPAMP_STATUS_READY1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_STATUS_READY1_Msk instead */
+#define OPAMP_STATUS_READY2_Pos             2                                              /**< (OPAMP_STATUS) OPAMP 2 Ready Position */
+#define OPAMP_STATUS_READY2_Msk             (_U_(0x1) << OPAMP_STATUS_READY2_Pos)          /**< (OPAMP_STATUS) OPAMP 2 Ready Mask */
+#define OPAMP_STATUS_READY2                 OPAMP_STATUS_READY2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_STATUS_READY2_Msk instead */
+#define OPAMP_STATUS_MASK                   _U_(0x07)                                      /**< \deprecated (OPAMP_STATUS) Register MASK  (Use OPAMP_STATUS_Msk instead)  */
+#define OPAMP_STATUS_Msk                    _U_(0x07)                                      /**< (OPAMP_STATUS) Register Mask  */
+
+#define OPAMP_STATUS_READY_Pos              0                                              /**< (OPAMP_STATUS Position) OPAMP 2 Ready */
+#define OPAMP_STATUS_READY_Msk              (_U_(0x7) << OPAMP_STATUS_READY_Pos)           /**< (OPAMP_STATUS Mask) READY */
+#define OPAMP_STATUS_READY(value)           (OPAMP_STATUS_READY_Msk & ((value) << OPAMP_STATUS_READY_Pos))  
+
+/* -------- OPAMP_OPAMPCTRL : (OPAMP Offset: 0x04) (R/W 32) OPAMP n Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Operational Amplifier Enable             */
+    uint32_t ANAOUT:1;                  /**< bit:      2  Analog Output                            */
+    uint32_t BIAS:2;                    /**< bit:   3..4  Bias Selection                           */
+    uint32_t RES2VCC:1;                 /**< bit:      5  Resistor ladder To VCC                   */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint32_t ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+    uint32_t RES2OUT:1;                 /**< bit:      8  Resistor ladder To Output                */
+    uint32_t RES1EN:1;                  /**< bit:      9  Resistor 1 Enable                        */
+    uint32_t RES1MUX:3;                 /**< bit: 10..12  Resistor 1 Mux                           */
+    uint32_t POTMUX:3;                  /**< bit: 13..15  Potentiometer Selection                  */
+    uint32_t MUXPOS:4;                  /**< bit: 16..19  Positive Input Mux Selection             */
+    uint32_t MUXNEG:4;                  /**< bit: 20..23  Negative Input Mux Selection             */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OPAMP_OPAMPCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OPAMP_OPAMPCTRL_OFFSET              (0x04)                                        /**<  (OPAMP_OPAMPCTRL) OPAMP n Control  Offset */
+#define OPAMP_OPAMPCTRL_RESETVALUE          _U_(0x00)                                     /**<  (OPAMP_OPAMPCTRL) OPAMP n Control  Reset Value */
+
+#define OPAMP_OPAMPCTRL_ENABLE_Pos          1                                              /**< (OPAMP_OPAMPCTRL) Operational Amplifier Enable Position */
+#define OPAMP_OPAMPCTRL_ENABLE_Msk          (_U_(0x1) << OPAMP_OPAMPCTRL_ENABLE_Pos)       /**< (OPAMP_OPAMPCTRL) Operational Amplifier Enable Mask */
+#define OPAMP_OPAMPCTRL_ENABLE              OPAMP_OPAMPCTRL_ENABLE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_ENABLE_Msk instead */
+#define OPAMP_OPAMPCTRL_ANAOUT_Pos          2                                              /**< (OPAMP_OPAMPCTRL) Analog Output Position */
+#define OPAMP_OPAMPCTRL_ANAOUT_Msk          (_U_(0x1) << OPAMP_OPAMPCTRL_ANAOUT_Pos)       /**< (OPAMP_OPAMPCTRL) Analog Output Mask */
+#define OPAMP_OPAMPCTRL_ANAOUT              OPAMP_OPAMPCTRL_ANAOUT_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_ANAOUT_Msk instead */
+#define OPAMP_OPAMPCTRL_BIAS_Pos            3                                              /**< (OPAMP_OPAMPCTRL) Bias Selection Position */
+#define OPAMP_OPAMPCTRL_BIAS_Msk            (_U_(0x3) << OPAMP_OPAMPCTRL_BIAS_Pos)         /**< (OPAMP_OPAMPCTRL) Bias Selection Mask */
+#define OPAMP_OPAMPCTRL_BIAS(value)         (OPAMP_OPAMPCTRL_BIAS_Msk & ((value) << OPAMP_OPAMPCTRL_BIAS_Pos))
+#define OPAMP_OPAMPCTRL_RES2VCC_Pos         5                                              /**< (OPAMP_OPAMPCTRL) Resistor ladder To VCC Position */
+#define OPAMP_OPAMPCTRL_RES2VCC_Msk         (_U_(0x1) << OPAMP_OPAMPCTRL_RES2VCC_Pos)      /**< (OPAMP_OPAMPCTRL) Resistor ladder To VCC Mask */
+#define OPAMP_OPAMPCTRL_RES2VCC             OPAMP_OPAMPCTRL_RES2VCC_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_RES2VCC_Msk instead */
+#define OPAMP_OPAMPCTRL_RUNSTDBY_Pos        6                                              /**< (OPAMP_OPAMPCTRL) Run in Standby Position */
+#define OPAMP_OPAMPCTRL_RUNSTDBY_Msk        (_U_(0x1) << OPAMP_OPAMPCTRL_RUNSTDBY_Pos)     /**< (OPAMP_OPAMPCTRL) Run in Standby Mask */
+#define OPAMP_OPAMPCTRL_RUNSTDBY            OPAMP_OPAMPCTRL_RUNSTDBY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_RUNSTDBY_Msk instead */
+#define OPAMP_OPAMPCTRL_ONDEMAND_Pos        7                                              /**< (OPAMP_OPAMPCTRL) On Demand Control Position */
+#define OPAMP_OPAMPCTRL_ONDEMAND_Msk        (_U_(0x1) << OPAMP_OPAMPCTRL_ONDEMAND_Pos)     /**< (OPAMP_OPAMPCTRL) On Demand Control Mask */
+#define OPAMP_OPAMPCTRL_ONDEMAND            OPAMP_OPAMPCTRL_ONDEMAND_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_ONDEMAND_Msk instead */
+#define OPAMP_OPAMPCTRL_RES2OUT_Pos         8                                              /**< (OPAMP_OPAMPCTRL) Resistor ladder To Output Position */
+#define OPAMP_OPAMPCTRL_RES2OUT_Msk         (_U_(0x1) << OPAMP_OPAMPCTRL_RES2OUT_Pos)      /**< (OPAMP_OPAMPCTRL) Resistor ladder To Output Mask */
+#define OPAMP_OPAMPCTRL_RES2OUT             OPAMP_OPAMPCTRL_RES2OUT_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_RES2OUT_Msk instead */
+#define OPAMP_OPAMPCTRL_RES1EN_Pos          9                                              /**< (OPAMP_OPAMPCTRL) Resistor 1 Enable Position */
+#define OPAMP_OPAMPCTRL_RES1EN_Msk          (_U_(0x1) << OPAMP_OPAMPCTRL_RES1EN_Pos)       /**< (OPAMP_OPAMPCTRL) Resistor 1 Enable Mask */
+#define OPAMP_OPAMPCTRL_RES1EN              OPAMP_OPAMPCTRL_RES1EN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_OPAMPCTRL_RES1EN_Msk instead */
+#define OPAMP_OPAMPCTRL_RES1MUX_Pos         10                                             /**< (OPAMP_OPAMPCTRL) Resistor 1 Mux Position */
+#define OPAMP_OPAMPCTRL_RES1MUX_Msk         (_U_(0x7) << OPAMP_OPAMPCTRL_RES1MUX_Pos)      /**< (OPAMP_OPAMPCTRL) Resistor 1 Mux Mask */
+#define OPAMP_OPAMPCTRL_RES1MUX(value)      (OPAMP_OPAMPCTRL_RES1MUX_Msk & ((value) << OPAMP_OPAMPCTRL_RES1MUX_Pos))
+#define OPAMP_OPAMPCTRL_POTMUX_Pos          13                                             /**< (OPAMP_OPAMPCTRL) Potentiometer Selection Position */
+#define OPAMP_OPAMPCTRL_POTMUX_Msk          (_U_(0x7) << OPAMP_OPAMPCTRL_POTMUX_Pos)       /**< (OPAMP_OPAMPCTRL) Potentiometer Selection Mask */
+#define OPAMP_OPAMPCTRL_POTMUX(value)       (OPAMP_OPAMPCTRL_POTMUX_Msk & ((value) << OPAMP_OPAMPCTRL_POTMUX_Pos))
+#define OPAMP_OPAMPCTRL_MUXPOS_Pos          16                                             /**< (OPAMP_OPAMPCTRL) Positive Input Mux Selection Position */
+#define OPAMP_OPAMPCTRL_MUXPOS_Msk          (_U_(0xF) << OPAMP_OPAMPCTRL_MUXPOS_Pos)       /**< (OPAMP_OPAMPCTRL) Positive Input Mux Selection Mask */
+#define OPAMP_OPAMPCTRL_MUXPOS(value)       (OPAMP_OPAMPCTRL_MUXPOS_Msk & ((value) << OPAMP_OPAMPCTRL_MUXPOS_Pos))
+#define OPAMP_OPAMPCTRL_MUXNEG_Pos          20                                             /**< (OPAMP_OPAMPCTRL) Negative Input Mux Selection Position */
+#define OPAMP_OPAMPCTRL_MUXNEG_Msk          (_U_(0xF) << OPAMP_OPAMPCTRL_MUXNEG_Pos)       /**< (OPAMP_OPAMPCTRL) Negative Input Mux Selection Mask */
+#define OPAMP_OPAMPCTRL_MUXNEG(value)       (OPAMP_OPAMPCTRL_MUXNEG_Msk & ((value) << OPAMP_OPAMPCTRL_MUXNEG_Pos))
+#define OPAMP_OPAMPCTRL_MASK                _U_(0xFFFFFE)                                  /**< \deprecated (OPAMP_OPAMPCTRL) Register MASK  (Use OPAMP_OPAMPCTRL_Msk instead)  */
+#define OPAMP_OPAMPCTRL_Msk                 _U_(0xFFFFFE)                                  /**< (OPAMP_OPAMPCTRL) Register Mask  */
+
+
+/* -------- OPAMP_RESCTRL : (OPAMP Offset: 0x10) (R/W 8) Resister Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RES2OUT:1;                 /**< bit:      0  Resistor ladder To Output                */
+    uint8_t  RES1EN:1;                  /**< bit:      1  Resistor 1 Enable                        */
+    uint8_t  RES1MUX:1;                 /**< bit:      2  Resistor 1 Mux                           */
+    uint8_t  POTMUX:3;                  /**< bit:   3..5  Potentiometer Selection                  */
+    uint8_t  REFBUFLEVEL:2;             /**< bit:   6..7  Reference output voltage level select    */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OPAMP_RESCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OPAMP_RESCTRL_OFFSET                (0x10)                                        /**<  (OPAMP_RESCTRL) Resister Control  Offset */
+#define OPAMP_RESCTRL_RESETVALUE            _U_(0x00)                                     /**<  (OPAMP_RESCTRL) Resister Control  Reset Value */
+
+#define OPAMP_RESCTRL_RES2OUT_Pos           0                                              /**< (OPAMP_RESCTRL) Resistor ladder To Output Position */
+#define OPAMP_RESCTRL_RES2OUT_Msk           (_U_(0x1) << OPAMP_RESCTRL_RES2OUT_Pos)        /**< (OPAMP_RESCTRL) Resistor ladder To Output Mask */
+#define OPAMP_RESCTRL_RES2OUT               OPAMP_RESCTRL_RES2OUT_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_RESCTRL_RES2OUT_Msk instead */
+#define OPAMP_RESCTRL_RES1EN_Pos            1                                              /**< (OPAMP_RESCTRL) Resistor 1 Enable Position */
+#define OPAMP_RESCTRL_RES1EN_Msk            (_U_(0x1) << OPAMP_RESCTRL_RES1EN_Pos)         /**< (OPAMP_RESCTRL) Resistor 1 Enable Mask */
+#define OPAMP_RESCTRL_RES1EN                OPAMP_RESCTRL_RES1EN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_RESCTRL_RES1EN_Msk instead */
+#define OPAMP_RESCTRL_RES1MUX_Pos           2                                              /**< (OPAMP_RESCTRL) Resistor 1 Mux Position */
+#define OPAMP_RESCTRL_RES1MUX_Msk           (_U_(0x1) << OPAMP_RESCTRL_RES1MUX_Pos)        /**< (OPAMP_RESCTRL) Resistor 1 Mux Mask */
+#define OPAMP_RESCTRL_RES1MUX               OPAMP_RESCTRL_RES1MUX_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use OPAMP_RESCTRL_RES1MUX_Msk instead */
+#define OPAMP_RESCTRL_POTMUX_Pos            3                                              /**< (OPAMP_RESCTRL) Potentiometer Selection Position */
+#define OPAMP_RESCTRL_POTMUX_Msk            (_U_(0x7) << OPAMP_RESCTRL_POTMUX_Pos)         /**< (OPAMP_RESCTRL) Potentiometer Selection Mask */
+#define OPAMP_RESCTRL_POTMUX(value)         (OPAMP_RESCTRL_POTMUX_Msk & ((value) << OPAMP_RESCTRL_POTMUX_Pos))
+#define OPAMP_RESCTRL_REFBUFLEVEL_Pos       6                                              /**< (OPAMP_RESCTRL) Reference output voltage level select Position */
+#define OPAMP_RESCTRL_REFBUFLEVEL_Msk       (_U_(0x3) << OPAMP_RESCTRL_REFBUFLEVEL_Pos)    /**< (OPAMP_RESCTRL) Reference output voltage level select Mask */
+#define OPAMP_RESCTRL_REFBUFLEVEL(value)    (OPAMP_RESCTRL_REFBUFLEVEL_Msk & ((value) << OPAMP_RESCTRL_REFBUFLEVEL_Pos))
+#define OPAMP_RESCTRL_MASK                  _U_(0xFF)                                      /**< \deprecated (OPAMP_RESCTRL) Register MASK  (Use OPAMP_RESCTRL_Msk instead)  */
+#define OPAMP_RESCTRL_Msk                   _U_(0xFF)                                      /**< (OPAMP_RESCTRL) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief OPAMP hardware registers */
+typedef struct {  /* Operational Amplifier */
+  __IO OPAMP_CTRLA_Type               CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __I  uint8_t                        Reserved1[1];
+  __I  OPAMP_STATUS_Type              STATUS;         /**< Offset: 0x02 (R/    8) Status */
+  __I  uint8_t                        Reserved2[1];
+  __IO OPAMP_OPAMPCTRL_Type           OPAMPCTRL[3];   /**< Offset: 0x04 (R/W  32) OPAMP n Control */
+  __IO OPAMP_RESCTRL_Type             RESCTRL;        /**< Offset: 0x10 (R/W   8) Resister Control */
+} Opamp;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Operational Amplifier */
+
+#endif /* _SAML11_OPAMP_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/osc32kctrl.h b/cpu/sam0_common/include/vendor/saml11/include/component/osc32kctrl.h
new file mode 100644
index 0000000000..44af5c50d8
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/osc32kctrl.h
@@ -0,0 +1,344 @@
+/**
+ * \file
+ *
+ * \brief Component description for OSC32KCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_OSC32KCTRL_COMPONENT_H_
+#define _SAML11_OSC32KCTRL_COMPONENT_H_
+#define _SAML11_OSC32KCTRL_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 32k Oscillators Control
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR OSC32KCTRL */
+/* ========================================================================== */
+
+#define OSC32KCTRL_U2246                      /**< (OSC32KCTRL) Module ID */
+#define REV_OSC32KCTRL 0x400                  /**< (OSC32KCTRL) Module revision */
+
+/* -------- OSC32KCTRL_INTENCLR : (OSC32KCTRL Offset: 0x00) (R/W 32) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSC32KRDY:1;              /**< bit:      0  XOSC32K Ready Interrupt Enable           */
+    uint32_t :1;                        /**< bit:      1  Reserved */
+    uint32_t CLKFAIL:1;                 /**< bit:      2  XOSC32K Clock Failure Detector Interrupt Enable */
+    uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_INTENCLR_OFFSET          (0x00)                                        /**<  (OSC32KCTRL_INTENCLR) Interrupt Enable Clear  Offset */
+#define OSC32KCTRL_INTENCLR_RESETVALUE      _U_(0x00)                                     /**<  (OSC32KCTRL_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define OSC32KCTRL_INTENCLR_XOSC32KRDY_Pos  0                                              /**< (OSC32KCTRL_INTENCLR) XOSC32K Ready Interrupt Enable Position */
+#define OSC32KCTRL_INTENCLR_XOSC32KRDY_Msk  (_U_(0x1) << OSC32KCTRL_INTENCLR_XOSC32KRDY_Pos)  /**< (OSC32KCTRL_INTENCLR) XOSC32K Ready Interrupt Enable Mask */
+#define OSC32KCTRL_INTENCLR_XOSC32KRDY      OSC32KCTRL_INTENCLR_XOSC32KRDY_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTENCLR_XOSC32KRDY_Msk instead */
+#define OSC32KCTRL_INTENCLR_CLKFAIL_Pos     2                                              /**< (OSC32KCTRL_INTENCLR) XOSC32K Clock Failure Detector Interrupt Enable Position */
+#define OSC32KCTRL_INTENCLR_CLKFAIL_Msk     (_U_(0x1) << OSC32KCTRL_INTENCLR_CLKFAIL_Pos)  /**< (OSC32KCTRL_INTENCLR) XOSC32K Clock Failure Detector Interrupt Enable Mask */
+#define OSC32KCTRL_INTENCLR_CLKFAIL         OSC32KCTRL_INTENCLR_CLKFAIL_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTENCLR_CLKFAIL_Msk instead */
+#define OSC32KCTRL_INTENCLR_MASK            _U_(0x05)                                      /**< \deprecated (OSC32KCTRL_INTENCLR) Register MASK  (Use OSC32KCTRL_INTENCLR_Msk instead)  */
+#define OSC32KCTRL_INTENCLR_Msk             _U_(0x05)                                      /**< (OSC32KCTRL_INTENCLR) Register Mask  */
+
+
+/* -------- OSC32KCTRL_INTENSET : (OSC32KCTRL Offset: 0x04) (R/W 32) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSC32KRDY:1;              /**< bit:      0  XOSC32K Ready Interrupt Enable           */
+    uint32_t :1;                        /**< bit:      1  Reserved */
+    uint32_t CLKFAIL:1;                 /**< bit:      2  XOSC32K Clock Failure Detector Interrupt Enable */
+    uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_INTENSET_OFFSET          (0x04)                                        /**<  (OSC32KCTRL_INTENSET) Interrupt Enable Set  Offset */
+#define OSC32KCTRL_INTENSET_RESETVALUE      _U_(0x00)                                     /**<  (OSC32KCTRL_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define OSC32KCTRL_INTENSET_XOSC32KRDY_Pos  0                                              /**< (OSC32KCTRL_INTENSET) XOSC32K Ready Interrupt Enable Position */
+#define OSC32KCTRL_INTENSET_XOSC32KRDY_Msk  (_U_(0x1) << OSC32KCTRL_INTENSET_XOSC32KRDY_Pos)  /**< (OSC32KCTRL_INTENSET) XOSC32K Ready Interrupt Enable Mask */
+#define OSC32KCTRL_INTENSET_XOSC32KRDY      OSC32KCTRL_INTENSET_XOSC32KRDY_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTENSET_XOSC32KRDY_Msk instead */
+#define OSC32KCTRL_INTENSET_CLKFAIL_Pos     2                                              /**< (OSC32KCTRL_INTENSET) XOSC32K Clock Failure Detector Interrupt Enable Position */
+#define OSC32KCTRL_INTENSET_CLKFAIL_Msk     (_U_(0x1) << OSC32KCTRL_INTENSET_CLKFAIL_Pos)  /**< (OSC32KCTRL_INTENSET) XOSC32K Clock Failure Detector Interrupt Enable Mask */
+#define OSC32KCTRL_INTENSET_CLKFAIL         OSC32KCTRL_INTENSET_CLKFAIL_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTENSET_CLKFAIL_Msk instead */
+#define OSC32KCTRL_INTENSET_MASK            _U_(0x05)                                      /**< \deprecated (OSC32KCTRL_INTENSET) Register MASK  (Use OSC32KCTRL_INTENSET_Msk instead)  */
+#define OSC32KCTRL_INTENSET_Msk             _U_(0x05)                                      /**< (OSC32KCTRL_INTENSET) Register Mask  */
+
+
+/* -------- OSC32KCTRL_INTFLAG : (OSC32KCTRL Offset: 0x08) (R/W 32) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t XOSC32KRDY:1;              /**< bit:      0  XOSC32K Ready                            */
+    __I uint32_t :1;                        /**< bit:      1  Reserved */
+    __I uint32_t CLKFAIL:1;                 /**< bit:      2  XOSC32K Clock Failure Detector           */
+    __I uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_INTFLAG_OFFSET           (0x08)                                        /**<  (OSC32KCTRL_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define OSC32KCTRL_INTFLAG_RESETVALUE       _U_(0x00)                                     /**<  (OSC32KCTRL_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define OSC32KCTRL_INTFLAG_XOSC32KRDY_Pos   0                                              /**< (OSC32KCTRL_INTFLAG) XOSC32K Ready Position */
+#define OSC32KCTRL_INTFLAG_XOSC32KRDY_Msk   (_U_(0x1) << OSC32KCTRL_INTFLAG_XOSC32KRDY_Pos)  /**< (OSC32KCTRL_INTFLAG) XOSC32K Ready Mask */
+#define OSC32KCTRL_INTFLAG_XOSC32KRDY       OSC32KCTRL_INTFLAG_XOSC32KRDY_Msk              /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTFLAG_XOSC32KRDY_Msk instead */
+#define OSC32KCTRL_INTFLAG_CLKFAIL_Pos      2                                              /**< (OSC32KCTRL_INTFLAG) XOSC32K Clock Failure Detector Position */
+#define OSC32KCTRL_INTFLAG_CLKFAIL_Msk      (_U_(0x1) << OSC32KCTRL_INTFLAG_CLKFAIL_Pos)   /**< (OSC32KCTRL_INTFLAG) XOSC32K Clock Failure Detector Mask */
+#define OSC32KCTRL_INTFLAG_CLKFAIL          OSC32KCTRL_INTFLAG_CLKFAIL_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_INTFLAG_CLKFAIL_Msk instead */
+#define OSC32KCTRL_INTFLAG_MASK             _U_(0x05)                                      /**< \deprecated (OSC32KCTRL_INTFLAG) Register MASK  (Use OSC32KCTRL_INTFLAG_Msk instead)  */
+#define OSC32KCTRL_INTFLAG_Msk              _U_(0x05)                                      /**< (OSC32KCTRL_INTFLAG) Register Mask  */
+
+
+/* -------- OSC32KCTRL_STATUS : (OSC32KCTRL Offset: 0x0c) (R/ 32) Power and Clocks Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSC32KRDY:1;              /**< bit:      0  XOSC32K Ready                            */
+    uint32_t :1;                        /**< bit:      1  Reserved */
+    uint32_t CLKFAIL:1;                 /**< bit:      2  XOSC32K Clock Failure Detector           */
+    uint32_t CLKSW:1;                   /**< bit:      3  XOSC32K Clock switch                     */
+    uint32_t ULP32KSW:1;                /**< bit:      4  OSCULP32K Clock Switch                   */
+    uint32_t :27;                       /**< bit:  5..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_STATUS_OFFSET            (0x0C)                                        /**<  (OSC32KCTRL_STATUS) Power and Clocks Status  Offset */
+#define OSC32KCTRL_STATUS_RESETVALUE        _U_(0x00)                                     /**<  (OSC32KCTRL_STATUS) Power and Clocks Status  Reset Value */
+
+#define OSC32KCTRL_STATUS_XOSC32KRDY_Pos    0                                              /**< (OSC32KCTRL_STATUS) XOSC32K Ready Position */
+#define OSC32KCTRL_STATUS_XOSC32KRDY_Msk    (_U_(0x1) << OSC32KCTRL_STATUS_XOSC32KRDY_Pos)  /**< (OSC32KCTRL_STATUS) XOSC32K Ready Mask */
+#define OSC32KCTRL_STATUS_XOSC32KRDY        OSC32KCTRL_STATUS_XOSC32KRDY_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_STATUS_XOSC32KRDY_Msk instead */
+#define OSC32KCTRL_STATUS_CLKFAIL_Pos       2                                              /**< (OSC32KCTRL_STATUS) XOSC32K Clock Failure Detector Position */
+#define OSC32KCTRL_STATUS_CLKFAIL_Msk       (_U_(0x1) << OSC32KCTRL_STATUS_CLKFAIL_Pos)    /**< (OSC32KCTRL_STATUS) XOSC32K Clock Failure Detector Mask */
+#define OSC32KCTRL_STATUS_CLKFAIL           OSC32KCTRL_STATUS_CLKFAIL_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_STATUS_CLKFAIL_Msk instead */
+#define OSC32KCTRL_STATUS_CLKSW_Pos         3                                              /**< (OSC32KCTRL_STATUS) XOSC32K Clock switch Position */
+#define OSC32KCTRL_STATUS_CLKSW_Msk         (_U_(0x1) << OSC32KCTRL_STATUS_CLKSW_Pos)      /**< (OSC32KCTRL_STATUS) XOSC32K Clock switch Mask */
+#define OSC32KCTRL_STATUS_CLKSW             OSC32KCTRL_STATUS_CLKSW_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_STATUS_CLKSW_Msk instead */
+#define OSC32KCTRL_STATUS_ULP32KSW_Pos      4                                              /**< (OSC32KCTRL_STATUS) OSCULP32K Clock Switch Position */
+#define OSC32KCTRL_STATUS_ULP32KSW_Msk      (_U_(0x1) << OSC32KCTRL_STATUS_ULP32KSW_Pos)   /**< (OSC32KCTRL_STATUS) OSCULP32K Clock Switch Mask */
+#define OSC32KCTRL_STATUS_ULP32KSW          OSC32KCTRL_STATUS_ULP32KSW_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_STATUS_ULP32KSW_Msk instead */
+#define OSC32KCTRL_STATUS_MASK              _U_(0x1D)                                      /**< \deprecated (OSC32KCTRL_STATUS) Register MASK  (Use OSC32KCTRL_STATUS_Msk instead)  */
+#define OSC32KCTRL_STATUS_Msk               _U_(0x1D)                                      /**< (OSC32KCTRL_STATUS) Register Mask  */
+
+
+/* -------- OSC32KCTRL_RTCCTRL : (OSC32KCTRL Offset: 0x10) (R/W 8) RTC Clock Selection -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RTCSEL:3;                  /**< bit:   0..2  RTC Clock Selection                      */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSC32KCTRL_RTCCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_RTCCTRL_OFFSET           (0x10)                                        /**<  (OSC32KCTRL_RTCCTRL) RTC Clock Selection  Offset */
+#define OSC32KCTRL_RTCCTRL_RESETVALUE       _U_(0x00)                                     /**<  (OSC32KCTRL_RTCCTRL) RTC Clock Selection  Reset Value */
+
+#define OSC32KCTRL_RTCCTRL_RTCSEL_Pos       0                                              /**< (OSC32KCTRL_RTCCTRL) RTC Clock Selection Position */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_Msk       (_U_(0x7) << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)    /**< (OSC32KCTRL_RTCCTRL) RTC Clock Selection Mask */
+#define OSC32KCTRL_RTCCTRL_RTCSEL(value)    (OSC32KCTRL_RTCCTRL_RTCSEL_Msk & ((value) << OSC32KCTRL_RTCCTRL_RTCSEL_Pos))
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_ULP1K_Val _U_(0x0)                                       /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32kHz internal ULP oscillator  */
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_ULP32K_Val _U_(0x1)                                       /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32kHz internal ULP oscillator  */
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_OSC1K_Val _U_(0x2)                                       /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32.768kHz internal oscillator  */
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_OSC32K_Val _U_(0x3)                                       /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32.768kHz internal oscillator  */
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_XOSC1K_Val _U_(0x4)                                       /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32.768kHz internal oscillator  */
+#define   OSC32KCTRL_RTCCTRL_RTCSEL_XOSC32K_Val _U_(0x5)                                       /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32.768kHz external crystal oscillator  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_ULP1K     (OSC32KCTRL_RTCCTRL_RTCSEL_ULP1K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32kHz internal ULP oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_ULP32K    (OSC32KCTRL_RTCCTRL_RTCSEL_ULP32K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32kHz internal ULP oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_OSC1K     (OSC32KCTRL_RTCCTRL_RTCSEL_OSC1K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32.768kHz internal oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_OSC32K    (OSC32KCTRL_RTCCTRL_RTCSEL_OSC32K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32.768kHz internal oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_XOSC1K    (OSC32KCTRL_RTCCTRL_RTCSEL_XOSC1K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 1.024kHz from 32.768kHz internal oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_RTCSEL_XOSC32K   (OSC32KCTRL_RTCCTRL_RTCSEL_XOSC32K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)  /**< (OSC32KCTRL_RTCCTRL) 32.768kHz from 32.768kHz external crystal oscillator Position  */
+#define OSC32KCTRL_RTCCTRL_MASK             _U_(0x07)                                      /**< \deprecated (OSC32KCTRL_RTCCTRL) Register MASK  (Use OSC32KCTRL_RTCCTRL_Msk instead)  */
+#define OSC32KCTRL_RTCCTRL_Msk              _U_(0x07)                                      /**< (OSC32KCTRL_RTCCTRL) Register Mask  */
+
+
+/* -------- OSC32KCTRL_XOSC32K : (OSC32KCTRL Offset: 0x14) (R/W 16) 32kHz External Crystal Oscillator (XOSC32K) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t :1;                        /**< bit:      0  Reserved */
+    uint16_t ENABLE:1;                  /**< bit:      1  Oscillator Enable                        */
+    uint16_t XTALEN:1;                  /**< bit:      2  Crystal Oscillator Enable                */
+    uint16_t EN32K:1;                   /**< bit:      3  32kHz Output Enable                      */
+    uint16_t EN1K:1;                    /**< bit:      4  1kHz Output Enable                       */
+    uint16_t :1;                        /**< bit:      5  Reserved */
+    uint16_t RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint16_t ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+    uint16_t STARTUP:3;                 /**< bit:  8..10  Oscillator Start-Up Time                 */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t WRTLOCK:1;                 /**< bit:     12  Write Lock                               */
+    uint16_t :3;                        /**< bit: 13..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_XOSC32K_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_XOSC32K_OFFSET           (0x14)                                        /**<  (OSC32KCTRL_XOSC32K) 32kHz External Crystal Oscillator (XOSC32K) Control  Offset */
+#define OSC32KCTRL_XOSC32K_RESETVALUE       _U_(0x80)                                     /**<  (OSC32KCTRL_XOSC32K) 32kHz External Crystal Oscillator (XOSC32K) Control  Reset Value */
+
+#define OSC32KCTRL_XOSC32K_ENABLE_Pos       1                                              /**< (OSC32KCTRL_XOSC32K) Oscillator Enable Position */
+#define OSC32KCTRL_XOSC32K_ENABLE_Msk       (_U_(0x1) << OSC32KCTRL_XOSC32K_ENABLE_Pos)    /**< (OSC32KCTRL_XOSC32K) Oscillator Enable Mask */
+#define OSC32KCTRL_XOSC32K_ENABLE           OSC32KCTRL_XOSC32K_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_ENABLE_Msk instead */
+#define OSC32KCTRL_XOSC32K_XTALEN_Pos       2                                              /**< (OSC32KCTRL_XOSC32K) Crystal Oscillator Enable Position */
+#define OSC32KCTRL_XOSC32K_XTALEN_Msk       (_U_(0x1) << OSC32KCTRL_XOSC32K_XTALEN_Pos)    /**< (OSC32KCTRL_XOSC32K) Crystal Oscillator Enable Mask */
+#define OSC32KCTRL_XOSC32K_XTALEN           OSC32KCTRL_XOSC32K_XTALEN_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_XTALEN_Msk instead */
+#define OSC32KCTRL_XOSC32K_EN32K_Pos        3                                              /**< (OSC32KCTRL_XOSC32K) 32kHz Output Enable Position */
+#define OSC32KCTRL_XOSC32K_EN32K_Msk        (_U_(0x1) << OSC32KCTRL_XOSC32K_EN32K_Pos)     /**< (OSC32KCTRL_XOSC32K) 32kHz Output Enable Mask */
+#define OSC32KCTRL_XOSC32K_EN32K            OSC32KCTRL_XOSC32K_EN32K_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_EN32K_Msk instead */
+#define OSC32KCTRL_XOSC32K_EN1K_Pos         4                                              /**< (OSC32KCTRL_XOSC32K) 1kHz Output Enable Position */
+#define OSC32KCTRL_XOSC32K_EN1K_Msk         (_U_(0x1) << OSC32KCTRL_XOSC32K_EN1K_Pos)      /**< (OSC32KCTRL_XOSC32K) 1kHz Output Enable Mask */
+#define OSC32KCTRL_XOSC32K_EN1K             OSC32KCTRL_XOSC32K_EN1K_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_EN1K_Msk instead */
+#define OSC32KCTRL_XOSC32K_RUNSTDBY_Pos     6                                              /**< (OSC32KCTRL_XOSC32K) Run in Standby Position */
+#define OSC32KCTRL_XOSC32K_RUNSTDBY_Msk     (_U_(0x1) << OSC32KCTRL_XOSC32K_RUNSTDBY_Pos)  /**< (OSC32KCTRL_XOSC32K) Run in Standby Mask */
+#define OSC32KCTRL_XOSC32K_RUNSTDBY         OSC32KCTRL_XOSC32K_RUNSTDBY_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_RUNSTDBY_Msk instead */
+#define OSC32KCTRL_XOSC32K_ONDEMAND_Pos     7                                              /**< (OSC32KCTRL_XOSC32K) On Demand Control Position */
+#define OSC32KCTRL_XOSC32K_ONDEMAND_Msk     (_U_(0x1) << OSC32KCTRL_XOSC32K_ONDEMAND_Pos)  /**< (OSC32KCTRL_XOSC32K) On Demand Control Mask */
+#define OSC32KCTRL_XOSC32K_ONDEMAND         OSC32KCTRL_XOSC32K_ONDEMAND_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_ONDEMAND_Msk instead */
+#define OSC32KCTRL_XOSC32K_STARTUP_Pos      8                                              /**< (OSC32KCTRL_XOSC32K) Oscillator Start-Up Time Position */
+#define OSC32KCTRL_XOSC32K_STARTUP_Msk      (_U_(0x7) << OSC32KCTRL_XOSC32K_STARTUP_Pos)   /**< (OSC32KCTRL_XOSC32K) Oscillator Start-Up Time Mask */
+#define OSC32KCTRL_XOSC32K_STARTUP(value)   (OSC32KCTRL_XOSC32K_STARTUP_Msk & ((value) << OSC32KCTRL_XOSC32K_STARTUP_Pos))
+#define OSC32KCTRL_XOSC32K_WRTLOCK_Pos      12                                             /**< (OSC32KCTRL_XOSC32K) Write Lock Position */
+#define OSC32KCTRL_XOSC32K_WRTLOCK_Msk      (_U_(0x1) << OSC32KCTRL_XOSC32K_WRTLOCK_Pos)   /**< (OSC32KCTRL_XOSC32K) Write Lock Mask */
+#define OSC32KCTRL_XOSC32K_WRTLOCK          OSC32KCTRL_XOSC32K_WRTLOCK_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_XOSC32K_WRTLOCK_Msk instead */
+#define OSC32KCTRL_XOSC32K_MASK             _U_(0x17DE)                                    /**< \deprecated (OSC32KCTRL_XOSC32K) Register MASK  (Use OSC32KCTRL_XOSC32K_Msk instead)  */
+#define OSC32KCTRL_XOSC32K_Msk              _U_(0x17DE)                                    /**< (OSC32KCTRL_XOSC32K) Register Mask  */
+
+
+/* -------- OSC32KCTRL_CFDCTRL : (OSC32KCTRL Offset: 0x16) (R/W 8) Clock Failure Detector Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CFDEN:1;                   /**< bit:      0  Clock Failure Detector Enable            */
+    uint8_t  SWBACK:1;                  /**< bit:      1  Clock Switch Back                        */
+    uint8_t  CFDPRESC:1;                /**< bit:      2  Clock Failure Detector Prescaler         */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSC32KCTRL_CFDCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_CFDCTRL_OFFSET           (0x16)                                        /**<  (OSC32KCTRL_CFDCTRL) Clock Failure Detector Control  Offset */
+#define OSC32KCTRL_CFDCTRL_RESETVALUE       _U_(0x00)                                     /**<  (OSC32KCTRL_CFDCTRL) Clock Failure Detector Control  Reset Value */
+
+#define OSC32KCTRL_CFDCTRL_CFDEN_Pos        0                                              /**< (OSC32KCTRL_CFDCTRL) Clock Failure Detector Enable Position */
+#define OSC32KCTRL_CFDCTRL_CFDEN_Msk        (_U_(0x1) << OSC32KCTRL_CFDCTRL_CFDEN_Pos)     /**< (OSC32KCTRL_CFDCTRL) Clock Failure Detector Enable Mask */
+#define OSC32KCTRL_CFDCTRL_CFDEN            OSC32KCTRL_CFDCTRL_CFDEN_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_CFDCTRL_CFDEN_Msk instead */
+#define OSC32KCTRL_CFDCTRL_SWBACK_Pos       1                                              /**< (OSC32KCTRL_CFDCTRL) Clock Switch Back Position */
+#define OSC32KCTRL_CFDCTRL_SWBACK_Msk       (_U_(0x1) << OSC32KCTRL_CFDCTRL_SWBACK_Pos)    /**< (OSC32KCTRL_CFDCTRL) Clock Switch Back Mask */
+#define OSC32KCTRL_CFDCTRL_SWBACK           OSC32KCTRL_CFDCTRL_SWBACK_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_CFDCTRL_SWBACK_Msk instead */
+#define OSC32KCTRL_CFDCTRL_CFDPRESC_Pos     2                                              /**< (OSC32KCTRL_CFDCTRL) Clock Failure Detector Prescaler Position */
+#define OSC32KCTRL_CFDCTRL_CFDPRESC_Msk     (_U_(0x1) << OSC32KCTRL_CFDCTRL_CFDPRESC_Pos)  /**< (OSC32KCTRL_CFDCTRL) Clock Failure Detector Prescaler Mask */
+#define OSC32KCTRL_CFDCTRL_CFDPRESC         OSC32KCTRL_CFDCTRL_CFDPRESC_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_CFDCTRL_CFDPRESC_Msk instead */
+#define OSC32KCTRL_CFDCTRL_MASK             _U_(0x07)                                      /**< \deprecated (OSC32KCTRL_CFDCTRL) Register MASK  (Use OSC32KCTRL_CFDCTRL_Msk instead)  */
+#define OSC32KCTRL_CFDCTRL_Msk              _U_(0x07)                                      /**< (OSC32KCTRL_CFDCTRL) Register Mask  */
+
+
+/* -------- OSC32KCTRL_EVCTRL : (OSC32KCTRL Offset: 0x17) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CFDEO:1;                   /**< bit:      0  Clock Failure Detector Event Output Enable */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSC32KCTRL_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_EVCTRL_OFFSET            (0x17)                                        /**<  (OSC32KCTRL_EVCTRL) Event Control  Offset */
+#define OSC32KCTRL_EVCTRL_RESETVALUE        _U_(0x00)                                     /**<  (OSC32KCTRL_EVCTRL) Event Control  Reset Value */
+
+#define OSC32KCTRL_EVCTRL_CFDEO_Pos         0                                              /**< (OSC32KCTRL_EVCTRL) Clock Failure Detector Event Output Enable Position */
+#define OSC32KCTRL_EVCTRL_CFDEO_Msk         (_U_(0x1) << OSC32KCTRL_EVCTRL_CFDEO_Pos)      /**< (OSC32KCTRL_EVCTRL) Clock Failure Detector Event Output Enable Mask */
+#define OSC32KCTRL_EVCTRL_CFDEO             OSC32KCTRL_EVCTRL_CFDEO_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_EVCTRL_CFDEO_Msk instead */
+#define OSC32KCTRL_EVCTRL_MASK              _U_(0x01)                                      /**< \deprecated (OSC32KCTRL_EVCTRL) Register MASK  (Use OSC32KCTRL_EVCTRL_Msk instead)  */
+#define OSC32KCTRL_EVCTRL_Msk               _U_(0x01)                                      /**< (OSC32KCTRL_EVCTRL) Register Mask  */
+
+
+/* -------- OSC32KCTRL_OSCULP32K : (OSC32KCTRL Offset: 0x1c) (R/W 32) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :5;                        /**< bit:   0..4  Reserved */
+    uint32_t ULP32KSW:1;                /**< bit:      5  OSCULP32K Clock Switch Enable            */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t CALIB:5;                   /**< bit:  8..12  Oscillator Calibration                   */
+    uint32_t :2;                        /**< bit: 13..14  Reserved */
+    uint32_t WRTLOCK:1;                 /**< bit:     15  Write Lock                               */
+    uint32_t :16;                       /**< bit: 16..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSC32KCTRL_OSCULP32K_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSC32KCTRL_OSCULP32K_OFFSET         (0x1C)                                        /**<  (OSC32KCTRL_OSCULP32K) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control  Offset */
+#define OSC32KCTRL_OSCULP32K_RESETVALUE     _U_(0x00)                                     /**<  (OSC32KCTRL_OSCULP32K) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control  Reset Value */
+
+#define OSC32KCTRL_OSCULP32K_ULP32KSW_Pos   5                                              /**< (OSC32KCTRL_OSCULP32K) OSCULP32K Clock Switch Enable Position */
+#define OSC32KCTRL_OSCULP32K_ULP32KSW_Msk   (_U_(0x1) << OSC32KCTRL_OSCULP32K_ULP32KSW_Pos)  /**< (OSC32KCTRL_OSCULP32K) OSCULP32K Clock Switch Enable Mask */
+#define OSC32KCTRL_OSCULP32K_ULP32KSW       OSC32KCTRL_OSCULP32K_ULP32KSW_Msk              /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_OSCULP32K_ULP32KSW_Msk instead */
+#define OSC32KCTRL_OSCULP32K_CALIB_Pos      8                                              /**< (OSC32KCTRL_OSCULP32K) Oscillator Calibration Position */
+#define OSC32KCTRL_OSCULP32K_CALIB_Msk      (_U_(0x1F) << OSC32KCTRL_OSCULP32K_CALIB_Pos)  /**< (OSC32KCTRL_OSCULP32K) Oscillator Calibration Mask */
+#define OSC32KCTRL_OSCULP32K_CALIB(value)   (OSC32KCTRL_OSCULP32K_CALIB_Msk & ((value) << OSC32KCTRL_OSCULP32K_CALIB_Pos))
+#define OSC32KCTRL_OSCULP32K_WRTLOCK_Pos    15                                             /**< (OSC32KCTRL_OSCULP32K) Write Lock Position */
+#define OSC32KCTRL_OSCULP32K_WRTLOCK_Msk    (_U_(0x1) << OSC32KCTRL_OSCULP32K_WRTLOCK_Pos)  /**< (OSC32KCTRL_OSCULP32K) Write Lock Mask */
+#define OSC32KCTRL_OSCULP32K_WRTLOCK        OSC32KCTRL_OSCULP32K_WRTLOCK_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSC32KCTRL_OSCULP32K_WRTLOCK_Msk instead */
+#define OSC32KCTRL_OSCULP32K_MASK           _U_(0x9F20)                                    /**< \deprecated (OSC32KCTRL_OSCULP32K) Register MASK  (Use OSC32KCTRL_OSCULP32K_Msk instead)  */
+#define OSC32KCTRL_OSCULP32K_Msk            _U_(0x9F20)                                    /**< (OSC32KCTRL_OSCULP32K) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief OSC32KCTRL hardware registers */
+typedef struct {  /* 32k Oscillators Control */
+  __IO OSC32KCTRL_INTENCLR_Type       INTENCLR;       /**< Offset: 0x00 (R/W  32) Interrupt Enable Clear */
+  __IO OSC32KCTRL_INTENSET_Type       INTENSET;       /**< Offset: 0x04 (R/W  32) Interrupt Enable Set */
+  __IO OSC32KCTRL_INTFLAG_Type        INTFLAG;        /**< Offset: 0x08 (R/W  32) Interrupt Flag Status and Clear */
+  __I  OSC32KCTRL_STATUS_Type         STATUS;         /**< Offset: 0x0C (R/   32) Power and Clocks Status */
+  __IO OSC32KCTRL_RTCCTRL_Type        RTCCTRL;        /**< Offset: 0x10 (R/W   8) RTC Clock Selection */
+  __I  uint8_t                        Reserved1[3];
+  __IO OSC32KCTRL_XOSC32K_Type        XOSC32K;        /**< Offset: 0x14 (R/W  16) 32kHz External Crystal Oscillator (XOSC32K) Control */
+  __IO OSC32KCTRL_CFDCTRL_Type        CFDCTRL;        /**< Offset: 0x16 (R/W   8) Clock Failure Detector Control */
+  __IO OSC32KCTRL_EVCTRL_Type         EVCTRL;         /**< Offset: 0x17 (R/W   8) Event Control */
+  __I  uint8_t                        Reserved2[4];
+  __IO OSC32KCTRL_OSCULP32K_Type      OSCULP32K;      /**< Offset: 0x1C (R/W  32) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control */
+} Osc32kctrl;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of 32k Oscillators Control */
+
+#endif /* _SAML11_OSC32KCTRL_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/oscctrl.h b/cpu/sam0_common/include/vendor/saml11/include/component/oscctrl.h
new file mode 100644
index 0000000000..2042ace16b
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/oscctrl.h
@@ -0,0 +1,878 @@
+/**
+ * \file
+ *
+ * \brief Component description for OSCCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_OSCCTRL_COMPONENT_H_
+#define _SAML11_OSCCTRL_COMPONENT_H_
+#define _SAML11_OSCCTRL_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Oscillators Control
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR OSCCTRL */
+/* ========================================================================== */
+
+#define OSCCTRL_U2119                      /**< (OSCCTRL) Module ID */
+#define REV_OSCCTRL 0x400                  /**< (OSCCTRL) Module revision */
+
+/* -------- OSCCTRL_EVCTRL : (OSCCTRL Offset: 0x00) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CFDEO:1;                   /**< bit:      0  Clock Failure Detector Event Output Enable */
+    uint8_t  TUNEEI:1;                  /**< bit:      1  Tune Event Input Enable                  */
+    uint8_t  TUNEINV:1;                 /**< bit:      2  Tune Event Input Invert                  */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_EVCTRL_OFFSET               (0x00)                                        /**<  (OSCCTRL_EVCTRL) Event Control  Offset */
+#define OSCCTRL_EVCTRL_RESETVALUE           _U_(0x00)                                     /**<  (OSCCTRL_EVCTRL) Event Control  Reset Value */
+
+#define OSCCTRL_EVCTRL_CFDEO_Pos            0                                              /**< (OSCCTRL_EVCTRL) Clock Failure Detector Event Output Enable Position */
+#define OSCCTRL_EVCTRL_CFDEO_Msk            (_U_(0x1) << OSCCTRL_EVCTRL_CFDEO_Pos)         /**< (OSCCTRL_EVCTRL) Clock Failure Detector Event Output Enable Mask */
+#define OSCCTRL_EVCTRL_CFDEO                OSCCTRL_EVCTRL_CFDEO_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_EVCTRL_CFDEO_Msk instead */
+#define OSCCTRL_EVCTRL_TUNEEI_Pos           1                                              /**< (OSCCTRL_EVCTRL) Tune Event Input Enable Position */
+#define OSCCTRL_EVCTRL_TUNEEI_Msk           (_U_(0x1) << OSCCTRL_EVCTRL_TUNEEI_Pos)        /**< (OSCCTRL_EVCTRL) Tune Event Input Enable Mask */
+#define OSCCTRL_EVCTRL_TUNEEI               OSCCTRL_EVCTRL_TUNEEI_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_EVCTRL_TUNEEI_Msk instead */
+#define OSCCTRL_EVCTRL_TUNEINV_Pos          2                                              /**< (OSCCTRL_EVCTRL) Tune Event Input Invert Position */
+#define OSCCTRL_EVCTRL_TUNEINV_Msk          (_U_(0x1) << OSCCTRL_EVCTRL_TUNEINV_Pos)       /**< (OSCCTRL_EVCTRL) Tune Event Input Invert Mask */
+#define OSCCTRL_EVCTRL_TUNEINV              OSCCTRL_EVCTRL_TUNEINV_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_EVCTRL_TUNEINV_Msk instead */
+#define OSCCTRL_EVCTRL_MASK                 _U_(0x07)                                      /**< \deprecated (OSCCTRL_EVCTRL) Register MASK  (Use OSCCTRL_EVCTRL_Msk instead)  */
+#define OSCCTRL_EVCTRL_Msk                  _U_(0x07)                                      /**< (OSCCTRL_EVCTRL) Register Mask  */
+
+
+/* -------- OSCCTRL_INTENCLR : (OSCCTRL Offset: 0x04) (R/W 32) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSCRDY:1;                 /**< bit:      0  XOSC Ready Interrupt Enable              */
+    uint32_t XOSCFAIL:1;                /**< bit:      1  XOSC Clock Failure Detector Interrupt Enable */
+    uint32_t :2;                        /**< bit:   2..3  Reserved */
+    uint32_t OSC16MRDY:1;               /**< bit:      4  OSC16M Ready Interrupt Enable            */
+    uint32_t :3;                        /**< bit:   5..7  Reserved */
+    uint32_t DFLLULPRDY:1;              /**< bit:      8  DFLLULP Ready interrupt Enable           */
+    uint32_t DFLLULPLOCK:1;             /**< bit:      9  DFLLULP Lock Interrupt Enable            */
+    uint32_t DFLLULPNOLOCK:1;           /**< bit:     10  DFLLULP No Lock Interrupt Enable         */
+    uint32_t :5;                        /**< bit: 11..15  Reserved */
+    uint32_t DPLLLCKR:1;                /**< bit:     16  DPLL Lock Rise Interrupt Enable          */
+    uint32_t DPLLLCKF:1;                /**< bit:     17  DPLL Lock Fall Interrupt Enable          */
+    uint32_t DPLLLTO:1;                 /**< bit:     18  DPLL Lock Timeout Interrupt Enable       */
+    uint32_t DPLLLDRTO:1;               /**< bit:     19  DPLL Loop Divider Ratio Update Complete Interrupt Enable */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_INTENCLR_OFFSET             (0x04)                                        /**<  (OSCCTRL_INTENCLR) Interrupt Enable Clear  Offset */
+#define OSCCTRL_INTENCLR_RESETVALUE         _U_(0x00)                                     /**<  (OSCCTRL_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define OSCCTRL_INTENCLR_XOSCRDY_Pos        0                                              /**< (OSCCTRL_INTENCLR) XOSC Ready Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_XOSCRDY_Msk        (_U_(0x1) << OSCCTRL_INTENCLR_XOSCRDY_Pos)     /**< (OSCCTRL_INTENCLR) XOSC Ready Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_XOSCRDY            OSCCTRL_INTENCLR_XOSCRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_XOSCRDY_Msk instead */
+#define OSCCTRL_INTENCLR_XOSCFAIL_Pos       1                                              /**< (OSCCTRL_INTENCLR) XOSC Clock Failure Detector Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_XOSCFAIL_Msk       (_U_(0x1) << OSCCTRL_INTENCLR_XOSCFAIL_Pos)    /**< (OSCCTRL_INTENCLR) XOSC Clock Failure Detector Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_XOSCFAIL           OSCCTRL_INTENCLR_XOSCFAIL_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_XOSCFAIL_Msk instead */
+#define OSCCTRL_INTENCLR_OSC16MRDY_Pos      4                                              /**< (OSCCTRL_INTENCLR) OSC16M Ready Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_OSC16MRDY_Msk      (_U_(0x1) << OSCCTRL_INTENCLR_OSC16MRDY_Pos)   /**< (OSCCTRL_INTENCLR) OSC16M Ready Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_OSC16MRDY          OSCCTRL_INTENCLR_OSC16MRDY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_OSC16MRDY_Msk instead */
+#define OSCCTRL_INTENCLR_DFLLULPRDY_Pos     8                                              /**< (OSCCTRL_INTENCLR) DFLLULP Ready interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DFLLULPRDY_Msk     (_U_(0x1) << OSCCTRL_INTENCLR_DFLLULPRDY_Pos)  /**< (OSCCTRL_INTENCLR) DFLLULP Ready interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DFLLULPRDY         OSCCTRL_INTENCLR_DFLLULPRDY_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DFLLULPRDY_Msk instead */
+#define OSCCTRL_INTENCLR_DFLLULPLOCK_Pos    9                                              /**< (OSCCTRL_INTENCLR) DFLLULP Lock Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DFLLULPLOCK_Msk    (_U_(0x1) << OSCCTRL_INTENCLR_DFLLULPLOCK_Pos)  /**< (OSCCTRL_INTENCLR) DFLLULP Lock Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DFLLULPLOCK        OSCCTRL_INTENCLR_DFLLULPLOCK_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DFLLULPLOCK_Msk instead */
+#define OSCCTRL_INTENCLR_DFLLULPNOLOCK_Pos  10                                             /**< (OSCCTRL_INTENCLR) DFLLULP No Lock Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DFLLULPNOLOCK_Msk  (_U_(0x1) << OSCCTRL_INTENCLR_DFLLULPNOLOCK_Pos)  /**< (OSCCTRL_INTENCLR) DFLLULP No Lock Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DFLLULPNOLOCK      OSCCTRL_INTENCLR_DFLLULPNOLOCK_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DFLLULPNOLOCK_Msk instead */
+#define OSCCTRL_INTENCLR_DPLLLCKR_Pos       16                                             /**< (OSCCTRL_INTENCLR) DPLL Lock Rise Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DPLLLCKR_Msk       (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLCKR_Pos)    /**< (OSCCTRL_INTENCLR) DPLL Lock Rise Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DPLLLCKR           OSCCTRL_INTENCLR_DPLLLCKR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLCKR_Msk instead */
+#define OSCCTRL_INTENCLR_DPLLLCKF_Pos       17                                             /**< (OSCCTRL_INTENCLR) DPLL Lock Fall Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DPLLLCKF_Msk       (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLCKF_Pos)    /**< (OSCCTRL_INTENCLR) DPLL Lock Fall Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DPLLLCKF           OSCCTRL_INTENCLR_DPLLLCKF_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLCKF_Msk instead */
+#define OSCCTRL_INTENCLR_DPLLLTO_Pos        18                                             /**< (OSCCTRL_INTENCLR) DPLL Lock Timeout Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DPLLLTO_Msk        (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLTO_Pos)     /**< (OSCCTRL_INTENCLR) DPLL Lock Timeout Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DPLLLTO            OSCCTRL_INTENCLR_DPLLLTO_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLTO_Msk instead */
+#define OSCCTRL_INTENCLR_DPLLLDRTO_Pos      19                                             /**< (OSCCTRL_INTENCLR) DPLL Loop Divider Ratio Update Complete Interrupt Enable Position */
+#define OSCCTRL_INTENCLR_DPLLLDRTO_Msk      (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLDRTO_Pos)   /**< (OSCCTRL_INTENCLR) DPLL Loop Divider Ratio Update Complete Interrupt Enable Mask */
+#define OSCCTRL_INTENCLR_DPLLLDRTO          OSCCTRL_INTENCLR_DPLLLDRTO_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLDRTO_Msk instead */
+#define OSCCTRL_INTENCLR_MASK               _U_(0xF0713)                                   /**< \deprecated (OSCCTRL_INTENCLR) Register MASK  (Use OSCCTRL_INTENCLR_Msk instead)  */
+#define OSCCTRL_INTENCLR_Msk                _U_(0xF0713)                                   /**< (OSCCTRL_INTENCLR) Register Mask  */
+
+
+/* -------- OSCCTRL_INTENSET : (OSCCTRL Offset: 0x08) (R/W 32) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSCRDY:1;                 /**< bit:      0  XOSC Ready Interrupt Enable              */
+    uint32_t XOSCFAIL:1;                /**< bit:      1  XOSC Clock Failure Detector Interrupt Enable */
+    uint32_t :2;                        /**< bit:   2..3  Reserved */
+    uint32_t OSC16MRDY:1;               /**< bit:      4  OSC16M Ready Interrupt Enable            */
+    uint32_t :3;                        /**< bit:   5..7  Reserved */
+    uint32_t DFLLULPRDY:1;              /**< bit:      8  DFLLULP Ready interrupt Enable           */
+    uint32_t DFLLULPLOCK:1;             /**< bit:      9  DFLLULP Lock Interrupt Enable            */
+    uint32_t DFLLULPNOLOCK:1;           /**< bit:     10  DFLLULP No Lock Interrupt Enable         */
+    uint32_t :5;                        /**< bit: 11..15  Reserved */
+    uint32_t DPLLLCKR:1;                /**< bit:     16  DPLL Lock Rise Interrupt Enable          */
+    uint32_t DPLLLCKF:1;                /**< bit:     17  DPLL Lock Fall Interrupt Enable          */
+    uint32_t DPLLLTO:1;                 /**< bit:     18  DPLL Lock Timeout Interrupt Enable       */
+    uint32_t DPLLLDRTO:1;               /**< bit:     19  DPLL Loop Divider Ratio Update Complete Interrupt Enable */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_INTENSET_OFFSET             (0x08)                                        /**<  (OSCCTRL_INTENSET) Interrupt Enable Set  Offset */
+#define OSCCTRL_INTENSET_RESETVALUE         _U_(0x00)                                     /**<  (OSCCTRL_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define OSCCTRL_INTENSET_XOSCRDY_Pos        0                                              /**< (OSCCTRL_INTENSET) XOSC Ready Interrupt Enable Position */
+#define OSCCTRL_INTENSET_XOSCRDY_Msk        (_U_(0x1) << OSCCTRL_INTENSET_XOSCRDY_Pos)     /**< (OSCCTRL_INTENSET) XOSC Ready Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_XOSCRDY            OSCCTRL_INTENSET_XOSCRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_XOSCRDY_Msk instead */
+#define OSCCTRL_INTENSET_XOSCFAIL_Pos       1                                              /**< (OSCCTRL_INTENSET) XOSC Clock Failure Detector Interrupt Enable Position */
+#define OSCCTRL_INTENSET_XOSCFAIL_Msk       (_U_(0x1) << OSCCTRL_INTENSET_XOSCFAIL_Pos)    /**< (OSCCTRL_INTENSET) XOSC Clock Failure Detector Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_XOSCFAIL           OSCCTRL_INTENSET_XOSCFAIL_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_XOSCFAIL_Msk instead */
+#define OSCCTRL_INTENSET_OSC16MRDY_Pos      4                                              /**< (OSCCTRL_INTENSET) OSC16M Ready Interrupt Enable Position */
+#define OSCCTRL_INTENSET_OSC16MRDY_Msk      (_U_(0x1) << OSCCTRL_INTENSET_OSC16MRDY_Pos)   /**< (OSCCTRL_INTENSET) OSC16M Ready Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_OSC16MRDY          OSCCTRL_INTENSET_OSC16MRDY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_OSC16MRDY_Msk instead */
+#define OSCCTRL_INTENSET_DFLLULPRDY_Pos     8                                              /**< (OSCCTRL_INTENSET) DFLLULP Ready interrupt Enable Position */
+#define OSCCTRL_INTENSET_DFLLULPRDY_Msk     (_U_(0x1) << OSCCTRL_INTENSET_DFLLULPRDY_Pos)  /**< (OSCCTRL_INTENSET) DFLLULP Ready interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DFLLULPRDY         OSCCTRL_INTENSET_DFLLULPRDY_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DFLLULPRDY_Msk instead */
+#define OSCCTRL_INTENSET_DFLLULPLOCK_Pos    9                                              /**< (OSCCTRL_INTENSET) DFLLULP Lock Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DFLLULPLOCK_Msk    (_U_(0x1) << OSCCTRL_INTENSET_DFLLULPLOCK_Pos)  /**< (OSCCTRL_INTENSET) DFLLULP Lock Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DFLLULPLOCK        OSCCTRL_INTENSET_DFLLULPLOCK_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DFLLULPLOCK_Msk instead */
+#define OSCCTRL_INTENSET_DFLLULPNOLOCK_Pos  10                                             /**< (OSCCTRL_INTENSET) DFLLULP No Lock Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DFLLULPNOLOCK_Msk  (_U_(0x1) << OSCCTRL_INTENSET_DFLLULPNOLOCK_Pos)  /**< (OSCCTRL_INTENSET) DFLLULP No Lock Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DFLLULPNOLOCK      OSCCTRL_INTENSET_DFLLULPNOLOCK_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DFLLULPNOLOCK_Msk instead */
+#define OSCCTRL_INTENSET_DPLLLCKR_Pos       16                                             /**< (OSCCTRL_INTENSET) DPLL Lock Rise Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DPLLLCKR_Msk       (_U_(0x1) << OSCCTRL_INTENSET_DPLLLCKR_Pos)    /**< (OSCCTRL_INTENSET) DPLL Lock Rise Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DPLLLCKR           OSCCTRL_INTENSET_DPLLLCKR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLCKR_Msk instead */
+#define OSCCTRL_INTENSET_DPLLLCKF_Pos       17                                             /**< (OSCCTRL_INTENSET) DPLL Lock Fall Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DPLLLCKF_Msk       (_U_(0x1) << OSCCTRL_INTENSET_DPLLLCKF_Pos)    /**< (OSCCTRL_INTENSET) DPLL Lock Fall Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DPLLLCKF           OSCCTRL_INTENSET_DPLLLCKF_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLCKF_Msk instead */
+#define OSCCTRL_INTENSET_DPLLLTO_Pos        18                                             /**< (OSCCTRL_INTENSET) DPLL Lock Timeout Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DPLLLTO_Msk        (_U_(0x1) << OSCCTRL_INTENSET_DPLLLTO_Pos)     /**< (OSCCTRL_INTENSET) DPLL Lock Timeout Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DPLLLTO            OSCCTRL_INTENSET_DPLLLTO_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLTO_Msk instead */
+#define OSCCTRL_INTENSET_DPLLLDRTO_Pos      19                                             /**< (OSCCTRL_INTENSET) DPLL Loop Divider Ratio Update Complete Interrupt Enable Position */
+#define OSCCTRL_INTENSET_DPLLLDRTO_Msk      (_U_(0x1) << OSCCTRL_INTENSET_DPLLLDRTO_Pos)   /**< (OSCCTRL_INTENSET) DPLL Loop Divider Ratio Update Complete Interrupt Enable Mask */
+#define OSCCTRL_INTENSET_DPLLLDRTO          OSCCTRL_INTENSET_DPLLLDRTO_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLDRTO_Msk instead */
+#define OSCCTRL_INTENSET_MASK               _U_(0xF0713)                                   /**< \deprecated (OSCCTRL_INTENSET) Register MASK  (Use OSCCTRL_INTENSET_Msk instead)  */
+#define OSCCTRL_INTENSET_Msk                _U_(0xF0713)                                   /**< (OSCCTRL_INTENSET) Register Mask  */
+
+
+/* -------- OSCCTRL_INTFLAG : (OSCCTRL Offset: 0x0c) (R/W 32) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t XOSCRDY:1;                 /**< bit:      0  XOSC Ready                               */
+    __I uint32_t XOSCFAIL:1;                /**< bit:      1  XOSC Clock Failure Detector              */
+    __I uint32_t :2;                        /**< bit:   2..3  Reserved */
+    __I uint32_t OSC16MRDY:1;               /**< bit:      4  OSC16M Ready                             */
+    __I uint32_t :3;                        /**< bit:   5..7  Reserved */
+    __I uint32_t DFLLULPRDY:1;              /**< bit:      8  DFLLULP Ready                            */
+    __I uint32_t DFLLULPLOCK:1;             /**< bit:      9  DFLLULP Lock                             */
+    __I uint32_t DFLLULPNOLOCK:1;           /**< bit:     10  DFLLULP No Lock                          */
+    __I uint32_t :5;                        /**< bit: 11..15  Reserved */
+    __I uint32_t DPLLLCKR:1;                /**< bit:     16  DPLL Lock Rise                           */
+    __I uint32_t DPLLLCKF:1;                /**< bit:     17  DPLL Lock Fall                           */
+    __I uint32_t DPLLLTO:1;                 /**< bit:     18  DPLL Lock Timeout                        */
+    __I uint32_t DPLLLDRTO:1;               /**< bit:     19  DPLL Loop Divider Ratio Update Complete  */
+    __I uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_INTFLAG_OFFSET              (0x0C)                                        /**<  (OSCCTRL_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define OSCCTRL_INTFLAG_RESETVALUE          _U_(0x00)                                     /**<  (OSCCTRL_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define OSCCTRL_INTFLAG_XOSCRDY_Pos         0                                              /**< (OSCCTRL_INTFLAG) XOSC Ready Position */
+#define OSCCTRL_INTFLAG_XOSCRDY_Msk         (_U_(0x1) << OSCCTRL_INTFLAG_XOSCRDY_Pos)      /**< (OSCCTRL_INTFLAG) XOSC Ready Mask */
+#define OSCCTRL_INTFLAG_XOSCRDY             OSCCTRL_INTFLAG_XOSCRDY_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_XOSCRDY_Msk instead */
+#define OSCCTRL_INTFLAG_XOSCFAIL_Pos        1                                              /**< (OSCCTRL_INTFLAG) XOSC Clock Failure Detector Position */
+#define OSCCTRL_INTFLAG_XOSCFAIL_Msk        (_U_(0x1) << OSCCTRL_INTFLAG_XOSCFAIL_Pos)     /**< (OSCCTRL_INTFLAG) XOSC Clock Failure Detector Mask */
+#define OSCCTRL_INTFLAG_XOSCFAIL            OSCCTRL_INTFLAG_XOSCFAIL_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_XOSCFAIL_Msk instead */
+#define OSCCTRL_INTFLAG_OSC16MRDY_Pos       4                                              /**< (OSCCTRL_INTFLAG) OSC16M Ready Position */
+#define OSCCTRL_INTFLAG_OSC16MRDY_Msk       (_U_(0x1) << OSCCTRL_INTFLAG_OSC16MRDY_Pos)    /**< (OSCCTRL_INTFLAG) OSC16M Ready Mask */
+#define OSCCTRL_INTFLAG_OSC16MRDY           OSCCTRL_INTFLAG_OSC16MRDY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_OSC16MRDY_Msk instead */
+#define OSCCTRL_INTFLAG_DFLLULPRDY_Pos      8                                              /**< (OSCCTRL_INTFLAG) DFLLULP Ready Position */
+#define OSCCTRL_INTFLAG_DFLLULPRDY_Msk      (_U_(0x1) << OSCCTRL_INTFLAG_DFLLULPRDY_Pos)   /**< (OSCCTRL_INTFLAG) DFLLULP Ready Mask */
+#define OSCCTRL_INTFLAG_DFLLULPRDY          OSCCTRL_INTFLAG_DFLLULPRDY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DFLLULPRDY_Msk instead */
+#define OSCCTRL_INTFLAG_DFLLULPLOCK_Pos     9                                              /**< (OSCCTRL_INTFLAG) DFLLULP Lock Position */
+#define OSCCTRL_INTFLAG_DFLLULPLOCK_Msk     (_U_(0x1) << OSCCTRL_INTFLAG_DFLLULPLOCK_Pos)  /**< (OSCCTRL_INTFLAG) DFLLULP Lock Mask */
+#define OSCCTRL_INTFLAG_DFLLULPLOCK         OSCCTRL_INTFLAG_DFLLULPLOCK_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DFLLULPLOCK_Msk instead */
+#define OSCCTRL_INTFLAG_DFLLULPNOLOCK_Pos   10                                             /**< (OSCCTRL_INTFLAG) DFLLULP No Lock Position */
+#define OSCCTRL_INTFLAG_DFLLULPNOLOCK_Msk   (_U_(0x1) << OSCCTRL_INTFLAG_DFLLULPNOLOCK_Pos)  /**< (OSCCTRL_INTFLAG) DFLLULP No Lock Mask */
+#define OSCCTRL_INTFLAG_DFLLULPNOLOCK       OSCCTRL_INTFLAG_DFLLULPNOLOCK_Msk              /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DFLLULPNOLOCK_Msk instead */
+#define OSCCTRL_INTFLAG_DPLLLCKR_Pos        16                                             /**< (OSCCTRL_INTFLAG) DPLL Lock Rise Position */
+#define OSCCTRL_INTFLAG_DPLLLCKR_Msk        (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLCKR_Pos)     /**< (OSCCTRL_INTFLAG) DPLL Lock Rise Mask */
+#define OSCCTRL_INTFLAG_DPLLLCKR            OSCCTRL_INTFLAG_DPLLLCKR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLCKR_Msk instead */
+#define OSCCTRL_INTFLAG_DPLLLCKF_Pos        17                                             /**< (OSCCTRL_INTFLAG) DPLL Lock Fall Position */
+#define OSCCTRL_INTFLAG_DPLLLCKF_Msk        (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLCKF_Pos)     /**< (OSCCTRL_INTFLAG) DPLL Lock Fall Mask */
+#define OSCCTRL_INTFLAG_DPLLLCKF            OSCCTRL_INTFLAG_DPLLLCKF_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLCKF_Msk instead */
+#define OSCCTRL_INTFLAG_DPLLLTO_Pos         18                                             /**< (OSCCTRL_INTFLAG) DPLL Lock Timeout Position */
+#define OSCCTRL_INTFLAG_DPLLLTO_Msk         (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLTO_Pos)      /**< (OSCCTRL_INTFLAG) DPLL Lock Timeout Mask */
+#define OSCCTRL_INTFLAG_DPLLLTO             OSCCTRL_INTFLAG_DPLLLTO_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLTO_Msk instead */
+#define OSCCTRL_INTFLAG_DPLLLDRTO_Pos       19                                             /**< (OSCCTRL_INTFLAG) DPLL Loop Divider Ratio Update Complete Position */
+#define OSCCTRL_INTFLAG_DPLLLDRTO_Msk       (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLDRTO_Pos)    /**< (OSCCTRL_INTFLAG) DPLL Loop Divider Ratio Update Complete Mask */
+#define OSCCTRL_INTFLAG_DPLLLDRTO           OSCCTRL_INTFLAG_DPLLLDRTO_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLDRTO_Msk instead */
+#define OSCCTRL_INTFLAG_MASK                _U_(0xF0713)                                   /**< \deprecated (OSCCTRL_INTFLAG) Register MASK  (Use OSCCTRL_INTFLAG_Msk instead)  */
+#define OSCCTRL_INTFLAG_Msk                 _U_(0xF0713)                                   /**< (OSCCTRL_INTFLAG) Register Mask  */
+
+
+/* -------- OSCCTRL_STATUS : (OSCCTRL Offset: 0x10) (R/ 32) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t XOSCRDY:1;                 /**< bit:      0  XOSC Ready                               */
+    uint32_t XOSCFAIL:1;                /**< bit:      1  XOSC Clock Failure Detector              */
+    uint32_t XOSCCKSW:1;                /**< bit:      2  XOSC Clock Switch                        */
+    uint32_t :1;                        /**< bit:      3  Reserved */
+    uint32_t OSC16MRDY:1;               /**< bit:      4  OSC16M Ready                             */
+    uint32_t :3;                        /**< bit:   5..7  Reserved */
+    uint32_t DFLLULPRDY:1;              /**< bit:      8  DFLLULP Ready                            */
+    uint32_t DFLLULPLOCK:1;             /**< bit:      9  DFLLULP Lock                             */
+    uint32_t DFLLULPNOLOCK:1;           /**< bit:     10  DFLLULP No Lock                          */
+    uint32_t :5;                        /**< bit: 11..15  Reserved */
+    uint32_t DPLLLCKR:1;                /**< bit:     16  DPLL Lock Rise                           */
+    uint32_t DPLLLCKF:1;                /**< bit:     17  DPLL Lock Fall                           */
+    uint32_t DPLLTO:1;                  /**< bit:     18  DPLL Lock Timeout                        */
+    uint32_t DPLLLDRTO:1;               /**< bit:     19  DPLL Loop Divider Ratio Update Complete  */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_STATUS_OFFSET               (0x10)                                        /**<  (OSCCTRL_STATUS) Status  Offset */
+#define OSCCTRL_STATUS_RESETVALUE           _U_(0x00)                                     /**<  (OSCCTRL_STATUS) Status  Reset Value */
+
+#define OSCCTRL_STATUS_XOSCRDY_Pos          0                                              /**< (OSCCTRL_STATUS) XOSC Ready Position */
+#define OSCCTRL_STATUS_XOSCRDY_Msk          (_U_(0x1) << OSCCTRL_STATUS_XOSCRDY_Pos)       /**< (OSCCTRL_STATUS) XOSC Ready Mask */
+#define OSCCTRL_STATUS_XOSCRDY              OSCCTRL_STATUS_XOSCRDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_XOSCRDY_Msk instead */
+#define OSCCTRL_STATUS_XOSCFAIL_Pos         1                                              /**< (OSCCTRL_STATUS) XOSC Clock Failure Detector Position */
+#define OSCCTRL_STATUS_XOSCFAIL_Msk         (_U_(0x1) << OSCCTRL_STATUS_XOSCFAIL_Pos)      /**< (OSCCTRL_STATUS) XOSC Clock Failure Detector Mask */
+#define OSCCTRL_STATUS_XOSCFAIL             OSCCTRL_STATUS_XOSCFAIL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_XOSCFAIL_Msk instead */
+#define OSCCTRL_STATUS_XOSCCKSW_Pos         2                                              /**< (OSCCTRL_STATUS) XOSC Clock Switch Position */
+#define OSCCTRL_STATUS_XOSCCKSW_Msk         (_U_(0x1) << OSCCTRL_STATUS_XOSCCKSW_Pos)      /**< (OSCCTRL_STATUS) XOSC Clock Switch Mask */
+#define OSCCTRL_STATUS_XOSCCKSW             OSCCTRL_STATUS_XOSCCKSW_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_XOSCCKSW_Msk instead */
+#define OSCCTRL_STATUS_OSC16MRDY_Pos        4                                              /**< (OSCCTRL_STATUS) OSC16M Ready Position */
+#define OSCCTRL_STATUS_OSC16MRDY_Msk        (_U_(0x1) << OSCCTRL_STATUS_OSC16MRDY_Pos)     /**< (OSCCTRL_STATUS) OSC16M Ready Mask */
+#define OSCCTRL_STATUS_OSC16MRDY            OSCCTRL_STATUS_OSC16MRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_OSC16MRDY_Msk instead */
+#define OSCCTRL_STATUS_DFLLULPRDY_Pos       8                                              /**< (OSCCTRL_STATUS) DFLLULP Ready Position */
+#define OSCCTRL_STATUS_DFLLULPRDY_Msk       (_U_(0x1) << OSCCTRL_STATUS_DFLLULPRDY_Pos)    /**< (OSCCTRL_STATUS) DFLLULP Ready Mask */
+#define OSCCTRL_STATUS_DFLLULPRDY           OSCCTRL_STATUS_DFLLULPRDY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DFLLULPRDY_Msk instead */
+#define OSCCTRL_STATUS_DFLLULPLOCK_Pos      9                                              /**< (OSCCTRL_STATUS) DFLLULP Lock Position */
+#define OSCCTRL_STATUS_DFLLULPLOCK_Msk      (_U_(0x1) << OSCCTRL_STATUS_DFLLULPLOCK_Pos)   /**< (OSCCTRL_STATUS) DFLLULP Lock Mask */
+#define OSCCTRL_STATUS_DFLLULPLOCK          OSCCTRL_STATUS_DFLLULPLOCK_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DFLLULPLOCK_Msk instead */
+#define OSCCTRL_STATUS_DFLLULPNOLOCK_Pos    10                                             /**< (OSCCTRL_STATUS) DFLLULP No Lock Position */
+#define OSCCTRL_STATUS_DFLLULPNOLOCK_Msk    (_U_(0x1) << OSCCTRL_STATUS_DFLLULPNOLOCK_Pos)  /**< (OSCCTRL_STATUS) DFLLULP No Lock Mask */
+#define OSCCTRL_STATUS_DFLLULPNOLOCK        OSCCTRL_STATUS_DFLLULPNOLOCK_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DFLLULPNOLOCK_Msk instead */
+#define OSCCTRL_STATUS_DPLLLCKR_Pos         16                                             /**< (OSCCTRL_STATUS) DPLL Lock Rise Position */
+#define OSCCTRL_STATUS_DPLLLCKR_Msk         (_U_(0x1) << OSCCTRL_STATUS_DPLLLCKR_Pos)      /**< (OSCCTRL_STATUS) DPLL Lock Rise Mask */
+#define OSCCTRL_STATUS_DPLLLCKR             OSCCTRL_STATUS_DPLLLCKR_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLLCKR_Msk instead */
+#define OSCCTRL_STATUS_DPLLLCKF_Pos         17                                             /**< (OSCCTRL_STATUS) DPLL Lock Fall Position */
+#define OSCCTRL_STATUS_DPLLLCKF_Msk         (_U_(0x1) << OSCCTRL_STATUS_DPLLLCKF_Pos)      /**< (OSCCTRL_STATUS) DPLL Lock Fall Mask */
+#define OSCCTRL_STATUS_DPLLLCKF             OSCCTRL_STATUS_DPLLLCKF_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLLCKF_Msk instead */
+#define OSCCTRL_STATUS_DPLLTO_Pos           18                                             /**< (OSCCTRL_STATUS) DPLL Lock Timeout Position */
+#define OSCCTRL_STATUS_DPLLTO_Msk           (_U_(0x1) << OSCCTRL_STATUS_DPLLTO_Pos)        /**< (OSCCTRL_STATUS) DPLL Lock Timeout Mask */
+#define OSCCTRL_STATUS_DPLLTO               OSCCTRL_STATUS_DPLLTO_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLTO_Msk instead */
+#define OSCCTRL_STATUS_DPLLLDRTO_Pos        19                                             /**< (OSCCTRL_STATUS) DPLL Loop Divider Ratio Update Complete Position */
+#define OSCCTRL_STATUS_DPLLLDRTO_Msk        (_U_(0x1) << OSCCTRL_STATUS_DPLLLDRTO_Pos)     /**< (OSCCTRL_STATUS) DPLL Loop Divider Ratio Update Complete Mask */
+#define OSCCTRL_STATUS_DPLLLDRTO            OSCCTRL_STATUS_DPLLLDRTO_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLLDRTO_Msk instead */
+#define OSCCTRL_STATUS_MASK                 _U_(0xF0717)                                   /**< \deprecated (OSCCTRL_STATUS) Register MASK  (Use OSCCTRL_STATUS_Msk instead)  */
+#define OSCCTRL_STATUS_Msk                  _U_(0xF0717)                                   /**< (OSCCTRL_STATUS) Register Mask  */
+
+
+/* -------- OSCCTRL_XOSCCTRL : (OSCCTRL Offset: 0x14) (R/W 16) External Multipurpose Crystal Oscillator (XOSC) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t :1;                        /**< bit:      0  Reserved */
+    uint16_t ENABLE:1;                  /**< bit:      1  Oscillator Enable                        */
+    uint16_t XTALEN:1;                  /**< bit:      2  Crystal Oscillator Enable                */
+    uint16_t CFDEN:1;                   /**< bit:      3  Clock Failure Detector Enable            */
+    uint16_t SWBEN:1;                   /**< bit:      4  Xosc Clock Switch Enable                 */
+    uint16_t :1;                        /**< bit:      5  Reserved */
+    uint16_t RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint16_t ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+    uint16_t GAIN:3;                    /**< bit:  8..10  Oscillator Gain                          */
+    uint16_t AMPGC:1;                   /**< bit:     11  Automatic Amplitude Gain Control         */
+    uint16_t STARTUP:4;                 /**< bit: 12..15  Start-Up Time                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} OSCCTRL_XOSCCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_XOSCCTRL_OFFSET             (0x14)                                        /**<  (OSCCTRL_XOSCCTRL) External Multipurpose Crystal Oscillator (XOSC) Control  Offset */
+#define OSCCTRL_XOSCCTRL_RESETVALUE         _U_(0x80)                                     /**<  (OSCCTRL_XOSCCTRL) External Multipurpose Crystal Oscillator (XOSC) Control  Reset Value */
+
+#define OSCCTRL_XOSCCTRL_ENABLE_Pos         1                                              /**< (OSCCTRL_XOSCCTRL) Oscillator Enable Position */
+#define OSCCTRL_XOSCCTRL_ENABLE_Msk         (_U_(0x1) << OSCCTRL_XOSCCTRL_ENABLE_Pos)      /**< (OSCCTRL_XOSCCTRL) Oscillator Enable Mask */
+#define OSCCTRL_XOSCCTRL_ENABLE             OSCCTRL_XOSCCTRL_ENABLE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_ENABLE_Msk instead */
+#define OSCCTRL_XOSCCTRL_XTALEN_Pos         2                                              /**< (OSCCTRL_XOSCCTRL) Crystal Oscillator Enable Position */
+#define OSCCTRL_XOSCCTRL_XTALEN_Msk         (_U_(0x1) << OSCCTRL_XOSCCTRL_XTALEN_Pos)      /**< (OSCCTRL_XOSCCTRL) Crystal Oscillator Enable Mask */
+#define OSCCTRL_XOSCCTRL_XTALEN             OSCCTRL_XOSCCTRL_XTALEN_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_XTALEN_Msk instead */
+#define OSCCTRL_XOSCCTRL_CFDEN_Pos          3                                              /**< (OSCCTRL_XOSCCTRL) Clock Failure Detector Enable Position */
+#define OSCCTRL_XOSCCTRL_CFDEN_Msk          (_U_(0x1) << OSCCTRL_XOSCCTRL_CFDEN_Pos)       /**< (OSCCTRL_XOSCCTRL) Clock Failure Detector Enable Mask */
+#define OSCCTRL_XOSCCTRL_CFDEN              OSCCTRL_XOSCCTRL_CFDEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_CFDEN_Msk instead */
+#define OSCCTRL_XOSCCTRL_SWBEN_Pos          4                                              /**< (OSCCTRL_XOSCCTRL) Xosc Clock Switch Enable Position */
+#define OSCCTRL_XOSCCTRL_SWBEN_Msk          (_U_(0x1) << OSCCTRL_XOSCCTRL_SWBEN_Pos)       /**< (OSCCTRL_XOSCCTRL) Xosc Clock Switch Enable Mask */
+#define OSCCTRL_XOSCCTRL_SWBEN              OSCCTRL_XOSCCTRL_SWBEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_SWBEN_Msk instead */
+#define OSCCTRL_XOSCCTRL_RUNSTDBY_Pos       6                                              /**< (OSCCTRL_XOSCCTRL) Run in Standby Position */
+#define OSCCTRL_XOSCCTRL_RUNSTDBY_Msk       (_U_(0x1) << OSCCTRL_XOSCCTRL_RUNSTDBY_Pos)    /**< (OSCCTRL_XOSCCTRL) Run in Standby Mask */
+#define OSCCTRL_XOSCCTRL_RUNSTDBY           OSCCTRL_XOSCCTRL_RUNSTDBY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_RUNSTDBY_Msk instead */
+#define OSCCTRL_XOSCCTRL_ONDEMAND_Pos       7                                              /**< (OSCCTRL_XOSCCTRL) On Demand Control Position */
+#define OSCCTRL_XOSCCTRL_ONDEMAND_Msk       (_U_(0x1) << OSCCTRL_XOSCCTRL_ONDEMAND_Pos)    /**< (OSCCTRL_XOSCCTRL) On Demand Control Mask */
+#define OSCCTRL_XOSCCTRL_ONDEMAND           OSCCTRL_XOSCCTRL_ONDEMAND_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_ONDEMAND_Msk instead */
+#define OSCCTRL_XOSCCTRL_GAIN_Pos           8                                              /**< (OSCCTRL_XOSCCTRL) Oscillator Gain Position */
+#define OSCCTRL_XOSCCTRL_GAIN_Msk           (_U_(0x7) << OSCCTRL_XOSCCTRL_GAIN_Pos)        /**< (OSCCTRL_XOSCCTRL) Oscillator Gain Mask */
+#define OSCCTRL_XOSCCTRL_GAIN(value)        (OSCCTRL_XOSCCTRL_GAIN_Msk & ((value) << OSCCTRL_XOSCCTRL_GAIN_Pos))
+#define OSCCTRL_XOSCCTRL_AMPGC_Pos          11                                             /**< (OSCCTRL_XOSCCTRL) Automatic Amplitude Gain Control Position */
+#define OSCCTRL_XOSCCTRL_AMPGC_Msk          (_U_(0x1) << OSCCTRL_XOSCCTRL_AMPGC_Pos)       /**< (OSCCTRL_XOSCCTRL) Automatic Amplitude Gain Control Mask */
+#define OSCCTRL_XOSCCTRL_AMPGC              OSCCTRL_XOSCCTRL_AMPGC_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_AMPGC_Msk instead */
+#define OSCCTRL_XOSCCTRL_STARTUP_Pos        12                                             /**< (OSCCTRL_XOSCCTRL) Start-Up Time Position */
+#define OSCCTRL_XOSCCTRL_STARTUP_Msk        (_U_(0xF) << OSCCTRL_XOSCCTRL_STARTUP_Pos)     /**< (OSCCTRL_XOSCCTRL) Start-Up Time Mask */
+#define OSCCTRL_XOSCCTRL_STARTUP(value)     (OSCCTRL_XOSCCTRL_STARTUP_Msk & ((value) << OSCCTRL_XOSCCTRL_STARTUP_Pos))
+#define OSCCTRL_XOSCCTRL_MASK               _U_(0xFFDE)                                    /**< \deprecated (OSCCTRL_XOSCCTRL) Register MASK  (Use OSCCTRL_XOSCCTRL_Msk instead)  */
+#define OSCCTRL_XOSCCTRL_Msk                _U_(0xFFDE)                                    /**< (OSCCTRL_XOSCCTRL) Register Mask  */
+
+
+/* -------- OSCCTRL_CFDPRESC : (OSCCTRL Offset: 0x16) (R/W 8) Clock Failure Detector Prescaler -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CFDPRESC:3;                /**< bit:   0..2  Clock Failure Detector Prescaler         */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_CFDPRESC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_CFDPRESC_OFFSET             (0x16)                                        /**<  (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler  Offset */
+#define OSCCTRL_CFDPRESC_RESETVALUE         _U_(0x00)                                     /**<  (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler  Reset Value */
+
+#define OSCCTRL_CFDPRESC_CFDPRESC_Pos       0                                              /**< (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler Position */
+#define OSCCTRL_CFDPRESC_CFDPRESC_Msk       (_U_(0x7) << OSCCTRL_CFDPRESC_CFDPRESC_Pos)    /**< (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler Mask */
+#define OSCCTRL_CFDPRESC_CFDPRESC(value)    (OSCCTRL_CFDPRESC_CFDPRESC_Msk & ((value) << OSCCTRL_CFDPRESC_CFDPRESC_Pos))
+#define OSCCTRL_CFDPRESC_MASK               _U_(0x07)                                      /**< \deprecated (OSCCTRL_CFDPRESC) Register MASK  (Use OSCCTRL_CFDPRESC_Msk instead)  */
+#define OSCCTRL_CFDPRESC_Msk                _U_(0x07)                                      /**< (OSCCTRL_CFDPRESC) Register Mask  */
+
+
+/* -------- OSCCTRL_OSC16MCTRL : (OSCCTRL Offset: 0x18) (R/W 8) 16MHz Internal Oscillator (OSC16M) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :1;                        /**< bit:      0  Reserved */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Oscillator Enable                        */
+    uint8_t  FSEL:2;                    /**< bit:   2..3  Oscillator Frequency Selection           */
+    uint8_t  :2;                        /**< bit:   4..5  Reserved */
+    uint8_t  RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint8_t  ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_OSC16MCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_OSC16MCTRL_OFFSET           (0x18)                                        /**<  (OSCCTRL_OSC16MCTRL) 16MHz Internal Oscillator (OSC16M) Control  Offset */
+#define OSCCTRL_OSC16MCTRL_RESETVALUE       _U_(0x82)                                     /**<  (OSCCTRL_OSC16MCTRL) 16MHz Internal Oscillator (OSC16M) Control  Reset Value */
+
+#define OSCCTRL_OSC16MCTRL_ENABLE_Pos       1                                              /**< (OSCCTRL_OSC16MCTRL) Oscillator Enable Position */
+#define OSCCTRL_OSC16MCTRL_ENABLE_Msk       (_U_(0x1) << OSCCTRL_OSC16MCTRL_ENABLE_Pos)    /**< (OSCCTRL_OSC16MCTRL) Oscillator Enable Mask */
+#define OSCCTRL_OSC16MCTRL_ENABLE           OSCCTRL_OSC16MCTRL_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_OSC16MCTRL_ENABLE_Msk instead */
+#define OSCCTRL_OSC16MCTRL_FSEL_Pos         2                                              /**< (OSCCTRL_OSC16MCTRL) Oscillator Frequency Selection Position */
+#define OSCCTRL_OSC16MCTRL_FSEL_Msk         (_U_(0x3) << OSCCTRL_OSC16MCTRL_FSEL_Pos)      /**< (OSCCTRL_OSC16MCTRL) Oscillator Frequency Selection Mask */
+#define OSCCTRL_OSC16MCTRL_FSEL(value)      (OSCCTRL_OSC16MCTRL_FSEL_Msk & ((value) << OSCCTRL_OSC16MCTRL_FSEL_Pos))
+#define   OSCCTRL_OSC16MCTRL_FSEL_4_Val     _U_(0x0)                                       /**< (OSCCTRL_OSC16MCTRL) 4MHz  */
+#define   OSCCTRL_OSC16MCTRL_FSEL_8_Val     _U_(0x1)                                       /**< (OSCCTRL_OSC16MCTRL) 8MHz  */
+#define   OSCCTRL_OSC16MCTRL_FSEL_12_Val    _U_(0x2)                                       /**< (OSCCTRL_OSC16MCTRL) 12MHz  */
+#define   OSCCTRL_OSC16MCTRL_FSEL_16_Val    _U_(0x3)                                       /**< (OSCCTRL_OSC16MCTRL) 16MHz  */
+#define OSCCTRL_OSC16MCTRL_FSEL_4           (OSCCTRL_OSC16MCTRL_FSEL_4_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos)  /**< (OSCCTRL_OSC16MCTRL) 4MHz Position  */
+#define OSCCTRL_OSC16MCTRL_FSEL_8           (OSCCTRL_OSC16MCTRL_FSEL_8_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos)  /**< (OSCCTRL_OSC16MCTRL) 8MHz Position  */
+#define OSCCTRL_OSC16MCTRL_FSEL_12          (OSCCTRL_OSC16MCTRL_FSEL_12_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos)  /**< (OSCCTRL_OSC16MCTRL) 12MHz Position  */
+#define OSCCTRL_OSC16MCTRL_FSEL_16          (OSCCTRL_OSC16MCTRL_FSEL_16_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos)  /**< (OSCCTRL_OSC16MCTRL) 16MHz Position  */
+#define OSCCTRL_OSC16MCTRL_RUNSTDBY_Pos     6                                              /**< (OSCCTRL_OSC16MCTRL) Run in Standby Position */
+#define OSCCTRL_OSC16MCTRL_RUNSTDBY_Msk     (_U_(0x1) << OSCCTRL_OSC16MCTRL_RUNSTDBY_Pos)  /**< (OSCCTRL_OSC16MCTRL) Run in Standby Mask */
+#define OSCCTRL_OSC16MCTRL_RUNSTDBY         OSCCTRL_OSC16MCTRL_RUNSTDBY_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_OSC16MCTRL_RUNSTDBY_Msk instead */
+#define OSCCTRL_OSC16MCTRL_ONDEMAND_Pos     7                                              /**< (OSCCTRL_OSC16MCTRL) On Demand Control Position */
+#define OSCCTRL_OSC16MCTRL_ONDEMAND_Msk     (_U_(0x1) << OSCCTRL_OSC16MCTRL_ONDEMAND_Pos)  /**< (OSCCTRL_OSC16MCTRL) On Demand Control Mask */
+#define OSCCTRL_OSC16MCTRL_ONDEMAND         OSCCTRL_OSC16MCTRL_ONDEMAND_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_OSC16MCTRL_ONDEMAND_Msk instead */
+#define OSCCTRL_OSC16MCTRL_MASK             _U_(0xCE)                                      /**< \deprecated (OSCCTRL_OSC16MCTRL) Register MASK  (Use OSCCTRL_OSC16MCTRL_Msk instead)  */
+#define OSCCTRL_OSC16MCTRL_Msk              _U_(0xCE)                                      /**< (OSCCTRL_OSC16MCTRL) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPCTRL : (OSCCTRL Offset: 0x1c) (R/W 16) DFLLULP Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t :1;                        /**< bit:      0  Reserved */
+    uint16_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint16_t :1;                        /**< bit:      2  Reserved */
+    uint16_t BINSE:1;                   /**< bit:      3  Binary Search Enable                     */
+    uint16_t SAFE:1;                    /**< bit:      4  Tuner Safe Mode                          */
+    uint16_t DITHER:1;                  /**< bit:      5  Tuner Dither Mode                        */
+    uint16_t RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint16_t ONDEMAND:1;                /**< bit:      7  On Demand                                */
+    uint16_t DIV:3;                     /**< bit:  8..10  Division Factor                          */
+    uint16_t :5;                        /**< bit: 11..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPCTRL_OFFSET          (0x1C)                                        /**<  (OSCCTRL_DFLLULPCTRL) DFLLULP Control  Offset */
+#define OSCCTRL_DFLLULPCTRL_RESETVALUE      _U_(0x504)                                    /**<  (OSCCTRL_DFLLULPCTRL) DFLLULP Control  Reset Value */
+
+#define OSCCTRL_DFLLULPCTRL_ENABLE_Pos      1                                              /**< (OSCCTRL_DFLLULPCTRL) Enable Position */
+#define OSCCTRL_DFLLULPCTRL_ENABLE_Msk      (_U_(0x1) << OSCCTRL_DFLLULPCTRL_ENABLE_Pos)   /**< (OSCCTRL_DFLLULPCTRL) Enable Mask */
+#define OSCCTRL_DFLLULPCTRL_ENABLE          OSCCTRL_DFLLULPCTRL_ENABLE_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_ENABLE_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_BINSE_Pos       3                                              /**< (OSCCTRL_DFLLULPCTRL) Binary Search Enable Position */
+#define OSCCTRL_DFLLULPCTRL_BINSE_Msk       (_U_(0x1) << OSCCTRL_DFLLULPCTRL_BINSE_Pos)    /**< (OSCCTRL_DFLLULPCTRL) Binary Search Enable Mask */
+#define OSCCTRL_DFLLULPCTRL_BINSE           OSCCTRL_DFLLULPCTRL_BINSE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_BINSE_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_SAFE_Pos        4                                              /**< (OSCCTRL_DFLLULPCTRL) Tuner Safe Mode Position */
+#define OSCCTRL_DFLLULPCTRL_SAFE_Msk        (_U_(0x1) << OSCCTRL_DFLLULPCTRL_SAFE_Pos)     /**< (OSCCTRL_DFLLULPCTRL) Tuner Safe Mode Mask */
+#define OSCCTRL_DFLLULPCTRL_SAFE            OSCCTRL_DFLLULPCTRL_SAFE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_SAFE_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_DITHER_Pos      5                                              /**< (OSCCTRL_DFLLULPCTRL) Tuner Dither Mode Position */
+#define OSCCTRL_DFLLULPCTRL_DITHER_Msk      (_U_(0x1) << OSCCTRL_DFLLULPCTRL_DITHER_Pos)   /**< (OSCCTRL_DFLLULPCTRL) Tuner Dither Mode Mask */
+#define OSCCTRL_DFLLULPCTRL_DITHER          OSCCTRL_DFLLULPCTRL_DITHER_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_DITHER_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_RUNSTDBY_Pos    6                                              /**< (OSCCTRL_DFLLULPCTRL) Run in Standby Position */
+#define OSCCTRL_DFLLULPCTRL_RUNSTDBY_Msk    (_U_(0x1) << OSCCTRL_DFLLULPCTRL_RUNSTDBY_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Run in Standby Mask */
+#define OSCCTRL_DFLLULPCTRL_RUNSTDBY        OSCCTRL_DFLLULPCTRL_RUNSTDBY_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_RUNSTDBY_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_ONDEMAND_Pos    7                                              /**< (OSCCTRL_DFLLULPCTRL) On Demand Position */
+#define OSCCTRL_DFLLULPCTRL_ONDEMAND_Msk    (_U_(0x1) << OSCCTRL_DFLLULPCTRL_ONDEMAND_Pos)  /**< (OSCCTRL_DFLLULPCTRL) On Demand Mask */
+#define OSCCTRL_DFLLULPCTRL_ONDEMAND        OSCCTRL_DFLLULPCTRL_ONDEMAND_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_ONDEMAND_Msk instead */
+#define OSCCTRL_DFLLULPCTRL_DIV_Pos         8                                              /**< (OSCCTRL_DFLLULPCTRL) Division Factor Position */
+#define OSCCTRL_DFLLULPCTRL_DIV_Msk         (_U_(0x7) << OSCCTRL_DFLLULPCTRL_DIV_Pos)      /**< (OSCCTRL_DFLLULPCTRL) Division Factor Mask */
+#define OSCCTRL_DFLLULPCTRL_DIV(value)      (OSCCTRL_DFLLULPCTRL_DIV_Msk & ((value) << OSCCTRL_DFLLULPCTRL_DIV_Pos))
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV1_Val  _U_(0x0)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 1  */
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV2_Val  _U_(0x1)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 2  */
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV4_Val  _U_(0x2)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 4  */
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV8_Val  _U_(0x3)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 8  */
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV16_Val _U_(0x4)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 16  */
+#define   OSCCTRL_DFLLULPCTRL_DIV_DIV32_Val _U_(0x5)                                       /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 32  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV1        (OSCCTRL_DFLLULPCTRL_DIV_DIV1_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 1 Position  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV2        (OSCCTRL_DFLLULPCTRL_DIV_DIV2_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 2 Position  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV4        (OSCCTRL_DFLLULPCTRL_DIV_DIV4_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 4 Position  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV8        (OSCCTRL_DFLLULPCTRL_DIV_DIV8_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 8 Position  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV16       (OSCCTRL_DFLLULPCTRL_DIV_DIV16_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 16 Position  */
+#define OSCCTRL_DFLLULPCTRL_DIV_DIV32       (OSCCTRL_DFLLULPCTRL_DIV_DIV32_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos)  /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 32 Position  */
+#define OSCCTRL_DFLLULPCTRL_MASK            _U_(0x7FA)                                     /**< \deprecated (OSCCTRL_DFLLULPCTRL) Register MASK  (Use OSCCTRL_DFLLULPCTRL_Msk instead)  */
+#define OSCCTRL_DFLLULPCTRL_Msk             _U_(0x7FA)                                     /**< (OSCCTRL_DFLLULPCTRL) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPDITHER : (OSCCTRL Offset: 0x1e) (R/W 8) DFLLULP Dither Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  STEP:3;                    /**< bit:   0..2  Dither Step                              */
+    uint8_t  :1;                        /**< bit:      3  Reserved */
+    uint8_t  PER:3;                     /**< bit:   4..6  Dither Period                            */
+    uint8_t  :1;                        /**< bit:      7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPDITHER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPDITHER_OFFSET        (0x1E)                                        /**<  (OSCCTRL_DFLLULPDITHER) DFLLULP Dither Control  Offset */
+#define OSCCTRL_DFLLULPDITHER_RESETVALUE    _U_(0x00)                                     /**<  (OSCCTRL_DFLLULPDITHER) DFLLULP Dither Control  Reset Value */
+
+#define OSCCTRL_DFLLULPDITHER_STEP_Pos      0                                              /**< (OSCCTRL_DFLLULPDITHER) Dither Step Position */
+#define OSCCTRL_DFLLULPDITHER_STEP_Msk      (_U_(0x7) << OSCCTRL_DFLLULPDITHER_STEP_Pos)   /**< (OSCCTRL_DFLLULPDITHER) Dither Step Mask */
+#define OSCCTRL_DFLLULPDITHER_STEP(value)   (OSCCTRL_DFLLULPDITHER_STEP_Msk & ((value) << OSCCTRL_DFLLULPDITHER_STEP_Pos))
+#define   OSCCTRL_DFLLULPDITHER_STEP_STEP1_Val _U_(0x0)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 1  */
+#define   OSCCTRL_DFLLULPDITHER_STEP_STEP2_Val _U_(0x1)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 2  */
+#define   OSCCTRL_DFLLULPDITHER_STEP_STEP4_Val _U_(0x2)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 4  */
+#define   OSCCTRL_DFLLULPDITHER_STEP_STEP8_Val _U_(0x3)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 8  */
+#define OSCCTRL_DFLLULPDITHER_STEP_STEP1    (OSCCTRL_DFLLULPDITHER_STEP_STEP1_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 1 Position  */
+#define OSCCTRL_DFLLULPDITHER_STEP_STEP2    (OSCCTRL_DFLLULPDITHER_STEP_STEP2_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 2 Position  */
+#define OSCCTRL_DFLLULPDITHER_STEP_STEP4    (OSCCTRL_DFLLULPDITHER_STEP_STEP4_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 4 Position  */
+#define OSCCTRL_DFLLULPDITHER_STEP_STEP8    (OSCCTRL_DFLLULPDITHER_STEP_STEP8_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 8 Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_Pos       4                                              /**< (OSCCTRL_DFLLULPDITHER) Dither Period Position */
+#define OSCCTRL_DFLLULPDITHER_PER_Msk       (_U_(0x7) << OSCCTRL_DFLLULPDITHER_PER_Pos)    /**< (OSCCTRL_DFLLULPDITHER) Dither Period Mask */
+#define OSCCTRL_DFLLULPDITHER_PER(value)    (OSCCTRL_DFLLULPDITHER_PER_Msk & ((value) << OSCCTRL_DFLLULPDITHER_PER_Pos))
+#define   OSCCTRL_DFLLULPDITHER_PER_PER1_Val _U_(0x0)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 1 Reference Clock Period  */
+#define   OSCCTRL_DFLLULPDITHER_PER_PER2_Val _U_(0x1)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 2 Reference Clock Period  */
+#define   OSCCTRL_DFLLULPDITHER_PER_PER4_Val _U_(0x2)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 4 Reference Clock Period  */
+#define   OSCCTRL_DFLLULPDITHER_PER_PER8_Val _U_(0x3)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 8 Reference Clock Period  */
+#define   OSCCTRL_DFLLULPDITHER_PER_PER16_Val _U_(0x4)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 16 Reference Clock Period  */
+#define   OSCCTRL_DFLLULPDITHER_PER_PER32_Val _U_(0x5)                                       /**< (OSCCTRL_DFLLULPDITHER) Dither Over 32 Reference Clock Period  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER1      (OSCCTRL_DFLLULPDITHER_PER_PER1_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 1 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER2      (OSCCTRL_DFLLULPDITHER_PER_PER2_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 2 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER4      (OSCCTRL_DFLLULPDITHER_PER_PER4_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 4 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER8      (OSCCTRL_DFLLULPDITHER_PER_PER8_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 8 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER16     (OSCCTRL_DFLLULPDITHER_PER_PER16_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 16 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_PER_PER32     (OSCCTRL_DFLLULPDITHER_PER_PER32_Val << OSCCTRL_DFLLULPDITHER_PER_Pos)  /**< (OSCCTRL_DFLLULPDITHER) Dither Over 32 Reference Clock Period Position  */
+#define OSCCTRL_DFLLULPDITHER_MASK          _U_(0x77)                                      /**< \deprecated (OSCCTRL_DFLLULPDITHER) Register MASK  (Use OSCCTRL_DFLLULPDITHER_Msk instead)  */
+#define OSCCTRL_DFLLULPDITHER_Msk           _U_(0x77)                                      /**< (OSCCTRL_DFLLULPDITHER) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPRREQ : (OSCCTRL Offset: 0x1f) (R/W 8) DFLLULP Read Request -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :7;                        /**< bit:   0..6  Reserved */
+    uint8_t  RREQ:1;                    /**< bit:      7  Read Request                             */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPRREQ_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPRREQ_OFFSET          (0x1F)                                        /**<  (OSCCTRL_DFLLULPRREQ) DFLLULP Read Request  Offset */
+#define OSCCTRL_DFLLULPRREQ_RESETVALUE      _U_(0x00)                                     /**<  (OSCCTRL_DFLLULPRREQ) DFLLULP Read Request  Reset Value */
+
+#define OSCCTRL_DFLLULPRREQ_RREQ_Pos        7                                              /**< (OSCCTRL_DFLLULPRREQ) Read Request Position */
+#define OSCCTRL_DFLLULPRREQ_RREQ_Msk        (_U_(0x1) << OSCCTRL_DFLLULPRREQ_RREQ_Pos)     /**< (OSCCTRL_DFLLULPRREQ) Read Request Mask */
+#define OSCCTRL_DFLLULPRREQ_RREQ            OSCCTRL_DFLLULPRREQ_RREQ_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPRREQ_RREQ_Msk instead */
+#define OSCCTRL_DFLLULPRREQ_MASK            _U_(0x80)                                      /**< \deprecated (OSCCTRL_DFLLULPRREQ) Register MASK  (Use OSCCTRL_DFLLULPRREQ_Msk instead)  */
+#define OSCCTRL_DFLLULPRREQ_Msk             _U_(0x80)                                      /**< (OSCCTRL_DFLLULPRREQ) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPDLY : (OSCCTRL Offset: 0x20) (R/W 32) DFLLULP Delay Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DELAY:8;                   /**< bit:   0..7  Delay Value                              */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPDLY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPDLY_OFFSET           (0x20)                                        /**<  (OSCCTRL_DFLLULPDLY) DFLLULP Delay Value  Offset */
+#define OSCCTRL_DFLLULPDLY_RESETVALUE       _U_(0x80)                                     /**<  (OSCCTRL_DFLLULPDLY) DFLLULP Delay Value  Reset Value */
+
+#define OSCCTRL_DFLLULPDLY_DELAY_Pos        0                                              /**< (OSCCTRL_DFLLULPDLY) Delay Value Position */
+#define OSCCTRL_DFLLULPDLY_DELAY_Msk        (_U_(0xFF) << OSCCTRL_DFLLULPDLY_DELAY_Pos)    /**< (OSCCTRL_DFLLULPDLY) Delay Value Mask */
+#define OSCCTRL_DFLLULPDLY_DELAY(value)     (OSCCTRL_DFLLULPDLY_DELAY_Msk & ((value) << OSCCTRL_DFLLULPDLY_DELAY_Pos))
+#define OSCCTRL_DFLLULPDLY_MASK             _U_(0xFF)                                      /**< \deprecated (OSCCTRL_DFLLULPDLY) Register MASK  (Use OSCCTRL_DFLLULPDLY_Msk instead)  */
+#define OSCCTRL_DFLLULPDLY_Msk              _U_(0xFF)                                      /**< (OSCCTRL_DFLLULPDLY) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPRATIO : (OSCCTRL Offset: 0x24) (R/W 32) DFLLULP Target Ratio -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t RATIO:11;                  /**< bit:  0..10  Target Tuner Ratio                       */
+    uint32_t :21;                       /**< bit: 11..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPRATIO_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPRATIO_OFFSET         (0x24)                                        /**<  (OSCCTRL_DFLLULPRATIO) DFLLULP Target Ratio  Offset */
+#define OSCCTRL_DFLLULPRATIO_RESETVALUE     _U_(0x00)                                     /**<  (OSCCTRL_DFLLULPRATIO) DFLLULP Target Ratio  Reset Value */
+
+#define OSCCTRL_DFLLULPRATIO_RATIO_Pos      0                                              /**< (OSCCTRL_DFLLULPRATIO) Target Tuner Ratio Position */
+#define OSCCTRL_DFLLULPRATIO_RATIO_Msk      (_U_(0x7FF) << OSCCTRL_DFLLULPRATIO_RATIO_Pos)  /**< (OSCCTRL_DFLLULPRATIO) Target Tuner Ratio Mask */
+#define OSCCTRL_DFLLULPRATIO_RATIO(value)   (OSCCTRL_DFLLULPRATIO_RATIO_Msk & ((value) << OSCCTRL_DFLLULPRATIO_RATIO_Pos))
+#define OSCCTRL_DFLLULPRATIO_MASK           _U_(0x7FF)                                     /**< \deprecated (OSCCTRL_DFLLULPRATIO) Register MASK  (Use OSCCTRL_DFLLULPRATIO_Msk instead)  */
+#define OSCCTRL_DFLLULPRATIO_Msk            _U_(0x7FF)                                     /**< (OSCCTRL_DFLLULPRATIO) Register Mask  */
+
+
+/* -------- OSCCTRL_DFLLULPSYNCBUSY : (OSCCTRL Offset: 0x28) (R/ 32) DFLLULP Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Bit Synchronization Busy          */
+    uint32_t TUNE:1;                    /**< bit:      2  Tune Bit Synchronization Busy            */
+    uint32_t DELAY:1;                   /**< bit:      3  Delay Register Synchronization Busy      */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_DFLLULPSYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DFLLULPSYNCBUSY_OFFSET      (0x28)                                        /**<  (OSCCTRL_DFLLULPSYNCBUSY) DFLLULP Synchronization Busy  Offset */
+#define OSCCTRL_DFLLULPSYNCBUSY_RESETVALUE  _U_(0x00)                                     /**<  (OSCCTRL_DFLLULPSYNCBUSY) DFLLULP Synchronization Busy  Reset Value */
+
+#define OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Pos  1                                              /**< (OSCCTRL_DFLLULPSYNCBUSY) Enable Bit Synchronization Busy Position */
+#define OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Msk  (_U_(0x1) << OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Pos)  /**< (OSCCTRL_DFLLULPSYNCBUSY) Enable Bit Synchronization Busy Mask */
+#define OSCCTRL_DFLLULPSYNCBUSY_ENABLE      OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Msk instead */
+#define OSCCTRL_DFLLULPSYNCBUSY_TUNE_Pos    2                                              /**< (OSCCTRL_DFLLULPSYNCBUSY) Tune Bit Synchronization Busy Position */
+#define OSCCTRL_DFLLULPSYNCBUSY_TUNE_Msk    (_U_(0x1) << OSCCTRL_DFLLULPSYNCBUSY_TUNE_Pos)  /**< (OSCCTRL_DFLLULPSYNCBUSY) Tune Bit Synchronization Busy Mask */
+#define OSCCTRL_DFLLULPSYNCBUSY_TUNE        OSCCTRL_DFLLULPSYNCBUSY_TUNE_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPSYNCBUSY_TUNE_Msk instead */
+#define OSCCTRL_DFLLULPSYNCBUSY_DELAY_Pos   3                                              /**< (OSCCTRL_DFLLULPSYNCBUSY) Delay Register Synchronization Busy Position */
+#define OSCCTRL_DFLLULPSYNCBUSY_DELAY_Msk   (_U_(0x1) << OSCCTRL_DFLLULPSYNCBUSY_DELAY_Pos)  /**< (OSCCTRL_DFLLULPSYNCBUSY) Delay Register Synchronization Busy Mask */
+#define OSCCTRL_DFLLULPSYNCBUSY_DELAY       OSCCTRL_DFLLULPSYNCBUSY_DELAY_Msk              /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPSYNCBUSY_DELAY_Msk instead */
+#define OSCCTRL_DFLLULPSYNCBUSY_MASK        _U_(0x0E)                                      /**< \deprecated (OSCCTRL_DFLLULPSYNCBUSY) Register MASK  (Use OSCCTRL_DFLLULPSYNCBUSY_Msk instead)  */
+#define OSCCTRL_DFLLULPSYNCBUSY_Msk         _U_(0x0E)                                      /**< (OSCCTRL_DFLLULPSYNCBUSY) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLCTRLA : (OSCCTRL Offset: 0x2c) (R/W 8) DPLL Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :1;                        /**< bit:      0  Reserved */
+    uint8_t  ENABLE:1;                  /**< bit:      1  DPLL Enable                              */
+    uint8_t  :4;                        /**< bit:   2..5  Reserved */
+    uint8_t  RUNSTDBY:1;                /**< bit:      6  Run in Standby                           */
+    uint8_t  ONDEMAND:1;                /**< bit:      7  On Demand Clock Activation               */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLCTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLCTRLA_OFFSET            (0x2C)                                        /**<  (OSCCTRL_DPLLCTRLA) DPLL Control A  Offset */
+#define OSCCTRL_DPLLCTRLA_RESETVALUE        _U_(0x80)                                     /**<  (OSCCTRL_DPLLCTRLA) DPLL Control A  Reset Value */
+
+#define OSCCTRL_DPLLCTRLA_ENABLE_Pos        1                                              /**< (OSCCTRL_DPLLCTRLA) DPLL Enable Position */
+#define OSCCTRL_DPLLCTRLA_ENABLE_Msk        (_U_(0x1) << OSCCTRL_DPLLCTRLA_ENABLE_Pos)     /**< (OSCCTRL_DPLLCTRLA) DPLL Enable Mask */
+#define OSCCTRL_DPLLCTRLA_ENABLE            OSCCTRL_DPLLCTRLA_ENABLE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLA_ENABLE_Msk instead */
+#define OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos      6                                              /**< (OSCCTRL_DPLLCTRLA) Run in Standby Position */
+#define OSCCTRL_DPLLCTRLA_RUNSTDBY_Msk      (_U_(0x1) << OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos)   /**< (OSCCTRL_DPLLCTRLA) Run in Standby Mask */
+#define OSCCTRL_DPLLCTRLA_RUNSTDBY          OSCCTRL_DPLLCTRLA_RUNSTDBY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLA_RUNSTDBY_Msk instead */
+#define OSCCTRL_DPLLCTRLA_ONDEMAND_Pos      7                                              /**< (OSCCTRL_DPLLCTRLA) On Demand Clock Activation Position */
+#define OSCCTRL_DPLLCTRLA_ONDEMAND_Msk      (_U_(0x1) << OSCCTRL_DPLLCTRLA_ONDEMAND_Pos)   /**< (OSCCTRL_DPLLCTRLA) On Demand Clock Activation Mask */
+#define OSCCTRL_DPLLCTRLA_ONDEMAND          OSCCTRL_DPLLCTRLA_ONDEMAND_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLA_ONDEMAND_Msk instead */
+#define OSCCTRL_DPLLCTRLA_MASK              _U_(0xC2)                                      /**< \deprecated (OSCCTRL_DPLLCTRLA) Register MASK  (Use OSCCTRL_DPLLCTRLA_Msk instead)  */
+#define OSCCTRL_DPLLCTRLA_Msk               _U_(0xC2)                                      /**< (OSCCTRL_DPLLCTRLA) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLRATIO : (OSCCTRL Offset: 0x30) (R/W 32) DPLL Ratio Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t LDR:12;                    /**< bit:  0..11  Loop Divider Ratio                       */
+    uint32_t :4;                        /**< bit: 12..15  Reserved */
+    uint32_t LDRFRAC:4;                 /**< bit: 16..19  Loop Divider Ratio Fractional Part       */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLRATIO_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLRATIO_OFFSET            (0x30)                                        /**<  (OSCCTRL_DPLLRATIO) DPLL Ratio Control  Offset */
+#define OSCCTRL_DPLLRATIO_RESETVALUE        _U_(0x00)                                     /**<  (OSCCTRL_DPLLRATIO) DPLL Ratio Control  Reset Value */
+
+#define OSCCTRL_DPLLRATIO_LDR_Pos           0                                              /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Position */
+#define OSCCTRL_DPLLRATIO_LDR_Msk           (_U_(0xFFF) << OSCCTRL_DPLLRATIO_LDR_Pos)      /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Mask */
+#define OSCCTRL_DPLLRATIO_LDR(value)        (OSCCTRL_DPLLRATIO_LDR_Msk & ((value) << OSCCTRL_DPLLRATIO_LDR_Pos))
+#define OSCCTRL_DPLLRATIO_LDRFRAC_Pos       16                                             /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Fractional Part Position */
+#define OSCCTRL_DPLLRATIO_LDRFRAC_Msk       (_U_(0xF) << OSCCTRL_DPLLRATIO_LDRFRAC_Pos)    /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Fractional Part Mask */
+#define OSCCTRL_DPLLRATIO_LDRFRAC(value)    (OSCCTRL_DPLLRATIO_LDRFRAC_Msk & ((value) << OSCCTRL_DPLLRATIO_LDRFRAC_Pos))
+#define OSCCTRL_DPLLRATIO_MASK              _U_(0xF0FFF)                                   /**< \deprecated (OSCCTRL_DPLLRATIO) Register MASK  (Use OSCCTRL_DPLLRATIO_Msk instead)  */
+#define OSCCTRL_DPLLRATIO_Msk               _U_(0xF0FFF)                                   /**< (OSCCTRL_DPLLRATIO) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLCTRLB : (OSCCTRL Offset: 0x34) (R/W 32) DPLL Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t FILTER:2;                  /**< bit:   0..1  Proportional Integral Filter Selection   */
+    uint32_t LPEN:1;                    /**< bit:      2  Low-Power Enable                         */
+    uint32_t WUF:1;                     /**< bit:      3  Wake Up Fast                             */
+    uint32_t REFCLK:2;                  /**< bit:   4..5  Reference Clock Selection                */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t LTIME:3;                   /**< bit:  8..10  Lock Time                                */
+    uint32_t :1;                        /**< bit:     11  Reserved */
+    uint32_t LBYPASS:1;                 /**< bit:     12  Lock Bypass                              */
+    uint32_t :3;                        /**< bit: 13..15  Reserved */
+    uint32_t DIV:11;                    /**< bit: 16..26  Clock Divider                            */
+    uint32_t :5;                        /**< bit: 27..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLCTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLCTRLB_OFFSET            (0x34)                                        /**<  (OSCCTRL_DPLLCTRLB) DPLL Control B  Offset */
+#define OSCCTRL_DPLLCTRLB_RESETVALUE        _U_(0x00)                                     /**<  (OSCCTRL_DPLLCTRLB) DPLL Control B  Reset Value */
+
+#define OSCCTRL_DPLLCTRLB_FILTER_Pos        0                                              /**< (OSCCTRL_DPLLCTRLB) Proportional Integral Filter Selection Position */
+#define OSCCTRL_DPLLCTRLB_FILTER_Msk        (_U_(0x3) << OSCCTRL_DPLLCTRLB_FILTER_Pos)     /**< (OSCCTRL_DPLLCTRLB) Proportional Integral Filter Selection Mask */
+#define OSCCTRL_DPLLCTRLB_FILTER(value)     (OSCCTRL_DPLLCTRLB_FILTER_Msk & ((value) << OSCCTRL_DPLLCTRLB_FILTER_Pos))
+#define   OSCCTRL_DPLLCTRLB_FILTER_Default_Val _U_(0x0)                                       /**< (OSCCTRL_DPLLCTRLB) Default Filter Mode  */
+#define   OSCCTRL_DPLLCTRLB_FILTER_LBFILT_Val _U_(0x1)                                       /**< (OSCCTRL_DPLLCTRLB) Low Bandwidth Filter  */
+#define   OSCCTRL_DPLLCTRLB_FILTER_HBFILT_Val _U_(0x2)                                       /**< (OSCCTRL_DPLLCTRLB) High Bandwidth Filter  */
+#define   OSCCTRL_DPLLCTRLB_FILTER_HDFILT_Val _U_(0x3)                                       /**< (OSCCTRL_DPLLCTRLB) High Damping Filter  */
+#define OSCCTRL_DPLLCTRLB_FILTER_Default    (OSCCTRL_DPLLCTRLB_FILTER_Default_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos)  /**< (OSCCTRL_DPLLCTRLB) Default Filter Mode Position  */
+#define OSCCTRL_DPLLCTRLB_FILTER_LBFILT     (OSCCTRL_DPLLCTRLB_FILTER_LBFILT_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos)  /**< (OSCCTRL_DPLLCTRLB) Low Bandwidth Filter Position  */
+#define OSCCTRL_DPLLCTRLB_FILTER_HBFILT     (OSCCTRL_DPLLCTRLB_FILTER_HBFILT_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos)  /**< (OSCCTRL_DPLLCTRLB) High Bandwidth Filter Position  */
+#define OSCCTRL_DPLLCTRLB_FILTER_HDFILT     (OSCCTRL_DPLLCTRLB_FILTER_HDFILT_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos)  /**< (OSCCTRL_DPLLCTRLB) High Damping Filter Position  */
+#define OSCCTRL_DPLLCTRLB_LPEN_Pos          2                                              /**< (OSCCTRL_DPLLCTRLB) Low-Power Enable Position */
+#define OSCCTRL_DPLLCTRLB_LPEN_Msk          (_U_(0x1) << OSCCTRL_DPLLCTRLB_LPEN_Pos)       /**< (OSCCTRL_DPLLCTRLB) Low-Power Enable Mask */
+#define OSCCTRL_DPLLCTRLB_LPEN              OSCCTRL_DPLLCTRLB_LPEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLB_LPEN_Msk instead */
+#define OSCCTRL_DPLLCTRLB_WUF_Pos           3                                              /**< (OSCCTRL_DPLLCTRLB) Wake Up Fast Position */
+#define OSCCTRL_DPLLCTRLB_WUF_Msk           (_U_(0x1) << OSCCTRL_DPLLCTRLB_WUF_Pos)        /**< (OSCCTRL_DPLLCTRLB) Wake Up Fast Mask */
+#define OSCCTRL_DPLLCTRLB_WUF               OSCCTRL_DPLLCTRLB_WUF_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLB_WUF_Msk instead */
+#define OSCCTRL_DPLLCTRLB_REFCLK_Pos        4                                              /**< (OSCCTRL_DPLLCTRLB) Reference Clock Selection Position */
+#define OSCCTRL_DPLLCTRLB_REFCLK_Msk        (_U_(0x3) << OSCCTRL_DPLLCTRLB_REFCLK_Pos)     /**< (OSCCTRL_DPLLCTRLB) Reference Clock Selection Mask */
+#define OSCCTRL_DPLLCTRLB_REFCLK(value)     (OSCCTRL_DPLLCTRLB_REFCLK_Msk & ((value) << OSCCTRL_DPLLCTRLB_REFCLK_Pos))
+#define   OSCCTRL_DPLLCTRLB_REFCLK_XOSC32K_Val _U_(0x0)                                       /**< (OSCCTRL_DPLLCTRLB) XOSC32K Clock Reference  */
+#define   OSCCTRL_DPLLCTRLB_REFCLK_XOSC_Val _U_(0x1)                                       /**< (OSCCTRL_DPLLCTRLB) XOSC Clock Reference  */
+#define   OSCCTRL_DPLLCTRLB_REFCLK_GCLK_Val _U_(0x2)                                       /**< (OSCCTRL_DPLLCTRLB) GCLK Clock Reference  */
+#define OSCCTRL_DPLLCTRLB_REFCLK_XOSC32K    (OSCCTRL_DPLLCTRLB_REFCLK_XOSC32K_Val << OSCCTRL_DPLLCTRLB_REFCLK_Pos)  /**< (OSCCTRL_DPLLCTRLB) XOSC32K Clock Reference Position  */
+#define OSCCTRL_DPLLCTRLB_REFCLK_XOSC       (OSCCTRL_DPLLCTRLB_REFCLK_XOSC_Val << OSCCTRL_DPLLCTRLB_REFCLK_Pos)  /**< (OSCCTRL_DPLLCTRLB) XOSC Clock Reference Position  */
+#define OSCCTRL_DPLLCTRLB_REFCLK_GCLK       (OSCCTRL_DPLLCTRLB_REFCLK_GCLK_Val << OSCCTRL_DPLLCTRLB_REFCLK_Pos)  /**< (OSCCTRL_DPLLCTRLB) GCLK Clock Reference Position  */
+#define OSCCTRL_DPLLCTRLB_LTIME_Pos         8                                              /**< (OSCCTRL_DPLLCTRLB) Lock Time Position */
+#define OSCCTRL_DPLLCTRLB_LTIME_Msk         (_U_(0x7) << OSCCTRL_DPLLCTRLB_LTIME_Pos)      /**< (OSCCTRL_DPLLCTRLB) Lock Time Mask */
+#define OSCCTRL_DPLLCTRLB_LTIME(value)      (OSCCTRL_DPLLCTRLB_LTIME_Msk & ((value) << OSCCTRL_DPLLCTRLB_LTIME_Pos))
+#define   OSCCTRL_DPLLCTRLB_LTIME_Default_Val _U_(0x0)                                       /**< (OSCCTRL_DPLLCTRLB) No time-out. Automatic lock  */
+#define   OSCCTRL_DPLLCTRLB_LTIME_8MS_Val   _U_(0x4)                                       /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 8 ms  */
+#define   OSCCTRL_DPLLCTRLB_LTIME_9MS_Val   _U_(0x5)                                       /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 9 ms  */
+#define   OSCCTRL_DPLLCTRLB_LTIME_10MS_Val  _U_(0x6)                                       /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 10 ms  */
+#define   OSCCTRL_DPLLCTRLB_LTIME_11MS_Val  _U_(0x7)                                       /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 11 ms  */
+#define OSCCTRL_DPLLCTRLB_LTIME_Default     (OSCCTRL_DPLLCTRLB_LTIME_Default_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos)  /**< (OSCCTRL_DPLLCTRLB) No time-out. Automatic lock Position  */
+#define OSCCTRL_DPLLCTRLB_LTIME_8MS         (OSCCTRL_DPLLCTRLB_LTIME_8MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos)  /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 8 ms Position  */
+#define OSCCTRL_DPLLCTRLB_LTIME_9MS         (OSCCTRL_DPLLCTRLB_LTIME_9MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos)  /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 9 ms Position  */
+#define OSCCTRL_DPLLCTRLB_LTIME_10MS        (OSCCTRL_DPLLCTRLB_LTIME_10MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos)  /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 10 ms Position  */
+#define OSCCTRL_DPLLCTRLB_LTIME_11MS        (OSCCTRL_DPLLCTRLB_LTIME_11MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos)  /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 11 ms Position  */
+#define OSCCTRL_DPLLCTRLB_LBYPASS_Pos       12                                             /**< (OSCCTRL_DPLLCTRLB) Lock Bypass Position */
+#define OSCCTRL_DPLLCTRLB_LBYPASS_Msk       (_U_(0x1) << OSCCTRL_DPLLCTRLB_LBYPASS_Pos)    /**< (OSCCTRL_DPLLCTRLB) Lock Bypass Mask */
+#define OSCCTRL_DPLLCTRLB_LBYPASS           OSCCTRL_DPLLCTRLB_LBYPASS_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLB_LBYPASS_Msk instead */
+#define OSCCTRL_DPLLCTRLB_DIV_Pos           16                                             /**< (OSCCTRL_DPLLCTRLB) Clock Divider Position */
+#define OSCCTRL_DPLLCTRLB_DIV_Msk           (_U_(0x7FF) << OSCCTRL_DPLLCTRLB_DIV_Pos)      /**< (OSCCTRL_DPLLCTRLB) Clock Divider Mask */
+#define OSCCTRL_DPLLCTRLB_DIV(value)        (OSCCTRL_DPLLCTRLB_DIV_Msk & ((value) << OSCCTRL_DPLLCTRLB_DIV_Pos))
+#define OSCCTRL_DPLLCTRLB_MASK              _U_(0x7FF173F)                                 /**< \deprecated (OSCCTRL_DPLLCTRLB) Register MASK  (Use OSCCTRL_DPLLCTRLB_Msk instead)  */
+#define OSCCTRL_DPLLCTRLB_Msk               _U_(0x7FF173F)                                 /**< (OSCCTRL_DPLLCTRLB) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLPRESC : (OSCCTRL Offset: 0x38) (R/W 8) DPLL Prescaler -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PRESC:2;                   /**< bit:   0..1  Output Clock Prescaler                   */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLPRESC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLPRESC_OFFSET            (0x38)                                        /**<  (OSCCTRL_DPLLPRESC) DPLL Prescaler  Offset */
+#define OSCCTRL_DPLLPRESC_RESETVALUE        _U_(0x00)                                     /**<  (OSCCTRL_DPLLPRESC) DPLL Prescaler  Reset Value */
+
+#define OSCCTRL_DPLLPRESC_PRESC_Pos         0                                              /**< (OSCCTRL_DPLLPRESC) Output Clock Prescaler Position */
+#define OSCCTRL_DPLLPRESC_PRESC_Msk         (_U_(0x3) << OSCCTRL_DPLLPRESC_PRESC_Pos)      /**< (OSCCTRL_DPLLPRESC) Output Clock Prescaler Mask */
+#define OSCCTRL_DPLLPRESC_PRESC(value)      (OSCCTRL_DPLLPRESC_PRESC_Msk & ((value) << OSCCTRL_DPLLPRESC_PRESC_Pos))
+#define   OSCCTRL_DPLLPRESC_PRESC_DIV1_Val  _U_(0x0)                                       /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 1  */
+#define   OSCCTRL_DPLLPRESC_PRESC_DIV2_Val  _U_(0x1)                                       /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 2  */
+#define   OSCCTRL_DPLLPRESC_PRESC_DIV4_Val  _U_(0x2)                                       /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 4  */
+#define OSCCTRL_DPLLPRESC_PRESC_DIV1        (OSCCTRL_DPLLPRESC_PRESC_DIV1_Val << OSCCTRL_DPLLPRESC_PRESC_Pos)  /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 1 Position  */
+#define OSCCTRL_DPLLPRESC_PRESC_DIV2        (OSCCTRL_DPLLPRESC_PRESC_DIV2_Val << OSCCTRL_DPLLPRESC_PRESC_Pos)  /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 2 Position  */
+#define OSCCTRL_DPLLPRESC_PRESC_DIV4        (OSCCTRL_DPLLPRESC_PRESC_DIV4_Val << OSCCTRL_DPLLPRESC_PRESC_Pos)  /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 4 Position  */
+#define OSCCTRL_DPLLPRESC_MASK              _U_(0x03)                                      /**< \deprecated (OSCCTRL_DPLLPRESC) Register MASK  (Use OSCCTRL_DPLLPRESC_Msk instead)  */
+#define OSCCTRL_DPLLPRESC_Msk               _U_(0x03)                                      /**< (OSCCTRL_DPLLPRESC) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLSYNCBUSY : (OSCCTRL Offset: 0x3c) (R/ 8) DPLL Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :1;                        /**< bit:      0  Reserved */
+    uint8_t  ENABLE:1;                  /**< bit:      1  DPLL Enable Synchronization Status       */
+    uint8_t  DPLLRATIO:1;               /**< bit:      2  DPLL Loop Divider Ratio Synchronization Status */
+    uint8_t  DPLLPRESC:1;               /**< bit:      3  DPLL Prescaler Synchronization Status    */
+    uint8_t  :4;                        /**< bit:   4..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLSYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLSYNCBUSY_OFFSET         (0x3C)                                        /**<  (OSCCTRL_DPLLSYNCBUSY) DPLL Synchronization Busy  Offset */
+#define OSCCTRL_DPLLSYNCBUSY_RESETVALUE     _U_(0x00)                                     /**<  (OSCCTRL_DPLLSYNCBUSY) DPLL Synchronization Busy  Reset Value */
+
+#define OSCCTRL_DPLLSYNCBUSY_ENABLE_Pos     1                                              /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Enable Synchronization Status Position */
+#define OSCCTRL_DPLLSYNCBUSY_ENABLE_Msk     (_U_(0x1) << OSCCTRL_DPLLSYNCBUSY_ENABLE_Pos)  /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Enable Synchronization Status Mask */
+#define OSCCTRL_DPLLSYNCBUSY_ENABLE         OSCCTRL_DPLLSYNCBUSY_ENABLE_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSYNCBUSY_ENABLE_Msk instead */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Pos  2                                              /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Loop Divider Ratio Synchronization Status Position */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Msk  (_U_(0x1) << OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Pos)  /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Loop Divider Ratio Synchronization Status Mask */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLRATIO      OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Msk instead */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Pos  3                                              /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Prescaler Synchronization Status Position */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Msk  (_U_(0x1) << OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Pos)  /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Prescaler Synchronization Status Mask */
+#define OSCCTRL_DPLLSYNCBUSY_DPLLPRESC      OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Msk instead */
+#define OSCCTRL_DPLLSYNCBUSY_MASK           _U_(0x0E)                                      /**< \deprecated (OSCCTRL_DPLLSYNCBUSY) Register MASK  (Use OSCCTRL_DPLLSYNCBUSY_Msk instead)  */
+#define OSCCTRL_DPLLSYNCBUSY_Msk            _U_(0x0E)                                      /**< (OSCCTRL_DPLLSYNCBUSY) Register Mask  */
+
+
+/* -------- OSCCTRL_DPLLSTATUS : (OSCCTRL Offset: 0x40) (R/ 8) DPLL Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  LOCK:1;                    /**< bit:      0  DPLL Lock                                */
+    uint8_t  CLKRDY:1;                  /**< bit:      1  DPLL Clock Ready                         */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} OSCCTRL_DPLLSTATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define OSCCTRL_DPLLSTATUS_OFFSET           (0x40)                                        /**<  (OSCCTRL_DPLLSTATUS) DPLL Status  Offset */
+#define OSCCTRL_DPLLSTATUS_RESETVALUE       _U_(0x00)                                     /**<  (OSCCTRL_DPLLSTATUS) DPLL Status  Reset Value */
+
+#define OSCCTRL_DPLLSTATUS_LOCK_Pos         0                                              /**< (OSCCTRL_DPLLSTATUS) DPLL Lock Position */
+#define OSCCTRL_DPLLSTATUS_LOCK_Msk         (_U_(0x1) << OSCCTRL_DPLLSTATUS_LOCK_Pos)      /**< (OSCCTRL_DPLLSTATUS) DPLL Lock Mask */
+#define OSCCTRL_DPLLSTATUS_LOCK             OSCCTRL_DPLLSTATUS_LOCK_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSTATUS_LOCK_Msk instead */
+#define OSCCTRL_DPLLSTATUS_CLKRDY_Pos       1                                              /**< (OSCCTRL_DPLLSTATUS) DPLL Clock Ready Position */
+#define OSCCTRL_DPLLSTATUS_CLKRDY_Msk       (_U_(0x1) << OSCCTRL_DPLLSTATUS_CLKRDY_Pos)    /**< (OSCCTRL_DPLLSTATUS) DPLL Clock Ready Mask */
+#define OSCCTRL_DPLLSTATUS_CLKRDY           OSCCTRL_DPLLSTATUS_CLKRDY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSTATUS_CLKRDY_Msk instead */
+#define OSCCTRL_DPLLSTATUS_MASK             _U_(0x03)                                      /**< \deprecated (OSCCTRL_DPLLSTATUS) Register MASK  (Use OSCCTRL_DPLLSTATUS_Msk instead)  */
+#define OSCCTRL_DPLLSTATUS_Msk              _U_(0x03)                                      /**< (OSCCTRL_DPLLSTATUS) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief OSCCTRL hardware registers */
+typedef struct {  /* Oscillators Control */
+  __IO OSCCTRL_EVCTRL_Type            EVCTRL;         /**< Offset: 0x00 (R/W   8) Event Control */
+  __I  uint8_t                        Reserved1[3];
+  __IO OSCCTRL_INTENCLR_Type          INTENCLR;       /**< Offset: 0x04 (R/W  32) Interrupt Enable Clear */
+  __IO OSCCTRL_INTENSET_Type          INTENSET;       /**< Offset: 0x08 (R/W  32) Interrupt Enable Set */
+  __IO OSCCTRL_INTFLAG_Type           INTFLAG;        /**< Offset: 0x0C (R/W  32) Interrupt Flag Status and Clear */
+  __I  OSCCTRL_STATUS_Type            STATUS;         /**< Offset: 0x10 (R/   32) Status */
+  __IO OSCCTRL_XOSCCTRL_Type          XOSCCTRL;       /**< Offset: 0x14 (R/W  16) External Multipurpose Crystal Oscillator (XOSC) Control */
+  __IO OSCCTRL_CFDPRESC_Type          CFDPRESC;       /**< Offset: 0x16 (R/W   8) Clock Failure Detector Prescaler */
+  __I  uint8_t                        Reserved2[1];
+  __IO OSCCTRL_OSC16MCTRL_Type        OSC16MCTRL;     /**< Offset: 0x18 (R/W   8) 16MHz Internal Oscillator (OSC16M) Control */
+  __I  uint8_t                        Reserved3[3];
+  __IO OSCCTRL_DFLLULPCTRL_Type       DFLLULPCTRL;    /**< Offset: 0x1C (R/W  16) DFLLULP Control */
+  __IO OSCCTRL_DFLLULPDITHER_Type     DFLLULPDITHER;  /**< Offset: 0x1E (R/W   8) DFLLULP Dither Control */
+  __IO OSCCTRL_DFLLULPRREQ_Type       DFLLULPRREQ;    /**< Offset: 0x1F (R/W   8) DFLLULP Read Request */
+  __IO OSCCTRL_DFLLULPDLY_Type        DFLLULPDLY;     /**< Offset: 0x20 (R/W  32) DFLLULP Delay Value */
+  __IO OSCCTRL_DFLLULPRATIO_Type      DFLLULPRATIO;   /**< Offset: 0x24 (R/W  32) DFLLULP Target Ratio */
+  __I  OSCCTRL_DFLLULPSYNCBUSY_Type   DFLLULPSYNCBUSY; /**< Offset: 0x28 (R/   32) DFLLULP Synchronization Busy */
+  __IO OSCCTRL_DPLLCTRLA_Type         DPLLCTRLA;      /**< Offset: 0x2C (R/W   8) DPLL Control A */
+  __I  uint8_t                        Reserved4[3];
+  __IO OSCCTRL_DPLLRATIO_Type         DPLLRATIO;      /**< Offset: 0x30 (R/W  32) DPLL Ratio Control */
+  __IO OSCCTRL_DPLLCTRLB_Type         DPLLCTRLB;      /**< Offset: 0x34 (R/W  32) DPLL Control B */
+  __IO OSCCTRL_DPLLPRESC_Type         DPLLPRESC;      /**< Offset: 0x38 (R/W   8) DPLL Prescaler */
+  __I  uint8_t                        Reserved5[3];
+  __I  OSCCTRL_DPLLSYNCBUSY_Type      DPLLSYNCBUSY;   /**< Offset: 0x3C (R/    8) DPLL Synchronization Busy */
+  __I  uint8_t                        Reserved6[3];
+  __I  OSCCTRL_DPLLSTATUS_Type        DPLLSTATUS;     /**< Offset: 0x40 (R/    8) DPLL Status */
+} Oscctrl;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Oscillators Control */
+
+#endif /* _SAML11_OSCCTRL_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/pac.h b/cpu/sam0_common/include/vendor/saml11/include/component/pac.h
new file mode 100644
index 0000000000..7ffe878345
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/pac.h
@@ -0,0 +1,966 @@
+/**
+ * \file
+ *
+ * \brief Component description for PAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_PAC_COMPONENT_H_
+#define _SAML11_PAC_COMPONENT_H_
+#define _SAML11_PAC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Peripheral Access Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR PAC */
+/* ========================================================================== */
+
+#define PAC_U2120                      /**< (PAC) Module ID */
+#define REV_PAC 0x200                  /**< (PAC) Module revision */
+
+/* -------- PAC_WRCTRL : (PAC Offset: 0x00) (R/W 32) Write control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PERID:16;                  /**< bit:  0..15  Peripheral identifier                    */
+    uint32_t KEY:8;                     /**< bit: 16..23  Peripheral access control key            */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_WRCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_WRCTRL_OFFSET                   (0x00)                                        /**<  (PAC_WRCTRL) Write control  Offset */
+#define PAC_WRCTRL_RESETVALUE               _U_(0x00)                                     /**<  (PAC_WRCTRL) Write control  Reset Value */
+
+#define PAC_WRCTRL_PERID_Pos                0                                              /**< (PAC_WRCTRL) Peripheral identifier Position */
+#define PAC_WRCTRL_PERID_Msk                (_U_(0xFFFF) << PAC_WRCTRL_PERID_Pos)          /**< (PAC_WRCTRL) Peripheral identifier Mask */
+#define PAC_WRCTRL_PERID(value)             (PAC_WRCTRL_PERID_Msk & ((value) << PAC_WRCTRL_PERID_Pos))
+#define PAC_WRCTRL_KEY_Pos                  16                                             /**< (PAC_WRCTRL) Peripheral access control key Position */
+#define PAC_WRCTRL_KEY_Msk                  (_U_(0xFF) << PAC_WRCTRL_KEY_Pos)              /**< (PAC_WRCTRL) Peripheral access control key Mask */
+#define PAC_WRCTRL_KEY(value)               (PAC_WRCTRL_KEY_Msk & ((value) << PAC_WRCTRL_KEY_Pos))
+#define   PAC_WRCTRL_KEY_OFF_Val            _U_(0x0)                                       /**< (PAC_WRCTRL) No action  */
+#define   PAC_WRCTRL_KEY_CLR_Val            _U_(0x1)                                       /**< (PAC_WRCTRL) Clear protection  */
+#define   PAC_WRCTRL_KEY_SET_Val            _U_(0x2)                                       /**< (PAC_WRCTRL) Set protection  */
+#define   PAC_WRCTRL_KEY_SETLCK_Val         _U_(0x3)                                       /**< (PAC_WRCTRL) Set and lock protection  */
+#define   PAC_WRCTRL_KEY_SETSEC_Val         _U_(0x4)                                       /**< (PAC_WRCTRL) Set IP secure  */
+#define   PAC_WRCTRL_KEY_SETNONSEC_Val      _U_(0x5)                                       /**< (PAC_WRCTRL) Set IP non-secure  */
+#define   PAC_WRCTRL_KEY_SECLOCK_Val        _U_(0x6)                                       /**< (PAC_WRCTRL) Lock IP security value  */
+#define PAC_WRCTRL_KEY_OFF                  (PAC_WRCTRL_KEY_OFF_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) No action Position  */
+#define PAC_WRCTRL_KEY_CLR                  (PAC_WRCTRL_KEY_CLR_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Clear protection Position  */
+#define PAC_WRCTRL_KEY_SET                  (PAC_WRCTRL_KEY_SET_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Set protection Position  */
+#define PAC_WRCTRL_KEY_SETLCK               (PAC_WRCTRL_KEY_SETLCK_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Set and lock protection Position  */
+#define PAC_WRCTRL_KEY_SETSEC               (PAC_WRCTRL_KEY_SETSEC_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Set IP secure Position  */
+#define PAC_WRCTRL_KEY_SETNONSEC            (PAC_WRCTRL_KEY_SETNONSEC_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Set IP non-secure Position  */
+#define PAC_WRCTRL_KEY_SECLOCK              (PAC_WRCTRL_KEY_SECLOCK_Val << PAC_WRCTRL_KEY_Pos)  /**< (PAC_WRCTRL) Lock IP security value Position  */
+#define PAC_WRCTRL_MASK                     _U_(0xFFFFFF)                                  /**< \deprecated (PAC_WRCTRL) Register MASK  (Use PAC_WRCTRL_Msk instead)  */
+#define PAC_WRCTRL_Msk                      _U_(0xFFFFFF)                                  /**< (PAC_WRCTRL) Register Mask  */
+
+
+/* -------- PAC_EVCTRL : (PAC Offset: 0x04) (R/W 8) Event control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ERREO:1;                   /**< bit:      0  Peripheral acess error event output      */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PAC_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_EVCTRL_OFFSET                   (0x04)                                        /**<  (PAC_EVCTRL) Event control  Offset */
+#define PAC_EVCTRL_RESETVALUE               _U_(0x00)                                     /**<  (PAC_EVCTRL) Event control  Reset Value */
+
+#define PAC_EVCTRL_ERREO_Pos                0                                              /**< (PAC_EVCTRL) Peripheral acess error event output Position */
+#define PAC_EVCTRL_ERREO_Msk                (_U_(0x1) << PAC_EVCTRL_ERREO_Pos)             /**< (PAC_EVCTRL) Peripheral acess error event output Mask */
+#define PAC_EVCTRL_ERREO                    PAC_EVCTRL_ERREO_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_EVCTRL_ERREO_Msk instead */
+#define PAC_EVCTRL_MASK                     _U_(0x01)                                      /**< \deprecated (PAC_EVCTRL) Register MASK  (Use PAC_EVCTRL_Msk instead)  */
+#define PAC_EVCTRL_Msk                      _U_(0x01)                                      /**< (PAC_EVCTRL) Register Mask  */
+
+
+/* -------- PAC_INTENCLR : (PAC Offset: 0x08) (R/W 8) Interrupt enable clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ERR:1;                     /**< bit:      0  Peripheral access error interrupt disable */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PAC_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTENCLR_OFFSET                 (0x08)                                        /**<  (PAC_INTENCLR) Interrupt enable clear  Offset */
+#define PAC_INTENCLR_RESETVALUE             _U_(0x00)                                     /**<  (PAC_INTENCLR) Interrupt enable clear  Reset Value */
+
+#define PAC_INTENCLR_ERR_Pos                0                                              /**< (PAC_INTENCLR) Peripheral access error interrupt disable Position */
+#define PAC_INTENCLR_ERR_Msk                (_U_(0x1) << PAC_INTENCLR_ERR_Pos)             /**< (PAC_INTENCLR) Peripheral access error interrupt disable Mask */
+#define PAC_INTENCLR_ERR                    PAC_INTENCLR_ERR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTENCLR_ERR_Msk instead */
+#define PAC_INTENCLR_MASK                   _U_(0x01)                                      /**< \deprecated (PAC_INTENCLR) Register MASK  (Use PAC_INTENCLR_Msk instead)  */
+#define PAC_INTENCLR_Msk                    _U_(0x01)                                      /**< (PAC_INTENCLR) Register Mask  */
+
+
+/* -------- PAC_INTENSET : (PAC Offset: 0x09) (R/W 8) Interrupt enable set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ERR:1;                     /**< bit:      0  Peripheral access error interrupt enable */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PAC_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTENSET_OFFSET                 (0x09)                                        /**<  (PAC_INTENSET) Interrupt enable set  Offset */
+#define PAC_INTENSET_RESETVALUE             _U_(0x00)                                     /**<  (PAC_INTENSET) Interrupt enable set  Reset Value */
+
+#define PAC_INTENSET_ERR_Pos                0                                              /**< (PAC_INTENSET) Peripheral access error interrupt enable Position */
+#define PAC_INTENSET_ERR_Msk                (_U_(0x1) << PAC_INTENSET_ERR_Pos)             /**< (PAC_INTENSET) Peripheral access error interrupt enable Mask */
+#define PAC_INTENSET_ERR                    PAC_INTENSET_ERR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTENSET_ERR_Msk instead */
+#define PAC_INTENSET_MASK                   _U_(0x01)                                      /**< \deprecated (PAC_INTENSET) Register MASK  (Use PAC_INTENSET_Msk instead)  */
+#define PAC_INTENSET_Msk                    _U_(0x01)                                      /**< (PAC_INTENSET) Register Mask  */
+
+
+/* -------- PAC_INTFLAGAHB : (PAC Offset: 0x10) (R/W 32) Bridge interrupt flag status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t FLASH_:1;                  /**< bit:      0  FLASH                                    */
+    __I uint32_t HPB0_:1;                   /**< bit:      1  HPB0                                     */
+    __I uint32_t HPB1_:1;                   /**< bit:      2  HPB1                                     */
+    __I uint32_t HPB2_:1;                   /**< bit:      3  HPB2                                     */
+    __I uint32_t HSRAMCPU_:1;               /**< bit:      4  HSRAMCPU                                 */
+    __I uint32_t HSRAMDMAC_:1;              /**< bit:      5  HSRAMDMAC                                */
+    __I uint32_t HSRAMDSU_:1;               /**< bit:      6  HSRAMDSU                                 */
+    __I uint32_t :25;                       /**< bit:  7..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_INTFLAGAHB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTFLAGAHB_OFFSET               (0x10)                                        /**<  (PAC_INTFLAGAHB) Bridge interrupt flag status  Offset */
+#define PAC_INTFLAGAHB_RESETVALUE           _U_(0x00)                                     /**<  (PAC_INTFLAGAHB) Bridge interrupt flag status  Reset Value */
+
+#define PAC_INTFLAGAHB_FLASH_Pos            0                                              /**< (PAC_INTFLAGAHB) FLASH Position */
+#define PAC_INTFLAGAHB_FLASH_Msk            (_U_(0x1) << PAC_INTFLAGAHB_FLASH_Pos)         /**< (PAC_INTFLAGAHB) FLASH Mask */
+#define PAC_INTFLAGAHB_FLASH                PAC_INTFLAGAHB_FLASH_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_FLASH_Msk instead */
+#define PAC_INTFLAGAHB_HPB0_Pos             1                                              /**< (PAC_INTFLAGAHB) HPB0 Position */
+#define PAC_INTFLAGAHB_HPB0_Msk             (_U_(0x1) << PAC_INTFLAGAHB_HPB0_Pos)          /**< (PAC_INTFLAGAHB) HPB0 Mask */
+#define PAC_INTFLAGAHB_HPB0                 PAC_INTFLAGAHB_HPB0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HPB0_Msk instead */
+#define PAC_INTFLAGAHB_HPB1_Pos             2                                              /**< (PAC_INTFLAGAHB) HPB1 Position */
+#define PAC_INTFLAGAHB_HPB1_Msk             (_U_(0x1) << PAC_INTFLAGAHB_HPB1_Pos)          /**< (PAC_INTFLAGAHB) HPB1 Mask */
+#define PAC_INTFLAGAHB_HPB1                 PAC_INTFLAGAHB_HPB1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HPB1_Msk instead */
+#define PAC_INTFLAGAHB_HPB2_Pos             3                                              /**< (PAC_INTFLAGAHB) HPB2 Position */
+#define PAC_INTFLAGAHB_HPB2_Msk             (_U_(0x1) << PAC_INTFLAGAHB_HPB2_Pos)          /**< (PAC_INTFLAGAHB) HPB2 Mask */
+#define PAC_INTFLAGAHB_HPB2                 PAC_INTFLAGAHB_HPB2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HPB2_Msk instead */
+#define PAC_INTFLAGAHB_HSRAMCPU_Pos         4                                              /**< (PAC_INTFLAGAHB) HSRAMCPU Position */
+#define PAC_INTFLAGAHB_HSRAMCPU_Msk         (_U_(0x1) << PAC_INTFLAGAHB_HSRAMCPU_Pos)      /**< (PAC_INTFLAGAHB) HSRAMCPU Mask */
+#define PAC_INTFLAGAHB_HSRAMCPU             PAC_INTFLAGAHB_HSRAMCPU_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HSRAMCPU_Msk instead */
+#define PAC_INTFLAGAHB_HSRAMDMAC_Pos        5                                              /**< (PAC_INTFLAGAHB) HSRAMDMAC Position */
+#define PAC_INTFLAGAHB_HSRAMDMAC_Msk        (_U_(0x1) << PAC_INTFLAGAHB_HSRAMDMAC_Pos)     /**< (PAC_INTFLAGAHB) HSRAMDMAC Mask */
+#define PAC_INTFLAGAHB_HSRAMDMAC            PAC_INTFLAGAHB_HSRAMDMAC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HSRAMDMAC_Msk instead */
+#define PAC_INTFLAGAHB_HSRAMDSU_Pos         6                                              /**< (PAC_INTFLAGAHB) HSRAMDSU Position */
+#define PAC_INTFLAGAHB_HSRAMDSU_Msk         (_U_(0x1) << PAC_INTFLAGAHB_HSRAMDSU_Pos)      /**< (PAC_INTFLAGAHB) HSRAMDSU Mask */
+#define PAC_INTFLAGAHB_HSRAMDSU             PAC_INTFLAGAHB_HSRAMDSU_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGAHB_HSRAMDSU_Msk instead */
+#define PAC_INTFLAGAHB_MASK                 _U_(0x7F)                                      /**< \deprecated (PAC_INTFLAGAHB) Register MASK  (Use PAC_INTFLAGAHB_Msk instead)  */
+#define PAC_INTFLAGAHB_Msk                  _U_(0x7F)                                      /**< (PAC_INTFLAGAHB) Register Mask  */
+
+#define PAC_INTFLAGAHB_HPB_Pos              1                                              /**< (PAC_INTFLAGAHB Position) HPBx */
+#define PAC_INTFLAGAHB_HPB_Msk              (_U_(0x7) << PAC_INTFLAGAHB_HPB_Pos)           /**< (PAC_INTFLAGAHB Mask) HPB */
+#define PAC_INTFLAGAHB_HPB(value)           (PAC_INTFLAGAHB_HPB_Msk & ((value) << PAC_INTFLAGAHB_HPB_Pos))  
+
+/* -------- PAC_INTFLAGA : (PAC Offset: 0x14) (R/W 32) Peripheral interrupt flag status - Bridge A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t PAC_:1;                    /**< bit:      0  PAC                                      */
+    __I uint32_t PM_:1;                     /**< bit:      1  PM                                       */
+    __I uint32_t MCLK_:1;                   /**< bit:      2  MCLK                                     */
+    __I uint32_t RSTC_:1;                   /**< bit:      3  RSTC                                     */
+    __I uint32_t OSCCTRL_:1;                /**< bit:      4  OSCCTRL                                  */
+    __I uint32_t OSC32KCTRL_:1;             /**< bit:      5  OSC32KCTRL                               */
+    __I uint32_t SUPC_:1;                   /**< bit:      6  SUPC                                     */
+    __I uint32_t GCLK_:1;                   /**< bit:      7  GCLK                                     */
+    __I uint32_t WDT_:1;                    /**< bit:      8  WDT                                      */
+    __I uint32_t RTC_:1;                    /**< bit:      9  RTC                                      */
+    __I uint32_t EIC_:1;                    /**< bit:     10  EIC                                      */
+    __I uint32_t FREQM_:1;                  /**< bit:     11  FREQM                                    */
+    __I uint32_t PORT_:1;                   /**< bit:     12  PORT                                     */
+    __I uint32_t AC_:1;                     /**< bit:     13  AC                                       */
+    __I uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_INTFLAGA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTFLAGA_OFFSET                 (0x14)                                        /**<  (PAC_INTFLAGA) Peripheral interrupt flag status - Bridge A  Offset */
+#define PAC_INTFLAGA_RESETVALUE             _U_(0x00)                                     /**<  (PAC_INTFLAGA) Peripheral interrupt flag status - Bridge A  Reset Value */
+
+#define PAC_INTFLAGA_PAC_Pos                0                                              /**< (PAC_INTFLAGA) PAC Position */
+#define PAC_INTFLAGA_PAC_Msk                (_U_(0x1) << PAC_INTFLAGA_PAC_Pos)             /**< (PAC_INTFLAGA) PAC Mask */
+#define PAC_INTFLAGA_PAC                    PAC_INTFLAGA_PAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_PAC_Msk instead */
+#define PAC_INTFLAGA_PM_Pos                 1                                              /**< (PAC_INTFLAGA) PM Position */
+#define PAC_INTFLAGA_PM_Msk                 (_U_(0x1) << PAC_INTFLAGA_PM_Pos)              /**< (PAC_INTFLAGA) PM Mask */
+#define PAC_INTFLAGA_PM                     PAC_INTFLAGA_PM_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_PM_Msk instead */
+#define PAC_INTFLAGA_MCLK_Pos               2                                              /**< (PAC_INTFLAGA) MCLK Position */
+#define PAC_INTFLAGA_MCLK_Msk               (_U_(0x1) << PAC_INTFLAGA_MCLK_Pos)            /**< (PAC_INTFLAGA) MCLK Mask */
+#define PAC_INTFLAGA_MCLK                   PAC_INTFLAGA_MCLK_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_MCLK_Msk instead */
+#define PAC_INTFLAGA_RSTC_Pos               3                                              /**< (PAC_INTFLAGA) RSTC Position */
+#define PAC_INTFLAGA_RSTC_Msk               (_U_(0x1) << PAC_INTFLAGA_RSTC_Pos)            /**< (PAC_INTFLAGA) RSTC Mask */
+#define PAC_INTFLAGA_RSTC                   PAC_INTFLAGA_RSTC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_RSTC_Msk instead */
+#define PAC_INTFLAGA_OSCCTRL_Pos            4                                              /**< (PAC_INTFLAGA) OSCCTRL Position */
+#define PAC_INTFLAGA_OSCCTRL_Msk            (_U_(0x1) << PAC_INTFLAGA_OSCCTRL_Pos)         /**< (PAC_INTFLAGA) OSCCTRL Mask */
+#define PAC_INTFLAGA_OSCCTRL                PAC_INTFLAGA_OSCCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_OSCCTRL_Msk instead */
+#define PAC_INTFLAGA_OSC32KCTRL_Pos         5                                              /**< (PAC_INTFLAGA) OSC32KCTRL Position */
+#define PAC_INTFLAGA_OSC32KCTRL_Msk         (_U_(0x1) << PAC_INTFLAGA_OSC32KCTRL_Pos)      /**< (PAC_INTFLAGA) OSC32KCTRL Mask */
+#define PAC_INTFLAGA_OSC32KCTRL             PAC_INTFLAGA_OSC32KCTRL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_OSC32KCTRL_Msk instead */
+#define PAC_INTFLAGA_SUPC_Pos               6                                              /**< (PAC_INTFLAGA) SUPC Position */
+#define PAC_INTFLAGA_SUPC_Msk               (_U_(0x1) << PAC_INTFLAGA_SUPC_Pos)            /**< (PAC_INTFLAGA) SUPC Mask */
+#define PAC_INTFLAGA_SUPC                   PAC_INTFLAGA_SUPC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_SUPC_Msk instead */
+#define PAC_INTFLAGA_GCLK_Pos               7                                              /**< (PAC_INTFLAGA) GCLK Position */
+#define PAC_INTFLAGA_GCLK_Msk               (_U_(0x1) << PAC_INTFLAGA_GCLK_Pos)            /**< (PAC_INTFLAGA) GCLK Mask */
+#define PAC_INTFLAGA_GCLK                   PAC_INTFLAGA_GCLK_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_GCLK_Msk instead */
+#define PAC_INTFLAGA_WDT_Pos                8                                              /**< (PAC_INTFLAGA) WDT Position */
+#define PAC_INTFLAGA_WDT_Msk                (_U_(0x1) << PAC_INTFLAGA_WDT_Pos)             /**< (PAC_INTFLAGA) WDT Mask */
+#define PAC_INTFLAGA_WDT                    PAC_INTFLAGA_WDT_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_WDT_Msk instead */
+#define PAC_INTFLAGA_RTC_Pos                9                                              /**< (PAC_INTFLAGA) RTC Position */
+#define PAC_INTFLAGA_RTC_Msk                (_U_(0x1) << PAC_INTFLAGA_RTC_Pos)             /**< (PAC_INTFLAGA) RTC Mask */
+#define PAC_INTFLAGA_RTC                    PAC_INTFLAGA_RTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_RTC_Msk instead */
+#define PAC_INTFLAGA_EIC_Pos                10                                             /**< (PAC_INTFLAGA) EIC Position */
+#define PAC_INTFLAGA_EIC_Msk                (_U_(0x1) << PAC_INTFLAGA_EIC_Pos)             /**< (PAC_INTFLAGA) EIC Mask */
+#define PAC_INTFLAGA_EIC                    PAC_INTFLAGA_EIC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_EIC_Msk instead */
+#define PAC_INTFLAGA_FREQM_Pos              11                                             /**< (PAC_INTFLAGA) FREQM Position */
+#define PAC_INTFLAGA_FREQM_Msk              (_U_(0x1) << PAC_INTFLAGA_FREQM_Pos)           /**< (PAC_INTFLAGA) FREQM Mask */
+#define PAC_INTFLAGA_FREQM                  PAC_INTFLAGA_FREQM_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_FREQM_Msk instead */
+#define PAC_INTFLAGA_PORT_Pos               12                                             /**< (PAC_INTFLAGA) PORT Position */
+#define PAC_INTFLAGA_PORT_Msk               (_U_(0x1) << PAC_INTFLAGA_PORT_Pos)            /**< (PAC_INTFLAGA) PORT Mask */
+#define PAC_INTFLAGA_PORT                   PAC_INTFLAGA_PORT_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_PORT_Msk instead */
+#define PAC_INTFLAGA_AC_Pos                 13                                             /**< (PAC_INTFLAGA) AC Position */
+#define PAC_INTFLAGA_AC_Msk                 (_U_(0x1) << PAC_INTFLAGA_AC_Pos)              /**< (PAC_INTFLAGA) AC Mask */
+#define PAC_INTFLAGA_AC                     PAC_INTFLAGA_AC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGA_AC_Msk instead */
+#define PAC_INTFLAGA_MASK                   _U_(0x3FFF)                                    /**< \deprecated (PAC_INTFLAGA) Register MASK  (Use PAC_INTFLAGA_Msk instead)  */
+#define PAC_INTFLAGA_Msk                    _U_(0x3FFF)                                    /**< (PAC_INTFLAGA) Register Mask  */
+
+
+/* -------- PAC_INTFLAGB : (PAC Offset: 0x18) (R/W 32) Peripheral interrupt flag status - Bridge B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t IDAU_:1;                   /**< bit:      0  IDAU                                     */
+    __I uint32_t DSU_:1;                    /**< bit:      1  DSU                                      */
+    __I uint32_t NVMCTRL_:1;                /**< bit:      2  NVMCTRL                                  */
+    __I uint32_t DMAC_:1;                   /**< bit:      3  DMAC                                     */
+    __I uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_INTFLAGB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTFLAGB_OFFSET                 (0x18)                                        /**<  (PAC_INTFLAGB) Peripheral interrupt flag status - Bridge B  Offset */
+#define PAC_INTFLAGB_RESETVALUE             _U_(0x00)                                     /**<  (PAC_INTFLAGB) Peripheral interrupt flag status - Bridge B  Reset Value */
+
+#define PAC_INTFLAGB_IDAU_Pos               0                                              /**< (PAC_INTFLAGB) IDAU Position */
+#define PAC_INTFLAGB_IDAU_Msk               (_U_(0x1) << PAC_INTFLAGB_IDAU_Pos)            /**< (PAC_INTFLAGB) IDAU Mask */
+#define PAC_INTFLAGB_IDAU                   PAC_INTFLAGB_IDAU_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGB_IDAU_Msk instead */
+#define PAC_INTFLAGB_DSU_Pos                1                                              /**< (PAC_INTFLAGB) DSU Position */
+#define PAC_INTFLAGB_DSU_Msk                (_U_(0x1) << PAC_INTFLAGB_DSU_Pos)             /**< (PAC_INTFLAGB) DSU Mask */
+#define PAC_INTFLAGB_DSU                    PAC_INTFLAGB_DSU_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGB_DSU_Msk instead */
+#define PAC_INTFLAGB_NVMCTRL_Pos            2                                              /**< (PAC_INTFLAGB) NVMCTRL Position */
+#define PAC_INTFLAGB_NVMCTRL_Msk            (_U_(0x1) << PAC_INTFLAGB_NVMCTRL_Pos)         /**< (PAC_INTFLAGB) NVMCTRL Mask */
+#define PAC_INTFLAGB_NVMCTRL                PAC_INTFLAGB_NVMCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGB_NVMCTRL_Msk instead */
+#define PAC_INTFLAGB_DMAC_Pos               3                                              /**< (PAC_INTFLAGB) DMAC Position */
+#define PAC_INTFLAGB_DMAC_Msk               (_U_(0x1) << PAC_INTFLAGB_DMAC_Pos)            /**< (PAC_INTFLAGB) DMAC Mask */
+#define PAC_INTFLAGB_DMAC                   PAC_INTFLAGB_DMAC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGB_DMAC_Msk instead */
+#define PAC_INTFLAGB_MASK                   _U_(0x0F)                                      /**< \deprecated (PAC_INTFLAGB) Register MASK  (Use PAC_INTFLAGB_Msk instead)  */
+#define PAC_INTFLAGB_Msk                    _U_(0x0F)                                      /**< (PAC_INTFLAGB) Register Mask  */
+
+
+/* -------- PAC_INTFLAGC : (PAC Offset: 0x1c) (R/W 32) Peripheral interrupt flag status - Bridge C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t EVSYS_:1;                  /**< bit:      0  EVSYS                                    */
+    __I uint32_t SERCOM0_:1;                /**< bit:      1  SERCOM0                                  */
+    __I uint32_t SERCOM1_:1;                /**< bit:      2  SERCOM1                                  */
+    __I uint32_t SERCOM2_:1;                /**< bit:      3  SERCOM2                                  */
+    __I uint32_t TC0_:1;                    /**< bit:      4  TC0                                      */
+    __I uint32_t TC1_:1;                    /**< bit:      5  TC1                                      */
+    __I uint32_t TC2_:1;                    /**< bit:      6  TC2                                      */
+    __I uint32_t ADC_:1;                    /**< bit:      7  ADC                                      */
+    __I uint32_t DAC_:1;                    /**< bit:      8  DAC                                      */
+    __I uint32_t PTC_:1;                    /**< bit:      9  PTC                                      */
+    __I uint32_t TRNG_:1;                   /**< bit:     10  TRNG                                     */
+    __I uint32_t CCL_:1;                    /**< bit:     11  CCL                                      */
+    __I uint32_t OPAMP_:1;                  /**< bit:     12  OPAMP                                    */
+    __I uint32_t TRAM_:1;                   /**< bit:     13  TRAM                                     */
+    __I uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_INTFLAGC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_INTFLAGC_OFFSET                 (0x1C)                                        /**<  (PAC_INTFLAGC) Peripheral interrupt flag status - Bridge C  Offset */
+#define PAC_INTFLAGC_RESETVALUE             _U_(0x00)                                     /**<  (PAC_INTFLAGC) Peripheral interrupt flag status - Bridge C  Reset Value */
+
+#define PAC_INTFLAGC_EVSYS_Pos              0                                              /**< (PAC_INTFLAGC) EVSYS Position */
+#define PAC_INTFLAGC_EVSYS_Msk              (_U_(0x1) << PAC_INTFLAGC_EVSYS_Pos)           /**< (PAC_INTFLAGC) EVSYS Mask */
+#define PAC_INTFLAGC_EVSYS                  PAC_INTFLAGC_EVSYS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_EVSYS_Msk instead */
+#define PAC_INTFLAGC_SERCOM0_Pos            1                                              /**< (PAC_INTFLAGC) SERCOM0 Position */
+#define PAC_INTFLAGC_SERCOM0_Msk            (_U_(0x1) << PAC_INTFLAGC_SERCOM0_Pos)         /**< (PAC_INTFLAGC) SERCOM0 Mask */
+#define PAC_INTFLAGC_SERCOM0                PAC_INTFLAGC_SERCOM0_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_SERCOM0_Msk instead */
+#define PAC_INTFLAGC_SERCOM1_Pos            2                                              /**< (PAC_INTFLAGC) SERCOM1 Position */
+#define PAC_INTFLAGC_SERCOM1_Msk            (_U_(0x1) << PAC_INTFLAGC_SERCOM1_Pos)         /**< (PAC_INTFLAGC) SERCOM1 Mask */
+#define PAC_INTFLAGC_SERCOM1                PAC_INTFLAGC_SERCOM1_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_SERCOM1_Msk instead */
+#define PAC_INTFLAGC_SERCOM2_Pos            3                                              /**< (PAC_INTFLAGC) SERCOM2 Position */
+#define PAC_INTFLAGC_SERCOM2_Msk            (_U_(0x1) << PAC_INTFLAGC_SERCOM2_Pos)         /**< (PAC_INTFLAGC) SERCOM2 Mask */
+#define PAC_INTFLAGC_SERCOM2                PAC_INTFLAGC_SERCOM2_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_SERCOM2_Msk instead */
+#define PAC_INTFLAGC_TC0_Pos                4                                              /**< (PAC_INTFLAGC) TC0 Position */
+#define PAC_INTFLAGC_TC0_Msk                (_U_(0x1) << PAC_INTFLAGC_TC0_Pos)             /**< (PAC_INTFLAGC) TC0 Mask */
+#define PAC_INTFLAGC_TC0                    PAC_INTFLAGC_TC0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_TC0_Msk instead */
+#define PAC_INTFLAGC_TC1_Pos                5                                              /**< (PAC_INTFLAGC) TC1 Position */
+#define PAC_INTFLAGC_TC1_Msk                (_U_(0x1) << PAC_INTFLAGC_TC1_Pos)             /**< (PAC_INTFLAGC) TC1 Mask */
+#define PAC_INTFLAGC_TC1                    PAC_INTFLAGC_TC1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_TC1_Msk instead */
+#define PAC_INTFLAGC_TC2_Pos                6                                              /**< (PAC_INTFLAGC) TC2 Position */
+#define PAC_INTFLAGC_TC2_Msk                (_U_(0x1) << PAC_INTFLAGC_TC2_Pos)             /**< (PAC_INTFLAGC) TC2 Mask */
+#define PAC_INTFLAGC_TC2                    PAC_INTFLAGC_TC2_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_TC2_Msk instead */
+#define PAC_INTFLAGC_ADC_Pos                7                                              /**< (PAC_INTFLAGC) ADC Position */
+#define PAC_INTFLAGC_ADC_Msk                (_U_(0x1) << PAC_INTFLAGC_ADC_Pos)             /**< (PAC_INTFLAGC) ADC Mask */
+#define PAC_INTFLAGC_ADC                    PAC_INTFLAGC_ADC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_ADC_Msk instead */
+#define PAC_INTFLAGC_DAC_Pos                8                                              /**< (PAC_INTFLAGC) DAC Position */
+#define PAC_INTFLAGC_DAC_Msk                (_U_(0x1) << PAC_INTFLAGC_DAC_Pos)             /**< (PAC_INTFLAGC) DAC Mask */
+#define PAC_INTFLAGC_DAC                    PAC_INTFLAGC_DAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_DAC_Msk instead */
+#define PAC_INTFLAGC_PTC_Pos                9                                              /**< (PAC_INTFLAGC) PTC Position */
+#define PAC_INTFLAGC_PTC_Msk                (_U_(0x1) << PAC_INTFLAGC_PTC_Pos)             /**< (PAC_INTFLAGC) PTC Mask */
+#define PAC_INTFLAGC_PTC                    PAC_INTFLAGC_PTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_PTC_Msk instead */
+#define PAC_INTFLAGC_TRNG_Pos               10                                             /**< (PAC_INTFLAGC) TRNG Position */
+#define PAC_INTFLAGC_TRNG_Msk               (_U_(0x1) << PAC_INTFLAGC_TRNG_Pos)            /**< (PAC_INTFLAGC) TRNG Mask */
+#define PAC_INTFLAGC_TRNG                   PAC_INTFLAGC_TRNG_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_TRNG_Msk instead */
+#define PAC_INTFLAGC_CCL_Pos                11                                             /**< (PAC_INTFLAGC) CCL Position */
+#define PAC_INTFLAGC_CCL_Msk                (_U_(0x1) << PAC_INTFLAGC_CCL_Pos)             /**< (PAC_INTFLAGC) CCL Mask */
+#define PAC_INTFLAGC_CCL                    PAC_INTFLAGC_CCL_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_CCL_Msk instead */
+#define PAC_INTFLAGC_OPAMP_Pos              12                                             /**< (PAC_INTFLAGC) OPAMP Position */
+#define PAC_INTFLAGC_OPAMP_Msk              (_U_(0x1) << PAC_INTFLAGC_OPAMP_Pos)           /**< (PAC_INTFLAGC) OPAMP Mask */
+#define PAC_INTFLAGC_OPAMP                  PAC_INTFLAGC_OPAMP_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_OPAMP_Msk instead */
+#define PAC_INTFLAGC_TRAM_Pos               13                                             /**< (PAC_INTFLAGC) TRAM Position */
+#define PAC_INTFLAGC_TRAM_Msk               (_U_(0x1) << PAC_INTFLAGC_TRAM_Pos)            /**< (PAC_INTFLAGC) TRAM Mask */
+#define PAC_INTFLAGC_TRAM                   PAC_INTFLAGC_TRAM_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_INTFLAGC_TRAM_Msk instead */
+#define PAC_INTFLAGC_MASK                   _U_(0x3FFF)                                    /**< \deprecated (PAC_INTFLAGC) Register MASK  (Use PAC_INTFLAGC_Msk instead)  */
+#define PAC_INTFLAGC_Msk                    _U_(0x3FFF)                                    /**< (PAC_INTFLAGC) Register Mask  */
+
+#define PAC_INTFLAGC_SERCOM_Pos             1                                              /**< (PAC_INTFLAGC Position) SERCOMx */
+#define PAC_INTFLAGC_SERCOM_Msk             (_U_(0x7) << PAC_INTFLAGC_SERCOM_Pos)          /**< (PAC_INTFLAGC Mask) SERCOM */
+#define PAC_INTFLAGC_SERCOM(value)          (PAC_INTFLAGC_SERCOM_Msk & ((value) << PAC_INTFLAGC_SERCOM_Pos))  
+#define PAC_INTFLAGC_TC_Pos                 4                                              /**< (PAC_INTFLAGC Position) TCx */
+#define PAC_INTFLAGC_TC_Msk                 (_U_(0x7) << PAC_INTFLAGC_TC_Pos)              /**< (PAC_INTFLAGC Mask) TC */
+#define PAC_INTFLAGC_TC(value)              (PAC_INTFLAGC_TC_Msk & ((value) << PAC_INTFLAGC_TC_Pos))  
+
+/* -------- PAC_STATUSA : (PAC Offset: 0x34) (R/ 32) Peripheral write protection status - Bridge A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PAC_:1;                    /**< bit:      0  PAC APB Protect Enable                   */
+    uint32_t PM_:1;                     /**< bit:      1  PM APB Protect Enable                    */
+    uint32_t MCLK_:1;                   /**< bit:      2  MCLK APB Protect Enable                  */
+    uint32_t RSTC_:1;                   /**< bit:      3  RSTC APB Protect Enable                  */
+    uint32_t OSCCTRL_:1;                /**< bit:      4  OSCCTRL APB Protect Enable               */
+    uint32_t OSC32KCTRL_:1;             /**< bit:      5  OSC32KCTRL APB Protect Enable            */
+    uint32_t SUPC_:1;                   /**< bit:      6  SUPC APB Protect Enable                  */
+    uint32_t GCLK_:1;                   /**< bit:      7  GCLK APB Protect Enable                  */
+    uint32_t WDT_:1;                    /**< bit:      8  WDT APB Protect Enable                   */
+    uint32_t RTC_:1;                    /**< bit:      9  RTC APB Protect Enable                   */
+    uint32_t EIC_:1;                    /**< bit:     10  EIC APB Protect Enable                   */
+    uint32_t FREQM_:1;                  /**< bit:     11  FREQM APB Protect Enable                 */
+    uint32_t PORT_:1;                   /**< bit:     12  PORT APB Protect Enable                  */
+    uint32_t AC_:1;                     /**< bit:     13  AC APB Protect Enable                    */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_STATUSA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_STATUSA_OFFSET                  (0x34)                                        /**<  (PAC_STATUSA) Peripheral write protection status - Bridge A  Offset */
+#define PAC_STATUSA_RESETVALUE              _U_(0xC000)                                   /**<  (PAC_STATUSA) Peripheral write protection status - Bridge A  Reset Value */
+
+#define PAC_STATUSA_PAC_Pos                 0                                              /**< (PAC_STATUSA) PAC APB Protect Enable Position */
+#define PAC_STATUSA_PAC_Msk                 (_U_(0x1) << PAC_STATUSA_PAC_Pos)              /**< (PAC_STATUSA) PAC APB Protect Enable Mask */
+#define PAC_STATUSA_PAC                     PAC_STATUSA_PAC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_PAC_Msk instead */
+#define PAC_STATUSA_PM_Pos                  1                                              /**< (PAC_STATUSA) PM APB Protect Enable Position */
+#define PAC_STATUSA_PM_Msk                  (_U_(0x1) << PAC_STATUSA_PM_Pos)               /**< (PAC_STATUSA) PM APB Protect Enable Mask */
+#define PAC_STATUSA_PM                      PAC_STATUSA_PM_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_PM_Msk instead */
+#define PAC_STATUSA_MCLK_Pos                2                                              /**< (PAC_STATUSA) MCLK APB Protect Enable Position */
+#define PAC_STATUSA_MCLK_Msk                (_U_(0x1) << PAC_STATUSA_MCLK_Pos)             /**< (PAC_STATUSA) MCLK APB Protect Enable Mask */
+#define PAC_STATUSA_MCLK                    PAC_STATUSA_MCLK_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_MCLK_Msk instead */
+#define PAC_STATUSA_RSTC_Pos                3                                              /**< (PAC_STATUSA) RSTC APB Protect Enable Position */
+#define PAC_STATUSA_RSTC_Msk                (_U_(0x1) << PAC_STATUSA_RSTC_Pos)             /**< (PAC_STATUSA) RSTC APB Protect Enable Mask */
+#define PAC_STATUSA_RSTC                    PAC_STATUSA_RSTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_RSTC_Msk instead */
+#define PAC_STATUSA_OSCCTRL_Pos             4                                              /**< (PAC_STATUSA) OSCCTRL APB Protect Enable Position */
+#define PAC_STATUSA_OSCCTRL_Msk             (_U_(0x1) << PAC_STATUSA_OSCCTRL_Pos)          /**< (PAC_STATUSA) OSCCTRL APB Protect Enable Mask */
+#define PAC_STATUSA_OSCCTRL                 PAC_STATUSA_OSCCTRL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_OSCCTRL_Msk instead */
+#define PAC_STATUSA_OSC32KCTRL_Pos          5                                              /**< (PAC_STATUSA) OSC32KCTRL APB Protect Enable Position */
+#define PAC_STATUSA_OSC32KCTRL_Msk          (_U_(0x1) << PAC_STATUSA_OSC32KCTRL_Pos)       /**< (PAC_STATUSA) OSC32KCTRL APB Protect Enable Mask */
+#define PAC_STATUSA_OSC32KCTRL              PAC_STATUSA_OSC32KCTRL_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_OSC32KCTRL_Msk instead */
+#define PAC_STATUSA_SUPC_Pos                6                                              /**< (PAC_STATUSA) SUPC APB Protect Enable Position */
+#define PAC_STATUSA_SUPC_Msk                (_U_(0x1) << PAC_STATUSA_SUPC_Pos)             /**< (PAC_STATUSA) SUPC APB Protect Enable Mask */
+#define PAC_STATUSA_SUPC                    PAC_STATUSA_SUPC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_SUPC_Msk instead */
+#define PAC_STATUSA_GCLK_Pos                7                                              /**< (PAC_STATUSA) GCLK APB Protect Enable Position */
+#define PAC_STATUSA_GCLK_Msk                (_U_(0x1) << PAC_STATUSA_GCLK_Pos)             /**< (PAC_STATUSA) GCLK APB Protect Enable Mask */
+#define PAC_STATUSA_GCLK                    PAC_STATUSA_GCLK_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_GCLK_Msk instead */
+#define PAC_STATUSA_WDT_Pos                 8                                              /**< (PAC_STATUSA) WDT APB Protect Enable Position */
+#define PAC_STATUSA_WDT_Msk                 (_U_(0x1) << PAC_STATUSA_WDT_Pos)              /**< (PAC_STATUSA) WDT APB Protect Enable Mask */
+#define PAC_STATUSA_WDT                     PAC_STATUSA_WDT_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_WDT_Msk instead */
+#define PAC_STATUSA_RTC_Pos                 9                                              /**< (PAC_STATUSA) RTC APB Protect Enable Position */
+#define PAC_STATUSA_RTC_Msk                 (_U_(0x1) << PAC_STATUSA_RTC_Pos)              /**< (PAC_STATUSA) RTC APB Protect Enable Mask */
+#define PAC_STATUSA_RTC                     PAC_STATUSA_RTC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_RTC_Msk instead */
+#define PAC_STATUSA_EIC_Pos                 10                                             /**< (PAC_STATUSA) EIC APB Protect Enable Position */
+#define PAC_STATUSA_EIC_Msk                 (_U_(0x1) << PAC_STATUSA_EIC_Pos)              /**< (PAC_STATUSA) EIC APB Protect Enable Mask */
+#define PAC_STATUSA_EIC                     PAC_STATUSA_EIC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_EIC_Msk instead */
+#define PAC_STATUSA_FREQM_Pos               11                                             /**< (PAC_STATUSA) FREQM APB Protect Enable Position */
+#define PAC_STATUSA_FREQM_Msk               (_U_(0x1) << PAC_STATUSA_FREQM_Pos)            /**< (PAC_STATUSA) FREQM APB Protect Enable Mask */
+#define PAC_STATUSA_FREQM                   PAC_STATUSA_FREQM_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_FREQM_Msk instead */
+#define PAC_STATUSA_PORT_Pos                12                                             /**< (PAC_STATUSA) PORT APB Protect Enable Position */
+#define PAC_STATUSA_PORT_Msk                (_U_(0x1) << PAC_STATUSA_PORT_Pos)             /**< (PAC_STATUSA) PORT APB Protect Enable Mask */
+#define PAC_STATUSA_PORT                    PAC_STATUSA_PORT_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_PORT_Msk instead */
+#define PAC_STATUSA_AC_Pos                  13                                             /**< (PAC_STATUSA) AC APB Protect Enable Position */
+#define PAC_STATUSA_AC_Msk                  (_U_(0x1) << PAC_STATUSA_AC_Pos)               /**< (PAC_STATUSA) AC APB Protect Enable Mask */
+#define PAC_STATUSA_AC                      PAC_STATUSA_AC_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSA_AC_Msk instead */
+#define PAC_STATUSA_MASK                    _U_(0x3FFF)                                    /**< \deprecated (PAC_STATUSA) Register MASK  (Use PAC_STATUSA_Msk instead)  */
+#define PAC_STATUSA_Msk                     _U_(0x3FFF)                                    /**< (PAC_STATUSA) Register Mask  */
+
+
+/* -------- PAC_STATUSB : (PAC Offset: 0x38) (R/ 32) Peripheral write protection status - Bridge B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IDAU_:1;                   /**< bit:      0  IDAU APB Protect Enable                  */
+    uint32_t DSU_:1;                    /**< bit:      1  DSU APB Protect Enable                   */
+    uint32_t NVMCTRL_:1;                /**< bit:      2  NVMCTRL APB Protect Enable               */
+    uint32_t DMAC_:1;                   /**< bit:      3  DMAC APB Protect Enable                  */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_STATUSB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_STATUSB_OFFSET                  (0x38)                                        /**<  (PAC_STATUSB) Peripheral write protection status - Bridge B  Offset */
+#define PAC_STATUSB_RESETVALUE              _U_(0x02)                                     /**<  (PAC_STATUSB) Peripheral write protection status - Bridge B  Reset Value */
+
+#define PAC_STATUSB_IDAU_Pos                0                                              /**< (PAC_STATUSB) IDAU APB Protect Enable Position */
+#define PAC_STATUSB_IDAU_Msk                (_U_(0x1) << PAC_STATUSB_IDAU_Pos)             /**< (PAC_STATUSB) IDAU APB Protect Enable Mask */
+#define PAC_STATUSB_IDAU                    PAC_STATUSB_IDAU_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSB_IDAU_Msk instead */
+#define PAC_STATUSB_DSU_Pos                 1                                              /**< (PAC_STATUSB) DSU APB Protect Enable Position */
+#define PAC_STATUSB_DSU_Msk                 (_U_(0x1) << PAC_STATUSB_DSU_Pos)              /**< (PAC_STATUSB) DSU APB Protect Enable Mask */
+#define PAC_STATUSB_DSU                     PAC_STATUSB_DSU_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSB_DSU_Msk instead */
+#define PAC_STATUSB_NVMCTRL_Pos             2                                              /**< (PAC_STATUSB) NVMCTRL APB Protect Enable Position */
+#define PAC_STATUSB_NVMCTRL_Msk             (_U_(0x1) << PAC_STATUSB_NVMCTRL_Pos)          /**< (PAC_STATUSB) NVMCTRL APB Protect Enable Mask */
+#define PAC_STATUSB_NVMCTRL                 PAC_STATUSB_NVMCTRL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSB_NVMCTRL_Msk instead */
+#define PAC_STATUSB_DMAC_Pos                3                                              /**< (PAC_STATUSB) DMAC APB Protect Enable Position */
+#define PAC_STATUSB_DMAC_Msk                (_U_(0x1) << PAC_STATUSB_DMAC_Pos)             /**< (PAC_STATUSB) DMAC APB Protect Enable Mask */
+#define PAC_STATUSB_DMAC                    PAC_STATUSB_DMAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSB_DMAC_Msk instead */
+#define PAC_STATUSB_MASK                    _U_(0x0F)                                      /**< \deprecated (PAC_STATUSB) Register MASK  (Use PAC_STATUSB_Msk instead)  */
+#define PAC_STATUSB_Msk                     _U_(0x0F)                                      /**< (PAC_STATUSB) Register Mask  */
+
+
+/* -------- PAC_STATUSC : (PAC Offset: 0x3c) (R/ 32) Peripheral write protection status - Bridge C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVSYS_:1;                  /**< bit:      0  EVSYS APB Protect Enable                 */
+    uint32_t SERCOM0_:1;                /**< bit:      1  SERCOM0 APB Protect Enable               */
+    uint32_t SERCOM1_:1;                /**< bit:      2  SERCOM1 APB Protect Enable               */
+    uint32_t SERCOM2_:1;                /**< bit:      3  SERCOM2 APB Protect Enable               */
+    uint32_t TC0_:1;                    /**< bit:      4  TC0 APB Protect Enable                   */
+    uint32_t TC1_:1;                    /**< bit:      5  TC1 APB Protect Enable                   */
+    uint32_t TC2_:1;                    /**< bit:      6  TC2 APB Protect Enable                   */
+    uint32_t ADC_:1;                    /**< bit:      7  ADC APB Protect Enable                   */
+    uint32_t DAC_:1;                    /**< bit:      8  DAC APB Protect Enable                   */
+    uint32_t PTC_:1;                    /**< bit:      9  PTC APB Protect Enable                   */
+    uint32_t TRNG_:1;                   /**< bit:     10  TRNG APB Protect Enable                  */
+    uint32_t CCL_:1;                    /**< bit:     11  CCL APB Protect Enable                   */
+    uint32_t OPAMP_:1;                  /**< bit:     12  OPAMP APB Protect Enable                 */
+    uint32_t TRAM_:1;                   /**< bit:     13  TRAM APB Protect Enable                  */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_STATUSC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_STATUSC_OFFSET                  (0x3C)                                        /**<  (PAC_STATUSC) Peripheral write protection status - Bridge C  Offset */
+#define PAC_STATUSC_RESETVALUE              _U_(0x00)                                     /**<  (PAC_STATUSC) Peripheral write protection status - Bridge C  Reset Value */
+
+#define PAC_STATUSC_EVSYS_Pos               0                                              /**< (PAC_STATUSC) EVSYS APB Protect Enable Position */
+#define PAC_STATUSC_EVSYS_Msk               (_U_(0x1) << PAC_STATUSC_EVSYS_Pos)            /**< (PAC_STATUSC) EVSYS APB Protect Enable Mask */
+#define PAC_STATUSC_EVSYS                   PAC_STATUSC_EVSYS_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_EVSYS_Msk instead */
+#define PAC_STATUSC_SERCOM0_Pos             1                                              /**< (PAC_STATUSC) SERCOM0 APB Protect Enable Position */
+#define PAC_STATUSC_SERCOM0_Msk             (_U_(0x1) << PAC_STATUSC_SERCOM0_Pos)          /**< (PAC_STATUSC) SERCOM0 APB Protect Enable Mask */
+#define PAC_STATUSC_SERCOM0                 PAC_STATUSC_SERCOM0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_SERCOM0_Msk instead */
+#define PAC_STATUSC_SERCOM1_Pos             2                                              /**< (PAC_STATUSC) SERCOM1 APB Protect Enable Position */
+#define PAC_STATUSC_SERCOM1_Msk             (_U_(0x1) << PAC_STATUSC_SERCOM1_Pos)          /**< (PAC_STATUSC) SERCOM1 APB Protect Enable Mask */
+#define PAC_STATUSC_SERCOM1                 PAC_STATUSC_SERCOM1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_SERCOM1_Msk instead */
+#define PAC_STATUSC_SERCOM2_Pos             3                                              /**< (PAC_STATUSC) SERCOM2 APB Protect Enable Position */
+#define PAC_STATUSC_SERCOM2_Msk             (_U_(0x1) << PAC_STATUSC_SERCOM2_Pos)          /**< (PAC_STATUSC) SERCOM2 APB Protect Enable Mask */
+#define PAC_STATUSC_SERCOM2                 PAC_STATUSC_SERCOM2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_SERCOM2_Msk instead */
+#define PAC_STATUSC_TC0_Pos                 4                                              /**< (PAC_STATUSC) TC0 APB Protect Enable Position */
+#define PAC_STATUSC_TC0_Msk                 (_U_(0x1) << PAC_STATUSC_TC0_Pos)              /**< (PAC_STATUSC) TC0 APB Protect Enable Mask */
+#define PAC_STATUSC_TC0                     PAC_STATUSC_TC0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_TC0_Msk instead */
+#define PAC_STATUSC_TC1_Pos                 5                                              /**< (PAC_STATUSC) TC1 APB Protect Enable Position */
+#define PAC_STATUSC_TC1_Msk                 (_U_(0x1) << PAC_STATUSC_TC1_Pos)              /**< (PAC_STATUSC) TC1 APB Protect Enable Mask */
+#define PAC_STATUSC_TC1                     PAC_STATUSC_TC1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_TC1_Msk instead */
+#define PAC_STATUSC_TC2_Pos                 6                                              /**< (PAC_STATUSC) TC2 APB Protect Enable Position */
+#define PAC_STATUSC_TC2_Msk                 (_U_(0x1) << PAC_STATUSC_TC2_Pos)              /**< (PAC_STATUSC) TC2 APB Protect Enable Mask */
+#define PAC_STATUSC_TC2                     PAC_STATUSC_TC2_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_TC2_Msk instead */
+#define PAC_STATUSC_ADC_Pos                 7                                              /**< (PAC_STATUSC) ADC APB Protect Enable Position */
+#define PAC_STATUSC_ADC_Msk                 (_U_(0x1) << PAC_STATUSC_ADC_Pos)              /**< (PAC_STATUSC) ADC APB Protect Enable Mask */
+#define PAC_STATUSC_ADC                     PAC_STATUSC_ADC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_ADC_Msk instead */
+#define PAC_STATUSC_DAC_Pos                 8                                              /**< (PAC_STATUSC) DAC APB Protect Enable Position */
+#define PAC_STATUSC_DAC_Msk                 (_U_(0x1) << PAC_STATUSC_DAC_Pos)              /**< (PAC_STATUSC) DAC APB Protect Enable Mask */
+#define PAC_STATUSC_DAC                     PAC_STATUSC_DAC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_DAC_Msk instead */
+#define PAC_STATUSC_PTC_Pos                 9                                              /**< (PAC_STATUSC) PTC APB Protect Enable Position */
+#define PAC_STATUSC_PTC_Msk                 (_U_(0x1) << PAC_STATUSC_PTC_Pos)              /**< (PAC_STATUSC) PTC APB Protect Enable Mask */
+#define PAC_STATUSC_PTC                     PAC_STATUSC_PTC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_PTC_Msk instead */
+#define PAC_STATUSC_TRNG_Pos                10                                             /**< (PAC_STATUSC) TRNG APB Protect Enable Position */
+#define PAC_STATUSC_TRNG_Msk                (_U_(0x1) << PAC_STATUSC_TRNG_Pos)             /**< (PAC_STATUSC) TRNG APB Protect Enable Mask */
+#define PAC_STATUSC_TRNG                    PAC_STATUSC_TRNG_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_TRNG_Msk instead */
+#define PAC_STATUSC_CCL_Pos                 11                                             /**< (PAC_STATUSC) CCL APB Protect Enable Position */
+#define PAC_STATUSC_CCL_Msk                 (_U_(0x1) << PAC_STATUSC_CCL_Pos)              /**< (PAC_STATUSC) CCL APB Protect Enable Mask */
+#define PAC_STATUSC_CCL                     PAC_STATUSC_CCL_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_CCL_Msk instead */
+#define PAC_STATUSC_OPAMP_Pos               12                                             /**< (PAC_STATUSC) OPAMP APB Protect Enable Position */
+#define PAC_STATUSC_OPAMP_Msk               (_U_(0x1) << PAC_STATUSC_OPAMP_Pos)            /**< (PAC_STATUSC) OPAMP APB Protect Enable Mask */
+#define PAC_STATUSC_OPAMP                   PAC_STATUSC_OPAMP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_OPAMP_Msk instead */
+#define PAC_STATUSC_TRAM_Pos                13                                             /**< (PAC_STATUSC) TRAM APB Protect Enable Position */
+#define PAC_STATUSC_TRAM_Msk                (_U_(0x1) << PAC_STATUSC_TRAM_Pos)             /**< (PAC_STATUSC) TRAM APB Protect Enable Mask */
+#define PAC_STATUSC_TRAM                    PAC_STATUSC_TRAM_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_STATUSC_TRAM_Msk instead */
+#define PAC_STATUSC_MASK                    _U_(0x3FFF)                                    /**< \deprecated (PAC_STATUSC) Register MASK  (Use PAC_STATUSC_Msk instead)  */
+#define PAC_STATUSC_Msk                     _U_(0x3FFF)                                    /**< (PAC_STATUSC) Register Mask  */
+
+#define PAC_STATUSC_SERCOM_Pos              1                                              /**< (PAC_STATUSC Position) SERCOMx APB Protect Enable */
+#define PAC_STATUSC_SERCOM_Msk              (_U_(0x7) << PAC_STATUSC_SERCOM_Pos)           /**< (PAC_STATUSC Mask) SERCOM */
+#define PAC_STATUSC_SERCOM(value)           (PAC_STATUSC_SERCOM_Msk & ((value) << PAC_STATUSC_SERCOM_Pos))  
+#define PAC_STATUSC_TC_Pos                  4                                              /**< (PAC_STATUSC Position) TCx APB Protect Enable */
+#define PAC_STATUSC_TC_Msk                  (_U_(0x7) << PAC_STATUSC_TC_Pos)               /**< (PAC_STATUSC Mask) TC */
+#define PAC_STATUSC_TC(value)               (PAC_STATUSC_TC_Msk & ((value) << PAC_STATUSC_TC_Pos))  
+
+/* -------- PAC_NONSECA : (PAC Offset: 0x54) (R/ 32) Peripheral non-secure status - Bridge A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PAC_:1;                    /**< bit:      0  PAC Non-Secure                           */
+    uint32_t PM_:1;                     /**< bit:      1  PM Non-Secure                            */
+    uint32_t MCLK_:1;                   /**< bit:      2  MCLK Non-Secure                          */
+    uint32_t RSTC_:1;                   /**< bit:      3  RSTC Non-Secure                          */
+    uint32_t OSCCTRL_:1;                /**< bit:      4  OSCCTRL Non-Secure                       */
+    uint32_t OSC32KCTRL_:1;             /**< bit:      5  OSC32KCTRL Non-Secure                    */
+    uint32_t SUPC_:1;                   /**< bit:      6  SUPC Non-Secure                          */
+    uint32_t GCLK_:1;                   /**< bit:      7  GCLK Non-Secure                          */
+    uint32_t WDT_:1;                    /**< bit:      8  WDT Non-Secure                           */
+    uint32_t RTC_:1;                    /**< bit:      9  RTC Non-Secure                           */
+    uint32_t EIC_:1;                    /**< bit:     10  EIC Non-Secure                           */
+    uint32_t FREQM_:1;                  /**< bit:     11  FREQM Non-Secure                         */
+    uint32_t PORT_:1;                   /**< bit:     12  PORT Non-Secure                          */
+    uint32_t AC_:1;                     /**< bit:     13  AC Non-Secure                            */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_NONSECA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_NONSECA_OFFSET                  (0x54)                                        /**<  (PAC_NONSECA) Peripheral non-secure status - Bridge A  Offset */
+#define PAC_NONSECA_RESETVALUE              _U_(0x00)                                     /**<  (PAC_NONSECA) Peripheral non-secure status - Bridge A  Reset Value */
+
+#define PAC_NONSECA_PAC_Pos                 0                                              /**< (PAC_NONSECA) PAC Non-Secure Position */
+#define PAC_NONSECA_PAC_Msk                 (_U_(0x1) << PAC_NONSECA_PAC_Pos)              /**< (PAC_NONSECA) PAC Non-Secure Mask */
+#define PAC_NONSECA_PAC                     PAC_NONSECA_PAC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_PAC_Msk instead */
+#define PAC_NONSECA_PM_Pos                  1                                              /**< (PAC_NONSECA) PM Non-Secure Position */
+#define PAC_NONSECA_PM_Msk                  (_U_(0x1) << PAC_NONSECA_PM_Pos)               /**< (PAC_NONSECA) PM Non-Secure Mask */
+#define PAC_NONSECA_PM                      PAC_NONSECA_PM_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_PM_Msk instead */
+#define PAC_NONSECA_MCLK_Pos                2                                              /**< (PAC_NONSECA) MCLK Non-Secure Position */
+#define PAC_NONSECA_MCLK_Msk                (_U_(0x1) << PAC_NONSECA_MCLK_Pos)             /**< (PAC_NONSECA) MCLK Non-Secure Mask */
+#define PAC_NONSECA_MCLK                    PAC_NONSECA_MCLK_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_MCLK_Msk instead */
+#define PAC_NONSECA_RSTC_Pos                3                                              /**< (PAC_NONSECA) RSTC Non-Secure Position */
+#define PAC_NONSECA_RSTC_Msk                (_U_(0x1) << PAC_NONSECA_RSTC_Pos)             /**< (PAC_NONSECA) RSTC Non-Secure Mask */
+#define PAC_NONSECA_RSTC                    PAC_NONSECA_RSTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_RSTC_Msk instead */
+#define PAC_NONSECA_OSCCTRL_Pos             4                                              /**< (PAC_NONSECA) OSCCTRL Non-Secure Position */
+#define PAC_NONSECA_OSCCTRL_Msk             (_U_(0x1) << PAC_NONSECA_OSCCTRL_Pos)          /**< (PAC_NONSECA) OSCCTRL Non-Secure Mask */
+#define PAC_NONSECA_OSCCTRL                 PAC_NONSECA_OSCCTRL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_OSCCTRL_Msk instead */
+#define PAC_NONSECA_OSC32KCTRL_Pos          5                                              /**< (PAC_NONSECA) OSC32KCTRL Non-Secure Position */
+#define PAC_NONSECA_OSC32KCTRL_Msk          (_U_(0x1) << PAC_NONSECA_OSC32KCTRL_Pos)       /**< (PAC_NONSECA) OSC32KCTRL Non-Secure Mask */
+#define PAC_NONSECA_OSC32KCTRL              PAC_NONSECA_OSC32KCTRL_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_OSC32KCTRL_Msk instead */
+#define PAC_NONSECA_SUPC_Pos                6                                              /**< (PAC_NONSECA) SUPC Non-Secure Position */
+#define PAC_NONSECA_SUPC_Msk                (_U_(0x1) << PAC_NONSECA_SUPC_Pos)             /**< (PAC_NONSECA) SUPC Non-Secure Mask */
+#define PAC_NONSECA_SUPC                    PAC_NONSECA_SUPC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_SUPC_Msk instead */
+#define PAC_NONSECA_GCLK_Pos                7                                              /**< (PAC_NONSECA) GCLK Non-Secure Position */
+#define PAC_NONSECA_GCLK_Msk                (_U_(0x1) << PAC_NONSECA_GCLK_Pos)             /**< (PAC_NONSECA) GCLK Non-Secure Mask */
+#define PAC_NONSECA_GCLK                    PAC_NONSECA_GCLK_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_GCLK_Msk instead */
+#define PAC_NONSECA_WDT_Pos                 8                                              /**< (PAC_NONSECA) WDT Non-Secure Position */
+#define PAC_NONSECA_WDT_Msk                 (_U_(0x1) << PAC_NONSECA_WDT_Pos)              /**< (PAC_NONSECA) WDT Non-Secure Mask */
+#define PAC_NONSECA_WDT                     PAC_NONSECA_WDT_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_WDT_Msk instead */
+#define PAC_NONSECA_RTC_Pos                 9                                              /**< (PAC_NONSECA) RTC Non-Secure Position */
+#define PAC_NONSECA_RTC_Msk                 (_U_(0x1) << PAC_NONSECA_RTC_Pos)              /**< (PAC_NONSECA) RTC Non-Secure Mask */
+#define PAC_NONSECA_RTC                     PAC_NONSECA_RTC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_RTC_Msk instead */
+#define PAC_NONSECA_EIC_Pos                 10                                             /**< (PAC_NONSECA) EIC Non-Secure Position */
+#define PAC_NONSECA_EIC_Msk                 (_U_(0x1) << PAC_NONSECA_EIC_Pos)              /**< (PAC_NONSECA) EIC Non-Secure Mask */
+#define PAC_NONSECA_EIC                     PAC_NONSECA_EIC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_EIC_Msk instead */
+#define PAC_NONSECA_FREQM_Pos               11                                             /**< (PAC_NONSECA) FREQM Non-Secure Position */
+#define PAC_NONSECA_FREQM_Msk               (_U_(0x1) << PAC_NONSECA_FREQM_Pos)            /**< (PAC_NONSECA) FREQM Non-Secure Mask */
+#define PAC_NONSECA_FREQM                   PAC_NONSECA_FREQM_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_FREQM_Msk instead */
+#define PAC_NONSECA_PORT_Pos                12                                             /**< (PAC_NONSECA) PORT Non-Secure Position */
+#define PAC_NONSECA_PORT_Msk                (_U_(0x1) << PAC_NONSECA_PORT_Pos)             /**< (PAC_NONSECA) PORT Non-Secure Mask */
+#define PAC_NONSECA_PORT                    PAC_NONSECA_PORT_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_PORT_Msk instead */
+#define PAC_NONSECA_AC_Pos                  13                                             /**< (PAC_NONSECA) AC Non-Secure Position */
+#define PAC_NONSECA_AC_Msk                  (_U_(0x1) << PAC_NONSECA_AC_Pos)               /**< (PAC_NONSECA) AC Non-Secure Mask */
+#define PAC_NONSECA_AC                      PAC_NONSECA_AC_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECA_AC_Msk instead */
+#define PAC_NONSECA_MASK                    _U_(0x3FFF)                                    /**< \deprecated (PAC_NONSECA) Register MASK  (Use PAC_NONSECA_Msk instead)  */
+#define PAC_NONSECA_Msk                     _U_(0x3FFF)                                    /**< (PAC_NONSECA) Register Mask  */
+
+
+/* -------- PAC_NONSECB : (PAC Offset: 0x58) (R/ 32) Peripheral non-secure status - Bridge B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IDAU_:1;                   /**< bit:      0  IDAU Non-Secure                          */
+    uint32_t DSU_:1;                    /**< bit:      1  DSU Non-Secure                           */
+    uint32_t NVMCTRL_:1;                /**< bit:      2  NVMCTRL Non-Secure                       */
+    uint32_t DMAC_:1;                   /**< bit:      3  DMAC Non-Secure                          */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_NONSECB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_NONSECB_OFFSET                  (0x58)                                        /**<  (PAC_NONSECB) Peripheral non-secure status - Bridge B  Offset */
+#define PAC_NONSECB_RESETVALUE              _U_(0x02)                                     /**<  (PAC_NONSECB) Peripheral non-secure status - Bridge B  Reset Value */
+
+#define PAC_NONSECB_IDAU_Pos                0                                              /**< (PAC_NONSECB) IDAU Non-Secure Position */
+#define PAC_NONSECB_IDAU_Msk                (_U_(0x1) << PAC_NONSECB_IDAU_Pos)             /**< (PAC_NONSECB) IDAU Non-Secure Mask */
+#define PAC_NONSECB_IDAU                    PAC_NONSECB_IDAU_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECB_IDAU_Msk instead */
+#define PAC_NONSECB_DSU_Pos                 1                                              /**< (PAC_NONSECB) DSU Non-Secure Position */
+#define PAC_NONSECB_DSU_Msk                 (_U_(0x1) << PAC_NONSECB_DSU_Pos)              /**< (PAC_NONSECB) DSU Non-Secure Mask */
+#define PAC_NONSECB_DSU                     PAC_NONSECB_DSU_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECB_DSU_Msk instead */
+#define PAC_NONSECB_NVMCTRL_Pos             2                                              /**< (PAC_NONSECB) NVMCTRL Non-Secure Position */
+#define PAC_NONSECB_NVMCTRL_Msk             (_U_(0x1) << PAC_NONSECB_NVMCTRL_Pos)          /**< (PAC_NONSECB) NVMCTRL Non-Secure Mask */
+#define PAC_NONSECB_NVMCTRL                 PAC_NONSECB_NVMCTRL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECB_NVMCTRL_Msk instead */
+#define PAC_NONSECB_DMAC_Pos                3                                              /**< (PAC_NONSECB) DMAC Non-Secure Position */
+#define PAC_NONSECB_DMAC_Msk                (_U_(0x1) << PAC_NONSECB_DMAC_Pos)             /**< (PAC_NONSECB) DMAC Non-Secure Mask */
+#define PAC_NONSECB_DMAC                    PAC_NONSECB_DMAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECB_DMAC_Msk instead */
+#define PAC_NONSECB_MASK                    _U_(0x0F)                                      /**< \deprecated (PAC_NONSECB) Register MASK  (Use PAC_NONSECB_Msk instead)  */
+#define PAC_NONSECB_Msk                     _U_(0x0F)                                      /**< (PAC_NONSECB) Register Mask  */
+
+
+/* -------- PAC_NONSECC : (PAC Offset: 0x5c) (R/ 32) Peripheral non-secure status - Bridge C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVSYS_:1;                  /**< bit:      0  EVSYS Non-Secure                         */
+    uint32_t SERCOM0_:1;                /**< bit:      1  SERCOM0 Non-Secure                       */
+    uint32_t SERCOM1_:1;                /**< bit:      2  SERCOM1 Non-Secure                       */
+    uint32_t SERCOM2_:1;                /**< bit:      3  SERCOM2 Non-Secure                       */
+    uint32_t TC0_:1;                    /**< bit:      4  TC0 Non-Secure                           */
+    uint32_t TC1_:1;                    /**< bit:      5  TC1 Non-Secure                           */
+    uint32_t TC2_:1;                    /**< bit:      6  TC2 Non-Secure                           */
+    uint32_t ADC_:1;                    /**< bit:      7  ADC Non-Secure                           */
+    uint32_t DAC_:1;                    /**< bit:      8  DAC Non-Secure                           */
+    uint32_t PTC_:1;                    /**< bit:      9  PTC Non-Secure                           */
+    uint32_t TRNG_:1;                   /**< bit:     10  TRNG Non-Secure                          */
+    uint32_t CCL_:1;                    /**< bit:     11  CCL Non-Secure                           */
+    uint32_t OPAMP_:1;                  /**< bit:     12  OPAMP Non-Secure                         */
+    uint32_t TRAM_:1;                   /**< bit:     13  TRAM Non-Secure                          */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_NONSECC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_NONSECC_OFFSET                  (0x5C)                                        /**<  (PAC_NONSECC) Peripheral non-secure status - Bridge C  Offset */
+#define PAC_NONSECC_RESETVALUE              _U_(0x00)                                     /**<  (PAC_NONSECC) Peripheral non-secure status - Bridge C  Reset Value */
+
+#define PAC_NONSECC_EVSYS_Pos               0                                              /**< (PAC_NONSECC) EVSYS Non-Secure Position */
+#define PAC_NONSECC_EVSYS_Msk               (_U_(0x1) << PAC_NONSECC_EVSYS_Pos)            /**< (PAC_NONSECC) EVSYS Non-Secure Mask */
+#define PAC_NONSECC_EVSYS                   PAC_NONSECC_EVSYS_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_EVSYS_Msk instead */
+#define PAC_NONSECC_SERCOM0_Pos             1                                              /**< (PAC_NONSECC) SERCOM0 Non-Secure Position */
+#define PAC_NONSECC_SERCOM0_Msk             (_U_(0x1) << PAC_NONSECC_SERCOM0_Pos)          /**< (PAC_NONSECC) SERCOM0 Non-Secure Mask */
+#define PAC_NONSECC_SERCOM0                 PAC_NONSECC_SERCOM0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_SERCOM0_Msk instead */
+#define PAC_NONSECC_SERCOM1_Pos             2                                              /**< (PAC_NONSECC) SERCOM1 Non-Secure Position */
+#define PAC_NONSECC_SERCOM1_Msk             (_U_(0x1) << PAC_NONSECC_SERCOM1_Pos)          /**< (PAC_NONSECC) SERCOM1 Non-Secure Mask */
+#define PAC_NONSECC_SERCOM1                 PAC_NONSECC_SERCOM1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_SERCOM1_Msk instead */
+#define PAC_NONSECC_SERCOM2_Pos             3                                              /**< (PAC_NONSECC) SERCOM2 Non-Secure Position */
+#define PAC_NONSECC_SERCOM2_Msk             (_U_(0x1) << PAC_NONSECC_SERCOM2_Pos)          /**< (PAC_NONSECC) SERCOM2 Non-Secure Mask */
+#define PAC_NONSECC_SERCOM2                 PAC_NONSECC_SERCOM2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_SERCOM2_Msk instead */
+#define PAC_NONSECC_TC0_Pos                 4                                              /**< (PAC_NONSECC) TC0 Non-Secure Position */
+#define PAC_NONSECC_TC0_Msk                 (_U_(0x1) << PAC_NONSECC_TC0_Pos)              /**< (PAC_NONSECC) TC0 Non-Secure Mask */
+#define PAC_NONSECC_TC0                     PAC_NONSECC_TC0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_TC0_Msk instead */
+#define PAC_NONSECC_TC1_Pos                 5                                              /**< (PAC_NONSECC) TC1 Non-Secure Position */
+#define PAC_NONSECC_TC1_Msk                 (_U_(0x1) << PAC_NONSECC_TC1_Pos)              /**< (PAC_NONSECC) TC1 Non-Secure Mask */
+#define PAC_NONSECC_TC1                     PAC_NONSECC_TC1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_TC1_Msk instead */
+#define PAC_NONSECC_TC2_Pos                 6                                              /**< (PAC_NONSECC) TC2 Non-Secure Position */
+#define PAC_NONSECC_TC2_Msk                 (_U_(0x1) << PAC_NONSECC_TC2_Pos)              /**< (PAC_NONSECC) TC2 Non-Secure Mask */
+#define PAC_NONSECC_TC2                     PAC_NONSECC_TC2_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_TC2_Msk instead */
+#define PAC_NONSECC_ADC_Pos                 7                                              /**< (PAC_NONSECC) ADC Non-Secure Position */
+#define PAC_NONSECC_ADC_Msk                 (_U_(0x1) << PAC_NONSECC_ADC_Pos)              /**< (PAC_NONSECC) ADC Non-Secure Mask */
+#define PAC_NONSECC_ADC                     PAC_NONSECC_ADC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_ADC_Msk instead */
+#define PAC_NONSECC_DAC_Pos                 8                                              /**< (PAC_NONSECC) DAC Non-Secure Position */
+#define PAC_NONSECC_DAC_Msk                 (_U_(0x1) << PAC_NONSECC_DAC_Pos)              /**< (PAC_NONSECC) DAC Non-Secure Mask */
+#define PAC_NONSECC_DAC                     PAC_NONSECC_DAC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_DAC_Msk instead */
+#define PAC_NONSECC_PTC_Pos                 9                                              /**< (PAC_NONSECC) PTC Non-Secure Position */
+#define PAC_NONSECC_PTC_Msk                 (_U_(0x1) << PAC_NONSECC_PTC_Pos)              /**< (PAC_NONSECC) PTC Non-Secure Mask */
+#define PAC_NONSECC_PTC                     PAC_NONSECC_PTC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_PTC_Msk instead */
+#define PAC_NONSECC_TRNG_Pos                10                                             /**< (PAC_NONSECC) TRNG Non-Secure Position */
+#define PAC_NONSECC_TRNG_Msk                (_U_(0x1) << PAC_NONSECC_TRNG_Pos)             /**< (PAC_NONSECC) TRNG Non-Secure Mask */
+#define PAC_NONSECC_TRNG                    PAC_NONSECC_TRNG_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_TRNG_Msk instead */
+#define PAC_NONSECC_CCL_Pos                 11                                             /**< (PAC_NONSECC) CCL Non-Secure Position */
+#define PAC_NONSECC_CCL_Msk                 (_U_(0x1) << PAC_NONSECC_CCL_Pos)              /**< (PAC_NONSECC) CCL Non-Secure Mask */
+#define PAC_NONSECC_CCL                     PAC_NONSECC_CCL_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_CCL_Msk instead */
+#define PAC_NONSECC_OPAMP_Pos               12                                             /**< (PAC_NONSECC) OPAMP Non-Secure Position */
+#define PAC_NONSECC_OPAMP_Msk               (_U_(0x1) << PAC_NONSECC_OPAMP_Pos)            /**< (PAC_NONSECC) OPAMP Non-Secure Mask */
+#define PAC_NONSECC_OPAMP                   PAC_NONSECC_OPAMP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_OPAMP_Msk instead */
+#define PAC_NONSECC_TRAM_Pos                13                                             /**< (PAC_NONSECC) TRAM Non-Secure Position */
+#define PAC_NONSECC_TRAM_Msk                (_U_(0x1) << PAC_NONSECC_TRAM_Pos)             /**< (PAC_NONSECC) TRAM Non-Secure Mask */
+#define PAC_NONSECC_TRAM                    PAC_NONSECC_TRAM_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_NONSECC_TRAM_Msk instead */
+#define PAC_NONSECC_MASK                    _U_(0x3FFF)                                    /**< \deprecated (PAC_NONSECC) Register MASK  (Use PAC_NONSECC_Msk instead)  */
+#define PAC_NONSECC_Msk                     _U_(0x3FFF)                                    /**< (PAC_NONSECC) Register Mask  */
+
+#define PAC_NONSECC_SERCOM_Pos              1                                              /**< (PAC_NONSECC Position) SERCOMx Non-Secure */
+#define PAC_NONSECC_SERCOM_Msk              (_U_(0x7) << PAC_NONSECC_SERCOM_Pos)           /**< (PAC_NONSECC Mask) SERCOM */
+#define PAC_NONSECC_SERCOM(value)           (PAC_NONSECC_SERCOM_Msk & ((value) << PAC_NONSECC_SERCOM_Pos))  
+#define PAC_NONSECC_TC_Pos                  4                                              /**< (PAC_NONSECC Position) TCx Non-Secure */
+#define PAC_NONSECC_TC_Msk                  (_U_(0x7) << PAC_NONSECC_TC_Pos)               /**< (PAC_NONSECC Mask) TC */
+#define PAC_NONSECC_TC(value)               (PAC_NONSECC_TC_Msk & ((value) << PAC_NONSECC_TC_Pos))  
+
+/* -------- PAC_SECLOCKA : (PAC Offset: 0x74) (R/ 32) Peripheral secure status locked - Bridge A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PAC_:1;                    /**< bit:      0  PAC Secure Status Locked                 */
+    uint32_t PM_:1;                     /**< bit:      1  PM Secure Status Locked                  */
+    uint32_t MCLK_:1;                   /**< bit:      2  MCLK Secure Status Locked                */
+    uint32_t RSTC_:1;                   /**< bit:      3  RSTC Secure Status Locked                */
+    uint32_t OSCCTRL_:1;                /**< bit:      4  OSCCTRL Secure Status Locked             */
+    uint32_t OSC32KCTRL_:1;             /**< bit:      5  OSC32KCTRL Secure Status Locked          */
+    uint32_t SUPC_:1;                   /**< bit:      6  SUPC Secure Status Locked                */
+    uint32_t GCLK_:1;                   /**< bit:      7  GCLK Secure Status Locked                */
+    uint32_t WDT_:1;                    /**< bit:      8  WDT Secure Status Locked                 */
+    uint32_t RTC_:1;                    /**< bit:      9  RTC Secure Status Locked                 */
+    uint32_t EIC_:1;                    /**< bit:     10  EIC Secure Status Locked                 */
+    uint32_t FREQM_:1;                  /**< bit:     11  FREQM Secure Status Locked               */
+    uint32_t PORT_:1;                   /**< bit:     12  PORT Secure Status Locked                */
+    uint32_t AC_:1;                     /**< bit:     13  AC Secure Status Locked                  */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_SECLOCKA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_SECLOCKA_OFFSET                 (0x74)                                        /**<  (PAC_SECLOCKA) Peripheral secure status locked - Bridge A  Offset */
+#define PAC_SECLOCKA_RESETVALUE             _U_(0x00)                                     /**<  (PAC_SECLOCKA) Peripheral secure status locked - Bridge A  Reset Value */
+
+#define PAC_SECLOCKA_PAC_Pos                0                                              /**< (PAC_SECLOCKA) PAC Secure Status Locked Position */
+#define PAC_SECLOCKA_PAC_Msk                (_U_(0x1) << PAC_SECLOCKA_PAC_Pos)             /**< (PAC_SECLOCKA) PAC Secure Status Locked Mask */
+#define PAC_SECLOCKA_PAC                    PAC_SECLOCKA_PAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_PAC_Msk instead */
+#define PAC_SECLOCKA_PM_Pos                 1                                              /**< (PAC_SECLOCKA) PM Secure Status Locked Position */
+#define PAC_SECLOCKA_PM_Msk                 (_U_(0x1) << PAC_SECLOCKA_PM_Pos)              /**< (PAC_SECLOCKA) PM Secure Status Locked Mask */
+#define PAC_SECLOCKA_PM                     PAC_SECLOCKA_PM_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_PM_Msk instead */
+#define PAC_SECLOCKA_MCLK_Pos               2                                              /**< (PAC_SECLOCKA) MCLK Secure Status Locked Position */
+#define PAC_SECLOCKA_MCLK_Msk               (_U_(0x1) << PAC_SECLOCKA_MCLK_Pos)            /**< (PAC_SECLOCKA) MCLK Secure Status Locked Mask */
+#define PAC_SECLOCKA_MCLK                   PAC_SECLOCKA_MCLK_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_MCLK_Msk instead */
+#define PAC_SECLOCKA_RSTC_Pos               3                                              /**< (PAC_SECLOCKA) RSTC Secure Status Locked Position */
+#define PAC_SECLOCKA_RSTC_Msk               (_U_(0x1) << PAC_SECLOCKA_RSTC_Pos)            /**< (PAC_SECLOCKA) RSTC Secure Status Locked Mask */
+#define PAC_SECLOCKA_RSTC                   PAC_SECLOCKA_RSTC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_RSTC_Msk instead */
+#define PAC_SECLOCKA_OSCCTRL_Pos            4                                              /**< (PAC_SECLOCKA) OSCCTRL Secure Status Locked Position */
+#define PAC_SECLOCKA_OSCCTRL_Msk            (_U_(0x1) << PAC_SECLOCKA_OSCCTRL_Pos)         /**< (PAC_SECLOCKA) OSCCTRL Secure Status Locked Mask */
+#define PAC_SECLOCKA_OSCCTRL                PAC_SECLOCKA_OSCCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_OSCCTRL_Msk instead */
+#define PAC_SECLOCKA_OSC32KCTRL_Pos         5                                              /**< (PAC_SECLOCKA) OSC32KCTRL Secure Status Locked Position */
+#define PAC_SECLOCKA_OSC32KCTRL_Msk         (_U_(0x1) << PAC_SECLOCKA_OSC32KCTRL_Pos)      /**< (PAC_SECLOCKA) OSC32KCTRL Secure Status Locked Mask */
+#define PAC_SECLOCKA_OSC32KCTRL             PAC_SECLOCKA_OSC32KCTRL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_OSC32KCTRL_Msk instead */
+#define PAC_SECLOCKA_SUPC_Pos               6                                              /**< (PAC_SECLOCKA) SUPC Secure Status Locked Position */
+#define PAC_SECLOCKA_SUPC_Msk               (_U_(0x1) << PAC_SECLOCKA_SUPC_Pos)            /**< (PAC_SECLOCKA) SUPC Secure Status Locked Mask */
+#define PAC_SECLOCKA_SUPC                   PAC_SECLOCKA_SUPC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_SUPC_Msk instead */
+#define PAC_SECLOCKA_GCLK_Pos               7                                              /**< (PAC_SECLOCKA) GCLK Secure Status Locked Position */
+#define PAC_SECLOCKA_GCLK_Msk               (_U_(0x1) << PAC_SECLOCKA_GCLK_Pos)            /**< (PAC_SECLOCKA) GCLK Secure Status Locked Mask */
+#define PAC_SECLOCKA_GCLK                   PAC_SECLOCKA_GCLK_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_GCLK_Msk instead */
+#define PAC_SECLOCKA_WDT_Pos                8                                              /**< (PAC_SECLOCKA) WDT Secure Status Locked Position */
+#define PAC_SECLOCKA_WDT_Msk                (_U_(0x1) << PAC_SECLOCKA_WDT_Pos)             /**< (PAC_SECLOCKA) WDT Secure Status Locked Mask */
+#define PAC_SECLOCKA_WDT                    PAC_SECLOCKA_WDT_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_WDT_Msk instead */
+#define PAC_SECLOCKA_RTC_Pos                9                                              /**< (PAC_SECLOCKA) RTC Secure Status Locked Position */
+#define PAC_SECLOCKA_RTC_Msk                (_U_(0x1) << PAC_SECLOCKA_RTC_Pos)             /**< (PAC_SECLOCKA) RTC Secure Status Locked Mask */
+#define PAC_SECLOCKA_RTC                    PAC_SECLOCKA_RTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_RTC_Msk instead */
+#define PAC_SECLOCKA_EIC_Pos                10                                             /**< (PAC_SECLOCKA) EIC Secure Status Locked Position */
+#define PAC_SECLOCKA_EIC_Msk                (_U_(0x1) << PAC_SECLOCKA_EIC_Pos)             /**< (PAC_SECLOCKA) EIC Secure Status Locked Mask */
+#define PAC_SECLOCKA_EIC                    PAC_SECLOCKA_EIC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_EIC_Msk instead */
+#define PAC_SECLOCKA_FREQM_Pos              11                                             /**< (PAC_SECLOCKA) FREQM Secure Status Locked Position */
+#define PAC_SECLOCKA_FREQM_Msk              (_U_(0x1) << PAC_SECLOCKA_FREQM_Pos)           /**< (PAC_SECLOCKA) FREQM Secure Status Locked Mask */
+#define PAC_SECLOCKA_FREQM                  PAC_SECLOCKA_FREQM_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_FREQM_Msk instead */
+#define PAC_SECLOCKA_PORT_Pos               12                                             /**< (PAC_SECLOCKA) PORT Secure Status Locked Position */
+#define PAC_SECLOCKA_PORT_Msk               (_U_(0x1) << PAC_SECLOCKA_PORT_Pos)            /**< (PAC_SECLOCKA) PORT Secure Status Locked Mask */
+#define PAC_SECLOCKA_PORT                   PAC_SECLOCKA_PORT_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_PORT_Msk instead */
+#define PAC_SECLOCKA_AC_Pos                 13                                             /**< (PAC_SECLOCKA) AC Secure Status Locked Position */
+#define PAC_SECLOCKA_AC_Msk                 (_U_(0x1) << PAC_SECLOCKA_AC_Pos)              /**< (PAC_SECLOCKA) AC Secure Status Locked Mask */
+#define PAC_SECLOCKA_AC                     PAC_SECLOCKA_AC_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKA_AC_Msk instead */
+#define PAC_SECLOCKA_MASK                   _U_(0x3FFF)                                    /**< \deprecated (PAC_SECLOCKA) Register MASK  (Use PAC_SECLOCKA_Msk instead)  */
+#define PAC_SECLOCKA_Msk                    _U_(0x3FFF)                                    /**< (PAC_SECLOCKA) Register Mask  */
+
+
+/* -------- PAC_SECLOCKB : (PAC Offset: 0x78) (R/ 32) Peripheral secure status locked - Bridge B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IDAU_:1;                   /**< bit:      0  IDAU Secure Status Locked                */
+    uint32_t DSU_:1;                    /**< bit:      1  DSU Secure Status Locked                 */
+    uint32_t NVMCTRL_:1;                /**< bit:      2  NVMCTRL Secure Status Locked             */
+    uint32_t DMAC_:1;                   /**< bit:      3  DMAC Secure Status Locked                */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_SECLOCKB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_SECLOCKB_OFFSET                 (0x78)                                        /**<  (PAC_SECLOCKB) Peripheral secure status locked - Bridge B  Offset */
+#define PAC_SECLOCKB_RESETVALUE             _U_(0x03)                                     /**<  (PAC_SECLOCKB) Peripheral secure status locked - Bridge B  Reset Value */
+
+#define PAC_SECLOCKB_IDAU_Pos               0                                              /**< (PAC_SECLOCKB) IDAU Secure Status Locked Position */
+#define PAC_SECLOCKB_IDAU_Msk               (_U_(0x1) << PAC_SECLOCKB_IDAU_Pos)            /**< (PAC_SECLOCKB) IDAU Secure Status Locked Mask */
+#define PAC_SECLOCKB_IDAU                   PAC_SECLOCKB_IDAU_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKB_IDAU_Msk instead */
+#define PAC_SECLOCKB_DSU_Pos                1                                              /**< (PAC_SECLOCKB) DSU Secure Status Locked Position */
+#define PAC_SECLOCKB_DSU_Msk                (_U_(0x1) << PAC_SECLOCKB_DSU_Pos)             /**< (PAC_SECLOCKB) DSU Secure Status Locked Mask */
+#define PAC_SECLOCKB_DSU                    PAC_SECLOCKB_DSU_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKB_DSU_Msk instead */
+#define PAC_SECLOCKB_NVMCTRL_Pos            2                                              /**< (PAC_SECLOCKB) NVMCTRL Secure Status Locked Position */
+#define PAC_SECLOCKB_NVMCTRL_Msk            (_U_(0x1) << PAC_SECLOCKB_NVMCTRL_Pos)         /**< (PAC_SECLOCKB) NVMCTRL Secure Status Locked Mask */
+#define PAC_SECLOCKB_NVMCTRL                PAC_SECLOCKB_NVMCTRL_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKB_NVMCTRL_Msk instead */
+#define PAC_SECLOCKB_DMAC_Pos               3                                              /**< (PAC_SECLOCKB) DMAC Secure Status Locked Position */
+#define PAC_SECLOCKB_DMAC_Msk               (_U_(0x1) << PAC_SECLOCKB_DMAC_Pos)            /**< (PAC_SECLOCKB) DMAC Secure Status Locked Mask */
+#define PAC_SECLOCKB_DMAC                   PAC_SECLOCKB_DMAC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKB_DMAC_Msk instead */
+#define PAC_SECLOCKB_MASK                   _U_(0x0F)                                      /**< \deprecated (PAC_SECLOCKB) Register MASK  (Use PAC_SECLOCKB_Msk instead)  */
+#define PAC_SECLOCKB_Msk                    _U_(0x0F)                                      /**< (PAC_SECLOCKB) Register Mask  */
+
+
+/* -------- PAC_SECLOCKC : (PAC Offset: 0x7c) (R/ 32) Peripheral secure status locked - Bridge C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t EVSYS_:1;                  /**< bit:      0  EVSYS Secure Status Locked               */
+    uint32_t SERCOM0_:1;                /**< bit:      1  SERCOM0 Secure Status Locked             */
+    uint32_t SERCOM1_:1;                /**< bit:      2  SERCOM1 Secure Status Locked             */
+    uint32_t SERCOM2_:1;                /**< bit:      3  SERCOM2 Secure Status Locked             */
+    uint32_t TC0_:1;                    /**< bit:      4  TC0 Secure Status Locked                 */
+    uint32_t TC1_:1;                    /**< bit:      5  TC1 Secure Status Locked                 */
+    uint32_t TC2_:1;                    /**< bit:      6  TC2 Secure Status Locked                 */
+    uint32_t ADC_:1;                    /**< bit:      7  ADC Secure Status Locked                 */
+    uint32_t DAC_:1;                    /**< bit:      8  DAC Secure Status Locked                 */
+    uint32_t PTC_:1;                    /**< bit:      9  PTC Secure Status Locked                 */
+    uint32_t TRNG_:1;                   /**< bit:     10  TRNG Secure Status Locked                */
+    uint32_t CCL_:1;                    /**< bit:     11  CCL Secure Status Locked                 */
+    uint32_t OPAMP_:1;                  /**< bit:     12  OPAMP Secure Status Locked               */
+    uint32_t TRAM_:1;                   /**< bit:     13  TRAM Secure Status Locked                */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PAC_SECLOCKC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PAC_SECLOCKC_OFFSET                 (0x7C)                                        /**<  (PAC_SECLOCKC) Peripheral secure status locked - Bridge C  Offset */
+#define PAC_SECLOCKC_RESETVALUE             _U_(0x00)                                     /**<  (PAC_SECLOCKC) Peripheral secure status locked - Bridge C  Reset Value */
+
+#define PAC_SECLOCKC_EVSYS_Pos              0                                              /**< (PAC_SECLOCKC) EVSYS Secure Status Locked Position */
+#define PAC_SECLOCKC_EVSYS_Msk              (_U_(0x1) << PAC_SECLOCKC_EVSYS_Pos)           /**< (PAC_SECLOCKC) EVSYS Secure Status Locked Mask */
+#define PAC_SECLOCKC_EVSYS                  PAC_SECLOCKC_EVSYS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_EVSYS_Msk instead */
+#define PAC_SECLOCKC_SERCOM0_Pos            1                                              /**< (PAC_SECLOCKC) SERCOM0 Secure Status Locked Position */
+#define PAC_SECLOCKC_SERCOM0_Msk            (_U_(0x1) << PAC_SECLOCKC_SERCOM0_Pos)         /**< (PAC_SECLOCKC) SERCOM0 Secure Status Locked Mask */
+#define PAC_SECLOCKC_SERCOM0                PAC_SECLOCKC_SERCOM0_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_SERCOM0_Msk instead */
+#define PAC_SECLOCKC_SERCOM1_Pos            2                                              /**< (PAC_SECLOCKC) SERCOM1 Secure Status Locked Position */
+#define PAC_SECLOCKC_SERCOM1_Msk            (_U_(0x1) << PAC_SECLOCKC_SERCOM1_Pos)         /**< (PAC_SECLOCKC) SERCOM1 Secure Status Locked Mask */
+#define PAC_SECLOCKC_SERCOM1                PAC_SECLOCKC_SERCOM1_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_SERCOM1_Msk instead */
+#define PAC_SECLOCKC_SERCOM2_Pos            3                                              /**< (PAC_SECLOCKC) SERCOM2 Secure Status Locked Position */
+#define PAC_SECLOCKC_SERCOM2_Msk            (_U_(0x1) << PAC_SECLOCKC_SERCOM2_Pos)         /**< (PAC_SECLOCKC) SERCOM2 Secure Status Locked Mask */
+#define PAC_SECLOCKC_SERCOM2                PAC_SECLOCKC_SERCOM2_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_SERCOM2_Msk instead */
+#define PAC_SECLOCKC_TC0_Pos                4                                              /**< (PAC_SECLOCKC) TC0 Secure Status Locked Position */
+#define PAC_SECLOCKC_TC0_Msk                (_U_(0x1) << PAC_SECLOCKC_TC0_Pos)             /**< (PAC_SECLOCKC) TC0 Secure Status Locked Mask */
+#define PAC_SECLOCKC_TC0                    PAC_SECLOCKC_TC0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_TC0_Msk instead */
+#define PAC_SECLOCKC_TC1_Pos                5                                              /**< (PAC_SECLOCKC) TC1 Secure Status Locked Position */
+#define PAC_SECLOCKC_TC1_Msk                (_U_(0x1) << PAC_SECLOCKC_TC1_Pos)             /**< (PAC_SECLOCKC) TC1 Secure Status Locked Mask */
+#define PAC_SECLOCKC_TC1                    PAC_SECLOCKC_TC1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_TC1_Msk instead */
+#define PAC_SECLOCKC_TC2_Pos                6                                              /**< (PAC_SECLOCKC) TC2 Secure Status Locked Position */
+#define PAC_SECLOCKC_TC2_Msk                (_U_(0x1) << PAC_SECLOCKC_TC2_Pos)             /**< (PAC_SECLOCKC) TC2 Secure Status Locked Mask */
+#define PAC_SECLOCKC_TC2                    PAC_SECLOCKC_TC2_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_TC2_Msk instead */
+#define PAC_SECLOCKC_ADC_Pos                7                                              /**< (PAC_SECLOCKC) ADC Secure Status Locked Position */
+#define PAC_SECLOCKC_ADC_Msk                (_U_(0x1) << PAC_SECLOCKC_ADC_Pos)             /**< (PAC_SECLOCKC) ADC Secure Status Locked Mask */
+#define PAC_SECLOCKC_ADC                    PAC_SECLOCKC_ADC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_ADC_Msk instead */
+#define PAC_SECLOCKC_DAC_Pos                8                                              /**< (PAC_SECLOCKC) DAC Secure Status Locked Position */
+#define PAC_SECLOCKC_DAC_Msk                (_U_(0x1) << PAC_SECLOCKC_DAC_Pos)             /**< (PAC_SECLOCKC) DAC Secure Status Locked Mask */
+#define PAC_SECLOCKC_DAC                    PAC_SECLOCKC_DAC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_DAC_Msk instead */
+#define PAC_SECLOCKC_PTC_Pos                9                                              /**< (PAC_SECLOCKC) PTC Secure Status Locked Position */
+#define PAC_SECLOCKC_PTC_Msk                (_U_(0x1) << PAC_SECLOCKC_PTC_Pos)             /**< (PAC_SECLOCKC) PTC Secure Status Locked Mask */
+#define PAC_SECLOCKC_PTC                    PAC_SECLOCKC_PTC_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_PTC_Msk instead */
+#define PAC_SECLOCKC_TRNG_Pos               10                                             /**< (PAC_SECLOCKC) TRNG Secure Status Locked Position */
+#define PAC_SECLOCKC_TRNG_Msk               (_U_(0x1) << PAC_SECLOCKC_TRNG_Pos)            /**< (PAC_SECLOCKC) TRNG Secure Status Locked Mask */
+#define PAC_SECLOCKC_TRNG                   PAC_SECLOCKC_TRNG_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_TRNG_Msk instead */
+#define PAC_SECLOCKC_CCL_Pos                11                                             /**< (PAC_SECLOCKC) CCL Secure Status Locked Position */
+#define PAC_SECLOCKC_CCL_Msk                (_U_(0x1) << PAC_SECLOCKC_CCL_Pos)             /**< (PAC_SECLOCKC) CCL Secure Status Locked Mask */
+#define PAC_SECLOCKC_CCL                    PAC_SECLOCKC_CCL_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_CCL_Msk instead */
+#define PAC_SECLOCKC_OPAMP_Pos              12                                             /**< (PAC_SECLOCKC) OPAMP Secure Status Locked Position */
+#define PAC_SECLOCKC_OPAMP_Msk              (_U_(0x1) << PAC_SECLOCKC_OPAMP_Pos)           /**< (PAC_SECLOCKC) OPAMP Secure Status Locked Mask */
+#define PAC_SECLOCKC_OPAMP                  PAC_SECLOCKC_OPAMP_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_OPAMP_Msk instead */
+#define PAC_SECLOCKC_TRAM_Pos               13                                             /**< (PAC_SECLOCKC) TRAM Secure Status Locked Position */
+#define PAC_SECLOCKC_TRAM_Msk               (_U_(0x1) << PAC_SECLOCKC_TRAM_Pos)            /**< (PAC_SECLOCKC) TRAM Secure Status Locked Mask */
+#define PAC_SECLOCKC_TRAM                   PAC_SECLOCKC_TRAM_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PAC_SECLOCKC_TRAM_Msk instead */
+#define PAC_SECLOCKC_MASK                   _U_(0x3FFF)                                    /**< \deprecated (PAC_SECLOCKC) Register MASK  (Use PAC_SECLOCKC_Msk instead)  */
+#define PAC_SECLOCKC_Msk                    _U_(0x3FFF)                                    /**< (PAC_SECLOCKC) Register Mask  */
+
+#define PAC_SECLOCKC_SERCOM_Pos             1                                              /**< (PAC_SECLOCKC Position) SERCOMx Secure Status Locked */
+#define PAC_SECLOCKC_SERCOM_Msk             (_U_(0x7) << PAC_SECLOCKC_SERCOM_Pos)          /**< (PAC_SECLOCKC Mask) SERCOM */
+#define PAC_SECLOCKC_SERCOM(value)          (PAC_SECLOCKC_SERCOM_Msk & ((value) << PAC_SECLOCKC_SERCOM_Pos))  
+#define PAC_SECLOCKC_TC_Pos                 4                                              /**< (PAC_SECLOCKC Position) TCx Secure Status Locked */
+#define PAC_SECLOCKC_TC_Msk                 (_U_(0x7) << PAC_SECLOCKC_TC_Pos)              /**< (PAC_SECLOCKC Mask) TC */
+#define PAC_SECLOCKC_TC(value)              (PAC_SECLOCKC_TC_Msk & ((value) << PAC_SECLOCKC_TC_Pos))  
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief PAC hardware registers */
+typedef struct {  /* Peripheral Access Controller */
+  __IO PAC_WRCTRL_Type                WRCTRL;         /**< Offset: 0x00 (R/W  32) Write control */
+  __IO PAC_EVCTRL_Type                EVCTRL;         /**< Offset: 0x04 (R/W   8) Event control */
+  __I  uint8_t                        Reserved1[3];
+  __IO PAC_INTENCLR_Type              INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt enable clear */
+  __IO PAC_INTENSET_Type              INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt enable set */
+  __I  uint8_t                        Reserved2[6];
+  __IO PAC_INTFLAGAHB_Type            INTFLAGAHB;     /**< Offset: 0x10 (R/W  32) Bridge interrupt flag status */
+  __IO PAC_INTFLAGA_Type              INTFLAGA;       /**< Offset: 0x14 (R/W  32) Peripheral interrupt flag status - Bridge A */
+  __IO PAC_INTFLAGB_Type              INTFLAGB;       /**< Offset: 0x18 (R/W  32) Peripheral interrupt flag status - Bridge B */
+  __IO PAC_INTFLAGC_Type              INTFLAGC;       /**< Offset: 0x1C (R/W  32) Peripheral interrupt flag status - Bridge C */
+  __I  uint8_t                        Reserved3[20];
+  __I  PAC_STATUSA_Type               STATUSA;        /**< Offset: 0x34 (R/   32) Peripheral write protection status - Bridge A */
+  __I  PAC_STATUSB_Type               STATUSB;        /**< Offset: 0x38 (R/   32) Peripheral write protection status - Bridge B */
+  __I  PAC_STATUSC_Type               STATUSC;        /**< Offset: 0x3C (R/   32) Peripheral write protection status - Bridge C */
+  __I  uint8_t                        Reserved4[20];
+  __I  PAC_NONSECA_Type               NONSECA;        /**< Offset: 0x54 (R/   32) Peripheral non-secure status - Bridge A */
+  __I  PAC_NONSECB_Type               NONSECB;        /**< Offset: 0x58 (R/   32) Peripheral non-secure status - Bridge B */
+  __I  PAC_NONSECC_Type               NONSECC;        /**< Offset: 0x5C (R/   32) Peripheral non-secure status - Bridge C */
+  __I  uint8_t                        Reserved5[20];
+  __I  PAC_SECLOCKA_Type              SECLOCKA;       /**< Offset: 0x74 (R/   32) Peripheral secure status locked - Bridge A */
+  __I  PAC_SECLOCKB_Type              SECLOCKB;       /**< Offset: 0x78 (R/   32) Peripheral secure status locked - Bridge B */
+  __I  PAC_SECLOCKC_Type              SECLOCKC;       /**< Offset: 0x7C (R/   32) Peripheral secure status locked - Bridge C */
+} Pac;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Access Controller */
+
+#endif /* _SAML11_PAC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/pm.h b/cpu/sam0_common/include/vendor/saml11/include/component/pm.h
new file mode 100644
index 0000000000..1a652f39f5
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/pm.h
@@ -0,0 +1,266 @@
+/**
+ * \file
+ *
+ * \brief Component description for PM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_PM_COMPONENT_H_
+#define _SAML11_PM_COMPONENT_H_
+#define _SAML11_PM_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Power Manager
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR PM */
+/* ========================================================================== */
+
+#define PM_U2240                      /**< (PM) Module ID */
+#define REV_PM 0x310                  /**< (PM) Module revision */
+
+/* -------- PM_SLEEPCFG : (PM Offset: 0x01) (R/W 8) Sleep Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SLEEPMODE:3;               /**< bit:   0..2  Sleep Mode                               */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_SLEEPCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_SLEEPCFG_OFFSET                  (0x01)                                        /**<  (PM_SLEEPCFG) Sleep Configuration  Offset */
+#define PM_SLEEPCFG_RESETVALUE              _U_(0x02)                                     /**<  (PM_SLEEPCFG) Sleep Configuration  Reset Value */
+
+#define PM_SLEEPCFG_SLEEPMODE_Pos           0                                              /**< (PM_SLEEPCFG) Sleep Mode Position */
+#define PM_SLEEPCFG_SLEEPMODE_Msk           (_U_(0x7) << PM_SLEEPCFG_SLEEPMODE_Pos)        /**< (PM_SLEEPCFG) Sleep Mode Mask */
+#define PM_SLEEPCFG_SLEEPMODE(value)        (PM_SLEEPCFG_SLEEPMODE_Msk & ((value) << PM_SLEEPCFG_SLEEPMODE_Pos))
+#define   PM_SLEEPCFG_SLEEPMODE_IDLE_Val    _U_(0x2)                                       /**< (PM_SLEEPCFG) CPU, AHB, APB clocks are OFF  */
+#define   PM_SLEEPCFG_SLEEPMODE_STANDBY_Val _U_(0x4)                                       /**< (PM_SLEEPCFG) All Clocks are OFF  */
+#define   PM_SLEEPCFG_SLEEPMODE_OFF_Val     _U_(0x6)                                       /**< (PM_SLEEPCFG) All power domains are powered OFF  */
+#define PM_SLEEPCFG_SLEEPMODE_IDLE          (PM_SLEEPCFG_SLEEPMODE_IDLE_Val << PM_SLEEPCFG_SLEEPMODE_Pos)  /**< (PM_SLEEPCFG) CPU, AHB, APB clocks are OFF Position  */
+#define PM_SLEEPCFG_SLEEPMODE_STANDBY       (PM_SLEEPCFG_SLEEPMODE_STANDBY_Val << PM_SLEEPCFG_SLEEPMODE_Pos)  /**< (PM_SLEEPCFG) All Clocks are OFF Position  */
+#define PM_SLEEPCFG_SLEEPMODE_OFF           (PM_SLEEPCFG_SLEEPMODE_OFF_Val << PM_SLEEPCFG_SLEEPMODE_Pos)  /**< (PM_SLEEPCFG) All power domains are powered OFF Position  */
+#define PM_SLEEPCFG_MASK                    _U_(0x07)                                      /**< \deprecated (PM_SLEEPCFG) Register MASK  (Use PM_SLEEPCFG_Msk instead)  */
+#define PM_SLEEPCFG_Msk                     _U_(0x07)                                      /**< (PM_SLEEPCFG) Register Mask  */
+
+
+/* -------- PM_PLCFG : (PM Offset: 0x02) (R/W 8) Performance Level Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PLSEL:2;                   /**< bit:   0..1  Performance Level Select                 */
+    uint8_t  :5;                        /**< bit:   2..6  Reserved */
+    uint8_t  PLDIS:1;                   /**< bit:      7  Performance Level Disable                */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_PLCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_PLCFG_OFFSET                     (0x02)                                        /**<  (PM_PLCFG) Performance Level Configuration  Offset */
+#define PM_PLCFG_RESETVALUE                 _U_(0x00)                                     /**<  (PM_PLCFG) Performance Level Configuration  Reset Value */
+
+#define PM_PLCFG_PLSEL_Pos                  0                                              /**< (PM_PLCFG) Performance Level Select Position */
+#define PM_PLCFG_PLSEL_Msk                  (_U_(0x3) << PM_PLCFG_PLSEL_Pos)               /**< (PM_PLCFG) Performance Level Select Mask */
+#define PM_PLCFG_PLSEL(value)               (PM_PLCFG_PLSEL_Msk & ((value) << PM_PLCFG_PLSEL_Pos))
+#define   PM_PLCFG_PLSEL_PL0_Val            _U_(0x0)                                       /**< (PM_PLCFG) Performance Level 0  */
+#define   PM_PLCFG_PLSEL_PL2_Val            _U_(0x2)                                       /**< (PM_PLCFG) Performance Level 2  */
+#define PM_PLCFG_PLSEL_PL0                  (PM_PLCFG_PLSEL_PL0_Val << PM_PLCFG_PLSEL_Pos)  /**< (PM_PLCFG) Performance Level 0 Position  */
+#define PM_PLCFG_PLSEL_PL2                  (PM_PLCFG_PLSEL_PL2_Val << PM_PLCFG_PLSEL_Pos)  /**< (PM_PLCFG) Performance Level 2 Position  */
+#define PM_PLCFG_PLDIS_Pos                  7                                              /**< (PM_PLCFG) Performance Level Disable Position */
+#define PM_PLCFG_PLDIS_Msk                  (_U_(0x1) << PM_PLCFG_PLDIS_Pos)               /**< (PM_PLCFG) Performance Level Disable Mask */
+#define PM_PLCFG_PLDIS                      PM_PLCFG_PLDIS_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_PLCFG_PLDIS_Msk instead */
+#define PM_PLCFG_MASK                       _U_(0x83)                                      /**< \deprecated (PM_PLCFG) Register MASK  (Use PM_PLCFG_Msk instead)  */
+#define PM_PLCFG_Msk                        _U_(0x83)                                      /**< (PM_PLCFG) Register Mask  */
+
+
+/* -------- PM_PWCFG : (PM Offset: 0x03) (R/W 8) Power Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RAMPSWC:2;                 /**< bit:   0..1  RAM Power Switch Configuration           */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_PWCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_PWCFG_OFFSET                     (0x03)                                        /**<  (PM_PWCFG) Power Configuration  Offset */
+#define PM_PWCFG_RESETVALUE                 _U_(0x00)                                     /**<  (PM_PWCFG) Power Configuration  Reset Value */
+
+#define PM_PWCFG_RAMPSWC_Pos                0                                              /**< (PM_PWCFG) RAM Power Switch Configuration Position */
+#define PM_PWCFG_RAMPSWC_Msk                (_U_(0x3) << PM_PWCFG_RAMPSWC_Pos)             /**< (PM_PWCFG) RAM Power Switch Configuration Mask */
+#define PM_PWCFG_RAMPSWC(value)             (PM_PWCFG_RAMPSWC_Msk & ((value) << PM_PWCFG_RAMPSWC_Pos))
+#define   PM_PWCFG_RAMPSWC_16KB_Val         _U_(0x0)                                       /**< (PM_PWCFG) 16KB Available  */
+#define   PM_PWCFG_RAMPSWC_12KB_Val         _U_(0x1)                                       /**< (PM_PWCFG) 12KB Available  */
+#define   PM_PWCFG_RAMPSWC_8KB_Val          _U_(0x2)                                       /**< (PM_PWCFG) 8KB Available  */
+#define   PM_PWCFG_RAMPSWC_4KB_Val          _U_(0x3)                                       /**< (PM_PWCFG) 4KB Available  */
+#define PM_PWCFG_RAMPSWC_16KB               (PM_PWCFG_RAMPSWC_16KB_Val << PM_PWCFG_RAMPSWC_Pos)  /**< (PM_PWCFG) 16KB Available Position  */
+#define PM_PWCFG_RAMPSWC_12KB               (PM_PWCFG_RAMPSWC_12KB_Val << PM_PWCFG_RAMPSWC_Pos)  /**< (PM_PWCFG) 12KB Available Position  */
+#define PM_PWCFG_RAMPSWC_8KB                (PM_PWCFG_RAMPSWC_8KB_Val << PM_PWCFG_RAMPSWC_Pos)  /**< (PM_PWCFG) 8KB Available Position  */
+#define PM_PWCFG_RAMPSWC_4KB                (PM_PWCFG_RAMPSWC_4KB_Val << PM_PWCFG_RAMPSWC_Pos)  /**< (PM_PWCFG) 4KB Available Position  */
+#define PM_PWCFG_MASK                       _U_(0x03)                                      /**< \deprecated (PM_PWCFG) Register MASK  (Use PM_PWCFG_Msk instead)  */
+#define PM_PWCFG_Msk                        _U_(0x03)                                      /**< (PM_PWCFG) Register Mask  */
+
+
+/* -------- PM_INTENCLR : (PM Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PLRDY:1;                   /**< bit:      0  Performance Level Interrupt Enable       */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_INTENCLR_OFFSET                  (0x04)                                        /**<  (PM_INTENCLR) Interrupt Enable Clear  Offset */
+#define PM_INTENCLR_RESETVALUE              _U_(0x00)                                     /**<  (PM_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define PM_INTENCLR_PLRDY_Pos               0                                              /**< (PM_INTENCLR) Performance Level Interrupt Enable Position */
+#define PM_INTENCLR_PLRDY_Msk               (_U_(0x1) << PM_INTENCLR_PLRDY_Pos)            /**< (PM_INTENCLR) Performance Level Interrupt Enable Mask */
+#define PM_INTENCLR_PLRDY                   PM_INTENCLR_PLRDY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_INTENCLR_PLRDY_Msk instead */
+#define PM_INTENCLR_MASK                    _U_(0x01)                                      /**< \deprecated (PM_INTENCLR) Register MASK  (Use PM_INTENCLR_Msk instead)  */
+#define PM_INTENCLR_Msk                     _U_(0x01)                                      /**< (PM_INTENCLR) Register Mask  */
+
+
+/* -------- PM_INTENSET : (PM Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PLRDY:1;                   /**< bit:      0  Performance Level Ready interrupt Enable */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_INTENSET_OFFSET                  (0x05)                                        /**<  (PM_INTENSET) Interrupt Enable Set  Offset */
+#define PM_INTENSET_RESETVALUE              _U_(0x00)                                     /**<  (PM_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define PM_INTENSET_PLRDY_Pos               0                                              /**< (PM_INTENSET) Performance Level Ready interrupt Enable Position */
+#define PM_INTENSET_PLRDY_Msk               (_U_(0x1) << PM_INTENSET_PLRDY_Pos)            /**< (PM_INTENSET) Performance Level Ready interrupt Enable Mask */
+#define PM_INTENSET_PLRDY                   PM_INTENSET_PLRDY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_INTENSET_PLRDY_Msk instead */
+#define PM_INTENSET_MASK                    _U_(0x01)                                      /**< \deprecated (PM_INTENSET) Register MASK  (Use PM_INTENSET_Msk instead)  */
+#define PM_INTENSET_Msk                     _U_(0x01)                                      /**< (PM_INTENSET) Register Mask  */
+
+
+/* -------- PM_INTFLAG : (PM Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t PLRDY:1;                   /**< bit:      0  Performance Level Ready                  */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PM_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_INTFLAG_OFFSET                   (0x06)                                        /**<  (PM_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define PM_INTFLAG_RESETVALUE               _U_(0x00)                                     /**<  (PM_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define PM_INTFLAG_PLRDY_Pos                0                                              /**< (PM_INTFLAG) Performance Level Ready Position */
+#define PM_INTFLAG_PLRDY_Msk                (_U_(0x1) << PM_INTFLAG_PLRDY_Pos)             /**< (PM_INTFLAG) Performance Level Ready Mask */
+#define PM_INTFLAG_PLRDY                    PM_INTFLAG_PLRDY_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_INTFLAG_PLRDY_Msk instead */
+#define PM_INTFLAG_MASK                     _U_(0x01)                                      /**< \deprecated (PM_INTFLAG) Register MASK  (Use PM_INTFLAG_Msk instead)  */
+#define PM_INTFLAG_Msk                      _U_(0x01)                                      /**< (PM_INTFLAG) Register Mask  */
+
+
+/* -------- PM_STDBYCFG : (PM Offset: 0x08) (R/W 16) Standby Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PDCFG:1;                   /**< bit:      0  Power Domain Configuration               */
+    uint16_t :3;                        /**< bit:   1..3  Reserved */
+    uint16_t DPGPDSW:1;                 /**< bit:      4  Dynamic Power Gating for PDSW            */
+    uint16_t :1;                        /**< bit:      5  Reserved */
+    uint16_t VREGSMOD:2;                /**< bit:   6..7  Voltage Regulator Standby mode           */
+    uint16_t :2;                        /**< bit:   8..9  Reserved */
+    uint16_t BBIASHS:1;                 /**< bit:     10  Back Bias for HSRAM                      */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t BBIASTR:1;                 /**< bit:     12  Back Bias for Trust RAM                  */
+    uint16_t :3;                        /**< bit: 13..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} PM_STDBYCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PM_STDBYCFG_OFFSET                  (0x08)                                        /**<  (PM_STDBYCFG) Standby Configuration  Offset */
+#define PM_STDBYCFG_RESETVALUE              _U_(0x00)                                     /**<  (PM_STDBYCFG) Standby Configuration  Reset Value */
+
+#define PM_STDBYCFG_PDCFG_Pos               0                                              /**< (PM_STDBYCFG) Power Domain Configuration Position */
+#define PM_STDBYCFG_PDCFG_Msk               (_U_(0x1) << PM_STDBYCFG_PDCFG_Pos)            /**< (PM_STDBYCFG) Power Domain Configuration Mask */
+#define PM_STDBYCFG_PDCFG                   PM_STDBYCFG_PDCFG_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_STDBYCFG_PDCFG_Msk instead */
+#define   PM_STDBYCFG_PDCFG_DEFAULT_Val     _U_(0x0)                                       /**< (PM_STDBYCFG) PDSW power domain switching is handled by hardware.  */
+#define   PM_STDBYCFG_PDCFG_PDSW_Val        _U_(0x1)                                       /**< (PM_STDBYCFG) PDSW is forced ACTIVE.  */
+#define PM_STDBYCFG_PDCFG_DEFAULT           (PM_STDBYCFG_PDCFG_DEFAULT_Val << PM_STDBYCFG_PDCFG_Pos)  /**< (PM_STDBYCFG) PDSW power domain switching is handled by hardware. Position  */
+#define PM_STDBYCFG_PDCFG_PDSW              (PM_STDBYCFG_PDCFG_PDSW_Val << PM_STDBYCFG_PDCFG_Pos)  /**< (PM_STDBYCFG) PDSW is forced ACTIVE. Position  */
+#define PM_STDBYCFG_DPGPDSW_Pos             4                                              /**< (PM_STDBYCFG) Dynamic Power Gating for PDSW Position */
+#define PM_STDBYCFG_DPGPDSW_Msk             (_U_(0x1) << PM_STDBYCFG_DPGPDSW_Pos)          /**< (PM_STDBYCFG) Dynamic Power Gating for PDSW Mask */
+#define PM_STDBYCFG_DPGPDSW                 PM_STDBYCFG_DPGPDSW_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_STDBYCFG_DPGPDSW_Msk instead */
+#define   PM_STDBYCFG_DPGPDSW_0_Val         _U_(0x0)                                       /**< (PM_STDBYCFG) Dynamic Power Gating disabled  */
+#define   PM_STDBYCFG_DPGPDSW_1_Val         _U_(0x1)                                       /**< (PM_STDBYCFG) Dynamic Power Gating enabled  */
+#define PM_STDBYCFG_DPGPDSW_0               (PM_STDBYCFG_DPGPDSW_0_Val << PM_STDBYCFG_DPGPDSW_Pos)  /**< (PM_STDBYCFG) Dynamic Power Gating disabled Position  */
+#define PM_STDBYCFG_DPGPDSW_1               (PM_STDBYCFG_DPGPDSW_1_Val << PM_STDBYCFG_DPGPDSW_Pos)  /**< (PM_STDBYCFG) Dynamic Power Gating enabled Position  */
+#define PM_STDBYCFG_VREGSMOD_Pos            6                                              /**< (PM_STDBYCFG) Voltage Regulator Standby mode Position */
+#define PM_STDBYCFG_VREGSMOD_Msk            (_U_(0x3) << PM_STDBYCFG_VREGSMOD_Pos)         /**< (PM_STDBYCFG) Voltage Regulator Standby mode Mask */
+#define PM_STDBYCFG_VREGSMOD(value)         (PM_STDBYCFG_VREGSMOD_Msk & ((value) << PM_STDBYCFG_VREGSMOD_Pos))
+#define   PM_STDBYCFG_VREGSMOD_AUTO_Val     _U_(0x0)                                       /**< (PM_STDBYCFG) Automatic mode  */
+#define   PM_STDBYCFG_VREGSMOD_PERFORMANCE_Val _U_(0x1)                                       /**< (PM_STDBYCFG) Performance oriented  */
+#define   PM_STDBYCFG_VREGSMOD_LP_Val       _U_(0x2)                                       /**< (PM_STDBYCFG) Low Power oriented  */
+#define PM_STDBYCFG_VREGSMOD_AUTO           (PM_STDBYCFG_VREGSMOD_AUTO_Val << PM_STDBYCFG_VREGSMOD_Pos)  /**< (PM_STDBYCFG) Automatic mode Position  */
+#define PM_STDBYCFG_VREGSMOD_PERFORMANCE    (PM_STDBYCFG_VREGSMOD_PERFORMANCE_Val << PM_STDBYCFG_VREGSMOD_Pos)  /**< (PM_STDBYCFG) Performance oriented Position  */
+#define PM_STDBYCFG_VREGSMOD_LP             (PM_STDBYCFG_VREGSMOD_LP_Val << PM_STDBYCFG_VREGSMOD_Pos)  /**< (PM_STDBYCFG) Low Power oriented Position  */
+#define PM_STDBYCFG_BBIASHS_Pos             10                                             /**< (PM_STDBYCFG) Back Bias for HSRAM Position */
+#define PM_STDBYCFG_BBIASHS_Msk             (_U_(0x1) << PM_STDBYCFG_BBIASHS_Pos)          /**< (PM_STDBYCFG) Back Bias for HSRAM Mask */
+#define PM_STDBYCFG_BBIASHS                 PM_STDBYCFG_BBIASHS_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_STDBYCFG_BBIASHS_Msk instead */
+#define PM_STDBYCFG_BBIASTR_Pos             12                                             /**< (PM_STDBYCFG) Back Bias for Trust RAM Position */
+#define PM_STDBYCFG_BBIASTR_Msk             (_U_(0x1) << PM_STDBYCFG_BBIASTR_Pos)          /**< (PM_STDBYCFG) Back Bias for Trust RAM Mask */
+#define PM_STDBYCFG_BBIASTR                 PM_STDBYCFG_BBIASTR_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PM_STDBYCFG_BBIASTR_Msk instead */
+#define PM_STDBYCFG_MASK                    _U_(0x14D1)                                    /**< \deprecated (PM_STDBYCFG) Register MASK  (Use PM_STDBYCFG_Msk instead)  */
+#define PM_STDBYCFG_Msk                     _U_(0x14D1)                                    /**< (PM_STDBYCFG) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief PM hardware registers */
+typedef struct {  /* Power Manager */
+  __I  uint8_t                        Reserved1[1];
+  __IO PM_SLEEPCFG_Type               SLEEPCFG;       /**< Offset: 0x01 (R/W   8) Sleep Configuration */
+  __IO PM_PLCFG_Type                  PLCFG;          /**< Offset: 0x02 (R/W   8) Performance Level Configuration */
+  __IO PM_PWCFG_Type                  PWCFG;          /**< Offset: 0x03 (R/W   8) Power Configuration */
+  __IO PM_INTENCLR_Type               INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO PM_INTENSET_Type               INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO PM_INTFLAG_Type                INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved2[1];
+  __IO PM_STDBYCFG_Type               STDBYCFG;       /**< Offset: 0x08 (R/W  16) Standby Configuration */
+} Pm;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Power Manager */
+
+#endif /* _SAML11_PM_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/port.h b/cpu/sam0_common/include/vendor/saml11/include/component/port.h
new file mode 100644
index 0000000000..6c7741b78e
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/port.h
@@ -0,0 +1,566 @@
+/**
+ * \file
+ *
+ * \brief Component description for PORT
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_PORT_COMPONENT_H_
+#define _SAML11_PORT_COMPONENT_H_
+#define _SAML11_PORT_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Port Module
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR PORT */
+/* ========================================================================== */
+
+#define PORT_U2210                      /**< (PORT) Module ID */
+#define REV_PORT 0x300                  /**< (PORT) Module revision */
+
+/* -------- PORT_DIR : (PORT Offset: 0x00) (R/W 32) Data Direction -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DIR:32;                    /**< bit:  0..31  Port Data Direction                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_DIR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_DIR_OFFSET                     (0x00)                                        /**<  (PORT_DIR) Data Direction  Offset */
+#define PORT_DIR_RESETVALUE                 _U_(0x00)                                     /**<  (PORT_DIR) Data Direction  Reset Value */
+
+#define PORT_DIR_DIR_Pos                    0                                              /**< (PORT_DIR) Port Data Direction Position */
+#define PORT_DIR_DIR_Msk                    (_U_(0xFFFFFFFF) << PORT_DIR_DIR_Pos)          /**< (PORT_DIR) Port Data Direction Mask */
+#define PORT_DIR_DIR(value)                 (PORT_DIR_DIR_Msk & ((value) << PORT_DIR_DIR_Pos))
+#define PORT_DIR_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_DIR) Register MASK  (Use PORT_DIR_Msk instead)  */
+#define PORT_DIR_Msk                        _U_(0xFFFFFFFF)                                /**< (PORT_DIR) Register Mask  */
+
+
+/* -------- PORT_DIRCLR : (PORT Offset: 0x04) (R/W 32) Data Direction Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DIRCLR:32;                 /**< bit:  0..31  Port Data Direction Clear                */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_DIRCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_DIRCLR_OFFSET                  (0x04)                                        /**<  (PORT_DIRCLR) Data Direction Clear  Offset */
+#define PORT_DIRCLR_RESETVALUE              _U_(0x00)                                     /**<  (PORT_DIRCLR) Data Direction Clear  Reset Value */
+
+#define PORT_DIRCLR_DIRCLR_Pos              0                                              /**< (PORT_DIRCLR) Port Data Direction Clear Position */
+#define PORT_DIRCLR_DIRCLR_Msk              (_U_(0xFFFFFFFF) << PORT_DIRCLR_DIRCLR_Pos)    /**< (PORT_DIRCLR) Port Data Direction Clear Mask */
+#define PORT_DIRCLR_DIRCLR(value)           (PORT_DIRCLR_DIRCLR_Msk & ((value) << PORT_DIRCLR_DIRCLR_Pos))
+#define PORT_DIRCLR_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_DIRCLR) Register MASK  (Use PORT_DIRCLR_Msk instead)  */
+#define PORT_DIRCLR_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_DIRCLR) Register Mask  */
+
+
+/* -------- PORT_DIRSET : (PORT Offset: 0x08) (R/W 32) Data Direction Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DIRSET:32;                 /**< bit:  0..31  Port Data Direction Set                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_DIRSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_DIRSET_OFFSET                  (0x08)                                        /**<  (PORT_DIRSET) Data Direction Set  Offset */
+#define PORT_DIRSET_RESETVALUE              _U_(0x00)                                     /**<  (PORT_DIRSET) Data Direction Set  Reset Value */
+
+#define PORT_DIRSET_DIRSET_Pos              0                                              /**< (PORT_DIRSET) Port Data Direction Set Position */
+#define PORT_DIRSET_DIRSET_Msk              (_U_(0xFFFFFFFF) << PORT_DIRSET_DIRSET_Pos)    /**< (PORT_DIRSET) Port Data Direction Set Mask */
+#define PORT_DIRSET_DIRSET(value)           (PORT_DIRSET_DIRSET_Msk & ((value) << PORT_DIRSET_DIRSET_Pos))
+#define PORT_DIRSET_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_DIRSET) Register MASK  (Use PORT_DIRSET_Msk instead)  */
+#define PORT_DIRSET_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_DIRSET) Register Mask  */
+
+
+/* -------- PORT_DIRTGL : (PORT Offset: 0x0c) (R/W 32) Data Direction Toggle -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DIRTGL:32;                 /**< bit:  0..31  Port Data Direction Toggle               */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_DIRTGL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_DIRTGL_OFFSET                  (0x0C)                                        /**<  (PORT_DIRTGL) Data Direction Toggle  Offset */
+#define PORT_DIRTGL_RESETVALUE              _U_(0x00)                                     /**<  (PORT_DIRTGL) Data Direction Toggle  Reset Value */
+
+#define PORT_DIRTGL_DIRTGL_Pos              0                                              /**< (PORT_DIRTGL) Port Data Direction Toggle Position */
+#define PORT_DIRTGL_DIRTGL_Msk              (_U_(0xFFFFFFFF) << PORT_DIRTGL_DIRTGL_Pos)    /**< (PORT_DIRTGL) Port Data Direction Toggle Mask */
+#define PORT_DIRTGL_DIRTGL(value)           (PORT_DIRTGL_DIRTGL_Msk & ((value) << PORT_DIRTGL_DIRTGL_Pos))
+#define PORT_DIRTGL_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_DIRTGL) Register MASK  (Use PORT_DIRTGL_Msk instead)  */
+#define PORT_DIRTGL_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_DIRTGL) Register Mask  */
+
+
+/* -------- PORT_OUT : (PORT Offset: 0x10) (R/W 32) Data Output Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t OUT:32;                    /**< bit:  0..31  PORT Data Output Value                   */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_OUT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_OUT_OFFSET                     (0x10)                                        /**<  (PORT_OUT) Data Output Value  Offset */
+#define PORT_OUT_RESETVALUE                 _U_(0x00)                                     /**<  (PORT_OUT) Data Output Value  Reset Value */
+
+#define PORT_OUT_OUT_Pos                    0                                              /**< (PORT_OUT) PORT Data Output Value Position */
+#define PORT_OUT_OUT_Msk                    (_U_(0xFFFFFFFF) << PORT_OUT_OUT_Pos)          /**< (PORT_OUT) PORT Data Output Value Mask */
+#define PORT_OUT_OUT(value)                 (PORT_OUT_OUT_Msk & ((value) << PORT_OUT_OUT_Pos))
+#define PORT_OUT_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_OUT) Register MASK  (Use PORT_OUT_Msk instead)  */
+#define PORT_OUT_Msk                        _U_(0xFFFFFFFF)                                /**< (PORT_OUT) Register Mask  */
+
+
+/* -------- PORT_OUTCLR : (PORT Offset: 0x14) (R/W 32) Data Output Value Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t OUTCLR:32;                 /**< bit:  0..31  PORT Data Output Value Clear             */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_OUTCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_OUTCLR_OFFSET                  (0x14)                                        /**<  (PORT_OUTCLR) Data Output Value Clear  Offset */
+#define PORT_OUTCLR_RESETVALUE              _U_(0x00)                                     /**<  (PORT_OUTCLR) Data Output Value Clear  Reset Value */
+
+#define PORT_OUTCLR_OUTCLR_Pos              0                                              /**< (PORT_OUTCLR) PORT Data Output Value Clear Position */
+#define PORT_OUTCLR_OUTCLR_Msk              (_U_(0xFFFFFFFF) << PORT_OUTCLR_OUTCLR_Pos)    /**< (PORT_OUTCLR) PORT Data Output Value Clear Mask */
+#define PORT_OUTCLR_OUTCLR(value)           (PORT_OUTCLR_OUTCLR_Msk & ((value) << PORT_OUTCLR_OUTCLR_Pos))
+#define PORT_OUTCLR_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_OUTCLR) Register MASK  (Use PORT_OUTCLR_Msk instead)  */
+#define PORT_OUTCLR_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_OUTCLR) Register Mask  */
+
+
+/* -------- PORT_OUTSET : (PORT Offset: 0x18) (R/W 32) Data Output Value Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t OUTSET:32;                 /**< bit:  0..31  PORT Data Output Value Set               */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_OUTSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_OUTSET_OFFSET                  (0x18)                                        /**<  (PORT_OUTSET) Data Output Value Set  Offset */
+#define PORT_OUTSET_RESETVALUE              _U_(0x00)                                     /**<  (PORT_OUTSET) Data Output Value Set  Reset Value */
+
+#define PORT_OUTSET_OUTSET_Pos              0                                              /**< (PORT_OUTSET) PORT Data Output Value Set Position */
+#define PORT_OUTSET_OUTSET_Msk              (_U_(0xFFFFFFFF) << PORT_OUTSET_OUTSET_Pos)    /**< (PORT_OUTSET) PORT Data Output Value Set Mask */
+#define PORT_OUTSET_OUTSET(value)           (PORT_OUTSET_OUTSET_Msk & ((value) << PORT_OUTSET_OUTSET_Pos))
+#define PORT_OUTSET_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_OUTSET) Register MASK  (Use PORT_OUTSET_Msk instead)  */
+#define PORT_OUTSET_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_OUTSET) Register Mask  */
+
+
+/* -------- PORT_OUTTGL : (PORT Offset: 0x1c) (R/W 32) Data Output Value Toggle -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t OUTTGL:32;                 /**< bit:  0..31  PORT Data Output Value Toggle            */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_OUTTGL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_OUTTGL_OFFSET                  (0x1C)                                        /**<  (PORT_OUTTGL) Data Output Value Toggle  Offset */
+#define PORT_OUTTGL_RESETVALUE              _U_(0x00)                                     /**<  (PORT_OUTTGL) Data Output Value Toggle  Reset Value */
+
+#define PORT_OUTTGL_OUTTGL_Pos              0                                              /**< (PORT_OUTTGL) PORT Data Output Value Toggle Position */
+#define PORT_OUTTGL_OUTTGL_Msk              (_U_(0xFFFFFFFF) << PORT_OUTTGL_OUTTGL_Pos)    /**< (PORT_OUTTGL) PORT Data Output Value Toggle Mask */
+#define PORT_OUTTGL_OUTTGL(value)           (PORT_OUTTGL_OUTTGL_Msk & ((value) << PORT_OUTTGL_OUTTGL_Pos))
+#define PORT_OUTTGL_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_OUTTGL) Register MASK  (Use PORT_OUTTGL_Msk instead)  */
+#define PORT_OUTTGL_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_OUTTGL) Register Mask  */
+
+
+/* -------- PORT_IN : (PORT Offset: 0x20) (R/ 32) Data Input Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IN:32;                     /**< bit:  0..31  PORT Data Input Value                    */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_IN_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_IN_OFFSET                      (0x20)                                        /**<  (PORT_IN) Data Input Value  Offset */
+#define PORT_IN_RESETVALUE                  _U_(0x00)                                     /**<  (PORT_IN) Data Input Value  Reset Value */
+
+#define PORT_IN_IN_Pos                      0                                              /**< (PORT_IN) PORT Data Input Value Position */
+#define PORT_IN_IN_Msk                      (_U_(0xFFFFFFFF) << PORT_IN_IN_Pos)            /**< (PORT_IN) PORT Data Input Value Mask */
+#define PORT_IN_IN(value)                   (PORT_IN_IN_Msk & ((value) << PORT_IN_IN_Pos))
+#define PORT_IN_MASK                        _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_IN) Register MASK  (Use PORT_IN_Msk instead)  */
+#define PORT_IN_Msk                         _U_(0xFFFFFFFF)                                /**< (PORT_IN) Register Mask  */
+
+
+/* -------- PORT_CTRL : (PORT Offset: 0x24) (R/W 32) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SAMPLING:32;               /**< bit:  0..31  Input Sampling Mode                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_CTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_CTRL_OFFSET                    (0x24)                                        /**<  (PORT_CTRL) Control  Offset */
+#define PORT_CTRL_RESETVALUE                _U_(0x00)                                     /**<  (PORT_CTRL) Control  Reset Value */
+
+#define PORT_CTRL_SAMPLING_Pos              0                                              /**< (PORT_CTRL) Input Sampling Mode Position */
+#define PORT_CTRL_SAMPLING_Msk              (_U_(0xFFFFFFFF) << PORT_CTRL_SAMPLING_Pos)    /**< (PORT_CTRL) Input Sampling Mode Mask */
+#define PORT_CTRL_SAMPLING(value)           (PORT_CTRL_SAMPLING_Msk & ((value) << PORT_CTRL_SAMPLING_Pos))
+#define PORT_CTRL_MASK                      _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_CTRL) Register MASK  (Use PORT_CTRL_Msk instead)  */
+#define PORT_CTRL_Msk                       _U_(0xFFFFFFFF)                                /**< (PORT_CTRL) Register Mask  */
+
+
+/* -------- PORT_WRCONFIG : (PORT Offset: 0x28) (/W 32) Write Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PINMASK:16;                /**< bit:  0..15  Pin Mask for Multiple Pin Configuration  */
+    uint32_t PMUXEN:1;                  /**< bit:     16  Peripheral Multiplexer Enable            */
+    uint32_t INEN:1;                    /**< bit:     17  Input Enable                             */
+    uint32_t PULLEN:1;                  /**< bit:     18  Pull Enable                              */
+    uint32_t :3;                        /**< bit: 19..21  Reserved */
+    uint32_t DRVSTR:1;                  /**< bit:     22  Output Driver Strength Selection         */
+    uint32_t :1;                        /**< bit:     23  Reserved */
+    uint32_t PMUX:4;                    /**< bit: 24..27  Peripheral Multiplexing                  */
+    uint32_t WRPMUX:1;                  /**< bit:     28  Write PMUX                               */
+    uint32_t :1;                        /**< bit:     29  Reserved */
+    uint32_t WRPINCFG:1;                /**< bit:     30  Write PINCFG                             */
+    uint32_t HWSEL:1;                   /**< bit:     31  Half-Word Select                         */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_WRCONFIG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_WRCONFIG_OFFSET                (0x28)                                        /**<  (PORT_WRCONFIG) Write Configuration  Offset */
+#define PORT_WRCONFIG_RESETVALUE            _U_(0x00)                                     /**<  (PORT_WRCONFIG) Write Configuration  Reset Value */
+
+#define PORT_WRCONFIG_PINMASK_Pos           0                                              /**< (PORT_WRCONFIG) Pin Mask for Multiple Pin Configuration Position */
+#define PORT_WRCONFIG_PINMASK_Msk           (_U_(0xFFFF) << PORT_WRCONFIG_PINMASK_Pos)     /**< (PORT_WRCONFIG) Pin Mask for Multiple Pin Configuration Mask */
+#define PORT_WRCONFIG_PINMASK(value)        (PORT_WRCONFIG_PINMASK_Msk & ((value) << PORT_WRCONFIG_PINMASK_Pos))
+#define PORT_WRCONFIG_PMUXEN_Pos            16                                             /**< (PORT_WRCONFIG) Peripheral Multiplexer Enable Position */
+#define PORT_WRCONFIG_PMUXEN_Msk            (_U_(0x1) << PORT_WRCONFIG_PMUXEN_Pos)         /**< (PORT_WRCONFIG) Peripheral Multiplexer Enable Mask */
+#define PORT_WRCONFIG_PMUXEN                PORT_WRCONFIG_PMUXEN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_PMUXEN_Msk instead */
+#define PORT_WRCONFIG_INEN_Pos              17                                             /**< (PORT_WRCONFIG) Input Enable Position */
+#define PORT_WRCONFIG_INEN_Msk              (_U_(0x1) << PORT_WRCONFIG_INEN_Pos)           /**< (PORT_WRCONFIG) Input Enable Mask */
+#define PORT_WRCONFIG_INEN                  PORT_WRCONFIG_INEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_INEN_Msk instead */
+#define PORT_WRCONFIG_PULLEN_Pos            18                                             /**< (PORT_WRCONFIG) Pull Enable Position */
+#define PORT_WRCONFIG_PULLEN_Msk            (_U_(0x1) << PORT_WRCONFIG_PULLEN_Pos)         /**< (PORT_WRCONFIG) Pull Enable Mask */
+#define PORT_WRCONFIG_PULLEN                PORT_WRCONFIG_PULLEN_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_PULLEN_Msk instead */
+#define PORT_WRCONFIG_DRVSTR_Pos            22                                             /**< (PORT_WRCONFIG) Output Driver Strength Selection Position */
+#define PORT_WRCONFIG_DRVSTR_Msk            (_U_(0x1) << PORT_WRCONFIG_DRVSTR_Pos)         /**< (PORT_WRCONFIG) Output Driver Strength Selection Mask */
+#define PORT_WRCONFIG_DRVSTR                PORT_WRCONFIG_DRVSTR_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_DRVSTR_Msk instead */
+#define PORT_WRCONFIG_PMUX_Pos              24                                             /**< (PORT_WRCONFIG) Peripheral Multiplexing Position */
+#define PORT_WRCONFIG_PMUX_Msk              (_U_(0xF) << PORT_WRCONFIG_PMUX_Pos)           /**< (PORT_WRCONFIG) Peripheral Multiplexing Mask */
+#define PORT_WRCONFIG_PMUX(value)           (PORT_WRCONFIG_PMUX_Msk & ((value) << PORT_WRCONFIG_PMUX_Pos))
+#define PORT_WRCONFIG_WRPMUX_Pos            28                                             /**< (PORT_WRCONFIG) Write PMUX Position */
+#define PORT_WRCONFIG_WRPMUX_Msk            (_U_(0x1) << PORT_WRCONFIG_WRPMUX_Pos)         /**< (PORT_WRCONFIG) Write PMUX Mask */
+#define PORT_WRCONFIG_WRPMUX                PORT_WRCONFIG_WRPMUX_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_WRPMUX_Msk instead */
+#define PORT_WRCONFIG_WRPINCFG_Pos          30                                             /**< (PORT_WRCONFIG) Write PINCFG Position */
+#define PORT_WRCONFIG_WRPINCFG_Msk          (_U_(0x1) << PORT_WRCONFIG_WRPINCFG_Pos)       /**< (PORT_WRCONFIG) Write PINCFG Mask */
+#define PORT_WRCONFIG_WRPINCFG              PORT_WRCONFIG_WRPINCFG_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_WRPINCFG_Msk instead */
+#define PORT_WRCONFIG_HWSEL_Pos             31                                             /**< (PORT_WRCONFIG) Half-Word Select Position */
+#define PORT_WRCONFIG_HWSEL_Msk             (_U_(0x1) << PORT_WRCONFIG_HWSEL_Pos)          /**< (PORT_WRCONFIG) Half-Word Select Mask */
+#define PORT_WRCONFIG_HWSEL                 PORT_WRCONFIG_HWSEL_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_WRCONFIG_HWSEL_Msk instead */
+#define PORT_WRCONFIG_Msk                   _U_(0xDF47FFFF)                                /**< (PORT_WRCONFIG) Register Mask  */
+
+
+/* -------- PORT_EVCTRL : (PORT Offset: 0x2c) (R/W 32) Event Input Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PID0:5;                    /**< bit:   0..4  PORT Event Pin Identifier 0              */
+    uint32_t EVACT0:2;                  /**< bit:   5..6  PORT Event Action 0                      */
+    uint32_t PORTEI0:1;                 /**< bit:      7  PORT Event Input Enable 0                */
+    uint32_t PID1:5;                    /**< bit:  8..12  PORT Event Pin Identifier 1              */
+    uint32_t EVACT1:2;                  /**< bit: 13..14  PORT Event Action 1                      */
+    uint32_t PORTEI1:1;                 /**< bit:     15  PORT Event Input Enable 1                */
+    uint32_t PID2:5;                    /**< bit: 16..20  PORT Event Pin Identifier 2              */
+    uint32_t EVACT2:2;                  /**< bit: 21..22  PORT Event Action 2                      */
+    uint32_t PORTEI2:1;                 /**< bit:     23  PORT Event Input Enable 2                */
+    uint32_t PID3:5;                    /**< bit: 24..28  PORT Event Pin Identifier 3              */
+    uint32_t EVACT3:2;                  /**< bit: 29..30  PORT Event Action 3                      */
+    uint32_t PORTEI3:1;                 /**< bit:     31  PORT Event Input Enable 3                */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_EVCTRL_OFFSET                  (0x2C)                                        /**<  (PORT_EVCTRL) Event Input Control  Offset */
+#define PORT_EVCTRL_RESETVALUE              _U_(0x00)                                     /**<  (PORT_EVCTRL) Event Input Control  Reset Value */
+
+#define PORT_EVCTRL_PID0_Pos                0                                              /**< (PORT_EVCTRL) PORT Event Pin Identifier 0 Position */
+#define PORT_EVCTRL_PID0_Msk                (_U_(0x1F) << PORT_EVCTRL_PID0_Pos)            /**< (PORT_EVCTRL) PORT Event Pin Identifier 0 Mask */
+#define PORT_EVCTRL_PID0(value)             (PORT_EVCTRL_PID0_Msk & ((value) << PORT_EVCTRL_PID0_Pos))
+#define PORT_EVCTRL_EVACT0_Pos              5                                              /**< (PORT_EVCTRL) PORT Event Action 0 Position */
+#define PORT_EVCTRL_EVACT0_Msk              (_U_(0x3) << PORT_EVCTRL_EVACT0_Pos)           /**< (PORT_EVCTRL) PORT Event Action 0 Mask */
+#define PORT_EVCTRL_EVACT0(value)           (PORT_EVCTRL_EVACT0_Msk & ((value) << PORT_EVCTRL_EVACT0_Pos))
+#define   PORT_EVCTRL_EVACT0_OUT_Val        _U_(0x0)                                       /**< (PORT_EVCTRL) Event output to pin  */
+#define   PORT_EVCTRL_EVACT0_SET_Val        _U_(0x1)                                       /**< (PORT_EVCTRL) Set output register of pin on event  */
+#define   PORT_EVCTRL_EVACT0_CLR_Val        _U_(0x2)                                       /**< (PORT_EVCTRL) Clear output register of pin on event  */
+#define   PORT_EVCTRL_EVACT0_TGL_Val        _U_(0x3)                                       /**< (PORT_EVCTRL) Toggle output register of pin on event  */
+#define PORT_EVCTRL_EVACT0_OUT              (PORT_EVCTRL_EVACT0_OUT_Val << PORT_EVCTRL_EVACT0_Pos)  /**< (PORT_EVCTRL) Event output to pin Position  */
+#define PORT_EVCTRL_EVACT0_SET              (PORT_EVCTRL_EVACT0_SET_Val << PORT_EVCTRL_EVACT0_Pos)  /**< (PORT_EVCTRL) Set output register of pin on event Position  */
+#define PORT_EVCTRL_EVACT0_CLR              (PORT_EVCTRL_EVACT0_CLR_Val << PORT_EVCTRL_EVACT0_Pos)  /**< (PORT_EVCTRL) Clear output register of pin on event Position  */
+#define PORT_EVCTRL_EVACT0_TGL              (PORT_EVCTRL_EVACT0_TGL_Val << PORT_EVCTRL_EVACT0_Pos)  /**< (PORT_EVCTRL) Toggle output register of pin on event Position  */
+#define PORT_EVCTRL_PORTEI0_Pos             7                                              /**< (PORT_EVCTRL) PORT Event Input Enable 0 Position */
+#define PORT_EVCTRL_PORTEI0_Msk             (_U_(0x1) << PORT_EVCTRL_PORTEI0_Pos)          /**< (PORT_EVCTRL) PORT Event Input Enable 0 Mask */
+#define PORT_EVCTRL_PORTEI0                 PORT_EVCTRL_PORTEI0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_EVCTRL_PORTEI0_Msk instead */
+#define PORT_EVCTRL_PID1_Pos                8                                              /**< (PORT_EVCTRL) PORT Event Pin Identifier 1 Position */
+#define PORT_EVCTRL_PID1_Msk                (_U_(0x1F) << PORT_EVCTRL_PID1_Pos)            /**< (PORT_EVCTRL) PORT Event Pin Identifier 1 Mask */
+#define PORT_EVCTRL_PID1(value)             (PORT_EVCTRL_PID1_Msk & ((value) << PORT_EVCTRL_PID1_Pos))
+#define PORT_EVCTRL_EVACT1_Pos              13                                             /**< (PORT_EVCTRL) PORT Event Action 1 Position */
+#define PORT_EVCTRL_EVACT1_Msk              (_U_(0x3) << PORT_EVCTRL_EVACT1_Pos)           /**< (PORT_EVCTRL) PORT Event Action 1 Mask */
+#define PORT_EVCTRL_EVACT1(value)           (PORT_EVCTRL_EVACT1_Msk & ((value) << PORT_EVCTRL_EVACT1_Pos))
+#define PORT_EVCTRL_PORTEI1_Pos             15                                             /**< (PORT_EVCTRL) PORT Event Input Enable 1 Position */
+#define PORT_EVCTRL_PORTEI1_Msk             (_U_(0x1) << PORT_EVCTRL_PORTEI1_Pos)          /**< (PORT_EVCTRL) PORT Event Input Enable 1 Mask */
+#define PORT_EVCTRL_PORTEI1                 PORT_EVCTRL_PORTEI1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_EVCTRL_PORTEI1_Msk instead */
+#define PORT_EVCTRL_PID2_Pos                16                                             /**< (PORT_EVCTRL) PORT Event Pin Identifier 2 Position */
+#define PORT_EVCTRL_PID2_Msk                (_U_(0x1F) << PORT_EVCTRL_PID2_Pos)            /**< (PORT_EVCTRL) PORT Event Pin Identifier 2 Mask */
+#define PORT_EVCTRL_PID2(value)             (PORT_EVCTRL_PID2_Msk & ((value) << PORT_EVCTRL_PID2_Pos))
+#define PORT_EVCTRL_EVACT2_Pos              21                                             /**< (PORT_EVCTRL) PORT Event Action 2 Position */
+#define PORT_EVCTRL_EVACT2_Msk              (_U_(0x3) << PORT_EVCTRL_EVACT2_Pos)           /**< (PORT_EVCTRL) PORT Event Action 2 Mask */
+#define PORT_EVCTRL_EVACT2(value)           (PORT_EVCTRL_EVACT2_Msk & ((value) << PORT_EVCTRL_EVACT2_Pos))
+#define PORT_EVCTRL_PORTEI2_Pos             23                                             /**< (PORT_EVCTRL) PORT Event Input Enable 2 Position */
+#define PORT_EVCTRL_PORTEI2_Msk             (_U_(0x1) << PORT_EVCTRL_PORTEI2_Pos)          /**< (PORT_EVCTRL) PORT Event Input Enable 2 Mask */
+#define PORT_EVCTRL_PORTEI2                 PORT_EVCTRL_PORTEI2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_EVCTRL_PORTEI2_Msk instead */
+#define PORT_EVCTRL_PID3_Pos                24                                             /**< (PORT_EVCTRL) PORT Event Pin Identifier 3 Position */
+#define PORT_EVCTRL_PID3_Msk                (_U_(0x1F) << PORT_EVCTRL_PID3_Pos)            /**< (PORT_EVCTRL) PORT Event Pin Identifier 3 Mask */
+#define PORT_EVCTRL_PID3(value)             (PORT_EVCTRL_PID3_Msk & ((value) << PORT_EVCTRL_PID3_Pos))
+#define PORT_EVCTRL_EVACT3_Pos              29                                             /**< (PORT_EVCTRL) PORT Event Action 3 Position */
+#define PORT_EVCTRL_EVACT3_Msk              (_U_(0x3) << PORT_EVCTRL_EVACT3_Pos)           /**< (PORT_EVCTRL) PORT Event Action 3 Mask */
+#define PORT_EVCTRL_EVACT3(value)           (PORT_EVCTRL_EVACT3_Msk & ((value) << PORT_EVCTRL_EVACT3_Pos))
+#define PORT_EVCTRL_PORTEI3_Pos             31                                             /**< (PORT_EVCTRL) PORT Event Input Enable 3 Position */
+#define PORT_EVCTRL_PORTEI3_Msk             (_U_(0x1) << PORT_EVCTRL_PORTEI3_Pos)          /**< (PORT_EVCTRL) PORT Event Input Enable 3 Mask */
+#define PORT_EVCTRL_PORTEI3                 PORT_EVCTRL_PORTEI3_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_EVCTRL_PORTEI3_Msk instead */
+#define PORT_EVCTRL_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_EVCTRL) Register MASK  (Use PORT_EVCTRL_Msk instead)  */
+#define PORT_EVCTRL_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_EVCTRL) Register Mask  */
+
+
+/* -------- PORT_PMUX : (PORT Offset: 0x30) (R/W 8) Peripheral Multiplexing -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PMUXE:4;                   /**< bit:   0..3  Peripheral Multiplexing for Even-Numbered Pin */
+    uint8_t  PMUXO:4;                   /**< bit:   4..7  Peripheral Multiplexing for Odd-Numbered Pin */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PORT_PMUX_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_PMUX_OFFSET                    (0x30)                                        /**<  (PORT_PMUX) Peripheral Multiplexing  Offset */
+#define PORT_PMUX_RESETVALUE                _U_(0x00)                                     /**<  (PORT_PMUX) Peripheral Multiplexing  Reset Value */
+
+#define PORT_PMUX_PMUXE_Pos                 0                                              /**< (PORT_PMUX) Peripheral Multiplexing for Even-Numbered Pin Position */
+#define PORT_PMUX_PMUXE_Msk                 (_U_(0xF) << PORT_PMUX_PMUXE_Pos)              /**< (PORT_PMUX) Peripheral Multiplexing for Even-Numbered Pin Mask */
+#define PORT_PMUX_PMUXE(value)              (PORT_PMUX_PMUXE_Msk & ((value) << PORT_PMUX_PMUXE_Pos))
+#define PORT_PMUX_PMUXO_Pos                 4                                              /**< (PORT_PMUX) Peripheral Multiplexing for Odd-Numbered Pin Position */
+#define PORT_PMUX_PMUXO_Msk                 (_U_(0xF) << PORT_PMUX_PMUXO_Pos)              /**< (PORT_PMUX) Peripheral Multiplexing for Odd-Numbered Pin Mask */
+#define PORT_PMUX_PMUXO(value)              (PORT_PMUX_PMUXO_Msk & ((value) << PORT_PMUX_PMUXO_Pos))
+#define PORT_PMUX_MASK                      _U_(0xFF)                                      /**< \deprecated (PORT_PMUX) Register MASK  (Use PORT_PMUX_Msk instead)  */
+#define PORT_PMUX_Msk                       _U_(0xFF)                                      /**< (PORT_PMUX) Register Mask  */
+
+
+/* -------- PORT_PINCFG : (PORT Offset: 0x40) (R/W 8) Pin Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PMUXEN:1;                  /**< bit:      0  Peripheral Multiplexer Enable            */
+    uint8_t  INEN:1;                    /**< bit:      1  Input Enable                             */
+    uint8_t  PULLEN:1;                  /**< bit:      2  Pull Enable                              */
+    uint8_t  :3;                        /**< bit:   3..5  Reserved */
+    uint8_t  DRVSTR:1;                  /**< bit:      6  Output Driver Strength Selection         */
+    uint8_t  :1;                        /**< bit:      7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} PORT_PINCFG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_PINCFG_OFFSET                  (0x40)                                        /**<  (PORT_PINCFG) Pin Configuration  Offset */
+#define PORT_PINCFG_RESETVALUE              _U_(0x00)                                     /**<  (PORT_PINCFG) Pin Configuration  Reset Value */
+
+#define PORT_PINCFG_PMUXEN_Pos              0                                              /**< (PORT_PINCFG) Peripheral Multiplexer Enable Position */
+#define PORT_PINCFG_PMUXEN_Msk              (_U_(0x1) << PORT_PINCFG_PMUXEN_Pos)           /**< (PORT_PINCFG) Peripheral Multiplexer Enable Mask */
+#define PORT_PINCFG_PMUXEN                  PORT_PINCFG_PMUXEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_PINCFG_PMUXEN_Msk instead */
+#define PORT_PINCFG_INEN_Pos                1                                              /**< (PORT_PINCFG) Input Enable Position */
+#define PORT_PINCFG_INEN_Msk                (_U_(0x1) << PORT_PINCFG_INEN_Pos)             /**< (PORT_PINCFG) Input Enable Mask */
+#define PORT_PINCFG_INEN                    PORT_PINCFG_INEN_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_PINCFG_INEN_Msk instead */
+#define PORT_PINCFG_PULLEN_Pos              2                                              /**< (PORT_PINCFG) Pull Enable Position */
+#define PORT_PINCFG_PULLEN_Msk              (_U_(0x1) << PORT_PINCFG_PULLEN_Pos)           /**< (PORT_PINCFG) Pull Enable Mask */
+#define PORT_PINCFG_PULLEN                  PORT_PINCFG_PULLEN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_PINCFG_PULLEN_Msk instead */
+#define PORT_PINCFG_DRVSTR_Pos              6                                              /**< (PORT_PINCFG) Output Driver Strength Selection Position */
+#define PORT_PINCFG_DRVSTR_Msk              (_U_(0x1) << PORT_PINCFG_DRVSTR_Pos)           /**< (PORT_PINCFG) Output Driver Strength Selection Mask */
+#define PORT_PINCFG_DRVSTR                  PORT_PINCFG_DRVSTR_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_PINCFG_DRVSTR_Msk instead */
+#define PORT_PINCFG_MASK                    _U_(0x47)                                      /**< \deprecated (PORT_PINCFG) Register MASK  (Use PORT_PINCFG_Msk instead)  */
+#define PORT_PINCFG_Msk                     _U_(0x47)                                      /**< (PORT_PINCFG) Register Mask  */
+
+
+/* -------- PORT_INTENCLR : (PORT Offset: 0x60) (R/W 32) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t NSCHK:1;                   /**< bit:      0  Non-Secure Check Interrupt Enable        */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_INTENCLR_OFFSET                (0x60)                                        /**<  (PORT_INTENCLR) Interrupt Enable Clear  Offset */
+#define PORT_INTENCLR_RESETVALUE            _U_(0x00)                                     /**<  (PORT_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define PORT_INTENCLR_NSCHK_Pos             0                                              /**< (PORT_INTENCLR) Non-Secure Check Interrupt Enable Position */
+#define PORT_INTENCLR_NSCHK_Msk             (_U_(0x1) << PORT_INTENCLR_NSCHK_Pos)          /**< (PORT_INTENCLR) Non-Secure Check Interrupt Enable Mask */
+#define PORT_INTENCLR_NSCHK                 PORT_INTENCLR_NSCHK_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_INTENCLR_NSCHK_Msk instead */
+#define PORT_INTENCLR_MASK                  _U_(0x01)                                      /**< \deprecated (PORT_INTENCLR) Register MASK  (Use PORT_INTENCLR_Msk instead)  */
+#define PORT_INTENCLR_Msk                   _U_(0x01)                                      /**< (PORT_INTENCLR) Register Mask  */
+
+
+/* -------- PORT_INTENSET : (PORT Offset: 0x64) (R/W 32) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t NSCHK:1;                   /**< bit:      0  Non-Secure Check Interrupt Enable        */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_INTENSET_OFFSET                (0x64)                                        /**<  (PORT_INTENSET) Interrupt Enable Set  Offset */
+#define PORT_INTENSET_RESETVALUE            _U_(0x00)                                     /**<  (PORT_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define PORT_INTENSET_NSCHK_Pos             0                                              /**< (PORT_INTENSET) Non-Secure Check Interrupt Enable Position */
+#define PORT_INTENSET_NSCHK_Msk             (_U_(0x1) << PORT_INTENSET_NSCHK_Pos)          /**< (PORT_INTENSET) Non-Secure Check Interrupt Enable Mask */
+#define PORT_INTENSET_NSCHK                 PORT_INTENSET_NSCHK_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_INTENSET_NSCHK_Msk instead */
+#define PORT_INTENSET_MASK                  _U_(0x01)                                      /**< \deprecated (PORT_INTENSET) Register MASK  (Use PORT_INTENSET_Msk instead)  */
+#define PORT_INTENSET_Msk                   _U_(0x01)                                      /**< (PORT_INTENSET) Register Mask  */
+
+
+/* -------- PORT_INTFLAG : (PORT Offset: 0x68) (R/W 32) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t NSCHK:1;                   /**< bit:      0  Non-Secure Check                         */
+    __I uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_INTFLAG_OFFSET                 (0x68)                                        /**<  (PORT_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define PORT_INTFLAG_RESETVALUE             _U_(0x00)                                     /**<  (PORT_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define PORT_INTFLAG_NSCHK_Pos              0                                              /**< (PORT_INTFLAG) Non-Secure Check Position */
+#define PORT_INTFLAG_NSCHK_Msk              (_U_(0x1) << PORT_INTFLAG_NSCHK_Pos)           /**< (PORT_INTFLAG) Non-Secure Check Mask */
+#define PORT_INTFLAG_NSCHK                  PORT_INTFLAG_NSCHK_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use PORT_INTFLAG_NSCHK_Msk instead */
+#define PORT_INTFLAG_MASK                   _U_(0x01)                                      /**< \deprecated (PORT_INTFLAG) Register MASK  (Use PORT_INTFLAG_Msk instead)  */
+#define PORT_INTFLAG_Msk                    _U_(0x01)                                      /**< (PORT_INTFLAG) Register Mask  */
+
+
+/* -------- PORT_NONSEC : (PORT Offset: 0x6c) (R/W 32) Security Attribution -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t NONSEC:32;                 /**< bit:  0..31  Port Security Attribution                */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_NONSEC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_NONSEC_OFFSET                  (0x6C)                                        /**<  (PORT_NONSEC) Security Attribution  Offset */
+#define PORT_NONSEC_RESETVALUE              _U_(0x00)                                     /**<  (PORT_NONSEC) Security Attribution  Reset Value */
+
+#define PORT_NONSEC_NONSEC_Pos              0                                              /**< (PORT_NONSEC) Port Security Attribution Position */
+#define PORT_NONSEC_NONSEC_Msk              (_U_(0xFFFFFFFF) << PORT_NONSEC_NONSEC_Pos)    /**< (PORT_NONSEC) Port Security Attribution Mask */
+#define PORT_NONSEC_NONSEC(value)           (PORT_NONSEC_NONSEC_Msk & ((value) << PORT_NONSEC_NONSEC_Pos))
+#define PORT_NONSEC_MASK                    _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_NONSEC) Register MASK  (Use PORT_NONSEC_Msk instead)  */
+#define PORT_NONSEC_Msk                     _U_(0xFFFFFFFF)                                /**< (PORT_NONSEC) Register Mask  */
+
+
+/* -------- PORT_NSCHK : (PORT Offset: 0x70) (R/W 32) Security Attribution Check -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t NSCHK:32;                  /**< bit:  0..31  Port Security Attribution Check          */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} PORT_NSCHK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define PORT_NSCHK_OFFSET                   (0x70)                                        /**<  (PORT_NSCHK) Security Attribution Check  Offset */
+#define PORT_NSCHK_RESETVALUE               _U_(0x00)                                     /**<  (PORT_NSCHK) Security Attribution Check  Reset Value */
+
+#define PORT_NSCHK_NSCHK_Pos                0                                              /**< (PORT_NSCHK) Port Security Attribution Check Position */
+#define PORT_NSCHK_NSCHK_Msk                (_U_(0xFFFFFFFF) << PORT_NSCHK_NSCHK_Pos)      /**< (PORT_NSCHK) Port Security Attribution Check Mask */
+#define PORT_NSCHK_NSCHK(value)             (PORT_NSCHK_NSCHK_Msk & ((value) << PORT_NSCHK_NSCHK_Pos))
+#define PORT_NSCHK_MASK                     _U_(0xFFFFFFFF)                                /**< \deprecated (PORT_NSCHK) Register MASK  (Use PORT_NSCHK_Msk instead)  */
+#define PORT_NSCHK_Msk                      _U_(0xFFFFFFFF)                                /**< (PORT_NSCHK) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief GROUP hardware registers */
+typedef struct {  
+  __IO PORT_DIR_Type                  DIR;            /**< Offset: 0x00 (R/W  32) Data Direction */
+  __IO PORT_DIRCLR_Type               DIRCLR;         /**< Offset: 0x04 (R/W  32) Data Direction Clear */
+  __IO PORT_DIRSET_Type               DIRSET;         /**< Offset: 0x08 (R/W  32) Data Direction Set */
+  __IO PORT_DIRTGL_Type               DIRTGL;         /**< Offset: 0x0C (R/W  32) Data Direction Toggle */
+  __IO PORT_OUT_Type                  OUT;            /**< Offset: 0x10 (R/W  32) Data Output Value */
+  __IO PORT_OUTCLR_Type               OUTCLR;         /**< Offset: 0x14 (R/W  32) Data Output Value Clear */
+  __IO PORT_OUTSET_Type               OUTSET;         /**< Offset: 0x18 (R/W  32) Data Output Value Set */
+  __IO PORT_OUTTGL_Type               OUTTGL;         /**< Offset: 0x1C (R/W  32) Data Output Value Toggle */
+  __I  PORT_IN_Type                   IN;             /**< Offset: 0x20 (R/   32) Data Input Value */
+  __IO PORT_CTRL_Type                 CTRL;           /**< Offset: 0x24 (R/W  32) Control */
+  __O  PORT_WRCONFIG_Type             WRCONFIG;       /**< Offset: 0x28 ( /W  32) Write Configuration */
+  __IO PORT_EVCTRL_Type               EVCTRL;         /**< Offset: 0x2C (R/W  32) Event Input Control */
+  __IO PORT_PMUX_Type                 PMUX[16];       /**< Offset: 0x30 (R/W   8) Peripheral Multiplexing */
+  __IO PORT_PINCFG_Type               PINCFG[32];     /**< Offset: 0x40 (R/W   8) Pin Configuration */
+  __IO PORT_INTENCLR_Type             INTENCLR;       /**< Offset: 0x60 (R/W  32) Interrupt Enable Clear */
+  __IO PORT_INTENSET_Type             INTENSET;       /**< Offset: 0x64 (R/W  32) Interrupt Enable Set */
+  __IO PORT_INTFLAG_Type              INTFLAG;        /**< Offset: 0x68 (R/W  32) Interrupt Flag Status and Clear */
+  __IO PORT_NONSEC_Type               NONSEC;         /**< Offset: 0x6C (R/W  32) Security Attribution */
+  __IO PORT_NSCHK_Type                NSCHK;          /**< Offset: 0x70 (R/W  32) Security Attribution Check */
+  __I  uint8_t                        Reserved1[12];
+} PortGroup;
+
+/** \brief PORT hardware registers */
+typedef struct {  /* Port Module */
+       PortGroup                      Group[1];       /**< Offset: 0x00  */
+} Port;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Port Module */
+
+#endif /* _SAML11_PORT_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/ptc.h b/cpu/sam0_common/include/vendor/saml11/include/component/ptc.h
new file mode 100644
index 0000000000..e3cfad2bf3
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/ptc.h
@@ -0,0 +1,53 @@
+/**
+ * \file
+ *
+ * \brief Component description for PTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_PTC_COMPONENT_H_
+#define _SAML11_PTC_COMPONENT_H_
+#define _SAML11_PTC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Peripheral Touch Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR PTC */
+/* ========================================================================== */
+
+#define PTC_U2215                      /**< (PTC) Module ID */
+#define REV_PTC 0x500                  /**< (PTC) Module revision */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief No hardware registers defined for PTC */
+typedef void Ptc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Touch Controller */
+
+#endif /* _SAML11_PTC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/rstc.h b/cpu/sam0_common/include/vendor/saml11/include/component/rstc.h
new file mode 100644
index 0000000000..b95f04319f
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/rstc.h
@@ -0,0 +1,96 @@
+/**
+ * \file
+ *
+ * \brief Component description for RSTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_RSTC_COMPONENT_H_
+#define _SAML11_RSTC_COMPONENT_H_
+#define _SAML11_RSTC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Reset Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR RSTC */
+/* ========================================================================== */
+
+#define RSTC_U2239                      /**< (RSTC) Module ID */
+#define REV_RSTC 0x300                  /**< (RSTC) Module revision */
+
+/* -------- RSTC_RCAUSE : (RSTC Offset: 0x00) (R/ 8) Reset Cause -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  POR:1;                     /**< bit:      0  Power On Reset                           */
+    uint8_t  BODCORE:1;                 /**< bit:      1  Brown Out CORE Detector Reset            */
+    uint8_t  BODVDD:1;                  /**< bit:      2  Brown Out VDD Detector Reset             */
+    uint8_t  :1;                        /**< bit:      3  Reserved */
+    uint8_t  EXT:1;                     /**< bit:      4  External Reset                           */
+    uint8_t  WDT:1;                     /**< bit:      5  Watchdog Reset                           */
+    uint8_t  SYST:1;                    /**< bit:      6  System Reset Request                     */
+    uint8_t  :1;                        /**< bit:      7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} RSTC_RCAUSE_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RSTC_RCAUSE_OFFSET                  (0x00)                                        /**<  (RSTC_RCAUSE) Reset Cause  Offset */
+
+#define RSTC_RCAUSE_POR_Pos                 0                                              /**< (RSTC_RCAUSE) Power On Reset Position */
+#define RSTC_RCAUSE_POR_Msk                 (_U_(0x1) << RSTC_RCAUSE_POR_Pos)              /**< (RSTC_RCAUSE) Power On Reset Mask */
+#define RSTC_RCAUSE_POR                     RSTC_RCAUSE_POR_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_POR_Msk instead */
+#define RSTC_RCAUSE_BODCORE_Pos             1                                              /**< (RSTC_RCAUSE) Brown Out CORE Detector Reset Position */
+#define RSTC_RCAUSE_BODCORE_Msk             (_U_(0x1) << RSTC_RCAUSE_BODCORE_Pos)          /**< (RSTC_RCAUSE) Brown Out CORE Detector Reset Mask */
+#define RSTC_RCAUSE_BODCORE                 RSTC_RCAUSE_BODCORE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_BODCORE_Msk instead */
+#define RSTC_RCAUSE_BODVDD_Pos              2                                              /**< (RSTC_RCAUSE) Brown Out VDD Detector Reset Position */
+#define RSTC_RCAUSE_BODVDD_Msk              (_U_(0x1) << RSTC_RCAUSE_BODVDD_Pos)           /**< (RSTC_RCAUSE) Brown Out VDD Detector Reset Mask */
+#define RSTC_RCAUSE_BODVDD                  RSTC_RCAUSE_BODVDD_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_BODVDD_Msk instead */
+#define RSTC_RCAUSE_EXT_Pos                 4                                              /**< (RSTC_RCAUSE) External Reset Position */
+#define RSTC_RCAUSE_EXT_Msk                 (_U_(0x1) << RSTC_RCAUSE_EXT_Pos)              /**< (RSTC_RCAUSE) External Reset Mask */
+#define RSTC_RCAUSE_EXT                     RSTC_RCAUSE_EXT_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_EXT_Msk instead */
+#define RSTC_RCAUSE_WDT_Pos                 5                                              /**< (RSTC_RCAUSE) Watchdog Reset Position */
+#define RSTC_RCAUSE_WDT_Msk                 (_U_(0x1) << RSTC_RCAUSE_WDT_Pos)              /**< (RSTC_RCAUSE) Watchdog Reset Mask */
+#define RSTC_RCAUSE_WDT                     RSTC_RCAUSE_WDT_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_WDT_Msk instead */
+#define RSTC_RCAUSE_SYST_Pos                6                                              /**< (RSTC_RCAUSE) System Reset Request Position */
+#define RSTC_RCAUSE_SYST_Msk                (_U_(0x1) << RSTC_RCAUSE_SYST_Pos)             /**< (RSTC_RCAUSE) System Reset Request Mask */
+#define RSTC_RCAUSE_SYST                    RSTC_RCAUSE_SYST_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use RSTC_RCAUSE_SYST_Msk instead */
+#define RSTC_RCAUSE_MASK                    _U_(0x77)                                      /**< \deprecated (RSTC_RCAUSE) Register MASK  (Use RSTC_RCAUSE_Msk instead)  */
+#define RSTC_RCAUSE_Msk                     _U_(0x77)                                      /**< (RSTC_RCAUSE) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief RSTC hardware registers */
+typedef struct {  /* Reset Controller */
+  __I  RSTC_RCAUSE_Type               RCAUSE;         /**< Offset: 0x00 (R/    8) Reset Cause */
+} Rstc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Reset Controller */
+
+#endif /* _SAML11_RSTC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/rtc.h b/cpu/sam0_common/include/vendor/saml11/include/component/rtc.h
new file mode 100644
index 0000000000..5dd00e4117
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/rtc.h
@@ -0,0 +1,2294 @@
+/**
+ * \file
+ *
+ * \brief Component description for RTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_RTC_COMPONENT_H_
+#define _SAML11_RTC_COMPONENT_H_
+#define _SAML11_RTC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Real-Time Counter
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR RTC */
+/* ========================================================================== */
+
+#define RTC_U2250                      /**< (RTC) Module ID */
+#define REV_RTC 0x300                  /**< (RTC) Module revision */
+
+/* -------- RTC_MODE2_ALARM : (RTC Offset: 0x00) (R/W 32) MODE2_ALARM Alarm n Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SECOND:6;                  /**< bit:   0..5  Second                                   */
+    uint32_t MINUTE:6;                  /**< bit:  6..11  Minute                                   */
+    uint32_t HOUR:5;                    /**< bit: 12..16  Hour                                     */
+    uint32_t DAY:5;                     /**< bit: 17..21  Day                                      */
+    uint32_t MONTH:4;                   /**< bit: 22..25  Month                                    */
+    uint32_t YEAR:6;                    /**< bit: 26..31  Year                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE2_ALARM_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_ALARM_OFFSET              (0x00)                                        /**<  (RTC_MODE2_ALARM) MODE2_ALARM Alarm n Value  Offset */
+#define RTC_MODE2_ALARM_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE2_ALARM) MODE2_ALARM Alarm n Value  Reset Value */
+
+#define RTC_MODE2_ALARM_SECOND_Pos          0                                              /**< (RTC_MODE2_ALARM) Second Position */
+#define RTC_MODE2_ALARM_SECOND_Msk          (_U_(0x3F) << RTC_MODE2_ALARM_SECOND_Pos)      /**< (RTC_MODE2_ALARM) Second Mask */
+#define RTC_MODE2_ALARM_SECOND(value)       (RTC_MODE2_ALARM_SECOND_Msk & ((value) << RTC_MODE2_ALARM_SECOND_Pos))
+#define RTC_MODE2_ALARM_MINUTE_Pos          6                                              /**< (RTC_MODE2_ALARM) Minute Position */
+#define RTC_MODE2_ALARM_MINUTE_Msk          (_U_(0x3F) << RTC_MODE2_ALARM_MINUTE_Pos)      /**< (RTC_MODE2_ALARM) Minute Mask */
+#define RTC_MODE2_ALARM_MINUTE(value)       (RTC_MODE2_ALARM_MINUTE_Msk & ((value) << RTC_MODE2_ALARM_MINUTE_Pos))
+#define RTC_MODE2_ALARM_HOUR_Pos            12                                             /**< (RTC_MODE2_ALARM) Hour Position */
+#define RTC_MODE2_ALARM_HOUR_Msk            (_U_(0x1F) << RTC_MODE2_ALARM_HOUR_Pos)        /**< (RTC_MODE2_ALARM) Hour Mask */
+#define RTC_MODE2_ALARM_HOUR(value)         (RTC_MODE2_ALARM_HOUR_Msk & ((value) << RTC_MODE2_ALARM_HOUR_Pos))
+#define   RTC_MODE2_ALARM_HOUR_AM_Val       _U_(0x0)                                       /**< (RTC_MODE2_ALARM) Morning hour  */
+#define   RTC_MODE2_ALARM_HOUR_PM_Val       _U_(0x10)                                      /**< (RTC_MODE2_ALARM) Afternoon hour  */
+#define RTC_MODE2_ALARM_HOUR_AM             (RTC_MODE2_ALARM_HOUR_AM_Val << RTC_MODE2_ALARM_HOUR_Pos)  /**< (RTC_MODE2_ALARM) Morning hour Position  */
+#define RTC_MODE2_ALARM_HOUR_PM             (RTC_MODE2_ALARM_HOUR_PM_Val << RTC_MODE2_ALARM_HOUR_Pos)  /**< (RTC_MODE2_ALARM) Afternoon hour Position  */
+#define RTC_MODE2_ALARM_DAY_Pos             17                                             /**< (RTC_MODE2_ALARM) Day Position */
+#define RTC_MODE2_ALARM_DAY_Msk             (_U_(0x1F) << RTC_MODE2_ALARM_DAY_Pos)         /**< (RTC_MODE2_ALARM) Day Mask */
+#define RTC_MODE2_ALARM_DAY(value)          (RTC_MODE2_ALARM_DAY_Msk & ((value) << RTC_MODE2_ALARM_DAY_Pos))
+#define RTC_MODE2_ALARM_MONTH_Pos           22                                             /**< (RTC_MODE2_ALARM) Month Position */
+#define RTC_MODE2_ALARM_MONTH_Msk           (_U_(0xF) << RTC_MODE2_ALARM_MONTH_Pos)        /**< (RTC_MODE2_ALARM) Month Mask */
+#define RTC_MODE2_ALARM_MONTH(value)        (RTC_MODE2_ALARM_MONTH_Msk & ((value) << RTC_MODE2_ALARM_MONTH_Pos))
+#define RTC_MODE2_ALARM_YEAR_Pos            26                                             /**< (RTC_MODE2_ALARM) Year Position */
+#define RTC_MODE2_ALARM_YEAR_Msk            (_U_(0x3F) << RTC_MODE2_ALARM_YEAR_Pos)        /**< (RTC_MODE2_ALARM) Year Mask */
+#define RTC_MODE2_ALARM_YEAR(value)         (RTC_MODE2_ALARM_YEAR_Msk & ((value) << RTC_MODE2_ALARM_YEAR_Pos))
+#define RTC_MODE2_ALARM_MASK                _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE2_ALARM) Register MASK  (Use RTC_MODE2_ALARM_Msk instead)  */
+#define RTC_MODE2_ALARM_Msk                 _U_(0xFFFFFFFF)                                /**< (RTC_MODE2_ALARM) Register Mask  */
+
+
+/* -------- RTC_MODE2_MASK : (RTC Offset: 0x04) (R/W 8) MODE2_ALARM Alarm n Mask -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SEL:3;                     /**< bit:   0..2  Alarm Mask Selection                     */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} RTC_MODE2_MASK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_MASK_OFFSET               (0x04)                                        /**<  (RTC_MODE2_MASK) MODE2_ALARM Alarm n Mask  Offset */
+#define RTC_MODE2_MASK_RESETVALUE           _U_(0x00)                                     /**<  (RTC_MODE2_MASK) MODE2_ALARM Alarm n Mask  Reset Value */
+
+#define RTC_MODE2_MASK_SEL_Pos              0                                              /**< (RTC_MODE2_MASK) Alarm Mask Selection Position */
+#define RTC_MODE2_MASK_SEL_Msk              (_U_(0x7) << RTC_MODE2_MASK_SEL_Pos)           /**< (RTC_MODE2_MASK) Alarm Mask Selection Mask */
+#define RTC_MODE2_MASK_SEL(value)           (RTC_MODE2_MASK_SEL_Msk & ((value) << RTC_MODE2_MASK_SEL_Pos))
+#define   RTC_MODE2_MASK_SEL_OFF_Val        _U_(0x0)                                       /**< (RTC_MODE2_MASK) Alarm Disabled  */
+#define   RTC_MODE2_MASK_SEL_SS_Val         _U_(0x1)                                       /**< (RTC_MODE2_MASK) Match seconds only  */
+#define   RTC_MODE2_MASK_SEL_MMSS_Val       _U_(0x2)                                       /**< (RTC_MODE2_MASK) Match seconds and minutes only  */
+#define   RTC_MODE2_MASK_SEL_HHMMSS_Val     _U_(0x3)                                       /**< (RTC_MODE2_MASK) Match seconds, minutes, and hours only  */
+#define   RTC_MODE2_MASK_SEL_DDHHMMSS_Val   _U_(0x4)                                       /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, and days only  */
+#define   RTC_MODE2_MASK_SEL_MMDDHHMMSS_Val _U_(0x5)                                       /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, and months only  */
+#define   RTC_MODE2_MASK_SEL_YYMMDDHHMMSS_Val _U_(0x6)                                       /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, months, and years  */
+#define RTC_MODE2_MASK_SEL_OFF              (RTC_MODE2_MASK_SEL_OFF_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Alarm Disabled Position  */
+#define RTC_MODE2_MASK_SEL_SS               (RTC_MODE2_MASK_SEL_SS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds only Position  */
+#define RTC_MODE2_MASK_SEL_MMSS             (RTC_MODE2_MASK_SEL_MMSS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds and minutes only Position  */
+#define RTC_MODE2_MASK_SEL_HHMMSS           (RTC_MODE2_MASK_SEL_HHMMSS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds, minutes, and hours only Position  */
+#define RTC_MODE2_MASK_SEL_DDHHMMSS         (RTC_MODE2_MASK_SEL_DDHHMMSS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, and days only Position  */
+#define RTC_MODE2_MASK_SEL_MMDDHHMMSS       (RTC_MODE2_MASK_SEL_MMDDHHMMSS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, and months only Position  */
+#define RTC_MODE2_MASK_SEL_YYMMDDHHMMSS     (RTC_MODE2_MASK_SEL_YYMMDDHHMMSS_Val << RTC_MODE2_MASK_SEL_Pos)  /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, months, and years Position  */
+#define RTC_MODE2_MASK_MASK                 _U_(0x07)                                      /**< \deprecated (RTC_MODE2_MASK) Register MASK  (Use RTC_MODE2_MASK_Msk instead)  */
+#define RTC_MODE2_MASK_Msk                  _U_(0x07)                                      /**< (RTC_MODE2_MASK) Register Mask  */
+
+
+/* -------- RTC_MODE0_CTRLA : (RTC Offset: 0x00) (R/W 16) MODE0 Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint16_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint16_t MODE:2;                    /**< bit:   2..3  Operating Mode                           */
+    uint16_t :3;                        /**< bit:   4..6  Reserved */
+    uint16_t MATCHCLR:1;                /**< bit:      7  Clear on Match                           */
+    uint16_t PRESCALER:4;               /**< bit:  8..11  Prescaler                                */
+    uint16_t :2;                        /**< bit: 12..13  Reserved */
+    uint16_t GPTRST:1;                  /**< bit:     14  GP Registers Reset On Tamper Enable      */
+    uint16_t COUNTSYNC:1;               /**< bit:     15  Count Read Synchronization Enable        */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE0_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_CTRLA_OFFSET              (0x00)                                        /**<  (RTC_MODE0_CTRLA) MODE0 Control A  Offset */
+#define RTC_MODE0_CTRLA_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE0_CTRLA) MODE0 Control A  Reset Value */
+
+#define RTC_MODE0_CTRLA_SWRST_Pos           0                                              /**< (RTC_MODE0_CTRLA) Software Reset Position */
+#define RTC_MODE0_CTRLA_SWRST_Msk           (_U_(0x1) << RTC_MODE0_CTRLA_SWRST_Pos)        /**< (RTC_MODE0_CTRLA) Software Reset Mask */
+#define RTC_MODE0_CTRLA_SWRST               RTC_MODE0_CTRLA_SWRST_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLA_SWRST_Msk instead */
+#define RTC_MODE0_CTRLA_ENABLE_Pos          1                                              /**< (RTC_MODE0_CTRLA) Enable Position */
+#define RTC_MODE0_CTRLA_ENABLE_Msk          (_U_(0x1) << RTC_MODE0_CTRLA_ENABLE_Pos)       /**< (RTC_MODE0_CTRLA) Enable Mask */
+#define RTC_MODE0_CTRLA_ENABLE              RTC_MODE0_CTRLA_ENABLE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLA_ENABLE_Msk instead */
+#define RTC_MODE0_CTRLA_MODE_Pos            2                                              /**< (RTC_MODE0_CTRLA) Operating Mode Position */
+#define RTC_MODE0_CTRLA_MODE_Msk            (_U_(0x3) << RTC_MODE0_CTRLA_MODE_Pos)         /**< (RTC_MODE0_CTRLA) Operating Mode Mask */
+#define RTC_MODE0_CTRLA_MODE(value)         (RTC_MODE0_CTRLA_MODE_Msk & ((value) << RTC_MODE0_CTRLA_MODE_Pos))
+#define   RTC_MODE0_CTRLA_MODE_COUNT32_Val  _U_(0x0)                                       /**< (RTC_MODE0_CTRLA) Mode 0: 32-bit Counter  */
+#define   RTC_MODE0_CTRLA_MODE_COUNT16_Val  _U_(0x1)                                       /**< (RTC_MODE0_CTRLA) Mode 1: 16-bit Counter  */
+#define   RTC_MODE0_CTRLA_MODE_CLOCK_Val    _U_(0x2)                                       /**< (RTC_MODE0_CTRLA) Mode 2: Clock/Calendar  */
+#define RTC_MODE0_CTRLA_MODE_COUNT32        (RTC_MODE0_CTRLA_MODE_COUNT32_Val << RTC_MODE0_CTRLA_MODE_Pos)  /**< (RTC_MODE0_CTRLA) Mode 0: 32-bit Counter Position  */
+#define RTC_MODE0_CTRLA_MODE_COUNT16        (RTC_MODE0_CTRLA_MODE_COUNT16_Val << RTC_MODE0_CTRLA_MODE_Pos)  /**< (RTC_MODE0_CTRLA) Mode 1: 16-bit Counter Position  */
+#define RTC_MODE0_CTRLA_MODE_CLOCK          (RTC_MODE0_CTRLA_MODE_CLOCK_Val << RTC_MODE0_CTRLA_MODE_Pos)  /**< (RTC_MODE0_CTRLA) Mode 2: Clock/Calendar Position  */
+#define RTC_MODE0_CTRLA_MATCHCLR_Pos        7                                              /**< (RTC_MODE0_CTRLA) Clear on Match Position */
+#define RTC_MODE0_CTRLA_MATCHCLR_Msk        (_U_(0x1) << RTC_MODE0_CTRLA_MATCHCLR_Pos)     /**< (RTC_MODE0_CTRLA) Clear on Match Mask */
+#define RTC_MODE0_CTRLA_MATCHCLR            RTC_MODE0_CTRLA_MATCHCLR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLA_MATCHCLR_Msk instead */
+#define RTC_MODE0_CTRLA_PRESCALER_Pos       8                                              /**< (RTC_MODE0_CTRLA) Prescaler Position */
+#define RTC_MODE0_CTRLA_PRESCALER_Msk       (_U_(0xF) << RTC_MODE0_CTRLA_PRESCALER_Pos)    /**< (RTC_MODE0_CTRLA) Prescaler Mask */
+#define RTC_MODE0_CTRLA_PRESCALER(value)    (RTC_MODE0_CTRLA_PRESCALER_Msk & ((value) << RTC_MODE0_CTRLA_PRESCALER_Pos))
+#define   RTC_MODE0_CTRLA_PRESCALER_OFF_Val _U_(0x0)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV1_Val _U_(0x1)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV2_Val _U_(0x2)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/2  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV4_Val _U_(0x3)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/4  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV8_Val _U_(0x4)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/8  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV16_Val _U_(0x5)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/16  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV32_Val _U_(0x6)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/32  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV64_Val _U_(0x7)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/64  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV128_Val _U_(0x8)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/128  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV256_Val _U_(0x9)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/256  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV512_Val _U_(0xA)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/512  */
+#define   RTC_MODE0_CTRLA_PRESCALER_DIV1024_Val _U_(0xB)                                       /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024  */
+#define RTC_MODE0_CTRLA_PRESCALER_OFF       (RTC_MODE0_CTRLA_PRESCALER_OFF_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV1      (RTC_MODE0_CTRLA_PRESCALER_DIV1_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV2      (RTC_MODE0_CTRLA_PRESCALER_DIV2_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/2 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV4      (RTC_MODE0_CTRLA_PRESCALER_DIV4_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/4 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV8      (RTC_MODE0_CTRLA_PRESCALER_DIV8_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/8 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV16     (RTC_MODE0_CTRLA_PRESCALER_DIV16_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/16 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV32     (RTC_MODE0_CTRLA_PRESCALER_DIV32_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/32 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV64     (RTC_MODE0_CTRLA_PRESCALER_DIV64_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/64 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV128    (RTC_MODE0_CTRLA_PRESCALER_DIV128_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/128 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV256    (RTC_MODE0_CTRLA_PRESCALER_DIV256_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/256 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV512    (RTC_MODE0_CTRLA_PRESCALER_DIV512_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/512 Position  */
+#define RTC_MODE0_CTRLA_PRESCALER_DIV1024   (RTC_MODE0_CTRLA_PRESCALER_DIV1024_Val << RTC_MODE0_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE0_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024 Position  */
+#define RTC_MODE0_CTRLA_GPTRST_Pos          14                                             /**< (RTC_MODE0_CTRLA) GP Registers Reset On Tamper Enable Position */
+#define RTC_MODE0_CTRLA_GPTRST_Msk          (_U_(0x1) << RTC_MODE0_CTRLA_GPTRST_Pos)       /**< (RTC_MODE0_CTRLA) GP Registers Reset On Tamper Enable Mask */
+#define RTC_MODE0_CTRLA_GPTRST              RTC_MODE0_CTRLA_GPTRST_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLA_GPTRST_Msk instead */
+#define RTC_MODE0_CTRLA_COUNTSYNC_Pos       15                                             /**< (RTC_MODE0_CTRLA) Count Read Synchronization Enable Position */
+#define RTC_MODE0_CTRLA_COUNTSYNC_Msk       (_U_(0x1) << RTC_MODE0_CTRLA_COUNTSYNC_Pos)    /**< (RTC_MODE0_CTRLA) Count Read Synchronization Enable Mask */
+#define RTC_MODE0_CTRLA_COUNTSYNC           RTC_MODE0_CTRLA_COUNTSYNC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLA_COUNTSYNC_Msk instead */
+#define RTC_MODE0_CTRLA_MASK                _U_(0xCF8F)                                    /**< \deprecated (RTC_MODE0_CTRLA) Register MASK  (Use RTC_MODE0_CTRLA_Msk instead)  */
+#define RTC_MODE0_CTRLA_Msk                 _U_(0xCF8F)                                    /**< (RTC_MODE0_CTRLA) Register Mask  */
+
+
+/* -------- RTC_MODE1_CTRLA : (RTC Offset: 0x00) (R/W 16) MODE1 Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint16_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint16_t MODE:2;                    /**< bit:   2..3  Operating Mode                           */
+    uint16_t :4;                        /**< bit:   4..7  Reserved */
+    uint16_t PRESCALER:4;               /**< bit:  8..11  Prescaler                                */
+    uint16_t :2;                        /**< bit: 12..13  Reserved */
+    uint16_t GPTRST:1;                  /**< bit:     14  GP Registers Reset On Tamper Enable      */
+    uint16_t COUNTSYNC:1;               /**< bit:     15  Count Read Synchronization Enable        */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_CTRLA_OFFSET              (0x00)                                        /**<  (RTC_MODE1_CTRLA) MODE1 Control A  Offset */
+#define RTC_MODE1_CTRLA_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE1_CTRLA) MODE1 Control A  Reset Value */
+
+#define RTC_MODE1_CTRLA_SWRST_Pos           0                                              /**< (RTC_MODE1_CTRLA) Software Reset Position */
+#define RTC_MODE1_CTRLA_SWRST_Msk           (_U_(0x1) << RTC_MODE1_CTRLA_SWRST_Pos)        /**< (RTC_MODE1_CTRLA) Software Reset Mask */
+#define RTC_MODE1_CTRLA_SWRST               RTC_MODE1_CTRLA_SWRST_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLA_SWRST_Msk instead */
+#define RTC_MODE1_CTRLA_ENABLE_Pos          1                                              /**< (RTC_MODE1_CTRLA) Enable Position */
+#define RTC_MODE1_CTRLA_ENABLE_Msk          (_U_(0x1) << RTC_MODE1_CTRLA_ENABLE_Pos)       /**< (RTC_MODE1_CTRLA) Enable Mask */
+#define RTC_MODE1_CTRLA_ENABLE              RTC_MODE1_CTRLA_ENABLE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLA_ENABLE_Msk instead */
+#define RTC_MODE1_CTRLA_MODE_Pos            2                                              /**< (RTC_MODE1_CTRLA) Operating Mode Position */
+#define RTC_MODE1_CTRLA_MODE_Msk            (_U_(0x3) << RTC_MODE1_CTRLA_MODE_Pos)         /**< (RTC_MODE1_CTRLA) Operating Mode Mask */
+#define RTC_MODE1_CTRLA_MODE(value)         (RTC_MODE1_CTRLA_MODE_Msk & ((value) << RTC_MODE1_CTRLA_MODE_Pos))
+#define   RTC_MODE1_CTRLA_MODE_COUNT32_Val  _U_(0x0)                                       /**< (RTC_MODE1_CTRLA) Mode 0: 32-bit Counter  */
+#define   RTC_MODE1_CTRLA_MODE_COUNT16_Val  _U_(0x1)                                       /**< (RTC_MODE1_CTRLA) Mode 1: 16-bit Counter  */
+#define   RTC_MODE1_CTRLA_MODE_CLOCK_Val    _U_(0x2)                                       /**< (RTC_MODE1_CTRLA) Mode 2: Clock/Calendar  */
+#define RTC_MODE1_CTRLA_MODE_COUNT32        (RTC_MODE1_CTRLA_MODE_COUNT32_Val << RTC_MODE1_CTRLA_MODE_Pos)  /**< (RTC_MODE1_CTRLA) Mode 0: 32-bit Counter Position  */
+#define RTC_MODE1_CTRLA_MODE_COUNT16        (RTC_MODE1_CTRLA_MODE_COUNT16_Val << RTC_MODE1_CTRLA_MODE_Pos)  /**< (RTC_MODE1_CTRLA) Mode 1: 16-bit Counter Position  */
+#define RTC_MODE1_CTRLA_MODE_CLOCK          (RTC_MODE1_CTRLA_MODE_CLOCK_Val << RTC_MODE1_CTRLA_MODE_Pos)  /**< (RTC_MODE1_CTRLA) Mode 2: Clock/Calendar Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_Pos       8                                              /**< (RTC_MODE1_CTRLA) Prescaler Position */
+#define RTC_MODE1_CTRLA_PRESCALER_Msk       (_U_(0xF) << RTC_MODE1_CTRLA_PRESCALER_Pos)    /**< (RTC_MODE1_CTRLA) Prescaler Mask */
+#define RTC_MODE1_CTRLA_PRESCALER(value)    (RTC_MODE1_CTRLA_PRESCALER_Msk & ((value) << RTC_MODE1_CTRLA_PRESCALER_Pos))
+#define   RTC_MODE1_CTRLA_PRESCALER_OFF_Val _U_(0x0)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV1_Val _U_(0x1)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV2_Val _U_(0x2)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/2  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV4_Val _U_(0x3)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/4  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV8_Val _U_(0x4)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/8  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV16_Val _U_(0x5)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/16  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV32_Val _U_(0x6)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/32  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV64_Val _U_(0x7)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/64  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV128_Val _U_(0x8)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/128  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV256_Val _U_(0x9)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/256  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV512_Val _U_(0xA)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/512  */
+#define   RTC_MODE1_CTRLA_PRESCALER_DIV1024_Val _U_(0xB)                                       /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024  */
+#define RTC_MODE1_CTRLA_PRESCALER_OFF       (RTC_MODE1_CTRLA_PRESCALER_OFF_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV1      (RTC_MODE1_CTRLA_PRESCALER_DIV1_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV2      (RTC_MODE1_CTRLA_PRESCALER_DIV2_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/2 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV4      (RTC_MODE1_CTRLA_PRESCALER_DIV4_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/4 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV8      (RTC_MODE1_CTRLA_PRESCALER_DIV8_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/8 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV16     (RTC_MODE1_CTRLA_PRESCALER_DIV16_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/16 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV32     (RTC_MODE1_CTRLA_PRESCALER_DIV32_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/32 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV64     (RTC_MODE1_CTRLA_PRESCALER_DIV64_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/64 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV128    (RTC_MODE1_CTRLA_PRESCALER_DIV128_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/128 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV256    (RTC_MODE1_CTRLA_PRESCALER_DIV256_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/256 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV512    (RTC_MODE1_CTRLA_PRESCALER_DIV512_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/512 Position  */
+#define RTC_MODE1_CTRLA_PRESCALER_DIV1024   (RTC_MODE1_CTRLA_PRESCALER_DIV1024_Val << RTC_MODE1_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE1_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024 Position  */
+#define RTC_MODE1_CTRLA_GPTRST_Pos          14                                             /**< (RTC_MODE1_CTRLA) GP Registers Reset On Tamper Enable Position */
+#define RTC_MODE1_CTRLA_GPTRST_Msk          (_U_(0x1) << RTC_MODE1_CTRLA_GPTRST_Pos)       /**< (RTC_MODE1_CTRLA) GP Registers Reset On Tamper Enable Mask */
+#define RTC_MODE1_CTRLA_GPTRST              RTC_MODE1_CTRLA_GPTRST_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLA_GPTRST_Msk instead */
+#define RTC_MODE1_CTRLA_COUNTSYNC_Pos       15                                             /**< (RTC_MODE1_CTRLA) Count Read Synchronization Enable Position */
+#define RTC_MODE1_CTRLA_COUNTSYNC_Msk       (_U_(0x1) << RTC_MODE1_CTRLA_COUNTSYNC_Pos)    /**< (RTC_MODE1_CTRLA) Count Read Synchronization Enable Mask */
+#define RTC_MODE1_CTRLA_COUNTSYNC           RTC_MODE1_CTRLA_COUNTSYNC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLA_COUNTSYNC_Msk instead */
+#define RTC_MODE1_CTRLA_MASK                _U_(0xCF0F)                                    /**< \deprecated (RTC_MODE1_CTRLA) Register MASK  (Use RTC_MODE1_CTRLA_Msk instead)  */
+#define RTC_MODE1_CTRLA_Msk                 _U_(0xCF0F)                                    /**< (RTC_MODE1_CTRLA) Register Mask  */
+
+
+/* -------- RTC_MODE2_CTRLA : (RTC Offset: 0x00) (R/W 16) MODE2 Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint16_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint16_t MODE:2;                    /**< bit:   2..3  Operating Mode                           */
+    uint16_t :2;                        /**< bit:   4..5  Reserved */
+    uint16_t CLKREP:1;                  /**< bit:      6  Clock Representation                     */
+    uint16_t MATCHCLR:1;                /**< bit:      7  Clear on Match                           */
+    uint16_t PRESCALER:4;               /**< bit:  8..11  Prescaler                                */
+    uint16_t :2;                        /**< bit: 12..13  Reserved */
+    uint16_t GPTRST:1;                  /**< bit:     14  GP Registers Reset On Tamper Enable      */
+    uint16_t CLOCKSYNC:1;               /**< bit:     15  Clock Read Synchronization Enable        */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE2_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_CTRLA_OFFSET              (0x00)                                        /**<  (RTC_MODE2_CTRLA) MODE2 Control A  Offset */
+#define RTC_MODE2_CTRLA_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE2_CTRLA) MODE2 Control A  Reset Value */
+
+#define RTC_MODE2_CTRLA_SWRST_Pos           0                                              /**< (RTC_MODE2_CTRLA) Software Reset Position */
+#define RTC_MODE2_CTRLA_SWRST_Msk           (_U_(0x1) << RTC_MODE2_CTRLA_SWRST_Pos)        /**< (RTC_MODE2_CTRLA) Software Reset Mask */
+#define RTC_MODE2_CTRLA_SWRST               RTC_MODE2_CTRLA_SWRST_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_SWRST_Msk instead */
+#define RTC_MODE2_CTRLA_ENABLE_Pos          1                                              /**< (RTC_MODE2_CTRLA) Enable Position */
+#define RTC_MODE2_CTRLA_ENABLE_Msk          (_U_(0x1) << RTC_MODE2_CTRLA_ENABLE_Pos)       /**< (RTC_MODE2_CTRLA) Enable Mask */
+#define RTC_MODE2_CTRLA_ENABLE              RTC_MODE2_CTRLA_ENABLE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_ENABLE_Msk instead */
+#define RTC_MODE2_CTRLA_MODE_Pos            2                                              /**< (RTC_MODE2_CTRLA) Operating Mode Position */
+#define RTC_MODE2_CTRLA_MODE_Msk            (_U_(0x3) << RTC_MODE2_CTRLA_MODE_Pos)         /**< (RTC_MODE2_CTRLA) Operating Mode Mask */
+#define RTC_MODE2_CTRLA_MODE(value)         (RTC_MODE2_CTRLA_MODE_Msk & ((value) << RTC_MODE2_CTRLA_MODE_Pos))
+#define   RTC_MODE2_CTRLA_MODE_COUNT32_Val  _U_(0x0)                                       /**< (RTC_MODE2_CTRLA) Mode 0: 32-bit Counter  */
+#define   RTC_MODE2_CTRLA_MODE_COUNT16_Val  _U_(0x1)                                       /**< (RTC_MODE2_CTRLA) Mode 1: 16-bit Counter  */
+#define   RTC_MODE2_CTRLA_MODE_CLOCK_Val    _U_(0x2)                                       /**< (RTC_MODE2_CTRLA) Mode 2: Clock/Calendar  */
+#define RTC_MODE2_CTRLA_MODE_COUNT32        (RTC_MODE2_CTRLA_MODE_COUNT32_Val << RTC_MODE2_CTRLA_MODE_Pos)  /**< (RTC_MODE2_CTRLA) Mode 0: 32-bit Counter Position  */
+#define RTC_MODE2_CTRLA_MODE_COUNT16        (RTC_MODE2_CTRLA_MODE_COUNT16_Val << RTC_MODE2_CTRLA_MODE_Pos)  /**< (RTC_MODE2_CTRLA) Mode 1: 16-bit Counter Position  */
+#define RTC_MODE2_CTRLA_MODE_CLOCK          (RTC_MODE2_CTRLA_MODE_CLOCK_Val << RTC_MODE2_CTRLA_MODE_Pos)  /**< (RTC_MODE2_CTRLA) Mode 2: Clock/Calendar Position  */
+#define RTC_MODE2_CTRLA_CLKREP_Pos          6                                              /**< (RTC_MODE2_CTRLA) Clock Representation Position */
+#define RTC_MODE2_CTRLA_CLKREP_Msk          (_U_(0x1) << RTC_MODE2_CTRLA_CLKREP_Pos)       /**< (RTC_MODE2_CTRLA) Clock Representation Mask */
+#define RTC_MODE2_CTRLA_CLKREP              RTC_MODE2_CTRLA_CLKREP_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_CLKREP_Msk instead */
+#define RTC_MODE2_CTRLA_MATCHCLR_Pos        7                                              /**< (RTC_MODE2_CTRLA) Clear on Match Position */
+#define RTC_MODE2_CTRLA_MATCHCLR_Msk        (_U_(0x1) << RTC_MODE2_CTRLA_MATCHCLR_Pos)     /**< (RTC_MODE2_CTRLA) Clear on Match Mask */
+#define RTC_MODE2_CTRLA_MATCHCLR            RTC_MODE2_CTRLA_MATCHCLR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_MATCHCLR_Msk instead */
+#define RTC_MODE2_CTRLA_PRESCALER_Pos       8                                              /**< (RTC_MODE2_CTRLA) Prescaler Position */
+#define RTC_MODE2_CTRLA_PRESCALER_Msk       (_U_(0xF) << RTC_MODE2_CTRLA_PRESCALER_Pos)    /**< (RTC_MODE2_CTRLA) Prescaler Mask */
+#define RTC_MODE2_CTRLA_PRESCALER(value)    (RTC_MODE2_CTRLA_PRESCALER_Msk & ((value) << RTC_MODE2_CTRLA_PRESCALER_Pos))
+#define   RTC_MODE2_CTRLA_PRESCALER_OFF_Val _U_(0x0)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV1_Val _U_(0x1)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV2_Val _U_(0x2)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/2  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV4_Val _U_(0x3)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/4  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV8_Val _U_(0x4)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/8  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV16_Val _U_(0x5)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/16  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV32_Val _U_(0x6)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/32  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV64_Val _U_(0x7)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/64  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV128_Val _U_(0x8)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/128  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV256_Val _U_(0x9)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/256  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV512_Val _U_(0xA)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/512  */
+#define   RTC_MODE2_CTRLA_PRESCALER_DIV1024_Val _U_(0xB)                                       /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024  */
+#define RTC_MODE2_CTRLA_PRESCALER_OFF       (RTC_MODE2_CTRLA_PRESCALER_OFF_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV1      (RTC_MODE2_CTRLA_PRESCALER_DIV1_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV2      (RTC_MODE2_CTRLA_PRESCALER_DIV2_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/2 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV4      (RTC_MODE2_CTRLA_PRESCALER_DIV4_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/4 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV8      (RTC_MODE2_CTRLA_PRESCALER_DIV8_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/8 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV16     (RTC_MODE2_CTRLA_PRESCALER_DIV16_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/16 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV32     (RTC_MODE2_CTRLA_PRESCALER_DIV32_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/32 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV64     (RTC_MODE2_CTRLA_PRESCALER_DIV64_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/64 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV128    (RTC_MODE2_CTRLA_PRESCALER_DIV128_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/128 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV256    (RTC_MODE2_CTRLA_PRESCALER_DIV256_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/256 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV512    (RTC_MODE2_CTRLA_PRESCALER_DIV512_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/512 Position  */
+#define RTC_MODE2_CTRLA_PRESCALER_DIV1024   (RTC_MODE2_CTRLA_PRESCALER_DIV1024_Val << RTC_MODE2_CTRLA_PRESCALER_Pos)  /**< (RTC_MODE2_CTRLA) CLK_RTC_CNT = GCLK_RTC/1024 Position  */
+#define RTC_MODE2_CTRLA_GPTRST_Pos          14                                             /**< (RTC_MODE2_CTRLA) GP Registers Reset On Tamper Enable Position */
+#define RTC_MODE2_CTRLA_GPTRST_Msk          (_U_(0x1) << RTC_MODE2_CTRLA_GPTRST_Pos)       /**< (RTC_MODE2_CTRLA) GP Registers Reset On Tamper Enable Mask */
+#define RTC_MODE2_CTRLA_GPTRST              RTC_MODE2_CTRLA_GPTRST_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_GPTRST_Msk instead */
+#define RTC_MODE2_CTRLA_CLOCKSYNC_Pos       15                                             /**< (RTC_MODE2_CTRLA) Clock Read Synchronization Enable Position */
+#define RTC_MODE2_CTRLA_CLOCKSYNC_Msk       (_U_(0x1) << RTC_MODE2_CTRLA_CLOCKSYNC_Pos)    /**< (RTC_MODE2_CTRLA) Clock Read Synchronization Enable Mask */
+#define RTC_MODE2_CTRLA_CLOCKSYNC           RTC_MODE2_CTRLA_CLOCKSYNC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLA_CLOCKSYNC_Msk instead */
+#define RTC_MODE2_CTRLA_MASK                _U_(0xCFCF)                                    /**< \deprecated (RTC_MODE2_CTRLA) Register MASK  (Use RTC_MODE2_CTRLA_Msk instead)  */
+#define RTC_MODE2_CTRLA_Msk                 _U_(0xCFCF)                                    /**< (RTC_MODE2_CTRLA) Register Mask  */
+
+
+/* -------- RTC_MODE0_CTRLB : (RTC Offset: 0x02) (R/W 16) MODE0 Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t GP0EN:1;                   /**< bit:      0  General Purpose 0 Enable                 */
+    uint16_t :3;                        /**< bit:   1..3  Reserved */
+    uint16_t DEBMAJ:1;                  /**< bit:      4  Debouncer Majority Enable                */
+    uint16_t DEBASYNC:1;                /**< bit:      5  Debouncer Asynchronous Enable            */
+    uint16_t RTCOUT:1;                  /**< bit:      6  RTC Output Enable                        */
+    uint16_t DMAEN:1;                   /**< bit:      7  DMA Enable                               */
+    uint16_t DEBF:3;                    /**< bit:  8..10  Debounce Frequency                       */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t ACTF:3;                    /**< bit: 12..14  Active Layer Frequency                   */
+    uint16_t SEPTO:1;                   /**< bit:     15  Separate Tamper Outputs                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE0_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_CTRLB_OFFSET              (0x02)                                        /**<  (RTC_MODE0_CTRLB) MODE0 Control B  Offset */
+#define RTC_MODE0_CTRLB_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE0_CTRLB) MODE0 Control B  Reset Value */
+
+#define RTC_MODE0_CTRLB_GP0EN_Pos           0                                              /**< (RTC_MODE0_CTRLB) General Purpose 0 Enable Position */
+#define RTC_MODE0_CTRLB_GP0EN_Msk           (_U_(0x1) << RTC_MODE0_CTRLB_GP0EN_Pos)        /**< (RTC_MODE0_CTRLB) General Purpose 0 Enable Mask */
+#define RTC_MODE0_CTRLB_GP0EN               RTC_MODE0_CTRLB_GP0EN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_GP0EN_Msk instead */
+#define RTC_MODE0_CTRLB_DEBMAJ_Pos          4                                              /**< (RTC_MODE0_CTRLB) Debouncer Majority Enable Position */
+#define RTC_MODE0_CTRLB_DEBMAJ_Msk          (_U_(0x1) << RTC_MODE0_CTRLB_DEBMAJ_Pos)       /**< (RTC_MODE0_CTRLB) Debouncer Majority Enable Mask */
+#define RTC_MODE0_CTRLB_DEBMAJ              RTC_MODE0_CTRLB_DEBMAJ_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_DEBMAJ_Msk instead */
+#define RTC_MODE0_CTRLB_DEBASYNC_Pos        5                                              /**< (RTC_MODE0_CTRLB) Debouncer Asynchronous Enable Position */
+#define RTC_MODE0_CTRLB_DEBASYNC_Msk        (_U_(0x1) << RTC_MODE0_CTRLB_DEBASYNC_Pos)     /**< (RTC_MODE0_CTRLB) Debouncer Asynchronous Enable Mask */
+#define RTC_MODE0_CTRLB_DEBASYNC            RTC_MODE0_CTRLB_DEBASYNC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_DEBASYNC_Msk instead */
+#define RTC_MODE0_CTRLB_RTCOUT_Pos          6                                              /**< (RTC_MODE0_CTRLB) RTC Output Enable Position */
+#define RTC_MODE0_CTRLB_RTCOUT_Msk          (_U_(0x1) << RTC_MODE0_CTRLB_RTCOUT_Pos)       /**< (RTC_MODE0_CTRLB) RTC Output Enable Mask */
+#define RTC_MODE0_CTRLB_RTCOUT              RTC_MODE0_CTRLB_RTCOUT_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_RTCOUT_Msk instead */
+#define RTC_MODE0_CTRLB_DMAEN_Pos           7                                              /**< (RTC_MODE0_CTRLB) DMA Enable Position */
+#define RTC_MODE0_CTRLB_DMAEN_Msk           (_U_(0x1) << RTC_MODE0_CTRLB_DMAEN_Pos)        /**< (RTC_MODE0_CTRLB) DMA Enable Mask */
+#define RTC_MODE0_CTRLB_DMAEN               RTC_MODE0_CTRLB_DMAEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_DMAEN_Msk instead */
+#define RTC_MODE0_CTRLB_DEBF_Pos            8                                              /**< (RTC_MODE0_CTRLB) Debounce Frequency Position */
+#define RTC_MODE0_CTRLB_DEBF_Msk            (_U_(0x7) << RTC_MODE0_CTRLB_DEBF_Pos)         /**< (RTC_MODE0_CTRLB) Debounce Frequency Mask */
+#define RTC_MODE0_CTRLB_DEBF(value)         (RTC_MODE0_CTRLB_DEBF_Msk & ((value) << RTC_MODE0_CTRLB_DEBF_Pos))
+#define   RTC_MODE0_CTRLB_DEBF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/2  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/4  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/8  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/16  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/32  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/64  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/128  */
+#define   RTC_MODE0_CTRLB_DEBF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/256  */
+#define RTC_MODE0_CTRLB_DEBF_DIV2           (RTC_MODE0_CTRLB_DEBF_DIV2_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/2 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV4           (RTC_MODE0_CTRLB_DEBF_DIV4_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/4 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV8           (RTC_MODE0_CTRLB_DEBF_DIV8_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/8 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV16          (RTC_MODE0_CTRLB_DEBF_DIV16_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/16 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV32          (RTC_MODE0_CTRLB_DEBF_DIV32_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/32 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV64          (RTC_MODE0_CTRLB_DEBF_DIV64_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/64 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV128         (RTC_MODE0_CTRLB_DEBF_DIV128_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/128 Position  */
+#define RTC_MODE0_CTRLB_DEBF_DIV256         (RTC_MODE0_CTRLB_DEBF_DIV256_Val << RTC_MODE0_CTRLB_DEBF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_DEB = CLK_RTC/256 Position  */
+#define RTC_MODE0_CTRLB_ACTF_Pos            12                                             /**< (RTC_MODE0_CTRLB) Active Layer Frequency Position */
+#define RTC_MODE0_CTRLB_ACTF_Msk            (_U_(0x7) << RTC_MODE0_CTRLB_ACTF_Pos)         /**< (RTC_MODE0_CTRLB) Active Layer Frequency Mask */
+#define RTC_MODE0_CTRLB_ACTF(value)         (RTC_MODE0_CTRLB_ACTF_Msk & ((value) << RTC_MODE0_CTRLB_ACTF_Pos))
+#define   RTC_MODE0_CTRLB_ACTF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/2  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/4  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/8  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/16  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/32  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/64  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/128  */
+#define   RTC_MODE0_CTRLB_ACTF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/256  */
+#define RTC_MODE0_CTRLB_ACTF_DIV2           (RTC_MODE0_CTRLB_ACTF_DIV2_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/2 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV4           (RTC_MODE0_CTRLB_ACTF_DIV4_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/4 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV8           (RTC_MODE0_CTRLB_ACTF_DIV8_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/8 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV16          (RTC_MODE0_CTRLB_ACTF_DIV16_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/16 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV32          (RTC_MODE0_CTRLB_ACTF_DIV32_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/32 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV64          (RTC_MODE0_CTRLB_ACTF_DIV64_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/64 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV128         (RTC_MODE0_CTRLB_ACTF_DIV128_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/128 Position  */
+#define RTC_MODE0_CTRLB_ACTF_DIV256         (RTC_MODE0_CTRLB_ACTF_DIV256_Val << RTC_MODE0_CTRLB_ACTF_Pos)  /**< (RTC_MODE0_CTRLB) CLK_RTC_OUT = CLK_RTC/256 Position  */
+#define RTC_MODE0_CTRLB_SEPTO_Pos           15                                             /**< (RTC_MODE0_CTRLB) Separate Tamper Outputs Position */
+#define RTC_MODE0_CTRLB_SEPTO_Msk           (_U_(0x1) << RTC_MODE0_CTRLB_SEPTO_Pos)        /**< (RTC_MODE0_CTRLB) Separate Tamper Outputs Mask */
+#define RTC_MODE0_CTRLB_SEPTO               RTC_MODE0_CTRLB_SEPTO_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_CTRLB_SEPTO_Msk instead */
+#define RTC_MODE0_CTRLB_MASK                _U_(0xF7F1)                                    /**< \deprecated (RTC_MODE0_CTRLB) Register MASK  (Use RTC_MODE0_CTRLB_Msk instead)  */
+#define RTC_MODE0_CTRLB_Msk                 _U_(0xF7F1)                                    /**< (RTC_MODE0_CTRLB) Register Mask  */
+
+
+/* -------- RTC_MODE1_CTRLB : (RTC Offset: 0x02) (R/W 16) MODE1 Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t GP0EN:1;                   /**< bit:      0  General Purpose 0 Enable                 */
+    uint16_t :3;                        /**< bit:   1..3  Reserved */
+    uint16_t DEBMAJ:1;                  /**< bit:      4  Debouncer Majority Enable                */
+    uint16_t DEBASYNC:1;                /**< bit:      5  Debouncer Asynchronous Enable            */
+    uint16_t RTCOUT:1;                  /**< bit:      6  RTC Output Enable                        */
+    uint16_t DMAEN:1;                   /**< bit:      7  DMA Enable                               */
+    uint16_t DEBF:3;                    /**< bit:  8..10  Debounce Frequency                       */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t ACTF:3;                    /**< bit: 12..14  Active Layer Frequency                   */
+    uint16_t SEPTO:1;                   /**< bit:     15  Separate Tamper Outputs                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_CTRLB_OFFSET              (0x02)                                        /**<  (RTC_MODE1_CTRLB) MODE1 Control B  Offset */
+#define RTC_MODE1_CTRLB_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE1_CTRLB) MODE1 Control B  Reset Value */
+
+#define RTC_MODE1_CTRLB_GP0EN_Pos           0                                              /**< (RTC_MODE1_CTRLB) General Purpose 0 Enable Position */
+#define RTC_MODE1_CTRLB_GP0EN_Msk           (_U_(0x1) << RTC_MODE1_CTRLB_GP0EN_Pos)        /**< (RTC_MODE1_CTRLB) General Purpose 0 Enable Mask */
+#define RTC_MODE1_CTRLB_GP0EN               RTC_MODE1_CTRLB_GP0EN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_GP0EN_Msk instead */
+#define RTC_MODE1_CTRLB_DEBMAJ_Pos          4                                              /**< (RTC_MODE1_CTRLB) Debouncer Majority Enable Position */
+#define RTC_MODE1_CTRLB_DEBMAJ_Msk          (_U_(0x1) << RTC_MODE1_CTRLB_DEBMAJ_Pos)       /**< (RTC_MODE1_CTRLB) Debouncer Majority Enable Mask */
+#define RTC_MODE1_CTRLB_DEBMAJ              RTC_MODE1_CTRLB_DEBMAJ_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_DEBMAJ_Msk instead */
+#define RTC_MODE1_CTRLB_DEBASYNC_Pos        5                                              /**< (RTC_MODE1_CTRLB) Debouncer Asynchronous Enable Position */
+#define RTC_MODE1_CTRLB_DEBASYNC_Msk        (_U_(0x1) << RTC_MODE1_CTRLB_DEBASYNC_Pos)     /**< (RTC_MODE1_CTRLB) Debouncer Asynchronous Enable Mask */
+#define RTC_MODE1_CTRLB_DEBASYNC            RTC_MODE1_CTRLB_DEBASYNC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_DEBASYNC_Msk instead */
+#define RTC_MODE1_CTRLB_RTCOUT_Pos          6                                              /**< (RTC_MODE1_CTRLB) RTC Output Enable Position */
+#define RTC_MODE1_CTRLB_RTCOUT_Msk          (_U_(0x1) << RTC_MODE1_CTRLB_RTCOUT_Pos)       /**< (RTC_MODE1_CTRLB) RTC Output Enable Mask */
+#define RTC_MODE1_CTRLB_RTCOUT              RTC_MODE1_CTRLB_RTCOUT_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_RTCOUT_Msk instead */
+#define RTC_MODE1_CTRLB_DMAEN_Pos           7                                              /**< (RTC_MODE1_CTRLB) DMA Enable Position */
+#define RTC_MODE1_CTRLB_DMAEN_Msk           (_U_(0x1) << RTC_MODE1_CTRLB_DMAEN_Pos)        /**< (RTC_MODE1_CTRLB) DMA Enable Mask */
+#define RTC_MODE1_CTRLB_DMAEN               RTC_MODE1_CTRLB_DMAEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_DMAEN_Msk instead */
+#define RTC_MODE1_CTRLB_DEBF_Pos            8                                              /**< (RTC_MODE1_CTRLB) Debounce Frequency Position */
+#define RTC_MODE1_CTRLB_DEBF_Msk            (_U_(0x7) << RTC_MODE1_CTRLB_DEBF_Pos)         /**< (RTC_MODE1_CTRLB) Debounce Frequency Mask */
+#define RTC_MODE1_CTRLB_DEBF(value)         (RTC_MODE1_CTRLB_DEBF_Msk & ((value) << RTC_MODE1_CTRLB_DEBF_Pos))
+#define   RTC_MODE1_CTRLB_DEBF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/2  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/4  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/8  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/16  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/32  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/64  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/128  */
+#define   RTC_MODE1_CTRLB_DEBF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/256  */
+#define RTC_MODE1_CTRLB_DEBF_DIV2           (RTC_MODE1_CTRLB_DEBF_DIV2_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/2 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV4           (RTC_MODE1_CTRLB_DEBF_DIV4_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/4 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV8           (RTC_MODE1_CTRLB_DEBF_DIV8_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/8 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV16          (RTC_MODE1_CTRLB_DEBF_DIV16_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/16 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV32          (RTC_MODE1_CTRLB_DEBF_DIV32_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/32 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV64          (RTC_MODE1_CTRLB_DEBF_DIV64_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/64 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV128         (RTC_MODE1_CTRLB_DEBF_DIV128_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/128 Position  */
+#define RTC_MODE1_CTRLB_DEBF_DIV256         (RTC_MODE1_CTRLB_DEBF_DIV256_Val << RTC_MODE1_CTRLB_DEBF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_DEB = CLK_RTC/256 Position  */
+#define RTC_MODE1_CTRLB_ACTF_Pos            12                                             /**< (RTC_MODE1_CTRLB) Active Layer Frequency Position */
+#define RTC_MODE1_CTRLB_ACTF_Msk            (_U_(0x7) << RTC_MODE1_CTRLB_ACTF_Pos)         /**< (RTC_MODE1_CTRLB) Active Layer Frequency Mask */
+#define RTC_MODE1_CTRLB_ACTF(value)         (RTC_MODE1_CTRLB_ACTF_Msk & ((value) << RTC_MODE1_CTRLB_ACTF_Pos))
+#define   RTC_MODE1_CTRLB_ACTF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/2  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/4  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/8  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/16  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/32  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/64  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/128  */
+#define   RTC_MODE1_CTRLB_ACTF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/256  */
+#define RTC_MODE1_CTRLB_ACTF_DIV2           (RTC_MODE1_CTRLB_ACTF_DIV2_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/2 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV4           (RTC_MODE1_CTRLB_ACTF_DIV4_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/4 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV8           (RTC_MODE1_CTRLB_ACTF_DIV8_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/8 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV16          (RTC_MODE1_CTRLB_ACTF_DIV16_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/16 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV32          (RTC_MODE1_CTRLB_ACTF_DIV32_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/32 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV64          (RTC_MODE1_CTRLB_ACTF_DIV64_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/64 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV128         (RTC_MODE1_CTRLB_ACTF_DIV128_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/128 Position  */
+#define RTC_MODE1_CTRLB_ACTF_DIV256         (RTC_MODE1_CTRLB_ACTF_DIV256_Val << RTC_MODE1_CTRLB_ACTF_Pos)  /**< (RTC_MODE1_CTRLB) CLK_RTC_OUT = CLK_RTC/256 Position  */
+#define RTC_MODE1_CTRLB_SEPTO_Pos           15                                             /**< (RTC_MODE1_CTRLB) Separate Tamper Outputs Position */
+#define RTC_MODE1_CTRLB_SEPTO_Msk           (_U_(0x1) << RTC_MODE1_CTRLB_SEPTO_Pos)        /**< (RTC_MODE1_CTRLB) Separate Tamper Outputs Mask */
+#define RTC_MODE1_CTRLB_SEPTO               RTC_MODE1_CTRLB_SEPTO_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_CTRLB_SEPTO_Msk instead */
+#define RTC_MODE1_CTRLB_MASK                _U_(0xF7F1)                                    /**< \deprecated (RTC_MODE1_CTRLB) Register MASK  (Use RTC_MODE1_CTRLB_Msk instead)  */
+#define RTC_MODE1_CTRLB_Msk                 _U_(0xF7F1)                                    /**< (RTC_MODE1_CTRLB) Register Mask  */
+
+
+/* -------- RTC_MODE2_CTRLB : (RTC Offset: 0x02) (R/W 16) MODE2 Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t GP0EN:1;                   /**< bit:      0  General Purpose 0 Enable                 */
+    uint16_t :3;                        /**< bit:   1..3  Reserved */
+    uint16_t DEBMAJ:1;                  /**< bit:      4  Debouncer Majority Enable                */
+    uint16_t DEBASYNC:1;                /**< bit:      5  Debouncer Asynchronous Enable            */
+    uint16_t RTCOUT:1;                  /**< bit:      6  RTC Output Enable                        */
+    uint16_t DMAEN:1;                   /**< bit:      7  DMA Enable                               */
+    uint16_t DEBF:3;                    /**< bit:  8..10  Debounce Frequency                       */
+    uint16_t :1;                        /**< bit:     11  Reserved */
+    uint16_t ACTF:3;                    /**< bit: 12..14  Active Layer Frequency                   */
+    uint16_t SEPTO:1;                   /**< bit:     15  Separate Tamper Outputs                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE2_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_CTRLB_OFFSET              (0x02)                                        /**<  (RTC_MODE2_CTRLB) MODE2 Control B  Offset */
+#define RTC_MODE2_CTRLB_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE2_CTRLB) MODE2 Control B  Reset Value */
+
+#define RTC_MODE2_CTRLB_GP0EN_Pos           0                                              /**< (RTC_MODE2_CTRLB) General Purpose 0 Enable Position */
+#define RTC_MODE2_CTRLB_GP0EN_Msk           (_U_(0x1) << RTC_MODE2_CTRLB_GP0EN_Pos)        /**< (RTC_MODE2_CTRLB) General Purpose 0 Enable Mask */
+#define RTC_MODE2_CTRLB_GP0EN               RTC_MODE2_CTRLB_GP0EN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_GP0EN_Msk instead */
+#define RTC_MODE2_CTRLB_DEBMAJ_Pos          4                                              /**< (RTC_MODE2_CTRLB) Debouncer Majority Enable Position */
+#define RTC_MODE2_CTRLB_DEBMAJ_Msk          (_U_(0x1) << RTC_MODE2_CTRLB_DEBMAJ_Pos)       /**< (RTC_MODE2_CTRLB) Debouncer Majority Enable Mask */
+#define RTC_MODE2_CTRLB_DEBMAJ              RTC_MODE2_CTRLB_DEBMAJ_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_DEBMAJ_Msk instead */
+#define RTC_MODE2_CTRLB_DEBASYNC_Pos        5                                              /**< (RTC_MODE2_CTRLB) Debouncer Asynchronous Enable Position */
+#define RTC_MODE2_CTRLB_DEBASYNC_Msk        (_U_(0x1) << RTC_MODE2_CTRLB_DEBASYNC_Pos)     /**< (RTC_MODE2_CTRLB) Debouncer Asynchronous Enable Mask */
+#define RTC_MODE2_CTRLB_DEBASYNC            RTC_MODE2_CTRLB_DEBASYNC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_DEBASYNC_Msk instead */
+#define RTC_MODE2_CTRLB_RTCOUT_Pos          6                                              /**< (RTC_MODE2_CTRLB) RTC Output Enable Position */
+#define RTC_MODE2_CTRLB_RTCOUT_Msk          (_U_(0x1) << RTC_MODE2_CTRLB_RTCOUT_Pos)       /**< (RTC_MODE2_CTRLB) RTC Output Enable Mask */
+#define RTC_MODE2_CTRLB_RTCOUT              RTC_MODE2_CTRLB_RTCOUT_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_RTCOUT_Msk instead */
+#define RTC_MODE2_CTRLB_DMAEN_Pos           7                                              /**< (RTC_MODE2_CTRLB) DMA Enable Position */
+#define RTC_MODE2_CTRLB_DMAEN_Msk           (_U_(0x1) << RTC_MODE2_CTRLB_DMAEN_Pos)        /**< (RTC_MODE2_CTRLB) DMA Enable Mask */
+#define RTC_MODE2_CTRLB_DMAEN               RTC_MODE2_CTRLB_DMAEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_DMAEN_Msk instead */
+#define RTC_MODE2_CTRLB_DEBF_Pos            8                                              /**< (RTC_MODE2_CTRLB) Debounce Frequency Position */
+#define RTC_MODE2_CTRLB_DEBF_Msk            (_U_(0x7) << RTC_MODE2_CTRLB_DEBF_Pos)         /**< (RTC_MODE2_CTRLB) Debounce Frequency Mask */
+#define RTC_MODE2_CTRLB_DEBF(value)         (RTC_MODE2_CTRLB_DEBF_Msk & ((value) << RTC_MODE2_CTRLB_DEBF_Pos))
+#define   RTC_MODE2_CTRLB_DEBF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/2  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/4  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/8  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/16  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/32  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/64  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/128  */
+#define   RTC_MODE2_CTRLB_DEBF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/256  */
+#define RTC_MODE2_CTRLB_DEBF_DIV2           (RTC_MODE2_CTRLB_DEBF_DIV2_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/2 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV4           (RTC_MODE2_CTRLB_DEBF_DIV4_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/4 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV8           (RTC_MODE2_CTRLB_DEBF_DIV8_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/8 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV16          (RTC_MODE2_CTRLB_DEBF_DIV16_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/16 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV32          (RTC_MODE2_CTRLB_DEBF_DIV32_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/32 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV64          (RTC_MODE2_CTRLB_DEBF_DIV64_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/64 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV128         (RTC_MODE2_CTRLB_DEBF_DIV128_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/128 Position  */
+#define RTC_MODE2_CTRLB_DEBF_DIV256         (RTC_MODE2_CTRLB_DEBF_DIV256_Val << RTC_MODE2_CTRLB_DEBF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_DEB = CLK_RTC/256 Position  */
+#define RTC_MODE2_CTRLB_ACTF_Pos            12                                             /**< (RTC_MODE2_CTRLB) Active Layer Frequency Position */
+#define RTC_MODE2_CTRLB_ACTF_Msk            (_U_(0x7) << RTC_MODE2_CTRLB_ACTF_Pos)         /**< (RTC_MODE2_CTRLB) Active Layer Frequency Mask */
+#define RTC_MODE2_CTRLB_ACTF(value)         (RTC_MODE2_CTRLB_ACTF_Msk & ((value) << RTC_MODE2_CTRLB_ACTF_Pos))
+#define   RTC_MODE2_CTRLB_ACTF_DIV2_Val     _U_(0x0)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/2  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV4_Val     _U_(0x1)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/4  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV8_Val     _U_(0x2)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/8  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV16_Val    _U_(0x3)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/16  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV32_Val    _U_(0x4)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/32  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV64_Val    _U_(0x5)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/64  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV128_Val   _U_(0x6)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/128  */
+#define   RTC_MODE2_CTRLB_ACTF_DIV256_Val   _U_(0x7)                                       /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/256  */
+#define RTC_MODE2_CTRLB_ACTF_DIV2           (RTC_MODE2_CTRLB_ACTF_DIV2_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/2 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV4           (RTC_MODE2_CTRLB_ACTF_DIV4_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/4 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV8           (RTC_MODE2_CTRLB_ACTF_DIV8_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/8 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV16          (RTC_MODE2_CTRLB_ACTF_DIV16_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/16 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV32          (RTC_MODE2_CTRLB_ACTF_DIV32_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/32 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV64          (RTC_MODE2_CTRLB_ACTF_DIV64_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/64 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV128         (RTC_MODE2_CTRLB_ACTF_DIV128_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/128 Position  */
+#define RTC_MODE2_CTRLB_ACTF_DIV256         (RTC_MODE2_CTRLB_ACTF_DIV256_Val << RTC_MODE2_CTRLB_ACTF_Pos)  /**< (RTC_MODE2_CTRLB) CLK_RTC_OUT = CLK_RTC/256 Position  */
+#define RTC_MODE2_CTRLB_SEPTO_Pos           15                                             /**< (RTC_MODE2_CTRLB) Separate Tamper Outputs Position */
+#define RTC_MODE2_CTRLB_SEPTO_Msk           (_U_(0x1) << RTC_MODE2_CTRLB_SEPTO_Pos)        /**< (RTC_MODE2_CTRLB) Separate Tamper Outputs Mask */
+#define RTC_MODE2_CTRLB_SEPTO               RTC_MODE2_CTRLB_SEPTO_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_CTRLB_SEPTO_Msk instead */
+#define RTC_MODE2_CTRLB_MASK                _U_(0xF7F1)                                    /**< \deprecated (RTC_MODE2_CTRLB) Register MASK  (Use RTC_MODE2_CTRLB_Msk instead)  */
+#define RTC_MODE2_CTRLB_Msk                 _U_(0xF7F1)                                    /**< (RTC_MODE2_CTRLB) Register Mask  */
+
+
+/* -------- RTC_MODE0_EVCTRL : (RTC Offset: 0x04) (R/W 32) MODE0 Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PEREO0:1;                  /**< bit:      0  Periodic Interval 0 Event Output Enable  */
+    uint32_t PEREO1:1;                  /**< bit:      1  Periodic Interval 1 Event Output Enable  */
+    uint32_t PEREO2:1;                  /**< bit:      2  Periodic Interval 2 Event Output Enable  */
+    uint32_t PEREO3:1;                  /**< bit:      3  Periodic Interval 3 Event Output Enable  */
+    uint32_t PEREO4:1;                  /**< bit:      4  Periodic Interval 4 Event Output Enable  */
+    uint32_t PEREO5:1;                  /**< bit:      5  Periodic Interval 5 Event Output Enable  */
+    uint32_t PEREO6:1;                  /**< bit:      6  Periodic Interval 6 Event Output Enable  */
+    uint32_t PEREO7:1;                  /**< bit:      7  Periodic Interval 7 Event Output Enable  */
+    uint32_t CMPEO0:1;                  /**< bit:      8  Compare 0 Event Output Enable            */
+    uint32_t :5;                        /**< bit:  9..13  Reserved */
+    uint32_t TAMPEREO:1;                /**< bit:     14  Tamper Event Output Enable               */
+    uint32_t OVFEO:1;                   /**< bit:     15  Overflow Event Output Enable             */
+    uint32_t TAMPEVEI:1;                /**< bit:     16  Tamper Event Input Enable                */
+    uint32_t :7;                        /**< bit: 17..23  Reserved */
+    uint32_t PERDEO:1;                  /**< bit:     24  Periodic Interval Daily Event Output Enable */
+    uint32_t :7;                        /**< bit: 25..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t PEREO:8;                   /**< bit:   0..7  Periodic Interval x Event Output Enable  */
+    uint32_t CMPEO:1;                   /**< bit:      8  Compare x Event Output Enable            */
+    uint32_t :23;                       /**< bit:  9..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE0_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_EVCTRL_OFFSET             (0x04)                                        /**<  (RTC_MODE0_EVCTRL) MODE0 Event Control  Offset */
+#define RTC_MODE0_EVCTRL_RESETVALUE         _U_(0x00)                                     /**<  (RTC_MODE0_EVCTRL) MODE0 Event Control  Reset Value */
+
+#define RTC_MODE0_EVCTRL_PEREO0_Pos         0                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 0 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO0_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO0_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 0 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO0             RTC_MODE0_EVCTRL_PEREO0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO0_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO1_Pos         1                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 1 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO1_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO1_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 1 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO1             RTC_MODE0_EVCTRL_PEREO1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO1_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO2_Pos         2                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 2 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO2_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO2_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 2 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO2             RTC_MODE0_EVCTRL_PEREO2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO2_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO3_Pos         3                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 3 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO3_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO3_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 3 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO3             RTC_MODE0_EVCTRL_PEREO3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO3_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO4_Pos         4                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 4 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO4_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO4_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 4 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO4             RTC_MODE0_EVCTRL_PEREO4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO4_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO5_Pos         5                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 5 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO5_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO5_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 5 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO5             RTC_MODE0_EVCTRL_PEREO5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO5_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO6_Pos         6                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 6 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO6_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO6_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 6 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO6             RTC_MODE0_EVCTRL_PEREO6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO6_Msk instead */
+#define RTC_MODE0_EVCTRL_PEREO7_Pos         7                                              /**< (RTC_MODE0_EVCTRL) Periodic Interval 7 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PEREO7_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO7_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval 7 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PEREO7             RTC_MODE0_EVCTRL_PEREO7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PEREO7_Msk instead */
+#define RTC_MODE0_EVCTRL_CMPEO0_Pos         8                                              /**< (RTC_MODE0_EVCTRL) Compare 0 Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_CMPEO0_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_CMPEO0_Pos)      /**< (RTC_MODE0_EVCTRL) Compare 0 Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_CMPEO0             RTC_MODE0_EVCTRL_CMPEO0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_CMPEO0_Msk instead */
+#define RTC_MODE0_EVCTRL_TAMPEREO_Pos       14                                             /**< (RTC_MODE0_EVCTRL) Tamper Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_TAMPEREO_Msk       (_U_(0x1) << RTC_MODE0_EVCTRL_TAMPEREO_Pos)    /**< (RTC_MODE0_EVCTRL) Tamper Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_TAMPEREO           RTC_MODE0_EVCTRL_TAMPEREO_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_TAMPEREO_Msk instead */
+#define RTC_MODE0_EVCTRL_OVFEO_Pos          15                                             /**< (RTC_MODE0_EVCTRL) Overflow Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_OVFEO_Msk          (_U_(0x1) << RTC_MODE0_EVCTRL_OVFEO_Pos)       /**< (RTC_MODE0_EVCTRL) Overflow Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_OVFEO              RTC_MODE0_EVCTRL_OVFEO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_OVFEO_Msk instead */
+#define RTC_MODE0_EVCTRL_TAMPEVEI_Pos       16                                             /**< (RTC_MODE0_EVCTRL) Tamper Event Input Enable Position */
+#define RTC_MODE0_EVCTRL_TAMPEVEI_Msk       (_U_(0x1) << RTC_MODE0_EVCTRL_TAMPEVEI_Pos)    /**< (RTC_MODE0_EVCTRL) Tamper Event Input Enable Mask */
+#define RTC_MODE0_EVCTRL_TAMPEVEI           RTC_MODE0_EVCTRL_TAMPEVEI_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_TAMPEVEI_Msk instead */
+#define RTC_MODE0_EVCTRL_PERDEO_Pos         24                                             /**< (RTC_MODE0_EVCTRL) Periodic Interval Daily Event Output Enable Position */
+#define RTC_MODE0_EVCTRL_PERDEO_Msk         (_U_(0x1) << RTC_MODE0_EVCTRL_PERDEO_Pos)      /**< (RTC_MODE0_EVCTRL) Periodic Interval Daily Event Output Enable Mask */
+#define RTC_MODE0_EVCTRL_PERDEO             RTC_MODE0_EVCTRL_PERDEO_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_EVCTRL_PERDEO_Msk instead */
+#define RTC_MODE0_EVCTRL_MASK               _U_(0x101C1FF)                                 /**< \deprecated (RTC_MODE0_EVCTRL) Register MASK  (Use RTC_MODE0_EVCTRL_Msk instead)  */
+#define RTC_MODE0_EVCTRL_Msk                _U_(0x101C1FF)                                 /**< (RTC_MODE0_EVCTRL) Register Mask  */
+
+#define RTC_MODE0_EVCTRL_PEREO_Pos          0                                              /**< (RTC_MODE0_EVCTRL Position) Periodic Interval x Event Output Enable */
+#define RTC_MODE0_EVCTRL_PEREO_Msk          (_U_(0xFF) << RTC_MODE0_EVCTRL_PEREO_Pos)      /**< (RTC_MODE0_EVCTRL Mask) PEREO */
+#define RTC_MODE0_EVCTRL_PEREO(value)       (RTC_MODE0_EVCTRL_PEREO_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO_Pos))  
+#define RTC_MODE0_EVCTRL_CMPEO_Pos          8                                              /**< (RTC_MODE0_EVCTRL Position) Compare x Event Output Enable */
+#define RTC_MODE0_EVCTRL_CMPEO_Msk          (_U_(0x1) << RTC_MODE0_EVCTRL_CMPEO_Pos)       /**< (RTC_MODE0_EVCTRL Mask) CMPEO */
+#define RTC_MODE0_EVCTRL_CMPEO(value)       (RTC_MODE0_EVCTRL_CMPEO_Msk & ((value) << RTC_MODE0_EVCTRL_CMPEO_Pos))  
+
+/* -------- RTC_MODE1_EVCTRL : (RTC Offset: 0x04) (R/W 32) MODE1 Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PEREO0:1;                  /**< bit:      0  Periodic Interval 0 Event Output Enable  */
+    uint32_t PEREO1:1;                  /**< bit:      1  Periodic Interval 1 Event Output Enable  */
+    uint32_t PEREO2:1;                  /**< bit:      2  Periodic Interval 2 Event Output Enable  */
+    uint32_t PEREO3:1;                  /**< bit:      3  Periodic Interval 3 Event Output Enable  */
+    uint32_t PEREO4:1;                  /**< bit:      4  Periodic Interval 4 Event Output Enable  */
+    uint32_t PEREO5:1;                  /**< bit:      5  Periodic Interval 5 Event Output Enable  */
+    uint32_t PEREO6:1;                  /**< bit:      6  Periodic Interval 6 Event Output Enable  */
+    uint32_t PEREO7:1;                  /**< bit:      7  Periodic Interval 7 Event Output Enable  */
+    uint32_t CMPEO0:1;                  /**< bit:      8  Compare 0 Event Output Enable            */
+    uint32_t CMPEO1:1;                  /**< bit:      9  Compare 1 Event Output Enable            */
+    uint32_t :4;                        /**< bit: 10..13  Reserved */
+    uint32_t TAMPEREO:1;                /**< bit:     14  Tamper Event Output Enable               */
+    uint32_t OVFEO:1;                   /**< bit:     15  Overflow Event Output Enable             */
+    uint32_t TAMPEVEI:1;                /**< bit:     16  Tamper Event Input Enable                */
+    uint32_t :7;                        /**< bit: 17..23  Reserved */
+    uint32_t PERDEO:1;                  /**< bit:     24  Periodic Interval Daily Event Output Enable */
+    uint32_t :7;                        /**< bit: 25..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t PEREO:8;                   /**< bit:   0..7  Periodic Interval x Event Output Enable  */
+    uint32_t CMPEO:2;                   /**< bit:   8..9  Compare x Event Output Enable            */
+    uint32_t :22;                       /**< bit: 10..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE1_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_EVCTRL_OFFSET             (0x04)                                        /**<  (RTC_MODE1_EVCTRL) MODE1 Event Control  Offset */
+#define RTC_MODE1_EVCTRL_RESETVALUE         _U_(0x00)                                     /**<  (RTC_MODE1_EVCTRL) MODE1 Event Control  Reset Value */
+
+#define RTC_MODE1_EVCTRL_PEREO0_Pos         0                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 0 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO0_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO0_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 0 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO0             RTC_MODE1_EVCTRL_PEREO0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO0_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO1_Pos         1                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 1 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO1_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO1_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 1 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO1             RTC_MODE1_EVCTRL_PEREO1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO1_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO2_Pos         2                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 2 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO2_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO2_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 2 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO2             RTC_MODE1_EVCTRL_PEREO2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO2_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO3_Pos         3                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 3 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO3_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO3_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 3 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO3             RTC_MODE1_EVCTRL_PEREO3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO3_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO4_Pos         4                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 4 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO4_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO4_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 4 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO4             RTC_MODE1_EVCTRL_PEREO4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO4_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO5_Pos         5                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 5 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO5_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO5_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 5 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO5             RTC_MODE1_EVCTRL_PEREO5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO5_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO6_Pos         6                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 6 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO6_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO6_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 6 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO6             RTC_MODE1_EVCTRL_PEREO6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO6_Msk instead */
+#define RTC_MODE1_EVCTRL_PEREO7_Pos         7                                              /**< (RTC_MODE1_EVCTRL) Periodic Interval 7 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PEREO7_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO7_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval 7 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PEREO7             RTC_MODE1_EVCTRL_PEREO7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PEREO7_Msk instead */
+#define RTC_MODE1_EVCTRL_CMPEO0_Pos         8                                              /**< (RTC_MODE1_EVCTRL) Compare 0 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_CMPEO0_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_CMPEO0_Pos)      /**< (RTC_MODE1_EVCTRL) Compare 0 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_CMPEO0             RTC_MODE1_EVCTRL_CMPEO0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_CMPEO0_Msk instead */
+#define RTC_MODE1_EVCTRL_CMPEO1_Pos         9                                              /**< (RTC_MODE1_EVCTRL) Compare 1 Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_CMPEO1_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_CMPEO1_Pos)      /**< (RTC_MODE1_EVCTRL) Compare 1 Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_CMPEO1             RTC_MODE1_EVCTRL_CMPEO1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_CMPEO1_Msk instead */
+#define RTC_MODE1_EVCTRL_TAMPEREO_Pos       14                                             /**< (RTC_MODE1_EVCTRL) Tamper Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_TAMPEREO_Msk       (_U_(0x1) << RTC_MODE1_EVCTRL_TAMPEREO_Pos)    /**< (RTC_MODE1_EVCTRL) Tamper Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_TAMPEREO           RTC_MODE1_EVCTRL_TAMPEREO_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_TAMPEREO_Msk instead */
+#define RTC_MODE1_EVCTRL_OVFEO_Pos          15                                             /**< (RTC_MODE1_EVCTRL) Overflow Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_OVFEO_Msk          (_U_(0x1) << RTC_MODE1_EVCTRL_OVFEO_Pos)       /**< (RTC_MODE1_EVCTRL) Overflow Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_OVFEO              RTC_MODE1_EVCTRL_OVFEO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_OVFEO_Msk instead */
+#define RTC_MODE1_EVCTRL_TAMPEVEI_Pos       16                                             /**< (RTC_MODE1_EVCTRL) Tamper Event Input Enable Position */
+#define RTC_MODE1_EVCTRL_TAMPEVEI_Msk       (_U_(0x1) << RTC_MODE1_EVCTRL_TAMPEVEI_Pos)    /**< (RTC_MODE1_EVCTRL) Tamper Event Input Enable Mask */
+#define RTC_MODE1_EVCTRL_TAMPEVEI           RTC_MODE1_EVCTRL_TAMPEVEI_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_TAMPEVEI_Msk instead */
+#define RTC_MODE1_EVCTRL_PERDEO_Pos         24                                             /**< (RTC_MODE1_EVCTRL) Periodic Interval Daily Event Output Enable Position */
+#define RTC_MODE1_EVCTRL_PERDEO_Msk         (_U_(0x1) << RTC_MODE1_EVCTRL_PERDEO_Pos)      /**< (RTC_MODE1_EVCTRL) Periodic Interval Daily Event Output Enable Mask */
+#define RTC_MODE1_EVCTRL_PERDEO             RTC_MODE1_EVCTRL_PERDEO_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_EVCTRL_PERDEO_Msk instead */
+#define RTC_MODE1_EVCTRL_MASK               _U_(0x101C3FF)                                 /**< \deprecated (RTC_MODE1_EVCTRL) Register MASK  (Use RTC_MODE1_EVCTRL_Msk instead)  */
+#define RTC_MODE1_EVCTRL_Msk                _U_(0x101C3FF)                                 /**< (RTC_MODE1_EVCTRL) Register Mask  */
+
+#define RTC_MODE1_EVCTRL_PEREO_Pos          0                                              /**< (RTC_MODE1_EVCTRL Position) Periodic Interval x Event Output Enable */
+#define RTC_MODE1_EVCTRL_PEREO_Msk          (_U_(0xFF) << RTC_MODE1_EVCTRL_PEREO_Pos)      /**< (RTC_MODE1_EVCTRL Mask) PEREO */
+#define RTC_MODE1_EVCTRL_PEREO(value)       (RTC_MODE1_EVCTRL_PEREO_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO_Pos))  
+#define RTC_MODE1_EVCTRL_CMPEO_Pos          8                                              /**< (RTC_MODE1_EVCTRL Position) Compare x Event Output Enable */
+#define RTC_MODE1_EVCTRL_CMPEO_Msk          (_U_(0x3) << RTC_MODE1_EVCTRL_CMPEO_Pos)       /**< (RTC_MODE1_EVCTRL Mask) CMPEO */
+#define RTC_MODE1_EVCTRL_CMPEO(value)       (RTC_MODE1_EVCTRL_CMPEO_Msk & ((value) << RTC_MODE1_EVCTRL_CMPEO_Pos))  
+
+/* -------- RTC_MODE2_EVCTRL : (RTC Offset: 0x04) (R/W 32) MODE2 Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PEREO0:1;                  /**< bit:      0  Periodic Interval 0 Event Output Enable  */
+    uint32_t PEREO1:1;                  /**< bit:      1  Periodic Interval 1 Event Output Enable  */
+    uint32_t PEREO2:1;                  /**< bit:      2  Periodic Interval 2 Event Output Enable  */
+    uint32_t PEREO3:1;                  /**< bit:      3  Periodic Interval 3 Event Output Enable  */
+    uint32_t PEREO4:1;                  /**< bit:      4  Periodic Interval 4 Event Output Enable  */
+    uint32_t PEREO5:1;                  /**< bit:      5  Periodic Interval 5 Event Output Enable  */
+    uint32_t PEREO6:1;                  /**< bit:      6  Periodic Interval 6 Event Output Enable  */
+    uint32_t PEREO7:1;                  /**< bit:      7  Periodic Interval 7 Event Output Enable  */
+    uint32_t ALARMEO0:1;                /**< bit:      8  Alarm 0 Event Output Enable              */
+    uint32_t :5;                        /**< bit:  9..13  Reserved */
+    uint32_t TAMPEREO:1;                /**< bit:     14  Tamper Event Output Enable               */
+    uint32_t OVFEO:1;                   /**< bit:     15  Overflow Event Output Enable             */
+    uint32_t TAMPEVEI:1;                /**< bit:     16  Tamper Event Input Enable                */
+    uint32_t :7;                        /**< bit: 17..23  Reserved */
+    uint32_t PERDEO:1;                  /**< bit:     24  Periodic Interval Daily Event Output Enable */
+    uint32_t :7;                        /**< bit: 25..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t PEREO:8;                   /**< bit:   0..7  Periodic Interval x Event Output Enable  */
+    uint32_t ALARMEO:1;                 /**< bit:      8  Alarm x Event Output Enable              */
+    uint32_t :23;                       /**< bit:  9..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE2_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_EVCTRL_OFFSET             (0x04)                                        /**<  (RTC_MODE2_EVCTRL) MODE2 Event Control  Offset */
+#define RTC_MODE2_EVCTRL_RESETVALUE         _U_(0x00)                                     /**<  (RTC_MODE2_EVCTRL) MODE2 Event Control  Reset Value */
+
+#define RTC_MODE2_EVCTRL_PEREO0_Pos         0                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 0 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO0_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO0_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 0 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO0             RTC_MODE2_EVCTRL_PEREO0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO0_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO1_Pos         1                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 1 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO1_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO1_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 1 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO1             RTC_MODE2_EVCTRL_PEREO1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO1_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO2_Pos         2                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 2 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO2_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO2_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 2 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO2             RTC_MODE2_EVCTRL_PEREO2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO2_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO3_Pos         3                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 3 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO3_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO3_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 3 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO3             RTC_MODE2_EVCTRL_PEREO3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO3_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO4_Pos         4                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 4 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO4_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO4_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 4 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO4             RTC_MODE2_EVCTRL_PEREO4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO4_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO5_Pos         5                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 5 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO5_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO5_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 5 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO5             RTC_MODE2_EVCTRL_PEREO5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO5_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO6_Pos         6                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 6 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO6_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO6_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 6 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO6             RTC_MODE2_EVCTRL_PEREO6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO6_Msk instead */
+#define RTC_MODE2_EVCTRL_PEREO7_Pos         7                                              /**< (RTC_MODE2_EVCTRL) Periodic Interval 7 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PEREO7_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO7_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval 7 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PEREO7             RTC_MODE2_EVCTRL_PEREO7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PEREO7_Msk instead */
+#define RTC_MODE2_EVCTRL_ALARMEO0_Pos       8                                              /**< (RTC_MODE2_EVCTRL) Alarm 0 Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_ALARMEO0_Msk       (_U_(0x1) << RTC_MODE2_EVCTRL_ALARMEO0_Pos)    /**< (RTC_MODE2_EVCTRL) Alarm 0 Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_ALARMEO0           RTC_MODE2_EVCTRL_ALARMEO0_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_ALARMEO0_Msk instead */
+#define RTC_MODE2_EVCTRL_TAMPEREO_Pos       14                                             /**< (RTC_MODE2_EVCTRL) Tamper Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_TAMPEREO_Msk       (_U_(0x1) << RTC_MODE2_EVCTRL_TAMPEREO_Pos)    /**< (RTC_MODE2_EVCTRL) Tamper Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_TAMPEREO           RTC_MODE2_EVCTRL_TAMPEREO_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_TAMPEREO_Msk instead */
+#define RTC_MODE2_EVCTRL_OVFEO_Pos          15                                             /**< (RTC_MODE2_EVCTRL) Overflow Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_OVFEO_Msk          (_U_(0x1) << RTC_MODE2_EVCTRL_OVFEO_Pos)       /**< (RTC_MODE2_EVCTRL) Overflow Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_OVFEO              RTC_MODE2_EVCTRL_OVFEO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_OVFEO_Msk instead */
+#define RTC_MODE2_EVCTRL_TAMPEVEI_Pos       16                                             /**< (RTC_MODE2_EVCTRL) Tamper Event Input Enable Position */
+#define RTC_MODE2_EVCTRL_TAMPEVEI_Msk       (_U_(0x1) << RTC_MODE2_EVCTRL_TAMPEVEI_Pos)    /**< (RTC_MODE2_EVCTRL) Tamper Event Input Enable Mask */
+#define RTC_MODE2_EVCTRL_TAMPEVEI           RTC_MODE2_EVCTRL_TAMPEVEI_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_TAMPEVEI_Msk instead */
+#define RTC_MODE2_EVCTRL_PERDEO_Pos         24                                             /**< (RTC_MODE2_EVCTRL) Periodic Interval Daily Event Output Enable Position */
+#define RTC_MODE2_EVCTRL_PERDEO_Msk         (_U_(0x1) << RTC_MODE2_EVCTRL_PERDEO_Pos)      /**< (RTC_MODE2_EVCTRL) Periodic Interval Daily Event Output Enable Mask */
+#define RTC_MODE2_EVCTRL_PERDEO             RTC_MODE2_EVCTRL_PERDEO_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_EVCTRL_PERDEO_Msk instead */
+#define RTC_MODE2_EVCTRL_MASK               _U_(0x101C1FF)                                 /**< \deprecated (RTC_MODE2_EVCTRL) Register MASK  (Use RTC_MODE2_EVCTRL_Msk instead)  */
+#define RTC_MODE2_EVCTRL_Msk                _U_(0x101C1FF)                                 /**< (RTC_MODE2_EVCTRL) Register Mask  */
+
+#define RTC_MODE2_EVCTRL_PEREO_Pos          0                                              /**< (RTC_MODE2_EVCTRL Position) Periodic Interval x Event Output Enable */
+#define RTC_MODE2_EVCTRL_PEREO_Msk          (_U_(0xFF) << RTC_MODE2_EVCTRL_PEREO_Pos)      /**< (RTC_MODE2_EVCTRL Mask) PEREO */
+#define RTC_MODE2_EVCTRL_PEREO(value)       (RTC_MODE2_EVCTRL_PEREO_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO_Pos))  
+#define RTC_MODE2_EVCTRL_ALARMEO_Pos        8                                              /**< (RTC_MODE2_EVCTRL Position) Alarm x Event Output Enable */
+#define RTC_MODE2_EVCTRL_ALARMEO_Msk        (_U_(0x1) << RTC_MODE2_EVCTRL_ALARMEO_Pos)     /**< (RTC_MODE2_EVCTRL Mask) ALARMEO */
+#define RTC_MODE2_EVCTRL_ALARMEO(value)     (RTC_MODE2_EVCTRL_ALARMEO_Msk & ((value) << RTC_MODE2_EVCTRL_ALARMEO_Pos))  
+
+/* -------- RTC_MODE0_INTENCLR : (RTC Offset: 0x08) (R/W 16) MODE0 Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Interrupt Enable     */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Interrupt Enable     */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Interrupt Enable     */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Interrupt Enable     */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Interrupt Enable     */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Interrupt Enable     */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Interrupt Enable     */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Interrupt Enable     */
+    uint16_t CMP0:1;                    /**< bit:      8  Compare 0 Interrupt Enable               */
+    uint16_t :5;                        /**< bit:  9..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Interrupt Enable     */
+    uint16_t CMP:1;                     /**< bit:      8  Compare x Interrupt Enable               */
+    uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE0_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_INTENCLR_OFFSET           (0x08)                                        /**<  (RTC_MODE0_INTENCLR) MODE0 Interrupt Enable Clear  Offset */
+#define RTC_MODE0_INTENCLR_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE0_INTENCLR) MODE0 Interrupt Enable Clear  Reset Value */
+
+#define RTC_MODE0_INTENCLR_PER0_Pos         0                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 0 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER0_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER0_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 0 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER0             RTC_MODE0_INTENCLR_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER0_Msk instead */
+#define RTC_MODE0_INTENCLR_PER1_Pos         1                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 1 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER1_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER1_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 1 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER1             RTC_MODE0_INTENCLR_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER1_Msk instead */
+#define RTC_MODE0_INTENCLR_PER2_Pos         2                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 2 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER2_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER2_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 2 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER2             RTC_MODE0_INTENCLR_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER2_Msk instead */
+#define RTC_MODE0_INTENCLR_PER3_Pos         3                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 3 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER3_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER3_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 3 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER3             RTC_MODE0_INTENCLR_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER3_Msk instead */
+#define RTC_MODE0_INTENCLR_PER4_Pos         4                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 4 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER4_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER4_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 4 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER4             RTC_MODE0_INTENCLR_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER4_Msk instead */
+#define RTC_MODE0_INTENCLR_PER5_Pos         5                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 5 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER5_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER5_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 5 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER5             RTC_MODE0_INTENCLR_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER5_Msk instead */
+#define RTC_MODE0_INTENCLR_PER6_Pos         6                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 6 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER6_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER6_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 6 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER6             RTC_MODE0_INTENCLR_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER6_Msk instead */
+#define RTC_MODE0_INTENCLR_PER7_Pos         7                                              /**< (RTC_MODE0_INTENCLR) Periodic Interval 7 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_PER7_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_PER7_Pos)      /**< (RTC_MODE0_INTENCLR) Periodic Interval 7 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_PER7             RTC_MODE0_INTENCLR_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_PER7_Msk instead */
+#define RTC_MODE0_INTENCLR_CMP0_Pos         8                                              /**< (RTC_MODE0_INTENCLR) Compare 0 Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_CMP0_Msk         (_U_(0x1) << RTC_MODE0_INTENCLR_CMP0_Pos)      /**< (RTC_MODE0_INTENCLR) Compare 0 Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_CMP0             RTC_MODE0_INTENCLR_CMP0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_CMP0_Msk instead */
+#define RTC_MODE0_INTENCLR_TAMPER_Pos       14                                             /**< (RTC_MODE0_INTENCLR) Tamper Enable Position */
+#define RTC_MODE0_INTENCLR_TAMPER_Msk       (_U_(0x1) << RTC_MODE0_INTENCLR_TAMPER_Pos)    /**< (RTC_MODE0_INTENCLR) Tamper Enable Mask */
+#define RTC_MODE0_INTENCLR_TAMPER           RTC_MODE0_INTENCLR_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_TAMPER_Msk instead */
+#define RTC_MODE0_INTENCLR_OVF_Pos          15                                             /**< (RTC_MODE0_INTENCLR) Overflow Interrupt Enable Position */
+#define RTC_MODE0_INTENCLR_OVF_Msk          (_U_(0x1) << RTC_MODE0_INTENCLR_OVF_Pos)       /**< (RTC_MODE0_INTENCLR) Overflow Interrupt Enable Mask */
+#define RTC_MODE0_INTENCLR_OVF              RTC_MODE0_INTENCLR_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENCLR_OVF_Msk instead */
+#define RTC_MODE0_INTENCLR_MASK             _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE0_INTENCLR) Register MASK  (Use RTC_MODE0_INTENCLR_Msk instead)  */
+#define RTC_MODE0_INTENCLR_Msk              _U_(0xC1FF)                                    /**< (RTC_MODE0_INTENCLR) Register Mask  */
+
+#define RTC_MODE0_INTENCLR_PER_Pos          0                                              /**< (RTC_MODE0_INTENCLR Position) Periodic Interval x Interrupt Enable */
+#define RTC_MODE0_INTENCLR_PER_Msk          (_U_(0xFF) << RTC_MODE0_INTENCLR_PER_Pos)      /**< (RTC_MODE0_INTENCLR Mask) PER */
+#define RTC_MODE0_INTENCLR_PER(value)       (RTC_MODE0_INTENCLR_PER_Msk & ((value) << RTC_MODE0_INTENCLR_PER_Pos))  
+#define RTC_MODE0_INTENCLR_CMP_Pos          8                                              /**< (RTC_MODE0_INTENCLR Position) Compare x Interrupt Enable */
+#define RTC_MODE0_INTENCLR_CMP_Msk          (_U_(0x1) << RTC_MODE0_INTENCLR_CMP_Pos)       /**< (RTC_MODE0_INTENCLR Mask) CMP */
+#define RTC_MODE0_INTENCLR_CMP(value)       (RTC_MODE0_INTENCLR_CMP_Msk & ((value) << RTC_MODE0_INTENCLR_CMP_Pos))  
+
+/* -------- RTC_MODE1_INTENCLR : (RTC Offset: 0x08) (R/W 16) MODE1 Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Interrupt Enable     */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Interrupt Enable     */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Interrupt Enable     */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Interrupt Enable     */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Interrupt Enable     */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Interrupt Enable     */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Interrupt Enable     */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Interrupt Enable     */
+    uint16_t CMP0:1;                    /**< bit:      8  Compare 0 Interrupt Enable               */
+    uint16_t CMP1:1;                    /**< bit:      9  Compare 1 Interrupt Enable               */
+    uint16_t :4;                        /**< bit: 10..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Interrupt Enable     */
+    uint16_t CMP:2;                     /**< bit:   8..9  Compare x Interrupt Enable               */
+    uint16_t :6;                        /**< bit: 10..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_INTENCLR_OFFSET           (0x08)                                        /**<  (RTC_MODE1_INTENCLR) MODE1 Interrupt Enable Clear  Offset */
+#define RTC_MODE1_INTENCLR_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE1_INTENCLR) MODE1 Interrupt Enable Clear  Reset Value */
+
+#define RTC_MODE1_INTENCLR_PER0_Pos         0                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 0 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER0_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER0_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 0 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER0             RTC_MODE1_INTENCLR_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER0_Msk instead */
+#define RTC_MODE1_INTENCLR_PER1_Pos         1                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 1 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER1_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER1_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 1 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER1             RTC_MODE1_INTENCLR_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER1_Msk instead */
+#define RTC_MODE1_INTENCLR_PER2_Pos         2                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 2 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER2_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER2_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 2 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER2             RTC_MODE1_INTENCLR_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER2_Msk instead */
+#define RTC_MODE1_INTENCLR_PER3_Pos         3                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 3 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER3_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER3_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 3 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER3             RTC_MODE1_INTENCLR_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER3_Msk instead */
+#define RTC_MODE1_INTENCLR_PER4_Pos         4                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 4 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER4_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER4_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 4 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER4             RTC_MODE1_INTENCLR_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER4_Msk instead */
+#define RTC_MODE1_INTENCLR_PER5_Pos         5                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 5 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER5_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER5_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 5 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER5             RTC_MODE1_INTENCLR_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER5_Msk instead */
+#define RTC_MODE1_INTENCLR_PER6_Pos         6                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 6 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER6_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER6_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 6 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER6             RTC_MODE1_INTENCLR_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER6_Msk instead */
+#define RTC_MODE1_INTENCLR_PER7_Pos         7                                              /**< (RTC_MODE1_INTENCLR) Periodic Interval 7 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_PER7_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_PER7_Pos)      /**< (RTC_MODE1_INTENCLR) Periodic Interval 7 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_PER7             RTC_MODE1_INTENCLR_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_PER7_Msk instead */
+#define RTC_MODE1_INTENCLR_CMP0_Pos         8                                              /**< (RTC_MODE1_INTENCLR) Compare 0 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_CMP0_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_CMP0_Pos)      /**< (RTC_MODE1_INTENCLR) Compare 0 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_CMP0             RTC_MODE1_INTENCLR_CMP0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_CMP0_Msk instead */
+#define RTC_MODE1_INTENCLR_CMP1_Pos         9                                              /**< (RTC_MODE1_INTENCLR) Compare 1 Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_CMP1_Msk         (_U_(0x1) << RTC_MODE1_INTENCLR_CMP1_Pos)      /**< (RTC_MODE1_INTENCLR) Compare 1 Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_CMP1             RTC_MODE1_INTENCLR_CMP1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_CMP1_Msk instead */
+#define RTC_MODE1_INTENCLR_TAMPER_Pos       14                                             /**< (RTC_MODE1_INTENCLR) Tamper Enable Position */
+#define RTC_MODE1_INTENCLR_TAMPER_Msk       (_U_(0x1) << RTC_MODE1_INTENCLR_TAMPER_Pos)    /**< (RTC_MODE1_INTENCLR) Tamper Enable Mask */
+#define RTC_MODE1_INTENCLR_TAMPER           RTC_MODE1_INTENCLR_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_TAMPER_Msk instead */
+#define RTC_MODE1_INTENCLR_OVF_Pos          15                                             /**< (RTC_MODE1_INTENCLR) Overflow Interrupt Enable Position */
+#define RTC_MODE1_INTENCLR_OVF_Msk          (_U_(0x1) << RTC_MODE1_INTENCLR_OVF_Pos)       /**< (RTC_MODE1_INTENCLR) Overflow Interrupt Enable Mask */
+#define RTC_MODE1_INTENCLR_OVF              RTC_MODE1_INTENCLR_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENCLR_OVF_Msk instead */
+#define RTC_MODE1_INTENCLR_MASK             _U_(0xC3FF)                                    /**< \deprecated (RTC_MODE1_INTENCLR) Register MASK  (Use RTC_MODE1_INTENCLR_Msk instead)  */
+#define RTC_MODE1_INTENCLR_Msk              _U_(0xC3FF)                                    /**< (RTC_MODE1_INTENCLR) Register Mask  */
+
+#define RTC_MODE1_INTENCLR_PER_Pos          0                                              /**< (RTC_MODE1_INTENCLR Position) Periodic Interval x Interrupt Enable */
+#define RTC_MODE1_INTENCLR_PER_Msk          (_U_(0xFF) << RTC_MODE1_INTENCLR_PER_Pos)      /**< (RTC_MODE1_INTENCLR Mask) PER */
+#define RTC_MODE1_INTENCLR_PER(value)       (RTC_MODE1_INTENCLR_PER_Msk & ((value) << RTC_MODE1_INTENCLR_PER_Pos))  
+#define RTC_MODE1_INTENCLR_CMP_Pos          8                                              /**< (RTC_MODE1_INTENCLR Position) Compare x Interrupt Enable */
+#define RTC_MODE1_INTENCLR_CMP_Msk          (_U_(0x3) << RTC_MODE1_INTENCLR_CMP_Pos)       /**< (RTC_MODE1_INTENCLR Mask) CMP */
+#define RTC_MODE1_INTENCLR_CMP(value)       (RTC_MODE1_INTENCLR_CMP_Msk & ((value) << RTC_MODE1_INTENCLR_CMP_Pos))  
+
+/* -------- RTC_MODE2_INTENCLR : (RTC Offset: 0x08) (R/W 16) MODE2 Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Interrupt Enable     */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Interrupt Enable     */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Interrupt Enable     */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Interrupt Enable     */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Interrupt Enable     */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Interrupt Enable     */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Interrupt Enable     */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Interrupt Enable     */
+    uint16_t ALARM0:1;                  /**< bit:      8  Alarm 0 Interrupt Enable                 */
+    uint16_t :5;                        /**< bit:  9..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Interrupt Enable     */
+    uint16_t ALARM:1;                   /**< bit:      8  Alarm x Interrupt Enable                 */
+    uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE2_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_INTENCLR_OFFSET           (0x08)                                        /**<  (RTC_MODE2_INTENCLR) MODE2 Interrupt Enable Clear  Offset */
+#define RTC_MODE2_INTENCLR_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE2_INTENCLR) MODE2 Interrupt Enable Clear  Reset Value */
+
+#define RTC_MODE2_INTENCLR_PER0_Pos         0                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 0 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER0_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER0_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 0 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER0             RTC_MODE2_INTENCLR_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER0_Msk instead */
+#define RTC_MODE2_INTENCLR_PER1_Pos         1                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 1 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER1_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER1_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 1 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER1             RTC_MODE2_INTENCLR_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER1_Msk instead */
+#define RTC_MODE2_INTENCLR_PER2_Pos         2                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 2 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER2_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER2_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 2 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER2             RTC_MODE2_INTENCLR_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER2_Msk instead */
+#define RTC_MODE2_INTENCLR_PER3_Pos         3                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 3 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER3_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER3_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 3 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER3             RTC_MODE2_INTENCLR_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER3_Msk instead */
+#define RTC_MODE2_INTENCLR_PER4_Pos         4                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 4 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER4_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER4_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 4 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER4             RTC_MODE2_INTENCLR_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER4_Msk instead */
+#define RTC_MODE2_INTENCLR_PER5_Pos         5                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 5 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER5_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER5_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 5 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER5             RTC_MODE2_INTENCLR_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER5_Msk instead */
+#define RTC_MODE2_INTENCLR_PER6_Pos         6                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 6 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER6_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER6_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 6 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER6             RTC_MODE2_INTENCLR_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER6_Msk instead */
+#define RTC_MODE2_INTENCLR_PER7_Pos         7                                              /**< (RTC_MODE2_INTENCLR) Periodic Interval 7 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_PER7_Msk         (_U_(0x1) << RTC_MODE2_INTENCLR_PER7_Pos)      /**< (RTC_MODE2_INTENCLR) Periodic Interval 7 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_PER7             RTC_MODE2_INTENCLR_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_PER7_Msk instead */
+#define RTC_MODE2_INTENCLR_ALARM0_Pos       8                                              /**< (RTC_MODE2_INTENCLR) Alarm 0 Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_ALARM0_Msk       (_U_(0x1) << RTC_MODE2_INTENCLR_ALARM0_Pos)    /**< (RTC_MODE2_INTENCLR) Alarm 0 Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_ALARM0           RTC_MODE2_INTENCLR_ALARM0_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_ALARM0_Msk instead */
+#define RTC_MODE2_INTENCLR_TAMPER_Pos       14                                             /**< (RTC_MODE2_INTENCLR) Tamper Enable Position */
+#define RTC_MODE2_INTENCLR_TAMPER_Msk       (_U_(0x1) << RTC_MODE2_INTENCLR_TAMPER_Pos)    /**< (RTC_MODE2_INTENCLR) Tamper Enable Mask */
+#define RTC_MODE2_INTENCLR_TAMPER           RTC_MODE2_INTENCLR_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_TAMPER_Msk instead */
+#define RTC_MODE2_INTENCLR_OVF_Pos          15                                             /**< (RTC_MODE2_INTENCLR) Overflow Interrupt Enable Position */
+#define RTC_MODE2_INTENCLR_OVF_Msk          (_U_(0x1) << RTC_MODE2_INTENCLR_OVF_Pos)       /**< (RTC_MODE2_INTENCLR) Overflow Interrupt Enable Mask */
+#define RTC_MODE2_INTENCLR_OVF              RTC_MODE2_INTENCLR_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENCLR_OVF_Msk instead */
+#define RTC_MODE2_INTENCLR_MASK             _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE2_INTENCLR) Register MASK  (Use RTC_MODE2_INTENCLR_Msk instead)  */
+#define RTC_MODE2_INTENCLR_Msk              _U_(0xC1FF)                                    /**< (RTC_MODE2_INTENCLR) Register Mask  */
+
+#define RTC_MODE2_INTENCLR_PER_Pos          0                                              /**< (RTC_MODE2_INTENCLR Position) Periodic Interval x Interrupt Enable */
+#define RTC_MODE2_INTENCLR_PER_Msk          (_U_(0xFF) << RTC_MODE2_INTENCLR_PER_Pos)      /**< (RTC_MODE2_INTENCLR Mask) PER */
+#define RTC_MODE2_INTENCLR_PER(value)       (RTC_MODE2_INTENCLR_PER_Msk & ((value) << RTC_MODE2_INTENCLR_PER_Pos))  
+#define RTC_MODE2_INTENCLR_ALARM_Pos        8                                              /**< (RTC_MODE2_INTENCLR Position) Alarm x Interrupt Enable */
+#define RTC_MODE2_INTENCLR_ALARM_Msk        (_U_(0x1) << RTC_MODE2_INTENCLR_ALARM_Pos)     /**< (RTC_MODE2_INTENCLR Mask) ALARM */
+#define RTC_MODE2_INTENCLR_ALARM(value)     (RTC_MODE2_INTENCLR_ALARM_Msk & ((value) << RTC_MODE2_INTENCLR_ALARM_Pos))  
+
+/* -------- RTC_MODE0_INTENSET : (RTC Offset: 0x0a) (R/W 16) MODE0 Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Interrupt Enable     */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Interrupt Enable     */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Interrupt Enable     */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Interrupt Enable     */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Interrupt Enable     */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Interrupt Enable     */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Interrupt Enable     */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Interrupt Enable     */
+    uint16_t CMP0:1;                    /**< bit:      8  Compare 0 Interrupt Enable               */
+    uint16_t :5;                        /**< bit:  9..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Interrupt Enable     */
+    uint16_t CMP:1;                     /**< bit:      8  Compare x Interrupt Enable               */
+    uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE0_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_INTENSET_OFFSET           (0x0A)                                        /**<  (RTC_MODE0_INTENSET) MODE0 Interrupt Enable Set  Offset */
+#define RTC_MODE0_INTENSET_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE0_INTENSET) MODE0 Interrupt Enable Set  Reset Value */
+
+#define RTC_MODE0_INTENSET_PER0_Pos         0                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 0 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER0_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER0_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 0 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER0             RTC_MODE0_INTENSET_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER0_Msk instead */
+#define RTC_MODE0_INTENSET_PER1_Pos         1                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 1 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER1_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER1_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 1 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER1             RTC_MODE0_INTENSET_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER1_Msk instead */
+#define RTC_MODE0_INTENSET_PER2_Pos         2                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 2 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER2_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER2_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 2 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER2             RTC_MODE0_INTENSET_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER2_Msk instead */
+#define RTC_MODE0_INTENSET_PER3_Pos         3                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 3 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER3_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER3_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 3 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER3             RTC_MODE0_INTENSET_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER3_Msk instead */
+#define RTC_MODE0_INTENSET_PER4_Pos         4                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 4 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER4_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER4_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 4 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER4             RTC_MODE0_INTENSET_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER4_Msk instead */
+#define RTC_MODE0_INTENSET_PER5_Pos         5                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 5 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER5_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER5_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 5 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER5             RTC_MODE0_INTENSET_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER5_Msk instead */
+#define RTC_MODE0_INTENSET_PER6_Pos         6                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 6 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER6_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER6_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 6 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER6             RTC_MODE0_INTENSET_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER6_Msk instead */
+#define RTC_MODE0_INTENSET_PER7_Pos         7                                              /**< (RTC_MODE0_INTENSET) Periodic Interval 7 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_PER7_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_PER7_Pos)      /**< (RTC_MODE0_INTENSET) Periodic Interval 7 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_PER7             RTC_MODE0_INTENSET_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_PER7_Msk instead */
+#define RTC_MODE0_INTENSET_CMP0_Pos         8                                              /**< (RTC_MODE0_INTENSET) Compare 0 Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_CMP0_Msk         (_U_(0x1) << RTC_MODE0_INTENSET_CMP0_Pos)      /**< (RTC_MODE0_INTENSET) Compare 0 Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_CMP0             RTC_MODE0_INTENSET_CMP0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_CMP0_Msk instead */
+#define RTC_MODE0_INTENSET_TAMPER_Pos       14                                             /**< (RTC_MODE0_INTENSET) Tamper Enable Position */
+#define RTC_MODE0_INTENSET_TAMPER_Msk       (_U_(0x1) << RTC_MODE0_INTENSET_TAMPER_Pos)    /**< (RTC_MODE0_INTENSET) Tamper Enable Mask */
+#define RTC_MODE0_INTENSET_TAMPER           RTC_MODE0_INTENSET_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_TAMPER_Msk instead */
+#define RTC_MODE0_INTENSET_OVF_Pos          15                                             /**< (RTC_MODE0_INTENSET) Overflow Interrupt Enable Position */
+#define RTC_MODE0_INTENSET_OVF_Msk          (_U_(0x1) << RTC_MODE0_INTENSET_OVF_Pos)       /**< (RTC_MODE0_INTENSET) Overflow Interrupt Enable Mask */
+#define RTC_MODE0_INTENSET_OVF              RTC_MODE0_INTENSET_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTENSET_OVF_Msk instead */
+#define RTC_MODE0_INTENSET_MASK             _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE0_INTENSET) Register MASK  (Use RTC_MODE0_INTENSET_Msk instead)  */
+#define RTC_MODE0_INTENSET_Msk              _U_(0xC1FF)                                    /**< (RTC_MODE0_INTENSET) Register Mask  */
+
+#define RTC_MODE0_INTENSET_PER_Pos          0                                              /**< (RTC_MODE0_INTENSET Position) Periodic Interval x Interrupt Enable */
+#define RTC_MODE0_INTENSET_PER_Msk          (_U_(0xFF) << RTC_MODE0_INTENSET_PER_Pos)      /**< (RTC_MODE0_INTENSET Mask) PER */
+#define RTC_MODE0_INTENSET_PER(value)       (RTC_MODE0_INTENSET_PER_Msk & ((value) << RTC_MODE0_INTENSET_PER_Pos))  
+#define RTC_MODE0_INTENSET_CMP_Pos          8                                              /**< (RTC_MODE0_INTENSET Position) Compare x Interrupt Enable */
+#define RTC_MODE0_INTENSET_CMP_Msk          (_U_(0x1) << RTC_MODE0_INTENSET_CMP_Pos)       /**< (RTC_MODE0_INTENSET Mask) CMP */
+#define RTC_MODE0_INTENSET_CMP(value)       (RTC_MODE0_INTENSET_CMP_Msk & ((value) << RTC_MODE0_INTENSET_CMP_Pos))  
+
+/* -------- RTC_MODE1_INTENSET : (RTC Offset: 0x0a) (R/W 16) MODE1 Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Interrupt Enable     */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Interrupt Enable     */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Interrupt Enable     */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Interrupt Enable     */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Interrupt Enable     */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Interrupt Enable     */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Interrupt Enable     */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Interrupt Enable     */
+    uint16_t CMP0:1;                    /**< bit:      8  Compare 0 Interrupt Enable               */
+    uint16_t CMP1:1;                    /**< bit:      9  Compare 1 Interrupt Enable               */
+    uint16_t :4;                        /**< bit: 10..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Interrupt Enable     */
+    uint16_t CMP:2;                     /**< bit:   8..9  Compare x Interrupt Enable               */
+    uint16_t :6;                        /**< bit: 10..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_INTENSET_OFFSET           (0x0A)                                        /**<  (RTC_MODE1_INTENSET) MODE1 Interrupt Enable Set  Offset */
+#define RTC_MODE1_INTENSET_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE1_INTENSET) MODE1 Interrupt Enable Set  Reset Value */
+
+#define RTC_MODE1_INTENSET_PER0_Pos         0                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 0 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER0_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER0_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 0 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER0             RTC_MODE1_INTENSET_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER0_Msk instead */
+#define RTC_MODE1_INTENSET_PER1_Pos         1                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 1 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER1_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER1_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 1 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER1             RTC_MODE1_INTENSET_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER1_Msk instead */
+#define RTC_MODE1_INTENSET_PER2_Pos         2                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 2 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER2_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER2_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 2 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER2             RTC_MODE1_INTENSET_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER2_Msk instead */
+#define RTC_MODE1_INTENSET_PER3_Pos         3                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 3 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER3_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER3_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 3 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER3             RTC_MODE1_INTENSET_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER3_Msk instead */
+#define RTC_MODE1_INTENSET_PER4_Pos         4                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 4 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER4_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER4_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 4 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER4             RTC_MODE1_INTENSET_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER4_Msk instead */
+#define RTC_MODE1_INTENSET_PER5_Pos         5                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 5 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER5_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER5_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 5 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER5             RTC_MODE1_INTENSET_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER5_Msk instead */
+#define RTC_MODE1_INTENSET_PER6_Pos         6                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 6 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER6_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER6_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 6 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER6             RTC_MODE1_INTENSET_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER6_Msk instead */
+#define RTC_MODE1_INTENSET_PER7_Pos         7                                              /**< (RTC_MODE1_INTENSET) Periodic Interval 7 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_PER7_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_PER7_Pos)      /**< (RTC_MODE1_INTENSET) Periodic Interval 7 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_PER7             RTC_MODE1_INTENSET_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_PER7_Msk instead */
+#define RTC_MODE1_INTENSET_CMP0_Pos         8                                              /**< (RTC_MODE1_INTENSET) Compare 0 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_CMP0_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_CMP0_Pos)      /**< (RTC_MODE1_INTENSET) Compare 0 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_CMP0             RTC_MODE1_INTENSET_CMP0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_CMP0_Msk instead */
+#define RTC_MODE1_INTENSET_CMP1_Pos         9                                              /**< (RTC_MODE1_INTENSET) Compare 1 Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_CMP1_Msk         (_U_(0x1) << RTC_MODE1_INTENSET_CMP1_Pos)      /**< (RTC_MODE1_INTENSET) Compare 1 Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_CMP1             RTC_MODE1_INTENSET_CMP1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_CMP1_Msk instead */
+#define RTC_MODE1_INTENSET_TAMPER_Pos       14                                             /**< (RTC_MODE1_INTENSET) Tamper Enable Position */
+#define RTC_MODE1_INTENSET_TAMPER_Msk       (_U_(0x1) << RTC_MODE1_INTENSET_TAMPER_Pos)    /**< (RTC_MODE1_INTENSET) Tamper Enable Mask */
+#define RTC_MODE1_INTENSET_TAMPER           RTC_MODE1_INTENSET_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_TAMPER_Msk instead */
+#define RTC_MODE1_INTENSET_OVF_Pos          15                                             /**< (RTC_MODE1_INTENSET) Overflow Interrupt Enable Position */
+#define RTC_MODE1_INTENSET_OVF_Msk          (_U_(0x1) << RTC_MODE1_INTENSET_OVF_Pos)       /**< (RTC_MODE1_INTENSET) Overflow Interrupt Enable Mask */
+#define RTC_MODE1_INTENSET_OVF              RTC_MODE1_INTENSET_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTENSET_OVF_Msk instead */
+#define RTC_MODE1_INTENSET_MASK             _U_(0xC3FF)                                    /**< \deprecated (RTC_MODE1_INTENSET) Register MASK  (Use RTC_MODE1_INTENSET_Msk instead)  */
+#define RTC_MODE1_INTENSET_Msk              _U_(0xC3FF)                                    /**< (RTC_MODE1_INTENSET) Register Mask  */
+
+#define RTC_MODE1_INTENSET_PER_Pos          0                                              /**< (RTC_MODE1_INTENSET Position) Periodic Interval x Interrupt Enable */
+#define RTC_MODE1_INTENSET_PER_Msk          (_U_(0xFF) << RTC_MODE1_INTENSET_PER_Pos)      /**< (RTC_MODE1_INTENSET Mask) PER */
+#define RTC_MODE1_INTENSET_PER(value)       (RTC_MODE1_INTENSET_PER_Msk & ((value) << RTC_MODE1_INTENSET_PER_Pos))  
+#define RTC_MODE1_INTENSET_CMP_Pos          8                                              /**< (RTC_MODE1_INTENSET Position) Compare x Interrupt Enable */
+#define RTC_MODE1_INTENSET_CMP_Msk          (_U_(0x3) << RTC_MODE1_INTENSET_CMP_Pos)       /**< (RTC_MODE1_INTENSET Mask) CMP */
+#define RTC_MODE1_INTENSET_CMP(value)       (RTC_MODE1_INTENSET_CMP_Msk & ((value) << RTC_MODE1_INTENSET_CMP_Pos))  
+
+/* -------- RTC_MODE2_INTENSET : (RTC Offset: 0x0a) (R/W 16) MODE2 Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0 Enable               */
+    uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1 Enable               */
+    uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2 Enable               */
+    uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3 Enable               */
+    uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4 Enable               */
+    uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5 Enable               */
+    uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6 Enable               */
+    uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7 Enable               */
+    uint16_t ALARM0:1;                  /**< bit:      8  Alarm 0 Interrupt Enable                 */
+    uint16_t :5;                        /**< bit:  9..13  Reserved */
+    uint16_t TAMPER:1;                  /**< bit:     14  Tamper Enable                            */
+    uint16_t OVF:1;                     /**< bit:     15  Overflow Interrupt Enable                */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x Enable               */
+    uint16_t ALARM:1;                   /**< bit:      8  Alarm x Interrupt Enable                 */
+    uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE2_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_INTENSET_OFFSET           (0x0A)                                        /**<  (RTC_MODE2_INTENSET) MODE2 Interrupt Enable Set  Offset */
+#define RTC_MODE2_INTENSET_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE2_INTENSET) MODE2 Interrupt Enable Set  Reset Value */
+
+#define RTC_MODE2_INTENSET_PER0_Pos         0                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 0 Enable Position */
+#define RTC_MODE2_INTENSET_PER0_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER0_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 0 Enable Mask */
+#define RTC_MODE2_INTENSET_PER0             RTC_MODE2_INTENSET_PER0_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER0_Msk instead */
+#define RTC_MODE2_INTENSET_PER1_Pos         1                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 1 Enable Position */
+#define RTC_MODE2_INTENSET_PER1_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER1_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 1 Enable Mask */
+#define RTC_MODE2_INTENSET_PER1             RTC_MODE2_INTENSET_PER1_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER1_Msk instead */
+#define RTC_MODE2_INTENSET_PER2_Pos         2                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 2 Enable Position */
+#define RTC_MODE2_INTENSET_PER2_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER2_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 2 Enable Mask */
+#define RTC_MODE2_INTENSET_PER2             RTC_MODE2_INTENSET_PER2_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER2_Msk instead */
+#define RTC_MODE2_INTENSET_PER3_Pos         3                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 3 Enable Position */
+#define RTC_MODE2_INTENSET_PER3_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER3_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 3 Enable Mask */
+#define RTC_MODE2_INTENSET_PER3             RTC_MODE2_INTENSET_PER3_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER3_Msk instead */
+#define RTC_MODE2_INTENSET_PER4_Pos         4                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 4 Enable Position */
+#define RTC_MODE2_INTENSET_PER4_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER4_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 4 Enable Mask */
+#define RTC_MODE2_INTENSET_PER4             RTC_MODE2_INTENSET_PER4_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER4_Msk instead */
+#define RTC_MODE2_INTENSET_PER5_Pos         5                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 5 Enable Position */
+#define RTC_MODE2_INTENSET_PER5_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER5_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 5 Enable Mask */
+#define RTC_MODE2_INTENSET_PER5             RTC_MODE2_INTENSET_PER5_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER5_Msk instead */
+#define RTC_MODE2_INTENSET_PER6_Pos         6                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 6 Enable Position */
+#define RTC_MODE2_INTENSET_PER6_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER6_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 6 Enable Mask */
+#define RTC_MODE2_INTENSET_PER6             RTC_MODE2_INTENSET_PER6_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER6_Msk instead */
+#define RTC_MODE2_INTENSET_PER7_Pos         7                                              /**< (RTC_MODE2_INTENSET) Periodic Interval 7 Enable Position */
+#define RTC_MODE2_INTENSET_PER7_Msk         (_U_(0x1) << RTC_MODE2_INTENSET_PER7_Pos)      /**< (RTC_MODE2_INTENSET) Periodic Interval 7 Enable Mask */
+#define RTC_MODE2_INTENSET_PER7             RTC_MODE2_INTENSET_PER7_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_PER7_Msk instead */
+#define RTC_MODE2_INTENSET_ALARM0_Pos       8                                              /**< (RTC_MODE2_INTENSET) Alarm 0 Interrupt Enable Position */
+#define RTC_MODE2_INTENSET_ALARM0_Msk       (_U_(0x1) << RTC_MODE2_INTENSET_ALARM0_Pos)    /**< (RTC_MODE2_INTENSET) Alarm 0 Interrupt Enable Mask */
+#define RTC_MODE2_INTENSET_ALARM0           RTC_MODE2_INTENSET_ALARM0_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_ALARM0_Msk instead */
+#define RTC_MODE2_INTENSET_TAMPER_Pos       14                                             /**< (RTC_MODE2_INTENSET) Tamper Enable Position */
+#define RTC_MODE2_INTENSET_TAMPER_Msk       (_U_(0x1) << RTC_MODE2_INTENSET_TAMPER_Pos)    /**< (RTC_MODE2_INTENSET) Tamper Enable Mask */
+#define RTC_MODE2_INTENSET_TAMPER           RTC_MODE2_INTENSET_TAMPER_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_TAMPER_Msk instead */
+#define RTC_MODE2_INTENSET_OVF_Pos          15                                             /**< (RTC_MODE2_INTENSET) Overflow Interrupt Enable Position */
+#define RTC_MODE2_INTENSET_OVF_Msk          (_U_(0x1) << RTC_MODE2_INTENSET_OVF_Pos)       /**< (RTC_MODE2_INTENSET) Overflow Interrupt Enable Mask */
+#define RTC_MODE2_INTENSET_OVF              RTC_MODE2_INTENSET_OVF_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTENSET_OVF_Msk instead */
+#define RTC_MODE2_INTENSET_MASK             _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE2_INTENSET) Register MASK  (Use RTC_MODE2_INTENSET_Msk instead)  */
+#define RTC_MODE2_INTENSET_Msk              _U_(0xC1FF)                                    /**< (RTC_MODE2_INTENSET) Register Mask  */
+
+#define RTC_MODE2_INTENSET_PER_Pos          0                                              /**< (RTC_MODE2_INTENSET Position) Periodic Interval x Enable */
+#define RTC_MODE2_INTENSET_PER_Msk          (_U_(0xFF) << RTC_MODE2_INTENSET_PER_Pos)      /**< (RTC_MODE2_INTENSET Mask) PER */
+#define RTC_MODE2_INTENSET_PER(value)       (RTC_MODE2_INTENSET_PER_Msk & ((value) << RTC_MODE2_INTENSET_PER_Pos))  
+#define RTC_MODE2_INTENSET_ALARM_Pos        8                                              /**< (RTC_MODE2_INTENSET Position) Alarm x Interrupt Enable */
+#define RTC_MODE2_INTENSET_ALARM_Msk        (_U_(0x1) << RTC_MODE2_INTENSET_ALARM_Pos)     /**< (RTC_MODE2_INTENSET Mask) ALARM */
+#define RTC_MODE2_INTENSET_ALARM(value)     (RTC_MODE2_INTENSET_ALARM_Msk & ((value) << RTC_MODE2_INTENSET_ALARM_Pos))  
+
+/* -------- RTC_MODE0_INTFLAG : (RTC Offset: 0x0c) (R/W 16) MODE0 Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0                      */
+    __I uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1                      */
+    __I uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2                      */
+    __I uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3                      */
+    __I uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4                      */
+    __I uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5                      */
+    __I uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6                      */
+    __I uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7                      */
+    __I uint16_t CMP0:1;                    /**< bit:      8  Compare 0                                */
+    __I uint16_t :5;                        /**< bit:  9..13  Reserved */
+    __I uint16_t TAMPER:1;                  /**< bit:     14  Tamper                                   */
+    __I uint16_t OVF:1;                     /**< bit:     15  Overflow                                 */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    __I uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x                      */
+    __I uint16_t CMP:1;                     /**< bit:      8  Compare x                                */
+    __I uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE0_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_INTFLAG_OFFSET            (0x0C)                                        /**<  (RTC_MODE0_INTFLAG) MODE0 Interrupt Flag Status and Clear  Offset */
+#define RTC_MODE0_INTFLAG_RESETVALUE        _U_(0x00)                                     /**<  (RTC_MODE0_INTFLAG) MODE0 Interrupt Flag Status and Clear  Reset Value */
+
+#define RTC_MODE0_INTFLAG_PER0_Pos          0                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 0 Position */
+#define RTC_MODE0_INTFLAG_PER0_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER0_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 0 Mask */
+#define RTC_MODE0_INTFLAG_PER0              RTC_MODE0_INTFLAG_PER0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER0_Msk instead */
+#define RTC_MODE0_INTFLAG_PER1_Pos          1                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 1 Position */
+#define RTC_MODE0_INTFLAG_PER1_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER1_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 1 Mask */
+#define RTC_MODE0_INTFLAG_PER1              RTC_MODE0_INTFLAG_PER1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER1_Msk instead */
+#define RTC_MODE0_INTFLAG_PER2_Pos          2                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 2 Position */
+#define RTC_MODE0_INTFLAG_PER2_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER2_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 2 Mask */
+#define RTC_MODE0_INTFLAG_PER2              RTC_MODE0_INTFLAG_PER2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER2_Msk instead */
+#define RTC_MODE0_INTFLAG_PER3_Pos          3                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 3 Position */
+#define RTC_MODE0_INTFLAG_PER3_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER3_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 3 Mask */
+#define RTC_MODE0_INTFLAG_PER3              RTC_MODE0_INTFLAG_PER3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER3_Msk instead */
+#define RTC_MODE0_INTFLAG_PER4_Pos          4                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 4 Position */
+#define RTC_MODE0_INTFLAG_PER4_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER4_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 4 Mask */
+#define RTC_MODE0_INTFLAG_PER4              RTC_MODE0_INTFLAG_PER4_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER4_Msk instead */
+#define RTC_MODE0_INTFLAG_PER5_Pos          5                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 5 Position */
+#define RTC_MODE0_INTFLAG_PER5_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER5_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 5 Mask */
+#define RTC_MODE0_INTFLAG_PER5              RTC_MODE0_INTFLAG_PER5_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER5_Msk instead */
+#define RTC_MODE0_INTFLAG_PER6_Pos          6                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 6 Position */
+#define RTC_MODE0_INTFLAG_PER6_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER6_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 6 Mask */
+#define RTC_MODE0_INTFLAG_PER6              RTC_MODE0_INTFLAG_PER6_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER6_Msk instead */
+#define RTC_MODE0_INTFLAG_PER7_Pos          7                                              /**< (RTC_MODE0_INTFLAG) Periodic Interval 7 Position */
+#define RTC_MODE0_INTFLAG_PER7_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_PER7_Pos)       /**< (RTC_MODE0_INTFLAG) Periodic Interval 7 Mask */
+#define RTC_MODE0_INTFLAG_PER7              RTC_MODE0_INTFLAG_PER7_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_PER7_Msk instead */
+#define RTC_MODE0_INTFLAG_CMP0_Pos          8                                              /**< (RTC_MODE0_INTFLAG) Compare 0 Position */
+#define RTC_MODE0_INTFLAG_CMP0_Msk          (_U_(0x1) << RTC_MODE0_INTFLAG_CMP0_Pos)       /**< (RTC_MODE0_INTFLAG) Compare 0 Mask */
+#define RTC_MODE0_INTFLAG_CMP0              RTC_MODE0_INTFLAG_CMP0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_CMP0_Msk instead */
+#define RTC_MODE0_INTFLAG_TAMPER_Pos        14                                             /**< (RTC_MODE0_INTFLAG) Tamper Position */
+#define RTC_MODE0_INTFLAG_TAMPER_Msk        (_U_(0x1) << RTC_MODE0_INTFLAG_TAMPER_Pos)     /**< (RTC_MODE0_INTFLAG) Tamper Mask */
+#define RTC_MODE0_INTFLAG_TAMPER            RTC_MODE0_INTFLAG_TAMPER_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_TAMPER_Msk instead */
+#define RTC_MODE0_INTFLAG_OVF_Pos           15                                             /**< (RTC_MODE0_INTFLAG) Overflow Position */
+#define RTC_MODE0_INTFLAG_OVF_Msk           (_U_(0x1) << RTC_MODE0_INTFLAG_OVF_Pos)        /**< (RTC_MODE0_INTFLAG) Overflow Mask */
+#define RTC_MODE0_INTFLAG_OVF               RTC_MODE0_INTFLAG_OVF_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_INTFLAG_OVF_Msk instead */
+#define RTC_MODE0_INTFLAG_MASK              _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE0_INTFLAG) Register MASK  (Use RTC_MODE0_INTFLAG_Msk instead)  */
+#define RTC_MODE0_INTFLAG_Msk               _U_(0xC1FF)                                    /**< (RTC_MODE0_INTFLAG) Register Mask  */
+
+#define RTC_MODE0_INTFLAG_PER_Pos           0                                              /**< (RTC_MODE0_INTFLAG Position) Periodic Interval x */
+#define RTC_MODE0_INTFLAG_PER_Msk           (_U_(0xFF) << RTC_MODE0_INTFLAG_PER_Pos)       /**< (RTC_MODE0_INTFLAG Mask) PER */
+#define RTC_MODE0_INTFLAG_PER(value)        (RTC_MODE0_INTFLAG_PER_Msk & ((value) << RTC_MODE0_INTFLAG_PER_Pos))  
+#define RTC_MODE0_INTFLAG_CMP_Pos           8                                              /**< (RTC_MODE0_INTFLAG Position) Compare x */
+#define RTC_MODE0_INTFLAG_CMP_Msk           (_U_(0x1) << RTC_MODE0_INTFLAG_CMP_Pos)        /**< (RTC_MODE0_INTFLAG Mask) CMP */
+#define RTC_MODE0_INTFLAG_CMP(value)        (RTC_MODE0_INTFLAG_CMP_Msk & ((value) << RTC_MODE0_INTFLAG_CMP_Pos))  
+
+/* -------- RTC_MODE1_INTFLAG : (RTC Offset: 0x0c) (R/W 16) MODE1 Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0                      */
+    __I uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1                      */
+    __I uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2                      */
+    __I uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3                      */
+    __I uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4                      */
+    __I uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5                      */
+    __I uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6                      */
+    __I uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7                      */
+    __I uint16_t CMP0:1;                    /**< bit:      8  Compare 0                                */
+    __I uint16_t CMP1:1;                    /**< bit:      9  Compare 1                                */
+    __I uint16_t :4;                        /**< bit: 10..13  Reserved */
+    __I uint16_t TAMPER:1;                  /**< bit:     14  Tamper                                   */
+    __I uint16_t OVF:1;                     /**< bit:     15  Overflow                                 */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    __I uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x                      */
+    __I uint16_t CMP:2;                     /**< bit:   8..9  Compare x                                */
+    __I uint16_t :6;                        /**< bit: 10..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_INTFLAG_OFFSET            (0x0C)                                        /**<  (RTC_MODE1_INTFLAG) MODE1 Interrupt Flag Status and Clear  Offset */
+#define RTC_MODE1_INTFLAG_RESETVALUE        _U_(0x00)                                     /**<  (RTC_MODE1_INTFLAG) MODE1 Interrupt Flag Status and Clear  Reset Value */
+
+#define RTC_MODE1_INTFLAG_PER0_Pos          0                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 0 Position */
+#define RTC_MODE1_INTFLAG_PER0_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER0_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 0 Mask */
+#define RTC_MODE1_INTFLAG_PER0              RTC_MODE1_INTFLAG_PER0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER0_Msk instead */
+#define RTC_MODE1_INTFLAG_PER1_Pos          1                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 1 Position */
+#define RTC_MODE1_INTFLAG_PER1_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER1_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 1 Mask */
+#define RTC_MODE1_INTFLAG_PER1              RTC_MODE1_INTFLAG_PER1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER1_Msk instead */
+#define RTC_MODE1_INTFLAG_PER2_Pos          2                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 2 Position */
+#define RTC_MODE1_INTFLAG_PER2_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER2_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 2 Mask */
+#define RTC_MODE1_INTFLAG_PER2              RTC_MODE1_INTFLAG_PER2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER2_Msk instead */
+#define RTC_MODE1_INTFLAG_PER3_Pos          3                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 3 Position */
+#define RTC_MODE1_INTFLAG_PER3_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER3_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 3 Mask */
+#define RTC_MODE1_INTFLAG_PER3              RTC_MODE1_INTFLAG_PER3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER3_Msk instead */
+#define RTC_MODE1_INTFLAG_PER4_Pos          4                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 4 Position */
+#define RTC_MODE1_INTFLAG_PER4_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER4_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 4 Mask */
+#define RTC_MODE1_INTFLAG_PER4              RTC_MODE1_INTFLAG_PER4_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER4_Msk instead */
+#define RTC_MODE1_INTFLAG_PER5_Pos          5                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 5 Position */
+#define RTC_MODE1_INTFLAG_PER5_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER5_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 5 Mask */
+#define RTC_MODE1_INTFLAG_PER5              RTC_MODE1_INTFLAG_PER5_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER5_Msk instead */
+#define RTC_MODE1_INTFLAG_PER6_Pos          6                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 6 Position */
+#define RTC_MODE1_INTFLAG_PER6_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER6_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 6 Mask */
+#define RTC_MODE1_INTFLAG_PER6              RTC_MODE1_INTFLAG_PER6_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER6_Msk instead */
+#define RTC_MODE1_INTFLAG_PER7_Pos          7                                              /**< (RTC_MODE1_INTFLAG) Periodic Interval 7 Position */
+#define RTC_MODE1_INTFLAG_PER7_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_PER7_Pos)       /**< (RTC_MODE1_INTFLAG) Periodic Interval 7 Mask */
+#define RTC_MODE1_INTFLAG_PER7              RTC_MODE1_INTFLAG_PER7_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_PER7_Msk instead */
+#define RTC_MODE1_INTFLAG_CMP0_Pos          8                                              /**< (RTC_MODE1_INTFLAG) Compare 0 Position */
+#define RTC_MODE1_INTFLAG_CMP0_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_CMP0_Pos)       /**< (RTC_MODE1_INTFLAG) Compare 0 Mask */
+#define RTC_MODE1_INTFLAG_CMP0              RTC_MODE1_INTFLAG_CMP0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_CMP0_Msk instead */
+#define RTC_MODE1_INTFLAG_CMP1_Pos          9                                              /**< (RTC_MODE1_INTFLAG) Compare 1 Position */
+#define RTC_MODE1_INTFLAG_CMP1_Msk          (_U_(0x1) << RTC_MODE1_INTFLAG_CMP1_Pos)       /**< (RTC_MODE1_INTFLAG) Compare 1 Mask */
+#define RTC_MODE1_INTFLAG_CMP1              RTC_MODE1_INTFLAG_CMP1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_CMP1_Msk instead */
+#define RTC_MODE1_INTFLAG_TAMPER_Pos        14                                             /**< (RTC_MODE1_INTFLAG) Tamper Position */
+#define RTC_MODE1_INTFLAG_TAMPER_Msk        (_U_(0x1) << RTC_MODE1_INTFLAG_TAMPER_Pos)     /**< (RTC_MODE1_INTFLAG) Tamper Mask */
+#define RTC_MODE1_INTFLAG_TAMPER            RTC_MODE1_INTFLAG_TAMPER_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_TAMPER_Msk instead */
+#define RTC_MODE1_INTFLAG_OVF_Pos           15                                             /**< (RTC_MODE1_INTFLAG) Overflow Position */
+#define RTC_MODE1_INTFLAG_OVF_Msk           (_U_(0x1) << RTC_MODE1_INTFLAG_OVF_Pos)        /**< (RTC_MODE1_INTFLAG) Overflow Mask */
+#define RTC_MODE1_INTFLAG_OVF               RTC_MODE1_INTFLAG_OVF_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_INTFLAG_OVF_Msk instead */
+#define RTC_MODE1_INTFLAG_MASK              _U_(0xC3FF)                                    /**< \deprecated (RTC_MODE1_INTFLAG) Register MASK  (Use RTC_MODE1_INTFLAG_Msk instead)  */
+#define RTC_MODE1_INTFLAG_Msk               _U_(0xC3FF)                                    /**< (RTC_MODE1_INTFLAG) Register Mask  */
+
+#define RTC_MODE1_INTFLAG_PER_Pos           0                                              /**< (RTC_MODE1_INTFLAG Position) Periodic Interval x */
+#define RTC_MODE1_INTFLAG_PER_Msk           (_U_(0xFF) << RTC_MODE1_INTFLAG_PER_Pos)       /**< (RTC_MODE1_INTFLAG Mask) PER */
+#define RTC_MODE1_INTFLAG_PER(value)        (RTC_MODE1_INTFLAG_PER_Msk & ((value) << RTC_MODE1_INTFLAG_PER_Pos))  
+#define RTC_MODE1_INTFLAG_CMP_Pos           8                                              /**< (RTC_MODE1_INTFLAG Position) Compare x */
+#define RTC_MODE1_INTFLAG_CMP_Msk           (_U_(0x3) << RTC_MODE1_INTFLAG_CMP_Pos)        /**< (RTC_MODE1_INTFLAG Mask) CMP */
+#define RTC_MODE1_INTFLAG_CMP(value)        (RTC_MODE1_INTFLAG_CMP_Msk & ((value) << RTC_MODE1_INTFLAG_CMP_Pos))  
+
+/* -------- RTC_MODE2_INTFLAG : (RTC Offset: 0x0c) (R/W 16) MODE2 Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint16_t PER0:1;                    /**< bit:      0  Periodic Interval 0                      */
+    __I uint16_t PER1:1;                    /**< bit:      1  Periodic Interval 1                      */
+    __I uint16_t PER2:1;                    /**< bit:      2  Periodic Interval 2                      */
+    __I uint16_t PER3:1;                    /**< bit:      3  Periodic Interval 3                      */
+    __I uint16_t PER4:1;                    /**< bit:      4  Periodic Interval 4                      */
+    __I uint16_t PER5:1;                    /**< bit:      5  Periodic Interval 5                      */
+    __I uint16_t PER6:1;                    /**< bit:      6  Periodic Interval 6                      */
+    __I uint16_t PER7:1;                    /**< bit:      7  Periodic Interval 7                      */
+    __I uint16_t ALARM0:1;                  /**< bit:      8  Alarm 0                                  */
+    __I uint16_t :5;                        /**< bit:  9..13  Reserved */
+    __I uint16_t TAMPER:1;                  /**< bit:     14  Tamper                                   */
+    __I uint16_t OVF:1;                     /**< bit:     15  Overflow                                 */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    __I uint16_t PER:8;                     /**< bit:   0..7  Periodic Interval x                      */
+    __I uint16_t ALARM:1;                   /**< bit:      8  Alarm x                                  */
+    __I uint16_t :7;                        /**< bit:  9..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE2_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_INTFLAG_OFFSET            (0x0C)                                        /**<  (RTC_MODE2_INTFLAG) MODE2 Interrupt Flag Status and Clear  Offset */
+#define RTC_MODE2_INTFLAG_RESETVALUE        _U_(0x00)                                     /**<  (RTC_MODE2_INTFLAG) MODE2 Interrupt Flag Status and Clear  Reset Value */
+
+#define RTC_MODE2_INTFLAG_PER0_Pos          0                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 0 Position */
+#define RTC_MODE2_INTFLAG_PER0_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER0_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 0 Mask */
+#define RTC_MODE2_INTFLAG_PER0              RTC_MODE2_INTFLAG_PER0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER0_Msk instead */
+#define RTC_MODE2_INTFLAG_PER1_Pos          1                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 1 Position */
+#define RTC_MODE2_INTFLAG_PER1_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER1_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 1 Mask */
+#define RTC_MODE2_INTFLAG_PER1              RTC_MODE2_INTFLAG_PER1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER1_Msk instead */
+#define RTC_MODE2_INTFLAG_PER2_Pos          2                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 2 Position */
+#define RTC_MODE2_INTFLAG_PER2_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER2_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 2 Mask */
+#define RTC_MODE2_INTFLAG_PER2              RTC_MODE2_INTFLAG_PER2_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER2_Msk instead */
+#define RTC_MODE2_INTFLAG_PER3_Pos          3                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 3 Position */
+#define RTC_MODE2_INTFLAG_PER3_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER3_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 3 Mask */
+#define RTC_MODE2_INTFLAG_PER3              RTC_MODE2_INTFLAG_PER3_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER3_Msk instead */
+#define RTC_MODE2_INTFLAG_PER4_Pos          4                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 4 Position */
+#define RTC_MODE2_INTFLAG_PER4_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER4_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 4 Mask */
+#define RTC_MODE2_INTFLAG_PER4              RTC_MODE2_INTFLAG_PER4_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER4_Msk instead */
+#define RTC_MODE2_INTFLAG_PER5_Pos          5                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 5 Position */
+#define RTC_MODE2_INTFLAG_PER5_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER5_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 5 Mask */
+#define RTC_MODE2_INTFLAG_PER5              RTC_MODE2_INTFLAG_PER5_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER5_Msk instead */
+#define RTC_MODE2_INTFLAG_PER6_Pos          6                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 6 Position */
+#define RTC_MODE2_INTFLAG_PER6_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER6_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 6 Mask */
+#define RTC_MODE2_INTFLAG_PER6              RTC_MODE2_INTFLAG_PER6_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER6_Msk instead */
+#define RTC_MODE2_INTFLAG_PER7_Pos          7                                              /**< (RTC_MODE2_INTFLAG) Periodic Interval 7 Position */
+#define RTC_MODE2_INTFLAG_PER7_Msk          (_U_(0x1) << RTC_MODE2_INTFLAG_PER7_Pos)       /**< (RTC_MODE2_INTFLAG) Periodic Interval 7 Mask */
+#define RTC_MODE2_INTFLAG_PER7              RTC_MODE2_INTFLAG_PER7_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_PER7_Msk instead */
+#define RTC_MODE2_INTFLAG_ALARM0_Pos        8                                              /**< (RTC_MODE2_INTFLAG) Alarm 0 Position */
+#define RTC_MODE2_INTFLAG_ALARM0_Msk        (_U_(0x1) << RTC_MODE2_INTFLAG_ALARM0_Pos)     /**< (RTC_MODE2_INTFLAG) Alarm 0 Mask */
+#define RTC_MODE2_INTFLAG_ALARM0            RTC_MODE2_INTFLAG_ALARM0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_ALARM0_Msk instead */
+#define RTC_MODE2_INTFLAG_TAMPER_Pos        14                                             /**< (RTC_MODE2_INTFLAG) Tamper Position */
+#define RTC_MODE2_INTFLAG_TAMPER_Msk        (_U_(0x1) << RTC_MODE2_INTFLAG_TAMPER_Pos)     /**< (RTC_MODE2_INTFLAG) Tamper Mask */
+#define RTC_MODE2_INTFLAG_TAMPER            RTC_MODE2_INTFLAG_TAMPER_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_TAMPER_Msk instead */
+#define RTC_MODE2_INTFLAG_OVF_Pos           15                                             /**< (RTC_MODE2_INTFLAG) Overflow Position */
+#define RTC_MODE2_INTFLAG_OVF_Msk           (_U_(0x1) << RTC_MODE2_INTFLAG_OVF_Pos)        /**< (RTC_MODE2_INTFLAG) Overflow Mask */
+#define RTC_MODE2_INTFLAG_OVF               RTC_MODE2_INTFLAG_OVF_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_INTFLAG_OVF_Msk instead */
+#define RTC_MODE2_INTFLAG_MASK              _U_(0xC1FF)                                    /**< \deprecated (RTC_MODE2_INTFLAG) Register MASK  (Use RTC_MODE2_INTFLAG_Msk instead)  */
+#define RTC_MODE2_INTFLAG_Msk               _U_(0xC1FF)                                    /**< (RTC_MODE2_INTFLAG) Register Mask  */
+
+#define RTC_MODE2_INTFLAG_PER_Pos           0                                              /**< (RTC_MODE2_INTFLAG Position) Periodic Interval x */
+#define RTC_MODE2_INTFLAG_PER_Msk           (_U_(0xFF) << RTC_MODE2_INTFLAG_PER_Pos)       /**< (RTC_MODE2_INTFLAG Mask) PER */
+#define RTC_MODE2_INTFLAG_PER(value)        (RTC_MODE2_INTFLAG_PER_Msk & ((value) << RTC_MODE2_INTFLAG_PER_Pos))  
+#define RTC_MODE2_INTFLAG_ALARM_Pos         8                                              /**< (RTC_MODE2_INTFLAG Position) Alarm x */
+#define RTC_MODE2_INTFLAG_ALARM_Msk         (_U_(0x1) << RTC_MODE2_INTFLAG_ALARM_Pos)      /**< (RTC_MODE2_INTFLAG Mask) ALARM */
+#define RTC_MODE2_INTFLAG_ALARM(value)      (RTC_MODE2_INTFLAG_ALARM_Msk & ((value) << RTC_MODE2_INTFLAG_ALARM_Pos))  
+
+/* -------- RTC_DBGCTRL : (RTC Offset: 0x0e) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DBGRUN:1;                  /**< bit:      0  Run During Debug                         */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} RTC_DBGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_DBGCTRL_OFFSET                  (0x0E)                                        /**<  (RTC_DBGCTRL) Debug Control  Offset */
+#define RTC_DBGCTRL_RESETVALUE              _U_(0x00)                                     /**<  (RTC_DBGCTRL) Debug Control  Reset Value */
+
+#define RTC_DBGCTRL_DBGRUN_Pos              0                                              /**< (RTC_DBGCTRL) Run During Debug Position */
+#define RTC_DBGCTRL_DBGRUN_Msk              (_U_(0x1) << RTC_DBGCTRL_DBGRUN_Pos)           /**< (RTC_DBGCTRL) Run During Debug Mask */
+#define RTC_DBGCTRL_DBGRUN                  RTC_DBGCTRL_DBGRUN_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_DBGCTRL_DBGRUN_Msk instead */
+#define RTC_DBGCTRL_MASK                    _U_(0x01)                                      /**< \deprecated (RTC_DBGCTRL) Register MASK  (Use RTC_DBGCTRL_Msk instead)  */
+#define RTC_DBGCTRL_Msk                     _U_(0x01)                                      /**< (RTC_DBGCTRL) Register Mask  */
+
+
+/* -------- RTC_MODE0_SYNCBUSY : (RTC Offset: 0x10) (R/ 32) MODE0 Synchronization Busy Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Busy                      */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Bit Busy                          */
+    uint32_t FREQCORR:1;                /**< bit:      2  FREQCORR Register Busy                   */
+    uint32_t COUNT:1;                   /**< bit:      3  COUNT Register Busy                      */
+    uint32_t :1;                        /**< bit:      4  Reserved */
+    uint32_t COMP0:1;                   /**< bit:      5  COMP 0 Register Busy                     */
+    uint32_t :9;                        /**< bit:  6..14  Reserved */
+    uint32_t COUNTSYNC:1;               /**< bit:     15  Count Synchronization Enable Bit Busy    */
+    uint32_t GP0:1;                     /**< bit:     16  General Purpose 0 Register Busy          */
+    uint32_t GP1:1;                     /**< bit:     17  General Purpose 1 Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :5;                        /**< bit:   0..4  Reserved */
+    uint32_t COMP:1;                    /**< bit:      5  COMP x Register Busy                     */
+    uint32_t :10;                       /**< bit:  6..15  Reserved */
+    uint32_t GP:2;                      /**< bit: 16..17  General Purpose x Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE0_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_SYNCBUSY_OFFSET           (0x10)                                        /**<  (RTC_MODE0_SYNCBUSY) MODE0 Synchronization Busy Status  Offset */
+#define RTC_MODE0_SYNCBUSY_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE0_SYNCBUSY) MODE0 Synchronization Busy Status  Reset Value */
+
+#define RTC_MODE0_SYNCBUSY_SWRST_Pos        0                                              /**< (RTC_MODE0_SYNCBUSY) Software Reset Busy Position */
+#define RTC_MODE0_SYNCBUSY_SWRST_Msk        (_U_(0x1) << RTC_MODE0_SYNCBUSY_SWRST_Pos)     /**< (RTC_MODE0_SYNCBUSY) Software Reset Busy Mask */
+#define RTC_MODE0_SYNCBUSY_SWRST            RTC_MODE0_SYNCBUSY_SWRST_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_SWRST_Msk instead */
+#define RTC_MODE0_SYNCBUSY_ENABLE_Pos       1                                              /**< (RTC_MODE0_SYNCBUSY) Enable Bit Busy Position */
+#define RTC_MODE0_SYNCBUSY_ENABLE_Msk       (_U_(0x1) << RTC_MODE0_SYNCBUSY_ENABLE_Pos)    /**< (RTC_MODE0_SYNCBUSY) Enable Bit Busy Mask */
+#define RTC_MODE0_SYNCBUSY_ENABLE           RTC_MODE0_SYNCBUSY_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_ENABLE_Msk instead */
+#define RTC_MODE0_SYNCBUSY_FREQCORR_Pos     2                                              /**< (RTC_MODE0_SYNCBUSY) FREQCORR Register Busy Position */
+#define RTC_MODE0_SYNCBUSY_FREQCORR_Msk     (_U_(0x1) << RTC_MODE0_SYNCBUSY_FREQCORR_Pos)  /**< (RTC_MODE0_SYNCBUSY) FREQCORR Register Busy Mask */
+#define RTC_MODE0_SYNCBUSY_FREQCORR         RTC_MODE0_SYNCBUSY_FREQCORR_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_FREQCORR_Msk instead */
+#define RTC_MODE0_SYNCBUSY_COUNT_Pos        3                                              /**< (RTC_MODE0_SYNCBUSY) COUNT Register Busy Position */
+#define RTC_MODE0_SYNCBUSY_COUNT_Msk        (_U_(0x1) << RTC_MODE0_SYNCBUSY_COUNT_Pos)     /**< (RTC_MODE0_SYNCBUSY) COUNT Register Busy Mask */
+#define RTC_MODE0_SYNCBUSY_COUNT            RTC_MODE0_SYNCBUSY_COUNT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_COUNT_Msk instead */
+#define RTC_MODE0_SYNCBUSY_COMP0_Pos        5                                              /**< (RTC_MODE0_SYNCBUSY) COMP 0 Register Busy Position */
+#define RTC_MODE0_SYNCBUSY_COMP0_Msk        (_U_(0x1) << RTC_MODE0_SYNCBUSY_COMP0_Pos)     /**< (RTC_MODE0_SYNCBUSY) COMP 0 Register Busy Mask */
+#define RTC_MODE0_SYNCBUSY_COMP0            RTC_MODE0_SYNCBUSY_COMP0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_COMP0_Msk instead */
+#define RTC_MODE0_SYNCBUSY_COUNTSYNC_Pos    15                                             /**< (RTC_MODE0_SYNCBUSY) Count Synchronization Enable Bit Busy Position */
+#define RTC_MODE0_SYNCBUSY_COUNTSYNC_Msk    (_U_(0x1) << RTC_MODE0_SYNCBUSY_COUNTSYNC_Pos)  /**< (RTC_MODE0_SYNCBUSY) Count Synchronization Enable Bit Busy Mask */
+#define RTC_MODE0_SYNCBUSY_COUNTSYNC        RTC_MODE0_SYNCBUSY_COUNTSYNC_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_COUNTSYNC_Msk instead */
+#define RTC_MODE0_SYNCBUSY_GP0_Pos          16                                             /**< (RTC_MODE0_SYNCBUSY) General Purpose 0 Register Busy Position */
+#define RTC_MODE0_SYNCBUSY_GP0_Msk          (_U_(0x1) << RTC_MODE0_SYNCBUSY_GP0_Pos)       /**< (RTC_MODE0_SYNCBUSY) General Purpose 0 Register Busy Mask */
+#define RTC_MODE0_SYNCBUSY_GP0              RTC_MODE0_SYNCBUSY_GP0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_GP0_Msk instead */
+#define RTC_MODE0_SYNCBUSY_GP1_Pos          17                                             /**< (RTC_MODE0_SYNCBUSY) General Purpose 1 Register Busy Position */
+#define RTC_MODE0_SYNCBUSY_GP1_Msk          (_U_(0x1) << RTC_MODE0_SYNCBUSY_GP1_Pos)       /**< (RTC_MODE0_SYNCBUSY) General Purpose 1 Register Busy Mask */
+#define RTC_MODE0_SYNCBUSY_GP1              RTC_MODE0_SYNCBUSY_GP1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE0_SYNCBUSY_GP1_Msk instead */
+#define RTC_MODE0_SYNCBUSY_MASK             _U_(0x3802F)                                   /**< \deprecated (RTC_MODE0_SYNCBUSY) Register MASK  (Use RTC_MODE0_SYNCBUSY_Msk instead)  */
+#define RTC_MODE0_SYNCBUSY_Msk              _U_(0x3802F)                                   /**< (RTC_MODE0_SYNCBUSY) Register Mask  */
+
+#define RTC_MODE0_SYNCBUSY_COMP_Pos         5                                              /**< (RTC_MODE0_SYNCBUSY Position) COMP x Register Busy */
+#define RTC_MODE0_SYNCBUSY_COMP_Msk         (_U_(0x1) << RTC_MODE0_SYNCBUSY_COMP_Pos)      /**< (RTC_MODE0_SYNCBUSY Mask) COMP */
+#define RTC_MODE0_SYNCBUSY_COMP(value)      (RTC_MODE0_SYNCBUSY_COMP_Msk & ((value) << RTC_MODE0_SYNCBUSY_COMP_Pos))  
+#define RTC_MODE0_SYNCBUSY_GP_Pos           16                                             /**< (RTC_MODE0_SYNCBUSY Position) General Purpose x Register Busy */
+#define RTC_MODE0_SYNCBUSY_GP_Msk           (_U_(0x3) << RTC_MODE0_SYNCBUSY_GP_Pos)        /**< (RTC_MODE0_SYNCBUSY Mask) GP */
+#define RTC_MODE0_SYNCBUSY_GP(value)        (RTC_MODE0_SYNCBUSY_GP_Msk & ((value) << RTC_MODE0_SYNCBUSY_GP_Pos))  
+
+/* -------- RTC_MODE1_SYNCBUSY : (RTC Offset: 0x10) (R/ 32) MODE1 Synchronization Busy Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Bit Busy                  */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Bit Busy                          */
+    uint32_t FREQCORR:1;                /**< bit:      2  FREQCORR Register Busy                   */
+    uint32_t COUNT:1;                   /**< bit:      3  COUNT Register Busy                      */
+    uint32_t PER:1;                     /**< bit:      4  PER Register Busy                        */
+    uint32_t COMP0:1;                   /**< bit:      5  COMP 0 Register Busy                     */
+    uint32_t COMP1:1;                   /**< bit:      6  COMP 1 Register Busy                     */
+    uint32_t :8;                        /**< bit:  7..14  Reserved */
+    uint32_t COUNTSYNC:1;               /**< bit:     15  Count Synchronization Enable Bit Busy    */
+    uint32_t GP0:1;                     /**< bit:     16  General Purpose 0 Register Busy          */
+    uint32_t GP1:1;                     /**< bit:     17  General Purpose 1 Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :5;                        /**< bit:   0..4  Reserved */
+    uint32_t COMP:2;                    /**< bit:   5..6  COMP x Register Busy                     */
+    uint32_t :9;                        /**< bit:  7..15  Reserved */
+    uint32_t GP:2;                      /**< bit: 16..17  General Purpose x Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE1_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_SYNCBUSY_OFFSET           (0x10)                                        /**<  (RTC_MODE1_SYNCBUSY) MODE1 Synchronization Busy Status  Offset */
+#define RTC_MODE1_SYNCBUSY_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE1_SYNCBUSY) MODE1 Synchronization Busy Status  Reset Value */
+
+#define RTC_MODE1_SYNCBUSY_SWRST_Pos        0                                              /**< (RTC_MODE1_SYNCBUSY) Software Reset Bit Busy Position */
+#define RTC_MODE1_SYNCBUSY_SWRST_Msk        (_U_(0x1) << RTC_MODE1_SYNCBUSY_SWRST_Pos)     /**< (RTC_MODE1_SYNCBUSY) Software Reset Bit Busy Mask */
+#define RTC_MODE1_SYNCBUSY_SWRST            RTC_MODE1_SYNCBUSY_SWRST_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_SWRST_Msk instead */
+#define RTC_MODE1_SYNCBUSY_ENABLE_Pos       1                                              /**< (RTC_MODE1_SYNCBUSY) Enable Bit Busy Position */
+#define RTC_MODE1_SYNCBUSY_ENABLE_Msk       (_U_(0x1) << RTC_MODE1_SYNCBUSY_ENABLE_Pos)    /**< (RTC_MODE1_SYNCBUSY) Enable Bit Busy Mask */
+#define RTC_MODE1_SYNCBUSY_ENABLE           RTC_MODE1_SYNCBUSY_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_ENABLE_Msk instead */
+#define RTC_MODE1_SYNCBUSY_FREQCORR_Pos     2                                              /**< (RTC_MODE1_SYNCBUSY) FREQCORR Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_FREQCORR_Msk     (_U_(0x1) << RTC_MODE1_SYNCBUSY_FREQCORR_Pos)  /**< (RTC_MODE1_SYNCBUSY) FREQCORR Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_FREQCORR         RTC_MODE1_SYNCBUSY_FREQCORR_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_FREQCORR_Msk instead */
+#define RTC_MODE1_SYNCBUSY_COUNT_Pos        3                                              /**< (RTC_MODE1_SYNCBUSY) COUNT Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_COUNT_Msk        (_U_(0x1) << RTC_MODE1_SYNCBUSY_COUNT_Pos)     /**< (RTC_MODE1_SYNCBUSY) COUNT Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_COUNT            RTC_MODE1_SYNCBUSY_COUNT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_COUNT_Msk instead */
+#define RTC_MODE1_SYNCBUSY_PER_Pos          4                                              /**< (RTC_MODE1_SYNCBUSY) PER Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_PER_Msk          (_U_(0x1) << RTC_MODE1_SYNCBUSY_PER_Pos)       /**< (RTC_MODE1_SYNCBUSY) PER Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_PER              RTC_MODE1_SYNCBUSY_PER_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_PER_Msk instead */
+#define RTC_MODE1_SYNCBUSY_COMP0_Pos        5                                              /**< (RTC_MODE1_SYNCBUSY) COMP 0 Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_COMP0_Msk        (_U_(0x1) << RTC_MODE1_SYNCBUSY_COMP0_Pos)     /**< (RTC_MODE1_SYNCBUSY) COMP 0 Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_COMP0            RTC_MODE1_SYNCBUSY_COMP0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_COMP0_Msk instead */
+#define RTC_MODE1_SYNCBUSY_COMP1_Pos        6                                              /**< (RTC_MODE1_SYNCBUSY) COMP 1 Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_COMP1_Msk        (_U_(0x1) << RTC_MODE1_SYNCBUSY_COMP1_Pos)     /**< (RTC_MODE1_SYNCBUSY) COMP 1 Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_COMP1            RTC_MODE1_SYNCBUSY_COMP1_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_COMP1_Msk instead */
+#define RTC_MODE1_SYNCBUSY_COUNTSYNC_Pos    15                                             /**< (RTC_MODE1_SYNCBUSY) Count Synchronization Enable Bit Busy Position */
+#define RTC_MODE1_SYNCBUSY_COUNTSYNC_Msk    (_U_(0x1) << RTC_MODE1_SYNCBUSY_COUNTSYNC_Pos)  /**< (RTC_MODE1_SYNCBUSY) Count Synchronization Enable Bit Busy Mask */
+#define RTC_MODE1_SYNCBUSY_COUNTSYNC        RTC_MODE1_SYNCBUSY_COUNTSYNC_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_COUNTSYNC_Msk instead */
+#define RTC_MODE1_SYNCBUSY_GP0_Pos          16                                             /**< (RTC_MODE1_SYNCBUSY) General Purpose 0 Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_GP0_Msk          (_U_(0x1) << RTC_MODE1_SYNCBUSY_GP0_Pos)       /**< (RTC_MODE1_SYNCBUSY) General Purpose 0 Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_GP0              RTC_MODE1_SYNCBUSY_GP0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_GP0_Msk instead */
+#define RTC_MODE1_SYNCBUSY_GP1_Pos          17                                             /**< (RTC_MODE1_SYNCBUSY) General Purpose 1 Register Busy Position */
+#define RTC_MODE1_SYNCBUSY_GP1_Msk          (_U_(0x1) << RTC_MODE1_SYNCBUSY_GP1_Pos)       /**< (RTC_MODE1_SYNCBUSY) General Purpose 1 Register Busy Mask */
+#define RTC_MODE1_SYNCBUSY_GP1              RTC_MODE1_SYNCBUSY_GP1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE1_SYNCBUSY_GP1_Msk instead */
+#define RTC_MODE1_SYNCBUSY_MASK             _U_(0x3807F)                                   /**< \deprecated (RTC_MODE1_SYNCBUSY) Register MASK  (Use RTC_MODE1_SYNCBUSY_Msk instead)  */
+#define RTC_MODE1_SYNCBUSY_Msk              _U_(0x3807F)                                   /**< (RTC_MODE1_SYNCBUSY) Register Mask  */
+
+#define RTC_MODE1_SYNCBUSY_COMP_Pos         5                                              /**< (RTC_MODE1_SYNCBUSY Position) COMP x Register Busy */
+#define RTC_MODE1_SYNCBUSY_COMP_Msk         (_U_(0x3) << RTC_MODE1_SYNCBUSY_COMP_Pos)      /**< (RTC_MODE1_SYNCBUSY Mask) COMP */
+#define RTC_MODE1_SYNCBUSY_COMP(value)      (RTC_MODE1_SYNCBUSY_COMP_Msk & ((value) << RTC_MODE1_SYNCBUSY_COMP_Pos))  
+#define RTC_MODE1_SYNCBUSY_GP_Pos           16                                             /**< (RTC_MODE1_SYNCBUSY Position) General Purpose x Register Busy */
+#define RTC_MODE1_SYNCBUSY_GP_Msk           (_U_(0x3) << RTC_MODE1_SYNCBUSY_GP_Pos)        /**< (RTC_MODE1_SYNCBUSY Mask) GP */
+#define RTC_MODE1_SYNCBUSY_GP(value)        (RTC_MODE1_SYNCBUSY_GP_Msk & ((value) << RTC_MODE1_SYNCBUSY_GP_Pos))  
+
+/* -------- RTC_MODE2_SYNCBUSY : (RTC Offset: 0x10) (R/ 32) MODE2 Synchronization Busy Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Bit Busy                  */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Bit Busy                          */
+    uint32_t FREQCORR:1;                /**< bit:      2  FREQCORR Register Busy                   */
+    uint32_t CLOCK:1;                   /**< bit:      3  CLOCK Register Busy                      */
+    uint32_t :1;                        /**< bit:      4  Reserved */
+    uint32_t ALARM0:1;                  /**< bit:      5  ALARM 0 Register Busy                    */
+    uint32_t :5;                        /**< bit:  6..10  Reserved */
+    uint32_t MASK0:1;                   /**< bit:     11  MASK 0 Register Busy                     */
+    uint32_t :3;                        /**< bit: 12..14  Reserved */
+    uint32_t CLOCKSYNC:1;               /**< bit:     15  Clock Synchronization Enable Bit Busy    */
+    uint32_t GP0:1;                     /**< bit:     16  General Purpose 0 Register Busy          */
+    uint32_t GP1:1;                     /**< bit:     17  General Purpose 1 Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :5;                        /**< bit:   0..4  Reserved */
+    uint32_t ALARM:1;                   /**< bit:      5  ALARM x Register Busy                    */
+    uint32_t :5;                        /**< bit:  6..10  Reserved */
+    uint32_t MASK:1;                    /**< bit:     11  MASK x Register Busy                     */
+    uint32_t :4;                        /**< bit: 12..15  Reserved */
+    uint32_t GP:2;                      /**< bit: 16..17  General Purpose x Register Busy          */
+    uint32_t :14;                       /**< bit: 18..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE2_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_SYNCBUSY_OFFSET           (0x10)                                        /**<  (RTC_MODE2_SYNCBUSY) MODE2 Synchronization Busy Status  Offset */
+#define RTC_MODE2_SYNCBUSY_RESETVALUE       _U_(0x00)                                     /**<  (RTC_MODE2_SYNCBUSY) MODE2 Synchronization Busy Status  Reset Value */
+
+#define RTC_MODE2_SYNCBUSY_SWRST_Pos        0                                              /**< (RTC_MODE2_SYNCBUSY) Software Reset Bit Busy Position */
+#define RTC_MODE2_SYNCBUSY_SWRST_Msk        (_U_(0x1) << RTC_MODE2_SYNCBUSY_SWRST_Pos)     /**< (RTC_MODE2_SYNCBUSY) Software Reset Bit Busy Mask */
+#define RTC_MODE2_SYNCBUSY_SWRST            RTC_MODE2_SYNCBUSY_SWRST_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_SWRST_Msk instead */
+#define RTC_MODE2_SYNCBUSY_ENABLE_Pos       1                                              /**< (RTC_MODE2_SYNCBUSY) Enable Bit Busy Position */
+#define RTC_MODE2_SYNCBUSY_ENABLE_Msk       (_U_(0x1) << RTC_MODE2_SYNCBUSY_ENABLE_Pos)    /**< (RTC_MODE2_SYNCBUSY) Enable Bit Busy Mask */
+#define RTC_MODE2_SYNCBUSY_ENABLE           RTC_MODE2_SYNCBUSY_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_ENABLE_Msk instead */
+#define RTC_MODE2_SYNCBUSY_FREQCORR_Pos     2                                              /**< (RTC_MODE2_SYNCBUSY) FREQCORR Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_FREQCORR_Msk     (_U_(0x1) << RTC_MODE2_SYNCBUSY_FREQCORR_Pos)  /**< (RTC_MODE2_SYNCBUSY) FREQCORR Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_FREQCORR         RTC_MODE2_SYNCBUSY_FREQCORR_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_FREQCORR_Msk instead */
+#define RTC_MODE2_SYNCBUSY_CLOCK_Pos        3                                              /**< (RTC_MODE2_SYNCBUSY) CLOCK Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_CLOCK_Msk        (_U_(0x1) << RTC_MODE2_SYNCBUSY_CLOCK_Pos)     /**< (RTC_MODE2_SYNCBUSY) CLOCK Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_CLOCK            RTC_MODE2_SYNCBUSY_CLOCK_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_CLOCK_Msk instead */
+#define RTC_MODE2_SYNCBUSY_ALARM0_Pos       5                                              /**< (RTC_MODE2_SYNCBUSY) ALARM 0 Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_ALARM0_Msk       (_U_(0x1) << RTC_MODE2_SYNCBUSY_ALARM0_Pos)    /**< (RTC_MODE2_SYNCBUSY) ALARM 0 Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_ALARM0           RTC_MODE2_SYNCBUSY_ALARM0_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_ALARM0_Msk instead */
+#define RTC_MODE2_SYNCBUSY_MASK0_Pos        11                                             /**< (RTC_MODE2_SYNCBUSY) MASK 0 Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_MASK0_Msk        (_U_(0x1) << RTC_MODE2_SYNCBUSY_MASK0_Pos)     /**< (RTC_MODE2_SYNCBUSY) MASK 0 Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_MASK0            RTC_MODE2_SYNCBUSY_MASK0_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_MASK0_Msk instead */
+#define RTC_MODE2_SYNCBUSY_CLOCKSYNC_Pos    15                                             /**< (RTC_MODE2_SYNCBUSY) Clock Synchronization Enable Bit Busy Position */
+#define RTC_MODE2_SYNCBUSY_CLOCKSYNC_Msk    (_U_(0x1) << RTC_MODE2_SYNCBUSY_CLOCKSYNC_Pos)  /**< (RTC_MODE2_SYNCBUSY) Clock Synchronization Enable Bit Busy Mask */
+#define RTC_MODE2_SYNCBUSY_CLOCKSYNC        RTC_MODE2_SYNCBUSY_CLOCKSYNC_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_CLOCKSYNC_Msk instead */
+#define RTC_MODE2_SYNCBUSY_GP0_Pos          16                                             /**< (RTC_MODE2_SYNCBUSY) General Purpose 0 Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_GP0_Msk          (_U_(0x1) << RTC_MODE2_SYNCBUSY_GP0_Pos)       /**< (RTC_MODE2_SYNCBUSY) General Purpose 0 Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_GP0              RTC_MODE2_SYNCBUSY_GP0_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_GP0_Msk instead */
+#define RTC_MODE2_SYNCBUSY_GP1_Pos          17                                             /**< (RTC_MODE2_SYNCBUSY) General Purpose 1 Register Busy Position */
+#define RTC_MODE2_SYNCBUSY_GP1_Msk          (_U_(0x1) << RTC_MODE2_SYNCBUSY_GP1_Pos)       /**< (RTC_MODE2_SYNCBUSY) General Purpose 1 Register Busy Mask */
+#define RTC_MODE2_SYNCBUSY_GP1              RTC_MODE2_SYNCBUSY_GP1_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_MODE2_SYNCBUSY_GP1_Msk instead */
+#define RTC_MODE2_SYNCBUSY_Msk              _U_(0x3882F)                                   /**< (RTC_MODE2_SYNCBUSY) Register Mask  */
+
+#define RTC_MODE2_SYNCBUSY_ALARM_Pos        5                                              /**< (RTC_MODE2_SYNCBUSY Position) ALARM x Register Busy */
+#define RTC_MODE2_SYNCBUSY_ALARM_Msk        (_U_(0x1) << RTC_MODE2_SYNCBUSY_ALARM_Pos)     /**< (RTC_MODE2_SYNCBUSY Mask) ALARM */
+#define RTC_MODE2_SYNCBUSY_ALARM(value)     (RTC_MODE2_SYNCBUSY_ALARM_Msk & ((value) << RTC_MODE2_SYNCBUSY_ALARM_Pos))  
+#define RTC_MODE2_SYNCBUSY_MASK_Pos         11                                             /**< (RTC_MODE2_SYNCBUSY Position) MASK x Register Busy */
+#define RTC_MODE2_SYNCBUSY_MASK_Msk         (_U_(0x1) << RTC_MODE2_SYNCBUSY_MASK_Pos)      /**< (RTC_MODE2_SYNCBUSY Mask) MASK */
+#define RTC_MODE2_SYNCBUSY_MASK(value)      (RTC_MODE2_SYNCBUSY_MASK_Msk & ((value) << RTC_MODE2_SYNCBUSY_MASK_Pos))  
+#define RTC_MODE2_SYNCBUSY_GP_Pos           16                                             /**< (RTC_MODE2_SYNCBUSY Position) General Purpose x Register Busy */
+#define RTC_MODE2_SYNCBUSY_GP_Msk           (_U_(0x3) << RTC_MODE2_SYNCBUSY_GP_Pos)        /**< (RTC_MODE2_SYNCBUSY Mask) GP */
+#define RTC_MODE2_SYNCBUSY_GP(value)        (RTC_MODE2_SYNCBUSY_GP_Msk & ((value) << RTC_MODE2_SYNCBUSY_GP_Pos))  
+
+/* -------- RTC_FREQCORR : (RTC Offset: 0x14) (R/W 8) Frequency Correction -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  VALUE:7;                   /**< bit:   0..6  Correction Value                         */
+    uint8_t  SIGN:1;                    /**< bit:      7  Correction Sign                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} RTC_FREQCORR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_FREQCORR_OFFSET                 (0x14)                                        /**<  (RTC_FREQCORR) Frequency Correction  Offset */
+#define RTC_FREQCORR_RESETVALUE             _U_(0x00)                                     /**<  (RTC_FREQCORR) Frequency Correction  Reset Value */
+
+#define RTC_FREQCORR_VALUE_Pos              0                                              /**< (RTC_FREQCORR) Correction Value Position */
+#define RTC_FREQCORR_VALUE_Msk              (_U_(0x7F) << RTC_FREQCORR_VALUE_Pos)          /**< (RTC_FREQCORR) Correction Value Mask */
+#define RTC_FREQCORR_VALUE(value)           (RTC_FREQCORR_VALUE_Msk & ((value) << RTC_FREQCORR_VALUE_Pos))
+#define RTC_FREQCORR_SIGN_Pos               7                                              /**< (RTC_FREQCORR) Correction Sign Position */
+#define RTC_FREQCORR_SIGN_Msk               (_U_(0x1) << RTC_FREQCORR_SIGN_Pos)            /**< (RTC_FREQCORR) Correction Sign Mask */
+#define RTC_FREQCORR_SIGN                   RTC_FREQCORR_SIGN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_FREQCORR_SIGN_Msk instead */
+#define RTC_FREQCORR_MASK                   _U_(0xFF)                                      /**< \deprecated (RTC_FREQCORR) Register MASK  (Use RTC_FREQCORR_Msk instead)  */
+#define RTC_FREQCORR_Msk                    _U_(0xFF)                                      /**< (RTC_FREQCORR) Register Mask  */
+
+
+/* -------- RTC_MODE0_COUNT : (RTC Offset: 0x18) (R/W 32) MODE0 Counter Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t COUNT:32;                  /**< bit:  0..31  Counter Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE0_COUNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_COUNT_OFFSET              (0x18)                                        /**<  (RTC_MODE0_COUNT) MODE0 Counter Value  Offset */
+#define RTC_MODE0_COUNT_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE0_COUNT) MODE0 Counter Value  Reset Value */
+
+#define RTC_MODE0_COUNT_COUNT_Pos           0                                              /**< (RTC_MODE0_COUNT) Counter Value Position */
+#define RTC_MODE0_COUNT_COUNT_Msk           (_U_(0xFFFFFFFF) << RTC_MODE0_COUNT_COUNT_Pos)  /**< (RTC_MODE0_COUNT) Counter Value Mask */
+#define RTC_MODE0_COUNT_COUNT(value)        (RTC_MODE0_COUNT_COUNT_Msk & ((value) << RTC_MODE0_COUNT_COUNT_Pos))
+#define RTC_MODE0_COUNT_MASK                _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE0_COUNT) Register MASK  (Use RTC_MODE0_COUNT_Msk instead)  */
+#define RTC_MODE0_COUNT_Msk                 _U_(0xFFFFFFFF)                                /**< (RTC_MODE0_COUNT) Register Mask  */
+
+
+/* -------- RTC_MODE1_COUNT : (RTC Offset: 0x18) (R/W 16) MODE1 Counter Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t COUNT:16;                  /**< bit:  0..15  Counter Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_COUNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_COUNT_OFFSET              (0x18)                                        /**<  (RTC_MODE1_COUNT) MODE1 Counter Value  Offset */
+#define RTC_MODE1_COUNT_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE1_COUNT) MODE1 Counter Value  Reset Value */
+
+#define RTC_MODE1_COUNT_COUNT_Pos           0                                              /**< (RTC_MODE1_COUNT) Counter Value Position */
+#define RTC_MODE1_COUNT_COUNT_Msk           (_U_(0xFFFF) << RTC_MODE1_COUNT_COUNT_Pos)     /**< (RTC_MODE1_COUNT) Counter Value Mask */
+#define RTC_MODE1_COUNT_COUNT(value)        (RTC_MODE1_COUNT_COUNT_Msk & ((value) << RTC_MODE1_COUNT_COUNT_Pos))
+#define RTC_MODE1_COUNT_MASK                _U_(0xFFFF)                                    /**< \deprecated (RTC_MODE1_COUNT) Register MASK  (Use RTC_MODE1_COUNT_Msk instead)  */
+#define RTC_MODE1_COUNT_Msk                 _U_(0xFFFF)                                    /**< (RTC_MODE1_COUNT) Register Mask  */
+
+
+/* -------- RTC_MODE2_CLOCK : (RTC Offset: 0x18) (R/W 32) MODE2 Clock Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SECOND:6;                  /**< bit:   0..5  Second                                   */
+    uint32_t MINUTE:6;                  /**< bit:  6..11  Minute                                   */
+    uint32_t HOUR:5;                    /**< bit: 12..16  Hour                                     */
+    uint32_t DAY:5;                     /**< bit: 17..21  Day                                      */
+    uint32_t MONTH:4;                   /**< bit: 22..25  Month                                    */
+    uint32_t YEAR:6;                    /**< bit: 26..31  Year                                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE2_CLOCK_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_CLOCK_OFFSET              (0x18)                                        /**<  (RTC_MODE2_CLOCK) MODE2 Clock Value  Offset */
+#define RTC_MODE2_CLOCK_RESETVALUE          _U_(0x00)                                     /**<  (RTC_MODE2_CLOCK) MODE2 Clock Value  Reset Value */
+
+#define RTC_MODE2_CLOCK_SECOND_Pos          0                                              /**< (RTC_MODE2_CLOCK) Second Position */
+#define RTC_MODE2_CLOCK_SECOND_Msk          (_U_(0x3F) << RTC_MODE2_CLOCK_SECOND_Pos)      /**< (RTC_MODE2_CLOCK) Second Mask */
+#define RTC_MODE2_CLOCK_SECOND(value)       (RTC_MODE2_CLOCK_SECOND_Msk & ((value) << RTC_MODE2_CLOCK_SECOND_Pos))
+#define RTC_MODE2_CLOCK_MINUTE_Pos          6                                              /**< (RTC_MODE2_CLOCK) Minute Position */
+#define RTC_MODE2_CLOCK_MINUTE_Msk          (_U_(0x3F) << RTC_MODE2_CLOCK_MINUTE_Pos)      /**< (RTC_MODE2_CLOCK) Minute Mask */
+#define RTC_MODE2_CLOCK_MINUTE(value)       (RTC_MODE2_CLOCK_MINUTE_Msk & ((value) << RTC_MODE2_CLOCK_MINUTE_Pos))
+#define RTC_MODE2_CLOCK_HOUR_Pos            12                                             /**< (RTC_MODE2_CLOCK) Hour Position */
+#define RTC_MODE2_CLOCK_HOUR_Msk            (_U_(0x1F) << RTC_MODE2_CLOCK_HOUR_Pos)        /**< (RTC_MODE2_CLOCK) Hour Mask */
+#define RTC_MODE2_CLOCK_HOUR(value)         (RTC_MODE2_CLOCK_HOUR_Msk & ((value) << RTC_MODE2_CLOCK_HOUR_Pos))
+#define RTC_MODE2_CLOCK_DAY_Pos             17                                             /**< (RTC_MODE2_CLOCK) Day Position */
+#define RTC_MODE2_CLOCK_DAY_Msk             (_U_(0x1F) << RTC_MODE2_CLOCK_DAY_Pos)         /**< (RTC_MODE2_CLOCK) Day Mask */
+#define RTC_MODE2_CLOCK_DAY(value)          (RTC_MODE2_CLOCK_DAY_Msk & ((value) << RTC_MODE2_CLOCK_DAY_Pos))
+#define RTC_MODE2_CLOCK_MONTH_Pos           22                                             /**< (RTC_MODE2_CLOCK) Month Position */
+#define RTC_MODE2_CLOCK_MONTH_Msk           (_U_(0xF) << RTC_MODE2_CLOCK_MONTH_Pos)        /**< (RTC_MODE2_CLOCK) Month Mask */
+#define RTC_MODE2_CLOCK_MONTH(value)        (RTC_MODE2_CLOCK_MONTH_Msk & ((value) << RTC_MODE2_CLOCK_MONTH_Pos))
+#define RTC_MODE2_CLOCK_YEAR_Pos            26                                             /**< (RTC_MODE2_CLOCK) Year Position */
+#define RTC_MODE2_CLOCK_YEAR_Msk            (_U_(0x3F) << RTC_MODE2_CLOCK_YEAR_Pos)        /**< (RTC_MODE2_CLOCK) Year Mask */
+#define RTC_MODE2_CLOCK_YEAR(value)         (RTC_MODE2_CLOCK_YEAR_Msk & ((value) << RTC_MODE2_CLOCK_YEAR_Pos))
+#define RTC_MODE2_CLOCK_MASK                _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE2_CLOCK) Register MASK  (Use RTC_MODE2_CLOCK_Msk instead)  */
+#define RTC_MODE2_CLOCK_Msk                 _U_(0xFFFFFFFF)                                /**< (RTC_MODE2_CLOCK) Register Mask  */
+
+
+/* -------- RTC_MODE1_PER : (RTC Offset: 0x1c) (R/W 16) MODE1 Counter Period -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER:16;                    /**< bit:  0..15  Counter Period                           */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_PER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_PER_OFFSET                (0x1C)                                        /**<  (RTC_MODE1_PER) MODE1 Counter Period  Offset */
+#define RTC_MODE1_PER_RESETVALUE            _U_(0x00)                                     /**<  (RTC_MODE1_PER) MODE1 Counter Period  Reset Value */
+
+#define RTC_MODE1_PER_PER_Pos               0                                              /**< (RTC_MODE1_PER) Counter Period Position */
+#define RTC_MODE1_PER_PER_Msk               (_U_(0xFFFF) << RTC_MODE1_PER_PER_Pos)         /**< (RTC_MODE1_PER) Counter Period Mask */
+#define RTC_MODE1_PER_PER(value)            (RTC_MODE1_PER_PER_Msk & ((value) << RTC_MODE1_PER_PER_Pos))
+#define RTC_MODE1_PER_MASK                  _U_(0xFFFF)                                    /**< \deprecated (RTC_MODE1_PER) Register MASK  (Use RTC_MODE1_PER_Msk instead)  */
+#define RTC_MODE1_PER_Msk                   _U_(0xFFFF)                                    /**< (RTC_MODE1_PER) Register Mask  */
+
+
+/* -------- RTC_MODE0_COMP : (RTC Offset: 0x20) (R/W 32) MODE0 Compare n Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t COMP:32;                   /**< bit:  0..31  Compare Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE0_COMP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_COMP_OFFSET               (0x20)                                        /**<  (RTC_MODE0_COMP) MODE0 Compare n Value  Offset */
+#define RTC_MODE0_COMP_RESETVALUE           _U_(0x00)                                     /**<  (RTC_MODE0_COMP) MODE0 Compare n Value  Reset Value */
+
+#define RTC_MODE0_COMP_COMP_Pos             0                                              /**< (RTC_MODE0_COMP) Compare Value Position */
+#define RTC_MODE0_COMP_COMP_Msk             (_U_(0xFFFFFFFF) << RTC_MODE0_COMP_COMP_Pos)   /**< (RTC_MODE0_COMP) Compare Value Mask */
+#define RTC_MODE0_COMP_COMP(value)          (RTC_MODE0_COMP_COMP_Msk & ((value) << RTC_MODE0_COMP_COMP_Pos))
+#define RTC_MODE0_COMP_MASK                 _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE0_COMP) Register MASK  (Use RTC_MODE0_COMP_Msk instead)  */
+#define RTC_MODE0_COMP_Msk                  _U_(0xFFFFFFFF)                                /**< (RTC_MODE0_COMP) Register Mask  */
+
+
+/* -------- RTC_MODE1_COMP : (RTC Offset: 0x20) (R/W 16) MODE1 Compare n Value -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t COMP:16;                   /**< bit:  0..15  Compare Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} RTC_MODE1_COMP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_COMP_OFFSET               (0x20)                                        /**<  (RTC_MODE1_COMP) MODE1 Compare n Value  Offset */
+#define RTC_MODE1_COMP_RESETVALUE           _U_(0x00)                                     /**<  (RTC_MODE1_COMP) MODE1 Compare n Value  Reset Value */
+
+#define RTC_MODE1_COMP_COMP_Pos             0                                              /**< (RTC_MODE1_COMP) Compare Value Position */
+#define RTC_MODE1_COMP_COMP_Msk             (_U_(0xFFFF) << RTC_MODE1_COMP_COMP_Pos)       /**< (RTC_MODE1_COMP) Compare Value Mask */
+#define RTC_MODE1_COMP_COMP(value)          (RTC_MODE1_COMP_COMP_Msk & ((value) << RTC_MODE1_COMP_COMP_Pos))
+#define RTC_MODE1_COMP_MASK                 _U_(0xFFFF)                                    /**< \deprecated (RTC_MODE1_COMP) Register MASK  (Use RTC_MODE1_COMP_Msk instead)  */
+#define RTC_MODE1_COMP_Msk                  _U_(0xFFFF)                                    /**< (RTC_MODE1_COMP) Register Mask  */
+
+
+/* -------- RTC_GP : (RTC Offset: 0x40) (R/W 32) General Purpose -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t GP:32;                     /**< bit:  0..31  General Purpose                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_GP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_GP_OFFSET                       (0x40)                                        /**<  (RTC_GP) General Purpose  Offset */
+#define RTC_GP_RESETVALUE                   _U_(0x00)                                     /**<  (RTC_GP) General Purpose  Reset Value */
+
+#define RTC_GP_GP_Pos                       0                                              /**< (RTC_GP) General Purpose Position */
+#define RTC_GP_GP_Msk                       (_U_(0xFFFFFFFF) << RTC_GP_GP_Pos)             /**< (RTC_GP) General Purpose Mask */
+#define RTC_GP_GP(value)                    (RTC_GP_GP_Msk & ((value) << RTC_GP_GP_Pos)) 
+#define RTC_GP_MASK                         _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_GP) Register MASK  (Use RTC_GP_Msk instead)  */
+#define RTC_GP_Msk                          _U_(0xFFFFFFFF)                                /**< (RTC_GP) Register Mask  */
+
+
+/* -------- RTC_TAMPCTRL : (RTC Offset: 0x60) (R/W 32) Tamper Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t IN0ACT:2;                  /**< bit:   0..1  Tamper Input 0 Action                    */
+    uint32_t IN1ACT:2;                  /**< bit:   2..3  Tamper Input 1 Action                    */
+    uint32_t IN2ACT:2;                  /**< bit:   4..5  Tamper Input 2 Action                    */
+    uint32_t IN3ACT:2;                  /**< bit:   6..7  Tamper Input 3 Action                    */
+    uint32_t :8;                        /**< bit:  8..15  Reserved */
+    uint32_t TAMLVL0:1;                 /**< bit:     16  Tamper Level Select 0                    */
+    uint32_t TAMLVL1:1;                 /**< bit:     17  Tamper Level Select 1                    */
+    uint32_t TAMLVL2:1;                 /**< bit:     18  Tamper Level Select 2                    */
+    uint32_t TAMLVL3:1;                 /**< bit:     19  Tamper Level Select 3                    */
+    uint32_t :4;                        /**< bit: 20..23  Reserved */
+    uint32_t DEBNC0:1;                  /**< bit:     24  Debouncer Enable 0                       */
+    uint32_t DEBNC1:1;                  /**< bit:     25  Debouncer Enable 1                       */
+    uint32_t DEBNC2:1;                  /**< bit:     26  Debouncer Enable 2                       */
+    uint32_t DEBNC3:1;                  /**< bit:     27  Debouncer Enable 3                       */
+    uint32_t :4;                        /**< bit: 28..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :16;                       /**< bit:  0..15  Reserved */
+    uint32_t TAMLVL:4;                  /**< bit: 16..19  Tamper Level Select x                    */
+    uint32_t :4;                        /**< bit: 20..23  Reserved */
+    uint32_t DEBNC:4;                   /**< bit: 24..27  Debouncer Enable 3                       */
+    uint32_t :4;                        /**< bit: 28..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_TAMPCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_TAMPCTRL_OFFSET                 (0x60)                                        /**<  (RTC_TAMPCTRL) Tamper Control  Offset */
+#define RTC_TAMPCTRL_RESETVALUE             _U_(0x00)                                     /**<  (RTC_TAMPCTRL) Tamper Control  Reset Value */
+
+#define RTC_TAMPCTRL_IN0ACT_Pos             0                                              /**< (RTC_TAMPCTRL) Tamper Input 0 Action Position */
+#define RTC_TAMPCTRL_IN0ACT_Msk             (_U_(0x3) << RTC_TAMPCTRL_IN0ACT_Pos)          /**< (RTC_TAMPCTRL) Tamper Input 0 Action Mask */
+#define RTC_TAMPCTRL_IN0ACT(value)          (RTC_TAMPCTRL_IN0ACT_Msk & ((value) << RTC_TAMPCTRL_IN0ACT_Pos))
+#define   RTC_TAMPCTRL_IN0ACT_OFF_Val       _U_(0x0)                                       /**< (RTC_TAMPCTRL) Off (Disabled)  */
+#define   RTC_TAMPCTRL_IN0ACT_WAKE_Val      _U_(0x1)                                       /**< (RTC_TAMPCTRL) Wake and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN0ACT_CAPTURE_Val   _U_(0x2)                                       /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN0ACT_ACTL_Val      _U_(0x3)                                       /**< (RTC_TAMPCTRL) Compare IN0 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag  */
+#define RTC_TAMPCTRL_IN0ACT_OFF             (RTC_TAMPCTRL_IN0ACT_OFF_Val << RTC_TAMPCTRL_IN0ACT_Pos)  /**< (RTC_TAMPCTRL) Off (Disabled) Position  */
+#define RTC_TAMPCTRL_IN0ACT_WAKE            (RTC_TAMPCTRL_IN0ACT_WAKE_Val << RTC_TAMPCTRL_IN0ACT_Pos)  /**< (RTC_TAMPCTRL) Wake and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN0ACT_CAPTURE         (RTC_TAMPCTRL_IN0ACT_CAPTURE_Val << RTC_TAMPCTRL_IN0ACT_Pos)  /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN0ACT_ACTL            (RTC_TAMPCTRL_IN0ACT_ACTL_Val << RTC_TAMPCTRL_IN0ACT_Pos)  /**< (RTC_TAMPCTRL) Compare IN0 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN1ACT_Pos             2                                              /**< (RTC_TAMPCTRL) Tamper Input 1 Action Position */
+#define RTC_TAMPCTRL_IN1ACT_Msk             (_U_(0x3) << RTC_TAMPCTRL_IN1ACT_Pos)          /**< (RTC_TAMPCTRL) Tamper Input 1 Action Mask */
+#define RTC_TAMPCTRL_IN1ACT(value)          (RTC_TAMPCTRL_IN1ACT_Msk & ((value) << RTC_TAMPCTRL_IN1ACT_Pos))
+#define   RTC_TAMPCTRL_IN1ACT_OFF_Val       _U_(0x0)                                       /**< (RTC_TAMPCTRL) Off (Disabled)  */
+#define   RTC_TAMPCTRL_IN1ACT_WAKE_Val      _U_(0x1)                                       /**< (RTC_TAMPCTRL) Wake and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN1ACT_CAPTURE_Val   _U_(0x2)                                       /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN1ACT_ACTL_Val      _U_(0x3)                                       /**< (RTC_TAMPCTRL) Compare IN1 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag  */
+#define RTC_TAMPCTRL_IN1ACT_OFF             (RTC_TAMPCTRL_IN1ACT_OFF_Val << RTC_TAMPCTRL_IN1ACT_Pos)  /**< (RTC_TAMPCTRL) Off (Disabled) Position  */
+#define RTC_TAMPCTRL_IN1ACT_WAKE            (RTC_TAMPCTRL_IN1ACT_WAKE_Val << RTC_TAMPCTRL_IN1ACT_Pos)  /**< (RTC_TAMPCTRL) Wake and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN1ACT_CAPTURE         (RTC_TAMPCTRL_IN1ACT_CAPTURE_Val << RTC_TAMPCTRL_IN1ACT_Pos)  /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN1ACT_ACTL            (RTC_TAMPCTRL_IN1ACT_ACTL_Val << RTC_TAMPCTRL_IN1ACT_Pos)  /**< (RTC_TAMPCTRL) Compare IN1 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN2ACT_Pos             4                                              /**< (RTC_TAMPCTRL) Tamper Input 2 Action Position */
+#define RTC_TAMPCTRL_IN2ACT_Msk             (_U_(0x3) << RTC_TAMPCTRL_IN2ACT_Pos)          /**< (RTC_TAMPCTRL) Tamper Input 2 Action Mask */
+#define RTC_TAMPCTRL_IN2ACT(value)          (RTC_TAMPCTRL_IN2ACT_Msk & ((value) << RTC_TAMPCTRL_IN2ACT_Pos))
+#define   RTC_TAMPCTRL_IN2ACT_OFF_Val       _U_(0x0)                                       /**< (RTC_TAMPCTRL) Off (Disabled)  */
+#define   RTC_TAMPCTRL_IN2ACT_WAKE_Val      _U_(0x1)                                       /**< (RTC_TAMPCTRL) Wake and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN2ACT_CAPTURE_Val   _U_(0x2)                                       /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN2ACT_ACTL_Val      _U_(0x3)                                       /**< (RTC_TAMPCTRL) Compare IN2 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag  */
+#define RTC_TAMPCTRL_IN2ACT_OFF             (RTC_TAMPCTRL_IN2ACT_OFF_Val << RTC_TAMPCTRL_IN2ACT_Pos)  /**< (RTC_TAMPCTRL) Off (Disabled) Position  */
+#define RTC_TAMPCTRL_IN2ACT_WAKE            (RTC_TAMPCTRL_IN2ACT_WAKE_Val << RTC_TAMPCTRL_IN2ACT_Pos)  /**< (RTC_TAMPCTRL) Wake and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN2ACT_CAPTURE         (RTC_TAMPCTRL_IN2ACT_CAPTURE_Val << RTC_TAMPCTRL_IN2ACT_Pos)  /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN2ACT_ACTL            (RTC_TAMPCTRL_IN2ACT_ACTL_Val << RTC_TAMPCTRL_IN2ACT_Pos)  /**< (RTC_TAMPCTRL) Compare IN2 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN3ACT_Pos             6                                              /**< (RTC_TAMPCTRL) Tamper Input 3 Action Position */
+#define RTC_TAMPCTRL_IN3ACT_Msk             (_U_(0x3) << RTC_TAMPCTRL_IN3ACT_Pos)          /**< (RTC_TAMPCTRL) Tamper Input 3 Action Mask */
+#define RTC_TAMPCTRL_IN3ACT(value)          (RTC_TAMPCTRL_IN3ACT_Msk & ((value) << RTC_TAMPCTRL_IN3ACT_Pos))
+#define   RTC_TAMPCTRL_IN3ACT_OFF_Val       _U_(0x0)                                       /**< (RTC_TAMPCTRL) Off (Disabled)  */
+#define   RTC_TAMPCTRL_IN3ACT_WAKE_Val      _U_(0x1)                                       /**< (RTC_TAMPCTRL) Wake and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN3ACT_CAPTURE_Val   _U_(0x2)                                       /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag  */
+#define   RTC_TAMPCTRL_IN3ACT_ACTL_Val      _U_(0x3)                                       /**< (RTC_TAMPCTRL) Compare IN3 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag  */
+#define RTC_TAMPCTRL_IN3ACT_OFF             (RTC_TAMPCTRL_IN3ACT_OFF_Val << RTC_TAMPCTRL_IN3ACT_Pos)  /**< (RTC_TAMPCTRL) Off (Disabled) Position  */
+#define RTC_TAMPCTRL_IN3ACT_WAKE            (RTC_TAMPCTRL_IN3ACT_WAKE_Val << RTC_TAMPCTRL_IN3ACT_Pos)  /**< (RTC_TAMPCTRL) Wake and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN3ACT_CAPTURE         (RTC_TAMPCTRL_IN3ACT_CAPTURE_Val << RTC_TAMPCTRL_IN3ACT_Pos)  /**< (RTC_TAMPCTRL) Capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_IN3ACT_ACTL            (RTC_TAMPCTRL_IN3ACT_ACTL_Val << RTC_TAMPCTRL_IN3ACT_Pos)  /**< (RTC_TAMPCTRL) Compare IN3 to OUT. When a mismatch occurs, capture timestamp and set Tamper flag Position  */
+#define RTC_TAMPCTRL_TAMLVL0_Pos            16                                             /**< (RTC_TAMPCTRL) Tamper Level Select 0 Position */
+#define RTC_TAMPCTRL_TAMLVL0_Msk            (_U_(0x1) << RTC_TAMPCTRL_TAMLVL0_Pos)         /**< (RTC_TAMPCTRL) Tamper Level Select 0 Mask */
+#define RTC_TAMPCTRL_TAMLVL0                RTC_TAMPCTRL_TAMLVL0_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_TAMLVL0_Msk instead */
+#define RTC_TAMPCTRL_TAMLVL1_Pos            17                                             /**< (RTC_TAMPCTRL) Tamper Level Select 1 Position */
+#define RTC_TAMPCTRL_TAMLVL1_Msk            (_U_(0x1) << RTC_TAMPCTRL_TAMLVL1_Pos)         /**< (RTC_TAMPCTRL) Tamper Level Select 1 Mask */
+#define RTC_TAMPCTRL_TAMLVL1                RTC_TAMPCTRL_TAMLVL1_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_TAMLVL1_Msk instead */
+#define RTC_TAMPCTRL_TAMLVL2_Pos            18                                             /**< (RTC_TAMPCTRL) Tamper Level Select 2 Position */
+#define RTC_TAMPCTRL_TAMLVL2_Msk            (_U_(0x1) << RTC_TAMPCTRL_TAMLVL2_Pos)         /**< (RTC_TAMPCTRL) Tamper Level Select 2 Mask */
+#define RTC_TAMPCTRL_TAMLVL2                RTC_TAMPCTRL_TAMLVL2_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_TAMLVL2_Msk instead */
+#define RTC_TAMPCTRL_TAMLVL3_Pos            19                                             /**< (RTC_TAMPCTRL) Tamper Level Select 3 Position */
+#define RTC_TAMPCTRL_TAMLVL3_Msk            (_U_(0x1) << RTC_TAMPCTRL_TAMLVL3_Pos)         /**< (RTC_TAMPCTRL) Tamper Level Select 3 Mask */
+#define RTC_TAMPCTRL_TAMLVL3                RTC_TAMPCTRL_TAMLVL3_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_TAMLVL3_Msk instead */
+#define RTC_TAMPCTRL_DEBNC0_Pos             24                                             /**< (RTC_TAMPCTRL) Debouncer Enable 0 Position */
+#define RTC_TAMPCTRL_DEBNC0_Msk             (_U_(0x1) << RTC_TAMPCTRL_DEBNC0_Pos)          /**< (RTC_TAMPCTRL) Debouncer Enable 0 Mask */
+#define RTC_TAMPCTRL_DEBNC0                 RTC_TAMPCTRL_DEBNC0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_DEBNC0_Msk instead */
+#define RTC_TAMPCTRL_DEBNC1_Pos             25                                             /**< (RTC_TAMPCTRL) Debouncer Enable 1 Position */
+#define RTC_TAMPCTRL_DEBNC1_Msk             (_U_(0x1) << RTC_TAMPCTRL_DEBNC1_Pos)          /**< (RTC_TAMPCTRL) Debouncer Enable 1 Mask */
+#define RTC_TAMPCTRL_DEBNC1                 RTC_TAMPCTRL_DEBNC1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_DEBNC1_Msk instead */
+#define RTC_TAMPCTRL_DEBNC2_Pos             26                                             /**< (RTC_TAMPCTRL) Debouncer Enable 2 Position */
+#define RTC_TAMPCTRL_DEBNC2_Msk             (_U_(0x1) << RTC_TAMPCTRL_DEBNC2_Pos)          /**< (RTC_TAMPCTRL) Debouncer Enable 2 Mask */
+#define RTC_TAMPCTRL_DEBNC2                 RTC_TAMPCTRL_DEBNC2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_DEBNC2_Msk instead */
+#define RTC_TAMPCTRL_DEBNC3_Pos             27                                             /**< (RTC_TAMPCTRL) Debouncer Enable 3 Position */
+#define RTC_TAMPCTRL_DEBNC3_Msk             (_U_(0x1) << RTC_TAMPCTRL_DEBNC3_Pos)          /**< (RTC_TAMPCTRL) Debouncer Enable 3 Mask */
+#define RTC_TAMPCTRL_DEBNC3                 RTC_TAMPCTRL_DEBNC3_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRL_DEBNC3_Msk instead */
+#define RTC_TAMPCTRL_MASK                   _U_(0xF0F00FF)                                 /**< \deprecated (RTC_TAMPCTRL) Register MASK  (Use RTC_TAMPCTRL_Msk instead)  */
+#define RTC_TAMPCTRL_Msk                    _U_(0xF0F00FF)                                 /**< (RTC_TAMPCTRL) Register Mask  */
+
+#define RTC_TAMPCTRL_TAMLVL_Pos             16                                             /**< (RTC_TAMPCTRL Position) Tamper Level Select x */
+#define RTC_TAMPCTRL_TAMLVL_Msk             (_U_(0xF) << RTC_TAMPCTRL_TAMLVL_Pos)          /**< (RTC_TAMPCTRL Mask) TAMLVL */
+#define RTC_TAMPCTRL_TAMLVL(value)          (RTC_TAMPCTRL_TAMLVL_Msk & ((value) << RTC_TAMPCTRL_TAMLVL_Pos))  
+#define RTC_TAMPCTRL_DEBNC_Pos              24                                             /**< (RTC_TAMPCTRL Position) Debouncer Enable 3 */
+#define RTC_TAMPCTRL_DEBNC_Msk              (_U_(0xF) << RTC_TAMPCTRL_DEBNC_Pos)           /**< (RTC_TAMPCTRL Mask) DEBNC */
+#define RTC_TAMPCTRL_DEBNC(value)           (RTC_TAMPCTRL_DEBNC_Msk & ((value) << RTC_TAMPCTRL_DEBNC_Pos))  
+
+/* -------- RTC_MODE0_TIMESTAMP : (RTC Offset: 0x64) (R/ 32) MODE0 Timestamp -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t COUNT:32;                  /**< bit:  0..31  Count Timestamp Value                    */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE0_TIMESTAMP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE0_TIMESTAMP_OFFSET          (0x64)                                        /**<  (RTC_MODE0_TIMESTAMP) MODE0 Timestamp  Offset */
+#define RTC_MODE0_TIMESTAMP_RESETVALUE      _U_(0x00)                                     /**<  (RTC_MODE0_TIMESTAMP) MODE0 Timestamp  Reset Value */
+
+#define RTC_MODE0_TIMESTAMP_COUNT_Pos       0                                              /**< (RTC_MODE0_TIMESTAMP) Count Timestamp Value Position */
+#define RTC_MODE0_TIMESTAMP_COUNT_Msk       (_U_(0xFFFFFFFF) << RTC_MODE0_TIMESTAMP_COUNT_Pos)  /**< (RTC_MODE0_TIMESTAMP) Count Timestamp Value Mask */
+#define RTC_MODE0_TIMESTAMP_COUNT(value)    (RTC_MODE0_TIMESTAMP_COUNT_Msk & ((value) << RTC_MODE0_TIMESTAMP_COUNT_Pos))
+#define RTC_MODE0_TIMESTAMP_MASK            _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE0_TIMESTAMP) Register MASK  (Use RTC_MODE0_TIMESTAMP_Msk instead)  */
+#define RTC_MODE0_TIMESTAMP_Msk             _U_(0xFFFFFFFF)                                /**< (RTC_MODE0_TIMESTAMP) Register Mask  */
+
+
+/* -------- RTC_MODE1_TIMESTAMP : (RTC Offset: 0x64) (R/ 32) MODE1 Timestamp -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t COUNT:16;                  /**< bit:  0..15  Count Timestamp Value                    */
+    uint32_t :16;                       /**< bit: 16..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE1_TIMESTAMP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE1_TIMESTAMP_OFFSET          (0x64)                                        /**<  (RTC_MODE1_TIMESTAMP) MODE1 Timestamp  Offset */
+#define RTC_MODE1_TIMESTAMP_RESETVALUE      _U_(0x00)                                     /**<  (RTC_MODE1_TIMESTAMP) MODE1 Timestamp  Reset Value */
+
+#define RTC_MODE1_TIMESTAMP_COUNT_Pos       0                                              /**< (RTC_MODE1_TIMESTAMP) Count Timestamp Value Position */
+#define RTC_MODE1_TIMESTAMP_COUNT_Msk       (_U_(0xFFFF) << RTC_MODE1_TIMESTAMP_COUNT_Pos)  /**< (RTC_MODE1_TIMESTAMP) Count Timestamp Value Mask */
+#define RTC_MODE1_TIMESTAMP_COUNT(value)    (RTC_MODE1_TIMESTAMP_COUNT_Msk & ((value) << RTC_MODE1_TIMESTAMP_COUNT_Pos))
+#define RTC_MODE1_TIMESTAMP_MASK            _U_(0xFFFF)                                    /**< \deprecated (RTC_MODE1_TIMESTAMP) Register MASK  (Use RTC_MODE1_TIMESTAMP_Msk instead)  */
+#define RTC_MODE1_TIMESTAMP_Msk             _U_(0xFFFF)                                    /**< (RTC_MODE1_TIMESTAMP) Register Mask  */
+
+
+/* -------- RTC_MODE2_TIMESTAMP : (RTC Offset: 0x64) (R/ 32) MODE2 Timestamp -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SECOND:6;                  /**< bit:   0..5  Second Timestamp Value                   */
+    uint32_t MINUTE:6;                  /**< bit:  6..11  Minute Timestamp Value                   */
+    uint32_t HOUR:5;                    /**< bit: 12..16  Hour Timestamp Value                     */
+    uint32_t DAY:5;                     /**< bit: 17..21  Day Timestamp Value                      */
+    uint32_t MONTH:4;                   /**< bit: 22..25  Month Timestamp Value                    */
+    uint32_t YEAR:6;                    /**< bit: 26..31  Year Timestamp Value                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_MODE2_TIMESTAMP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_MODE2_TIMESTAMP_OFFSET          (0x64)                                        /**<  (RTC_MODE2_TIMESTAMP) MODE2 Timestamp  Offset */
+#define RTC_MODE2_TIMESTAMP_RESETVALUE      _U_(0x00)                                     /**<  (RTC_MODE2_TIMESTAMP) MODE2 Timestamp  Reset Value */
+
+#define RTC_MODE2_TIMESTAMP_SECOND_Pos      0                                              /**< (RTC_MODE2_TIMESTAMP) Second Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_SECOND_Msk      (_U_(0x3F) << RTC_MODE2_TIMESTAMP_SECOND_Pos)  /**< (RTC_MODE2_TIMESTAMP) Second Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_SECOND(value)   (RTC_MODE2_TIMESTAMP_SECOND_Msk & ((value) << RTC_MODE2_TIMESTAMP_SECOND_Pos))
+#define RTC_MODE2_TIMESTAMP_MINUTE_Pos      6                                              /**< (RTC_MODE2_TIMESTAMP) Minute Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_MINUTE_Msk      (_U_(0x3F) << RTC_MODE2_TIMESTAMP_MINUTE_Pos)  /**< (RTC_MODE2_TIMESTAMP) Minute Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_MINUTE(value)   (RTC_MODE2_TIMESTAMP_MINUTE_Msk & ((value) << RTC_MODE2_TIMESTAMP_MINUTE_Pos))
+#define RTC_MODE2_TIMESTAMP_HOUR_Pos        12                                             /**< (RTC_MODE2_TIMESTAMP) Hour Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_HOUR_Msk        (_U_(0x1F) << RTC_MODE2_TIMESTAMP_HOUR_Pos)    /**< (RTC_MODE2_TIMESTAMP) Hour Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_HOUR(value)     (RTC_MODE2_TIMESTAMP_HOUR_Msk & ((value) << RTC_MODE2_TIMESTAMP_HOUR_Pos))
+#define RTC_MODE2_TIMESTAMP_DAY_Pos         17                                             /**< (RTC_MODE2_TIMESTAMP) Day Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_DAY_Msk         (_U_(0x1F) << RTC_MODE2_TIMESTAMP_DAY_Pos)     /**< (RTC_MODE2_TIMESTAMP) Day Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_DAY(value)      (RTC_MODE2_TIMESTAMP_DAY_Msk & ((value) << RTC_MODE2_TIMESTAMP_DAY_Pos))
+#define RTC_MODE2_TIMESTAMP_MONTH_Pos       22                                             /**< (RTC_MODE2_TIMESTAMP) Month Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_MONTH_Msk       (_U_(0xF) << RTC_MODE2_TIMESTAMP_MONTH_Pos)    /**< (RTC_MODE2_TIMESTAMP) Month Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_MONTH(value)    (RTC_MODE2_TIMESTAMP_MONTH_Msk & ((value) << RTC_MODE2_TIMESTAMP_MONTH_Pos))
+#define RTC_MODE2_TIMESTAMP_YEAR_Pos        26                                             /**< (RTC_MODE2_TIMESTAMP) Year Timestamp Value Position */
+#define RTC_MODE2_TIMESTAMP_YEAR_Msk        (_U_(0x3F) << RTC_MODE2_TIMESTAMP_YEAR_Pos)    /**< (RTC_MODE2_TIMESTAMP) Year Timestamp Value Mask */
+#define RTC_MODE2_TIMESTAMP_YEAR(value)     (RTC_MODE2_TIMESTAMP_YEAR_Msk & ((value) << RTC_MODE2_TIMESTAMP_YEAR_Pos))
+#define RTC_MODE2_TIMESTAMP_MASK            _U_(0xFFFFFFFF)                                /**< \deprecated (RTC_MODE2_TIMESTAMP) Register MASK  (Use RTC_MODE2_TIMESTAMP_Msk instead)  */
+#define RTC_MODE2_TIMESTAMP_Msk             _U_(0xFFFFFFFF)                                /**< (RTC_MODE2_TIMESTAMP) Register Mask  */
+
+
+/* -------- RTC_TAMPID : (RTC Offset: 0x68) (R/W 32) Tamper ID -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t TAMPID0:1;                 /**< bit:      0  Tamper Input 0 Detected                  */
+    uint32_t TAMPID1:1;                 /**< bit:      1  Tamper Input 1 Detected                  */
+    uint32_t TAMPID2:1;                 /**< bit:      2  Tamper Input 2 Detected                  */
+    uint32_t TAMPID3:1;                 /**< bit:      3  Tamper Input 3 Detected                  */
+    uint32_t :27;                       /**< bit:  4..30  Reserved */
+    uint32_t TAMPEVT:1;                 /**< bit:     31  Tamper Event Detected                    */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t TAMPID:4;                  /**< bit:   0..3  Tamper Input x Detected                  */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_TAMPID_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_TAMPID_OFFSET                   (0x68)                                        /**<  (RTC_TAMPID) Tamper ID  Offset */
+#define RTC_TAMPID_RESETVALUE               _U_(0x00)                                     /**<  (RTC_TAMPID) Tamper ID  Reset Value */
+
+#define RTC_TAMPID_TAMPID0_Pos              0                                              /**< (RTC_TAMPID) Tamper Input 0 Detected Position */
+#define RTC_TAMPID_TAMPID0_Msk              (_U_(0x1) << RTC_TAMPID_TAMPID0_Pos)           /**< (RTC_TAMPID) Tamper Input 0 Detected Mask */
+#define RTC_TAMPID_TAMPID0                  RTC_TAMPID_TAMPID0_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPID_TAMPID0_Msk instead */
+#define RTC_TAMPID_TAMPID1_Pos              1                                              /**< (RTC_TAMPID) Tamper Input 1 Detected Position */
+#define RTC_TAMPID_TAMPID1_Msk              (_U_(0x1) << RTC_TAMPID_TAMPID1_Pos)           /**< (RTC_TAMPID) Tamper Input 1 Detected Mask */
+#define RTC_TAMPID_TAMPID1                  RTC_TAMPID_TAMPID1_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPID_TAMPID1_Msk instead */
+#define RTC_TAMPID_TAMPID2_Pos              2                                              /**< (RTC_TAMPID) Tamper Input 2 Detected Position */
+#define RTC_TAMPID_TAMPID2_Msk              (_U_(0x1) << RTC_TAMPID_TAMPID2_Pos)           /**< (RTC_TAMPID) Tamper Input 2 Detected Mask */
+#define RTC_TAMPID_TAMPID2                  RTC_TAMPID_TAMPID2_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPID_TAMPID2_Msk instead */
+#define RTC_TAMPID_TAMPID3_Pos              3                                              /**< (RTC_TAMPID) Tamper Input 3 Detected Position */
+#define RTC_TAMPID_TAMPID3_Msk              (_U_(0x1) << RTC_TAMPID_TAMPID3_Pos)           /**< (RTC_TAMPID) Tamper Input 3 Detected Mask */
+#define RTC_TAMPID_TAMPID3                  RTC_TAMPID_TAMPID3_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPID_TAMPID3_Msk instead */
+#define RTC_TAMPID_TAMPEVT_Pos              31                                             /**< (RTC_TAMPID) Tamper Event Detected Position */
+#define RTC_TAMPID_TAMPEVT_Msk              (_U_(0x1) << RTC_TAMPID_TAMPEVT_Pos)           /**< (RTC_TAMPID) Tamper Event Detected Mask */
+#define RTC_TAMPID_TAMPEVT                  RTC_TAMPID_TAMPEVT_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPID_TAMPEVT_Msk instead */
+#define RTC_TAMPID_MASK                     _U_(0x8000000F)                                /**< \deprecated (RTC_TAMPID) Register MASK  (Use RTC_TAMPID_Msk instead)  */
+#define RTC_TAMPID_Msk                      _U_(0x8000000F)                                /**< (RTC_TAMPID) Register Mask  */
+
+#define RTC_TAMPID_TAMPID_Pos               0                                              /**< (RTC_TAMPID Position) Tamper Input x Detected */
+#define RTC_TAMPID_TAMPID_Msk               (_U_(0xF) << RTC_TAMPID_TAMPID_Pos)            /**< (RTC_TAMPID Mask) TAMPID */
+#define RTC_TAMPID_TAMPID(value)            (RTC_TAMPID_TAMPID_Msk & ((value) << RTC_TAMPID_TAMPID_Pos))  
+
+/* -------- RTC_TAMPCTRLB : (RTC Offset: 0x6c) (R/W 32) Tamper Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t ALSI0:1;                   /**< bit:      0  Active Layer Select Internal 0           */
+    uint32_t ALSI1:1;                   /**< bit:      1  Active Layer Select Internal 1           */
+    uint32_t ALSI2:1;                   /**< bit:      2  Active Layer Select Internal 2           */
+    uint32_t ALSI3:1;                   /**< bit:      3  Active Layer Select Internal 3           */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t ALSI:4;                    /**< bit:   0..3  Active Layer Select Internal 3           */
+    uint32_t :28;                       /**< bit:  4..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} RTC_TAMPCTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define RTC_TAMPCTRLB_OFFSET                (0x6C)                                        /**<  (RTC_TAMPCTRLB) Tamper Control B  Offset */
+#define RTC_TAMPCTRLB_RESETVALUE            _U_(0x00)                                     /**<  (RTC_TAMPCTRLB) Tamper Control B  Reset Value */
+
+#define RTC_TAMPCTRLB_ALSI0_Pos             0                                              /**< (RTC_TAMPCTRLB) Active Layer Select Internal 0 Position */
+#define RTC_TAMPCTRLB_ALSI0_Msk             (_U_(0x1) << RTC_TAMPCTRLB_ALSI0_Pos)          /**< (RTC_TAMPCTRLB) Active Layer Select Internal 0 Mask */
+#define RTC_TAMPCTRLB_ALSI0                 RTC_TAMPCTRLB_ALSI0_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRLB_ALSI0_Msk instead */
+#define RTC_TAMPCTRLB_ALSI1_Pos             1                                              /**< (RTC_TAMPCTRLB) Active Layer Select Internal 1 Position */
+#define RTC_TAMPCTRLB_ALSI1_Msk             (_U_(0x1) << RTC_TAMPCTRLB_ALSI1_Pos)          /**< (RTC_TAMPCTRLB) Active Layer Select Internal 1 Mask */
+#define RTC_TAMPCTRLB_ALSI1                 RTC_TAMPCTRLB_ALSI1_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRLB_ALSI1_Msk instead */
+#define RTC_TAMPCTRLB_ALSI2_Pos             2                                              /**< (RTC_TAMPCTRLB) Active Layer Select Internal 2 Position */
+#define RTC_TAMPCTRLB_ALSI2_Msk             (_U_(0x1) << RTC_TAMPCTRLB_ALSI2_Pos)          /**< (RTC_TAMPCTRLB) Active Layer Select Internal 2 Mask */
+#define RTC_TAMPCTRLB_ALSI2                 RTC_TAMPCTRLB_ALSI2_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRLB_ALSI2_Msk instead */
+#define RTC_TAMPCTRLB_ALSI3_Pos             3                                              /**< (RTC_TAMPCTRLB) Active Layer Select Internal 3 Position */
+#define RTC_TAMPCTRLB_ALSI3_Msk             (_U_(0x1) << RTC_TAMPCTRLB_ALSI3_Pos)          /**< (RTC_TAMPCTRLB) Active Layer Select Internal 3 Mask */
+#define RTC_TAMPCTRLB_ALSI3                 RTC_TAMPCTRLB_ALSI3_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use RTC_TAMPCTRLB_ALSI3_Msk instead */
+#define RTC_TAMPCTRLB_MASK                  _U_(0x0F)                                      /**< \deprecated (RTC_TAMPCTRLB) Register MASK  (Use RTC_TAMPCTRLB_Msk instead)  */
+#define RTC_TAMPCTRLB_Msk                   _U_(0x0F)                                      /**< (RTC_TAMPCTRLB) Register Mask  */
+
+#define RTC_TAMPCTRLB_ALSI_Pos              0                                              /**< (RTC_TAMPCTRLB Position) Active Layer Select Internal 3 */
+#define RTC_TAMPCTRLB_ALSI_Msk              (_U_(0xF) << RTC_TAMPCTRLB_ALSI_Pos)           /**< (RTC_TAMPCTRLB Mask) ALSI */
+#define RTC_TAMPCTRLB_ALSI(value)           (RTC_TAMPCTRLB_ALSI_Msk & ((value) << RTC_TAMPCTRLB_ALSI_Pos))  
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief MODE2_ALARM hardware registers */
+typedef struct {  
+  __IO RTC_MODE2_ALARM_Type           ALARM;          /**< Offset: 0x00 (R/W  32) MODE2_ALARM Alarm n Value */
+  __IO RTC_MODE2_MASK_Type            MASK;           /**< Offset: 0x04 (R/W   8) MODE2_ALARM Alarm n Mask */
+  __I  uint8_t                        Reserved1[3];
+} RtcMode2Alarm;
+
+/** \brief RTC hardware registers */
+typedef struct {  /* Real-Time Counter */
+  __IO RTC_MODE0_CTRLA_Type           CTRLA;          /**< Offset: 0x00 (R/W  16) MODE0 Control A */
+  __IO RTC_MODE0_CTRLB_Type           CTRLB;          /**< Offset: 0x02 (R/W  16) MODE0 Control B */
+  __IO RTC_MODE0_EVCTRL_Type          EVCTRL;         /**< Offset: 0x04 (R/W  32) MODE0 Event Control */
+  __IO RTC_MODE0_INTENCLR_Type        INTENCLR;       /**< Offset: 0x08 (R/W  16) MODE0 Interrupt Enable Clear */
+  __IO RTC_MODE0_INTENSET_Type        INTENSET;       /**< Offset: 0x0A (R/W  16) MODE0 Interrupt Enable Set */
+  __IO RTC_MODE0_INTFLAG_Type         INTFLAG;        /**< Offset: 0x0C (R/W  16) MODE0 Interrupt Flag Status and Clear */
+  __IO RTC_DBGCTRL_Type               DBGCTRL;        /**< Offset: 0x0E (R/W   8) Debug Control */
+  __I  uint8_t                        Reserved1[1];
+  __I  RTC_MODE0_SYNCBUSY_Type        SYNCBUSY;       /**< Offset: 0x10 (R/   32) MODE0 Synchronization Busy Status */
+  __IO RTC_FREQCORR_Type              FREQCORR;       /**< Offset: 0x14 (R/W   8) Frequency Correction */
+  __I  uint8_t                        Reserved2[3];
+  __IO RTC_MODE0_COUNT_Type           COUNT;          /**< Offset: 0x18 (R/W  32) MODE0 Counter Value */
+  __I  uint8_t                        Reserved3[4];
+  __IO RTC_MODE0_COMP_Type            COMP[1];        /**< Offset: 0x20 (R/W  32) MODE0 Compare n Value */
+  __I  uint8_t                        Reserved4[28];
+  __IO RTC_GP_Type                    GP[2];          /**< Offset: 0x40 (R/W  32) General Purpose */
+  __I  uint8_t                        Reserved5[24];
+  __IO RTC_TAMPCTRL_Type              TAMPCTRL;       /**< Offset: 0x60 (R/W  32) Tamper Control */
+  __I  RTC_MODE0_TIMESTAMP_Type       TIMESTAMP;      /**< Offset: 0x64 (R/   32) MODE0 Timestamp */
+  __IO RTC_TAMPID_Type                TAMPID;         /**< Offset: 0x68 (R/W  32) Tamper ID */
+  __IO RTC_TAMPCTRLB_Type             TAMPCTRLB;      /**< Offset: 0x6C (R/W  32) Tamper Control B */
+} RtcMode0;
+
+/** \brief RTC hardware registers */
+typedef struct {  /* Real-Time Counter */
+  __IO RTC_MODE1_CTRLA_Type           CTRLA;          /**< Offset: 0x00 (R/W  16) MODE1 Control A */
+  __IO RTC_MODE1_CTRLB_Type           CTRLB;          /**< Offset: 0x02 (R/W  16) MODE1 Control B */
+  __IO RTC_MODE1_EVCTRL_Type          EVCTRL;         /**< Offset: 0x04 (R/W  32) MODE1 Event Control */
+  __IO RTC_MODE1_INTENCLR_Type        INTENCLR;       /**< Offset: 0x08 (R/W  16) MODE1 Interrupt Enable Clear */
+  __IO RTC_MODE1_INTENSET_Type        INTENSET;       /**< Offset: 0x0A (R/W  16) MODE1 Interrupt Enable Set */
+  __IO RTC_MODE1_INTFLAG_Type         INTFLAG;        /**< Offset: 0x0C (R/W  16) MODE1 Interrupt Flag Status and Clear */
+  __IO RTC_DBGCTRL_Type               DBGCTRL;        /**< Offset: 0x0E (R/W   8) Debug Control */
+  __I  uint8_t                        Reserved1[1];
+  __I  RTC_MODE1_SYNCBUSY_Type        SYNCBUSY;       /**< Offset: 0x10 (R/   32) MODE1 Synchronization Busy Status */
+  __IO RTC_FREQCORR_Type              FREQCORR;       /**< Offset: 0x14 (R/W   8) Frequency Correction */
+  __I  uint8_t                        Reserved2[3];
+  __IO RTC_MODE1_COUNT_Type           COUNT;          /**< Offset: 0x18 (R/W  16) MODE1 Counter Value */
+  __I  uint8_t                        Reserved3[2];
+  __IO RTC_MODE1_PER_Type             PER;            /**< Offset: 0x1C (R/W  16) MODE1 Counter Period */
+  __I  uint8_t                        Reserved4[2];
+  __IO RTC_MODE1_COMP_Type            COMP[2];        /**< Offset: 0x20 (R/W  16) MODE1 Compare n Value */
+  __I  uint8_t                        Reserved5[28];
+  __IO RTC_GP_Type                    GP[2];          /**< Offset: 0x40 (R/W  32) General Purpose */
+  __I  uint8_t                        Reserved6[24];
+  __IO RTC_TAMPCTRL_Type              TAMPCTRL;       /**< Offset: 0x60 (R/W  32) Tamper Control */
+  __I  RTC_MODE1_TIMESTAMP_Type       TIMESTAMP;      /**< Offset: 0x64 (R/   32) MODE1 Timestamp */
+  __IO RTC_TAMPID_Type                TAMPID;         /**< Offset: 0x68 (R/W  32) Tamper ID */
+  __IO RTC_TAMPCTRLB_Type             TAMPCTRLB;      /**< Offset: 0x6C (R/W  32) Tamper Control B */
+} RtcMode1;
+
+/** \brief RTC hardware registers */
+typedef struct {  /* Real-Time Counter */
+  __IO RTC_MODE2_CTRLA_Type           CTRLA;          /**< Offset: 0x00 (R/W  16) MODE2 Control A */
+  __IO RTC_MODE2_CTRLB_Type           CTRLB;          /**< Offset: 0x02 (R/W  16) MODE2 Control B */
+  __IO RTC_MODE2_EVCTRL_Type          EVCTRL;         /**< Offset: 0x04 (R/W  32) MODE2 Event Control */
+  __IO RTC_MODE2_INTENCLR_Type        INTENCLR;       /**< Offset: 0x08 (R/W  16) MODE2 Interrupt Enable Clear */
+  __IO RTC_MODE2_INTENSET_Type        INTENSET;       /**< Offset: 0x0A (R/W  16) MODE2 Interrupt Enable Set */
+  __IO RTC_MODE2_INTFLAG_Type         INTFLAG;        /**< Offset: 0x0C (R/W  16) MODE2 Interrupt Flag Status and Clear */
+  __IO RTC_DBGCTRL_Type               DBGCTRL;        /**< Offset: 0x0E (R/W   8) Debug Control */
+  __I  uint8_t                        Reserved1[1];
+  __I  RTC_MODE2_SYNCBUSY_Type        SYNCBUSY;       /**< Offset: 0x10 (R/   32) MODE2 Synchronization Busy Status */
+  __IO RTC_FREQCORR_Type              FREQCORR;       /**< Offset: 0x14 (R/W   8) Frequency Correction */
+  __I  uint8_t                        Reserved2[3];
+  __IO RTC_MODE2_CLOCK_Type           CLOCK;          /**< Offset: 0x18 (R/W  32) MODE2 Clock Value */
+  __I  uint8_t                        Reserved3[4];
+       RtcMode2Alarm                  Mode2Alarm[1];  /**< Offset: 0x20  */
+  __I  uint8_t                        Reserved4[24];
+  __IO RTC_GP_Type                    GP[2];          /**< Offset: 0x40 (R/W  32) General Purpose */
+  __I  uint8_t                        Reserved5[24];
+  __IO RTC_TAMPCTRL_Type              TAMPCTRL;       /**< Offset: 0x60 (R/W  32) Tamper Control */
+  __I  RTC_MODE2_TIMESTAMP_Type       TIMESTAMP;      /**< Offset: 0x64 (R/   32) MODE2 Timestamp */
+  __IO RTC_TAMPID_Type                TAMPID;         /**< Offset: 0x68 (R/W  32) Tamper ID */
+  __IO RTC_TAMPCTRLB_Type             TAMPCTRLB;      /**< Offset: 0x6C (R/W  32) Tamper Control B */
+} RtcMode2;
+
+/** \brief RTC hardware registers */
+typedef union {  /* Real-Time Counter */
+       RtcMode0                       MODE0;          /**< 32-bit Counter with Single 32-bit Compare */
+       RtcMode1                       MODE1;          /**< 16-bit Counter with Two 16-bit Compares */
+       RtcMode2                       MODE2;          /**< Clock/Calendar with Alarm */
+} Rtc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Real-Time Counter */
+
+#endif /* _SAML11_RTC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/sercom.h b/cpu/sam0_common/include/vendor/saml11/include/component/sercom.h
new file mode 100644
index 0000000000..daadd20866
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/sercom.h
@@ -0,0 +1,1759 @@
+/**
+ * \file
+ *
+ * \brief Component description for SERCOM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_SERCOM_COMPONENT_H_
+#define _SAML11_SERCOM_COMPONENT_H_
+#define _SAML11_SERCOM_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Serial Communication Interface
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR SERCOM */
+/* ========================================================================== */
+
+#define SERCOM_U2201                      /**< (SERCOM) Module ID */
+#define REV_SERCOM 0x410                  /**< (SERCOM) Module revision */
+
+/* -------- SERCOM_I2CM_CTRLA : (SERCOM Offset: 0x00) (R/W 32) I2CM Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t MODE:3;                    /**< bit:   2..4  Operating Mode                           */
+    uint32_t :2;                        /**< bit:   5..6  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:      7  Run in Standby                           */
+    uint32_t :8;                        /**< bit:  8..15  Reserved */
+    uint32_t PINOUT:1;                  /**< bit:     16  Pin Usage                                */
+    uint32_t :3;                        /**< bit: 17..19  Reserved */
+    uint32_t SDAHOLD:2;                 /**< bit: 20..21  SDA Hold Time                            */
+    uint32_t MEXTTOEN:1;                /**< bit:     22  Master SCL Low Extend Timeout            */
+    uint32_t SEXTTOEN:1;                /**< bit:     23  Slave SCL Low Extend Timeout             */
+    uint32_t SPEED:2;                   /**< bit: 24..25  Transfer Speed                           */
+    uint32_t :1;                        /**< bit:     26  Reserved */
+    uint32_t SCLSM:1;                   /**< bit:     27  SCL Clock Stretch Mode                   */
+    uint32_t INACTOUT:2;                /**< bit: 28..29  Inactive Time-Out                        */
+    uint32_t LOWTOUTEN:1;               /**< bit:     30  SCL Low Timeout Enable                   */
+    uint32_t :1;                        /**< bit:     31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_CTRLA_OFFSET            (0x00)                                        /**<  (SERCOM_I2CM_CTRLA) I2CM Control A  Offset */
+#define SERCOM_I2CM_CTRLA_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_I2CM_CTRLA) I2CM Control A  Reset Value */
+
+#define SERCOM_I2CM_CTRLA_SWRST_Pos         0                                              /**< (SERCOM_I2CM_CTRLA) Software Reset Position */
+#define SERCOM_I2CM_CTRLA_SWRST_Msk         (_U_(0x1) << SERCOM_I2CM_CTRLA_SWRST_Pos)      /**< (SERCOM_I2CM_CTRLA) Software Reset Mask */
+#define SERCOM_I2CM_CTRLA_SWRST             SERCOM_I2CM_CTRLA_SWRST_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_SWRST_Msk instead */
+#define SERCOM_I2CM_CTRLA_ENABLE_Pos        1                                              /**< (SERCOM_I2CM_CTRLA) Enable Position */
+#define SERCOM_I2CM_CTRLA_ENABLE_Msk        (_U_(0x1) << SERCOM_I2CM_CTRLA_ENABLE_Pos)     /**< (SERCOM_I2CM_CTRLA) Enable Mask */
+#define SERCOM_I2CM_CTRLA_ENABLE            SERCOM_I2CM_CTRLA_ENABLE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_ENABLE_Msk instead */
+#define SERCOM_I2CM_CTRLA_MODE_Pos          2                                              /**< (SERCOM_I2CM_CTRLA) Operating Mode Position */
+#define SERCOM_I2CM_CTRLA_MODE_Msk          (_U_(0x7) << SERCOM_I2CM_CTRLA_MODE_Pos)       /**< (SERCOM_I2CM_CTRLA) Operating Mode Mask */
+#define SERCOM_I2CM_CTRLA_MODE(value)       (SERCOM_I2CM_CTRLA_MODE_Msk & ((value) << SERCOM_I2CM_CTRLA_MODE_Pos))
+#define SERCOM_I2CM_CTRLA_RUNSTDBY_Pos      7                                              /**< (SERCOM_I2CM_CTRLA) Run in Standby Position */
+#define SERCOM_I2CM_CTRLA_RUNSTDBY_Msk      (_U_(0x1) << SERCOM_I2CM_CTRLA_RUNSTDBY_Pos)   /**< (SERCOM_I2CM_CTRLA) Run in Standby Mask */
+#define SERCOM_I2CM_CTRLA_RUNSTDBY          SERCOM_I2CM_CTRLA_RUNSTDBY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_RUNSTDBY_Msk instead */
+#define SERCOM_I2CM_CTRLA_PINOUT_Pos        16                                             /**< (SERCOM_I2CM_CTRLA) Pin Usage Position */
+#define SERCOM_I2CM_CTRLA_PINOUT_Msk        (_U_(0x1) << SERCOM_I2CM_CTRLA_PINOUT_Pos)     /**< (SERCOM_I2CM_CTRLA) Pin Usage Mask */
+#define SERCOM_I2CM_CTRLA_PINOUT            SERCOM_I2CM_CTRLA_PINOUT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_PINOUT_Msk instead */
+#define SERCOM_I2CM_CTRLA_SDAHOLD_Pos       20                                             /**< (SERCOM_I2CM_CTRLA) SDA Hold Time Position */
+#define SERCOM_I2CM_CTRLA_SDAHOLD_Msk       (_U_(0x3) << SERCOM_I2CM_CTRLA_SDAHOLD_Pos)    /**< (SERCOM_I2CM_CTRLA) SDA Hold Time Mask */
+#define SERCOM_I2CM_CTRLA_SDAHOLD(value)    (SERCOM_I2CM_CTRLA_SDAHOLD_Msk & ((value) << SERCOM_I2CM_CTRLA_SDAHOLD_Pos))
+#define SERCOM_I2CM_CTRLA_MEXTTOEN_Pos      22                                             /**< (SERCOM_I2CM_CTRLA) Master SCL Low Extend Timeout Position */
+#define SERCOM_I2CM_CTRLA_MEXTTOEN_Msk      (_U_(0x1) << SERCOM_I2CM_CTRLA_MEXTTOEN_Pos)   /**< (SERCOM_I2CM_CTRLA) Master SCL Low Extend Timeout Mask */
+#define SERCOM_I2CM_CTRLA_MEXTTOEN          SERCOM_I2CM_CTRLA_MEXTTOEN_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_MEXTTOEN_Msk instead */
+#define SERCOM_I2CM_CTRLA_SEXTTOEN_Pos      23                                             /**< (SERCOM_I2CM_CTRLA) Slave SCL Low Extend Timeout Position */
+#define SERCOM_I2CM_CTRLA_SEXTTOEN_Msk      (_U_(0x1) << SERCOM_I2CM_CTRLA_SEXTTOEN_Pos)   /**< (SERCOM_I2CM_CTRLA) Slave SCL Low Extend Timeout Mask */
+#define SERCOM_I2CM_CTRLA_SEXTTOEN          SERCOM_I2CM_CTRLA_SEXTTOEN_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_SEXTTOEN_Msk instead */
+#define SERCOM_I2CM_CTRLA_SPEED_Pos         24                                             /**< (SERCOM_I2CM_CTRLA) Transfer Speed Position */
+#define SERCOM_I2CM_CTRLA_SPEED_Msk         (_U_(0x3) << SERCOM_I2CM_CTRLA_SPEED_Pos)      /**< (SERCOM_I2CM_CTRLA) Transfer Speed Mask */
+#define SERCOM_I2CM_CTRLA_SPEED(value)      (SERCOM_I2CM_CTRLA_SPEED_Msk & ((value) << SERCOM_I2CM_CTRLA_SPEED_Pos))
+#define SERCOM_I2CM_CTRLA_SCLSM_Pos         27                                             /**< (SERCOM_I2CM_CTRLA) SCL Clock Stretch Mode Position */
+#define SERCOM_I2CM_CTRLA_SCLSM_Msk         (_U_(0x1) << SERCOM_I2CM_CTRLA_SCLSM_Pos)      /**< (SERCOM_I2CM_CTRLA) SCL Clock Stretch Mode Mask */
+#define SERCOM_I2CM_CTRLA_SCLSM             SERCOM_I2CM_CTRLA_SCLSM_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_SCLSM_Msk instead */
+#define SERCOM_I2CM_CTRLA_INACTOUT_Pos      28                                             /**< (SERCOM_I2CM_CTRLA) Inactive Time-Out Position */
+#define SERCOM_I2CM_CTRLA_INACTOUT_Msk      (_U_(0x3) << SERCOM_I2CM_CTRLA_INACTOUT_Pos)   /**< (SERCOM_I2CM_CTRLA) Inactive Time-Out Mask */
+#define SERCOM_I2CM_CTRLA_INACTOUT(value)   (SERCOM_I2CM_CTRLA_INACTOUT_Msk & ((value) << SERCOM_I2CM_CTRLA_INACTOUT_Pos))
+#define SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos     30                                             /**< (SERCOM_I2CM_CTRLA) SCL Low Timeout Enable Position */
+#define SERCOM_I2CM_CTRLA_LOWTOUTEN_Msk     (_U_(0x1) << SERCOM_I2CM_CTRLA_LOWTOUTEN_Pos)  /**< (SERCOM_I2CM_CTRLA) SCL Low Timeout Enable Mask */
+#define SERCOM_I2CM_CTRLA_LOWTOUTEN         SERCOM_I2CM_CTRLA_LOWTOUTEN_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLA_LOWTOUTEN_Msk instead */
+#define SERCOM_I2CM_CTRLA_MASK              _U_(0x7BF1009F)                                /**< \deprecated (SERCOM_I2CM_CTRLA) Register MASK  (Use SERCOM_I2CM_CTRLA_Msk instead)  */
+#define SERCOM_I2CM_CTRLA_Msk               _U_(0x7BF1009F)                                /**< (SERCOM_I2CM_CTRLA) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_CTRLA : (SERCOM Offset: 0x00) (R/W 32) I2CS Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t MODE:3;                    /**< bit:   2..4  Operating Mode                           */
+    uint32_t :2;                        /**< bit:   5..6  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:      7  Run during Standby                       */
+    uint32_t :8;                        /**< bit:  8..15  Reserved */
+    uint32_t PINOUT:1;                  /**< bit:     16  Pin Usage                                */
+    uint32_t :3;                        /**< bit: 17..19  Reserved */
+    uint32_t SDAHOLD:2;                 /**< bit: 20..21  SDA Hold Time                            */
+    uint32_t :1;                        /**< bit:     22  Reserved */
+    uint32_t SEXTTOEN:1;                /**< bit:     23  Slave SCL Low Extend Timeout             */
+    uint32_t SPEED:2;                   /**< bit: 24..25  Transfer Speed                           */
+    uint32_t :1;                        /**< bit:     26  Reserved */
+    uint32_t SCLSM:1;                   /**< bit:     27  SCL Clock Stretch Mode                   */
+    uint32_t :2;                        /**< bit: 28..29  Reserved */
+    uint32_t LOWTOUTEN:1;               /**< bit:     30  SCL Low Timeout Enable                   */
+    uint32_t :1;                        /**< bit:     31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CS_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_CTRLA_OFFSET            (0x00)                                        /**<  (SERCOM_I2CS_CTRLA) I2CS Control A  Offset */
+#define SERCOM_I2CS_CTRLA_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_I2CS_CTRLA) I2CS Control A  Reset Value */
+
+#define SERCOM_I2CS_CTRLA_SWRST_Pos         0                                              /**< (SERCOM_I2CS_CTRLA) Software Reset Position */
+#define SERCOM_I2CS_CTRLA_SWRST_Msk         (_U_(0x1) << SERCOM_I2CS_CTRLA_SWRST_Pos)      /**< (SERCOM_I2CS_CTRLA) Software Reset Mask */
+#define SERCOM_I2CS_CTRLA_SWRST             SERCOM_I2CS_CTRLA_SWRST_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_SWRST_Msk instead */
+#define SERCOM_I2CS_CTRLA_ENABLE_Pos        1                                              /**< (SERCOM_I2CS_CTRLA) Enable Position */
+#define SERCOM_I2CS_CTRLA_ENABLE_Msk        (_U_(0x1) << SERCOM_I2CS_CTRLA_ENABLE_Pos)     /**< (SERCOM_I2CS_CTRLA) Enable Mask */
+#define SERCOM_I2CS_CTRLA_ENABLE            SERCOM_I2CS_CTRLA_ENABLE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_ENABLE_Msk instead */
+#define SERCOM_I2CS_CTRLA_MODE_Pos          2                                              /**< (SERCOM_I2CS_CTRLA) Operating Mode Position */
+#define SERCOM_I2CS_CTRLA_MODE_Msk          (_U_(0x7) << SERCOM_I2CS_CTRLA_MODE_Pos)       /**< (SERCOM_I2CS_CTRLA) Operating Mode Mask */
+#define SERCOM_I2CS_CTRLA_MODE(value)       (SERCOM_I2CS_CTRLA_MODE_Msk & ((value) << SERCOM_I2CS_CTRLA_MODE_Pos))
+#define SERCOM_I2CS_CTRLA_RUNSTDBY_Pos      7                                              /**< (SERCOM_I2CS_CTRLA) Run during Standby Position */
+#define SERCOM_I2CS_CTRLA_RUNSTDBY_Msk      (_U_(0x1) << SERCOM_I2CS_CTRLA_RUNSTDBY_Pos)   /**< (SERCOM_I2CS_CTRLA) Run during Standby Mask */
+#define SERCOM_I2CS_CTRLA_RUNSTDBY          SERCOM_I2CS_CTRLA_RUNSTDBY_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_RUNSTDBY_Msk instead */
+#define SERCOM_I2CS_CTRLA_PINOUT_Pos        16                                             /**< (SERCOM_I2CS_CTRLA) Pin Usage Position */
+#define SERCOM_I2CS_CTRLA_PINOUT_Msk        (_U_(0x1) << SERCOM_I2CS_CTRLA_PINOUT_Pos)     /**< (SERCOM_I2CS_CTRLA) Pin Usage Mask */
+#define SERCOM_I2CS_CTRLA_PINOUT            SERCOM_I2CS_CTRLA_PINOUT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_PINOUT_Msk instead */
+#define SERCOM_I2CS_CTRLA_SDAHOLD_Pos       20                                             /**< (SERCOM_I2CS_CTRLA) SDA Hold Time Position */
+#define SERCOM_I2CS_CTRLA_SDAHOLD_Msk       (_U_(0x3) << SERCOM_I2CS_CTRLA_SDAHOLD_Pos)    /**< (SERCOM_I2CS_CTRLA) SDA Hold Time Mask */
+#define SERCOM_I2CS_CTRLA_SDAHOLD(value)    (SERCOM_I2CS_CTRLA_SDAHOLD_Msk & ((value) << SERCOM_I2CS_CTRLA_SDAHOLD_Pos))
+#define SERCOM_I2CS_CTRLA_SEXTTOEN_Pos      23                                             /**< (SERCOM_I2CS_CTRLA) Slave SCL Low Extend Timeout Position */
+#define SERCOM_I2CS_CTRLA_SEXTTOEN_Msk      (_U_(0x1) << SERCOM_I2CS_CTRLA_SEXTTOEN_Pos)   /**< (SERCOM_I2CS_CTRLA) Slave SCL Low Extend Timeout Mask */
+#define SERCOM_I2CS_CTRLA_SEXTTOEN          SERCOM_I2CS_CTRLA_SEXTTOEN_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_SEXTTOEN_Msk instead */
+#define SERCOM_I2CS_CTRLA_SPEED_Pos         24                                             /**< (SERCOM_I2CS_CTRLA) Transfer Speed Position */
+#define SERCOM_I2CS_CTRLA_SPEED_Msk         (_U_(0x3) << SERCOM_I2CS_CTRLA_SPEED_Pos)      /**< (SERCOM_I2CS_CTRLA) Transfer Speed Mask */
+#define SERCOM_I2CS_CTRLA_SPEED(value)      (SERCOM_I2CS_CTRLA_SPEED_Msk & ((value) << SERCOM_I2CS_CTRLA_SPEED_Pos))
+#define SERCOM_I2CS_CTRLA_SCLSM_Pos         27                                             /**< (SERCOM_I2CS_CTRLA) SCL Clock Stretch Mode Position */
+#define SERCOM_I2CS_CTRLA_SCLSM_Msk         (_U_(0x1) << SERCOM_I2CS_CTRLA_SCLSM_Pos)      /**< (SERCOM_I2CS_CTRLA) SCL Clock Stretch Mode Mask */
+#define SERCOM_I2CS_CTRLA_SCLSM             SERCOM_I2CS_CTRLA_SCLSM_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_SCLSM_Msk instead */
+#define SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos     30                                             /**< (SERCOM_I2CS_CTRLA) SCL Low Timeout Enable Position */
+#define SERCOM_I2CS_CTRLA_LOWTOUTEN_Msk     (_U_(0x1) << SERCOM_I2CS_CTRLA_LOWTOUTEN_Pos)  /**< (SERCOM_I2CS_CTRLA) SCL Low Timeout Enable Mask */
+#define SERCOM_I2CS_CTRLA_LOWTOUTEN         SERCOM_I2CS_CTRLA_LOWTOUTEN_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLA_LOWTOUTEN_Msk instead */
+#define SERCOM_I2CS_CTRLA_MASK              _U_(0x4BB1009F)                                /**< \deprecated (SERCOM_I2CS_CTRLA) Register MASK  (Use SERCOM_I2CS_CTRLA_Msk instead)  */
+#define SERCOM_I2CS_CTRLA_Msk               _U_(0x4BB1009F)                                /**< (SERCOM_I2CS_CTRLA) Register Mask  */
+
+
+/* -------- SERCOM_SPI_CTRLA : (SERCOM Offset: 0x00) (R/W 32) SPI Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t MODE:3;                    /**< bit:   2..4  Operating Mode                           */
+    uint32_t :2;                        /**< bit:   5..6  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:      7  Run during Standby                       */
+    uint32_t IBON:1;                    /**< bit:      8  Immediate Buffer Overflow Notification   */
+    uint32_t :7;                        /**< bit:  9..15  Reserved */
+    uint32_t DOPO:2;                    /**< bit: 16..17  Data Out Pinout                          */
+    uint32_t :2;                        /**< bit: 18..19  Reserved */
+    uint32_t DIPO:2;                    /**< bit: 20..21  Data In Pinout                           */
+    uint32_t :2;                        /**< bit: 22..23  Reserved */
+    uint32_t FORM:4;                    /**< bit: 24..27  Frame Format                             */
+    uint32_t CPHA:1;                    /**< bit:     28  Clock Phase                              */
+    uint32_t CPOL:1;                    /**< bit:     29  Clock Polarity                           */
+    uint32_t DORD:1;                    /**< bit:     30  Data Order                               */
+    uint32_t :1;                        /**< bit:     31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_CTRLA_OFFSET             (0x00)                                        /**<  (SERCOM_SPI_CTRLA) SPI Control A  Offset */
+#define SERCOM_SPI_CTRLA_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_SPI_CTRLA) SPI Control A  Reset Value */
+
+#define SERCOM_SPI_CTRLA_SWRST_Pos          0                                              /**< (SERCOM_SPI_CTRLA) Software Reset Position */
+#define SERCOM_SPI_CTRLA_SWRST_Msk          (_U_(0x1) << SERCOM_SPI_CTRLA_SWRST_Pos)       /**< (SERCOM_SPI_CTRLA) Software Reset Mask */
+#define SERCOM_SPI_CTRLA_SWRST              SERCOM_SPI_CTRLA_SWRST_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_SWRST_Msk instead */
+#define SERCOM_SPI_CTRLA_ENABLE_Pos         1                                              /**< (SERCOM_SPI_CTRLA) Enable Position */
+#define SERCOM_SPI_CTRLA_ENABLE_Msk         (_U_(0x1) << SERCOM_SPI_CTRLA_ENABLE_Pos)      /**< (SERCOM_SPI_CTRLA) Enable Mask */
+#define SERCOM_SPI_CTRLA_ENABLE             SERCOM_SPI_CTRLA_ENABLE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_ENABLE_Msk instead */
+#define SERCOM_SPI_CTRLA_MODE_Pos           2                                              /**< (SERCOM_SPI_CTRLA) Operating Mode Position */
+#define SERCOM_SPI_CTRLA_MODE_Msk           (_U_(0x7) << SERCOM_SPI_CTRLA_MODE_Pos)        /**< (SERCOM_SPI_CTRLA) Operating Mode Mask */
+#define SERCOM_SPI_CTRLA_MODE(value)        (SERCOM_SPI_CTRLA_MODE_Msk & ((value) << SERCOM_SPI_CTRLA_MODE_Pos))
+#define SERCOM_SPI_CTRLA_RUNSTDBY_Pos       7                                              /**< (SERCOM_SPI_CTRLA) Run during Standby Position */
+#define SERCOM_SPI_CTRLA_RUNSTDBY_Msk       (_U_(0x1) << SERCOM_SPI_CTRLA_RUNSTDBY_Pos)    /**< (SERCOM_SPI_CTRLA) Run during Standby Mask */
+#define SERCOM_SPI_CTRLA_RUNSTDBY           SERCOM_SPI_CTRLA_RUNSTDBY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_RUNSTDBY_Msk instead */
+#define SERCOM_SPI_CTRLA_IBON_Pos           8                                              /**< (SERCOM_SPI_CTRLA) Immediate Buffer Overflow Notification Position */
+#define SERCOM_SPI_CTRLA_IBON_Msk           (_U_(0x1) << SERCOM_SPI_CTRLA_IBON_Pos)        /**< (SERCOM_SPI_CTRLA) Immediate Buffer Overflow Notification Mask */
+#define SERCOM_SPI_CTRLA_IBON               SERCOM_SPI_CTRLA_IBON_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_IBON_Msk instead */
+#define SERCOM_SPI_CTRLA_DOPO_Pos           16                                             /**< (SERCOM_SPI_CTRLA) Data Out Pinout Position */
+#define SERCOM_SPI_CTRLA_DOPO_Msk           (_U_(0x3) << SERCOM_SPI_CTRLA_DOPO_Pos)        /**< (SERCOM_SPI_CTRLA) Data Out Pinout Mask */
+#define SERCOM_SPI_CTRLA_DOPO(value)        (SERCOM_SPI_CTRLA_DOPO_Msk & ((value) << SERCOM_SPI_CTRLA_DOPO_Pos))
+#define SERCOM_SPI_CTRLA_DIPO_Pos           20                                             /**< (SERCOM_SPI_CTRLA) Data In Pinout Position */
+#define SERCOM_SPI_CTRLA_DIPO_Msk           (_U_(0x3) << SERCOM_SPI_CTRLA_DIPO_Pos)        /**< (SERCOM_SPI_CTRLA) Data In Pinout Mask */
+#define SERCOM_SPI_CTRLA_DIPO(value)        (SERCOM_SPI_CTRLA_DIPO_Msk & ((value) << SERCOM_SPI_CTRLA_DIPO_Pos))
+#define SERCOM_SPI_CTRLA_FORM_Pos           24                                             /**< (SERCOM_SPI_CTRLA) Frame Format Position */
+#define SERCOM_SPI_CTRLA_FORM_Msk           (_U_(0xF) << SERCOM_SPI_CTRLA_FORM_Pos)        /**< (SERCOM_SPI_CTRLA) Frame Format Mask */
+#define SERCOM_SPI_CTRLA_FORM(value)        (SERCOM_SPI_CTRLA_FORM_Msk & ((value) << SERCOM_SPI_CTRLA_FORM_Pos))
+#define SERCOM_SPI_CTRLA_CPHA_Pos           28                                             /**< (SERCOM_SPI_CTRLA) Clock Phase Position */
+#define SERCOM_SPI_CTRLA_CPHA_Msk           (_U_(0x1) << SERCOM_SPI_CTRLA_CPHA_Pos)        /**< (SERCOM_SPI_CTRLA) Clock Phase Mask */
+#define SERCOM_SPI_CTRLA_CPHA               SERCOM_SPI_CTRLA_CPHA_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_CPHA_Msk instead */
+#define SERCOM_SPI_CTRLA_CPOL_Pos           29                                             /**< (SERCOM_SPI_CTRLA) Clock Polarity Position */
+#define SERCOM_SPI_CTRLA_CPOL_Msk           (_U_(0x1) << SERCOM_SPI_CTRLA_CPOL_Pos)        /**< (SERCOM_SPI_CTRLA) Clock Polarity Mask */
+#define SERCOM_SPI_CTRLA_CPOL               SERCOM_SPI_CTRLA_CPOL_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_CPOL_Msk instead */
+#define SERCOM_SPI_CTRLA_DORD_Pos           30                                             /**< (SERCOM_SPI_CTRLA) Data Order Position */
+#define SERCOM_SPI_CTRLA_DORD_Msk           (_U_(0x1) << SERCOM_SPI_CTRLA_DORD_Pos)        /**< (SERCOM_SPI_CTRLA) Data Order Mask */
+#define SERCOM_SPI_CTRLA_DORD               SERCOM_SPI_CTRLA_DORD_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLA_DORD_Msk instead */
+#define SERCOM_SPI_CTRLA_MASK               _U_(0x7F33019F)                                /**< \deprecated (SERCOM_SPI_CTRLA) Register MASK  (Use SERCOM_SPI_CTRLA_Msk instead)  */
+#define SERCOM_SPI_CTRLA_Msk                _U_(0x7F33019F)                                /**< (SERCOM_SPI_CTRLA) Register Mask  */
+
+
+/* -------- SERCOM_USART_CTRLA : (SERCOM Offset: 0x00) (R/W 32) USART Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t MODE:3;                    /**< bit:   2..4  Operating Mode                           */
+    uint32_t :2;                        /**< bit:   5..6  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:      7  Run during Standby                       */
+    uint32_t IBON:1;                    /**< bit:      8  Immediate Buffer Overflow Notification   */
+    uint32_t TXINV:1;                   /**< bit:      9  Transmit Data Invert                     */
+    uint32_t RXINV:1;                   /**< bit:     10  Receive Data Invert                      */
+    uint32_t :2;                        /**< bit: 11..12  Reserved */
+    uint32_t SAMPR:3;                   /**< bit: 13..15  Sample                                   */
+    uint32_t TXPO:2;                    /**< bit: 16..17  Transmit Data Pinout                     */
+    uint32_t :2;                        /**< bit: 18..19  Reserved */
+    uint32_t RXPO:2;                    /**< bit: 20..21  Receive Data Pinout                      */
+    uint32_t SAMPA:2;                   /**< bit: 22..23  Sample Adjustment                        */
+    uint32_t FORM:4;                    /**< bit: 24..27  Frame Format                             */
+    uint32_t CMODE:1;                   /**< bit:     28  Communication Mode                       */
+    uint32_t CPOL:1;                    /**< bit:     29  Clock Polarity                           */
+    uint32_t DORD:1;                    /**< bit:     30  Data Order                               */
+    uint32_t :1;                        /**< bit:     31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_USART_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_CTRLA_OFFSET           (0x00)                                        /**<  (SERCOM_USART_CTRLA) USART Control A  Offset */
+#define SERCOM_USART_CTRLA_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_USART_CTRLA) USART Control A  Reset Value */
+
+#define SERCOM_USART_CTRLA_SWRST_Pos        0                                              /**< (SERCOM_USART_CTRLA) Software Reset Position */
+#define SERCOM_USART_CTRLA_SWRST_Msk        (_U_(0x1) << SERCOM_USART_CTRLA_SWRST_Pos)     /**< (SERCOM_USART_CTRLA) Software Reset Mask */
+#define SERCOM_USART_CTRLA_SWRST            SERCOM_USART_CTRLA_SWRST_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_SWRST_Msk instead */
+#define SERCOM_USART_CTRLA_ENABLE_Pos       1                                              /**< (SERCOM_USART_CTRLA) Enable Position */
+#define SERCOM_USART_CTRLA_ENABLE_Msk       (_U_(0x1) << SERCOM_USART_CTRLA_ENABLE_Pos)    /**< (SERCOM_USART_CTRLA) Enable Mask */
+#define SERCOM_USART_CTRLA_ENABLE           SERCOM_USART_CTRLA_ENABLE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_ENABLE_Msk instead */
+#define SERCOM_USART_CTRLA_MODE_Pos         2                                              /**< (SERCOM_USART_CTRLA) Operating Mode Position */
+#define SERCOM_USART_CTRLA_MODE_Msk         (_U_(0x7) << SERCOM_USART_CTRLA_MODE_Pos)      /**< (SERCOM_USART_CTRLA) Operating Mode Mask */
+#define SERCOM_USART_CTRLA_MODE(value)      (SERCOM_USART_CTRLA_MODE_Msk & ((value) << SERCOM_USART_CTRLA_MODE_Pos))
+#define SERCOM_USART_CTRLA_RUNSTDBY_Pos     7                                              /**< (SERCOM_USART_CTRLA) Run during Standby Position */
+#define SERCOM_USART_CTRLA_RUNSTDBY_Msk     (_U_(0x1) << SERCOM_USART_CTRLA_RUNSTDBY_Pos)  /**< (SERCOM_USART_CTRLA) Run during Standby Mask */
+#define SERCOM_USART_CTRLA_RUNSTDBY         SERCOM_USART_CTRLA_RUNSTDBY_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_RUNSTDBY_Msk instead */
+#define SERCOM_USART_CTRLA_IBON_Pos         8                                              /**< (SERCOM_USART_CTRLA) Immediate Buffer Overflow Notification Position */
+#define SERCOM_USART_CTRLA_IBON_Msk         (_U_(0x1) << SERCOM_USART_CTRLA_IBON_Pos)      /**< (SERCOM_USART_CTRLA) Immediate Buffer Overflow Notification Mask */
+#define SERCOM_USART_CTRLA_IBON             SERCOM_USART_CTRLA_IBON_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_IBON_Msk instead */
+#define SERCOM_USART_CTRLA_TXINV_Pos        9                                              /**< (SERCOM_USART_CTRLA) Transmit Data Invert Position */
+#define SERCOM_USART_CTRLA_TXINV_Msk        (_U_(0x1) << SERCOM_USART_CTRLA_TXINV_Pos)     /**< (SERCOM_USART_CTRLA) Transmit Data Invert Mask */
+#define SERCOM_USART_CTRLA_TXINV            SERCOM_USART_CTRLA_TXINV_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_TXINV_Msk instead */
+#define SERCOM_USART_CTRLA_RXINV_Pos        10                                             /**< (SERCOM_USART_CTRLA) Receive Data Invert Position */
+#define SERCOM_USART_CTRLA_RXINV_Msk        (_U_(0x1) << SERCOM_USART_CTRLA_RXINV_Pos)     /**< (SERCOM_USART_CTRLA) Receive Data Invert Mask */
+#define SERCOM_USART_CTRLA_RXINV            SERCOM_USART_CTRLA_RXINV_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_RXINV_Msk instead */
+#define SERCOM_USART_CTRLA_SAMPR_Pos        13                                             /**< (SERCOM_USART_CTRLA) Sample Position */
+#define SERCOM_USART_CTRLA_SAMPR_Msk        (_U_(0x7) << SERCOM_USART_CTRLA_SAMPR_Pos)     /**< (SERCOM_USART_CTRLA) Sample Mask */
+#define SERCOM_USART_CTRLA_SAMPR(value)     (SERCOM_USART_CTRLA_SAMPR_Msk & ((value) << SERCOM_USART_CTRLA_SAMPR_Pos))
+#define SERCOM_USART_CTRLA_TXPO_Pos         16                                             /**< (SERCOM_USART_CTRLA) Transmit Data Pinout Position */
+#define SERCOM_USART_CTRLA_TXPO_Msk         (_U_(0x3) << SERCOM_USART_CTRLA_TXPO_Pos)      /**< (SERCOM_USART_CTRLA) Transmit Data Pinout Mask */
+#define SERCOM_USART_CTRLA_TXPO(value)      (SERCOM_USART_CTRLA_TXPO_Msk & ((value) << SERCOM_USART_CTRLA_TXPO_Pos))
+#define SERCOM_USART_CTRLA_RXPO_Pos         20                                             /**< (SERCOM_USART_CTRLA) Receive Data Pinout Position */
+#define SERCOM_USART_CTRLA_RXPO_Msk         (_U_(0x3) << SERCOM_USART_CTRLA_RXPO_Pos)      /**< (SERCOM_USART_CTRLA) Receive Data Pinout Mask */
+#define SERCOM_USART_CTRLA_RXPO(value)      (SERCOM_USART_CTRLA_RXPO_Msk & ((value) << SERCOM_USART_CTRLA_RXPO_Pos))
+#define SERCOM_USART_CTRLA_SAMPA_Pos        22                                             /**< (SERCOM_USART_CTRLA) Sample Adjustment Position */
+#define SERCOM_USART_CTRLA_SAMPA_Msk        (_U_(0x3) << SERCOM_USART_CTRLA_SAMPA_Pos)     /**< (SERCOM_USART_CTRLA) Sample Adjustment Mask */
+#define SERCOM_USART_CTRLA_SAMPA(value)     (SERCOM_USART_CTRLA_SAMPA_Msk & ((value) << SERCOM_USART_CTRLA_SAMPA_Pos))
+#define SERCOM_USART_CTRLA_FORM_Pos         24                                             /**< (SERCOM_USART_CTRLA) Frame Format Position */
+#define SERCOM_USART_CTRLA_FORM_Msk         (_U_(0xF) << SERCOM_USART_CTRLA_FORM_Pos)      /**< (SERCOM_USART_CTRLA) Frame Format Mask */
+#define SERCOM_USART_CTRLA_FORM(value)      (SERCOM_USART_CTRLA_FORM_Msk & ((value) << SERCOM_USART_CTRLA_FORM_Pos))
+#define SERCOM_USART_CTRLA_CMODE_Pos        28                                             /**< (SERCOM_USART_CTRLA) Communication Mode Position */
+#define SERCOM_USART_CTRLA_CMODE_Msk        (_U_(0x1) << SERCOM_USART_CTRLA_CMODE_Pos)     /**< (SERCOM_USART_CTRLA) Communication Mode Mask */
+#define SERCOM_USART_CTRLA_CMODE            SERCOM_USART_CTRLA_CMODE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_CMODE_Msk instead */
+#define SERCOM_USART_CTRLA_CPOL_Pos         29                                             /**< (SERCOM_USART_CTRLA) Clock Polarity Position */
+#define SERCOM_USART_CTRLA_CPOL_Msk         (_U_(0x1) << SERCOM_USART_CTRLA_CPOL_Pos)      /**< (SERCOM_USART_CTRLA) Clock Polarity Mask */
+#define SERCOM_USART_CTRLA_CPOL             SERCOM_USART_CTRLA_CPOL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_CPOL_Msk instead */
+#define SERCOM_USART_CTRLA_DORD_Pos         30                                             /**< (SERCOM_USART_CTRLA) Data Order Position */
+#define SERCOM_USART_CTRLA_DORD_Msk         (_U_(0x1) << SERCOM_USART_CTRLA_DORD_Pos)      /**< (SERCOM_USART_CTRLA) Data Order Mask */
+#define SERCOM_USART_CTRLA_DORD             SERCOM_USART_CTRLA_DORD_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLA_DORD_Msk instead */
+#define SERCOM_USART_CTRLA_MASK             _U_(0x7FF3E79F)                                /**< \deprecated (SERCOM_USART_CTRLA) Register MASK  (Use SERCOM_USART_CTRLA_Msk instead)  */
+#define SERCOM_USART_CTRLA_Msk              _U_(0x7FF3E79F)                                /**< (SERCOM_USART_CTRLA) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_CTRLB : (SERCOM Offset: 0x04) (R/W 32) I2CM Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :8;                        /**< bit:   0..7  Reserved */
+    uint32_t SMEN:1;                    /**< bit:      8  Smart Mode Enable                        */
+    uint32_t QCEN:1;                    /**< bit:      9  Quick Command Enable                     */
+    uint32_t :6;                        /**< bit: 10..15  Reserved */
+    uint32_t CMD:2;                     /**< bit: 16..17  Command                                  */
+    uint32_t ACKACT:1;                  /**< bit:     18  Acknowledge Action                       */
+    uint32_t :13;                       /**< bit: 19..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_CTRLB_OFFSET            (0x04)                                        /**<  (SERCOM_I2CM_CTRLB) I2CM Control B  Offset */
+#define SERCOM_I2CM_CTRLB_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_I2CM_CTRLB) I2CM Control B  Reset Value */
+
+#define SERCOM_I2CM_CTRLB_SMEN_Pos          8                                              /**< (SERCOM_I2CM_CTRLB) Smart Mode Enable Position */
+#define SERCOM_I2CM_CTRLB_SMEN_Msk          (_U_(0x1) << SERCOM_I2CM_CTRLB_SMEN_Pos)       /**< (SERCOM_I2CM_CTRLB) Smart Mode Enable Mask */
+#define SERCOM_I2CM_CTRLB_SMEN              SERCOM_I2CM_CTRLB_SMEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLB_SMEN_Msk instead */
+#define SERCOM_I2CM_CTRLB_QCEN_Pos          9                                              /**< (SERCOM_I2CM_CTRLB) Quick Command Enable Position */
+#define SERCOM_I2CM_CTRLB_QCEN_Msk          (_U_(0x1) << SERCOM_I2CM_CTRLB_QCEN_Pos)       /**< (SERCOM_I2CM_CTRLB) Quick Command Enable Mask */
+#define SERCOM_I2CM_CTRLB_QCEN              SERCOM_I2CM_CTRLB_QCEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLB_QCEN_Msk instead */
+#define SERCOM_I2CM_CTRLB_CMD_Pos           16                                             /**< (SERCOM_I2CM_CTRLB) Command Position */
+#define SERCOM_I2CM_CTRLB_CMD_Msk           (_U_(0x3) << SERCOM_I2CM_CTRLB_CMD_Pos)        /**< (SERCOM_I2CM_CTRLB) Command Mask */
+#define SERCOM_I2CM_CTRLB_CMD(value)        (SERCOM_I2CM_CTRLB_CMD_Msk & ((value) << SERCOM_I2CM_CTRLB_CMD_Pos))
+#define SERCOM_I2CM_CTRLB_ACKACT_Pos        18                                             /**< (SERCOM_I2CM_CTRLB) Acknowledge Action Position */
+#define SERCOM_I2CM_CTRLB_ACKACT_Msk        (_U_(0x1) << SERCOM_I2CM_CTRLB_ACKACT_Pos)     /**< (SERCOM_I2CM_CTRLB) Acknowledge Action Mask */
+#define SERCOM_I2CM_CTRLB_ACKACT            SERCOM_I2CM_CTRLB_ACKACT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_CTRLB_ACKACT_Msk instead */
+#define SERCOM_I2CM_CTRLB_MASK              _U_(0x70300)                                   /**< \deprecated (SERCOM_I2CM_CTRLB) Register MASK  (Use SERCOM_I2CM_CTRLB_Msk instead)  */
+#define SERCOM_I2CM_CTRLB_Msk               _U_(0x70300)                                   /**< (SERCOM_I2CM_CTRLB) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_CTRLB : (SERCOM Offset: 0x04) (R/W 32) I2CS Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :8;                        /**< bit:   0..7  Reserved */
+    uint32_t SMEN:1;                    /**< bit:      8  Smart Mode Enable                        */
+    uint32_t GCMD:1;                    /**< bit:      9  PMBus Group Command                      */
+    uint32_t AACKEN:1;                  /**< bit:     10  Automatic Address Acknowledge            */
+    uint32_t :3;                        /**< bit: 11..13  Reserved */
+    uint32_t AMODE:2;                   /**< bit: 14..15  Address Mode                             */
+    uint32_t CMD:2;                     /**< bit: 16..17  Command                                  */
+    uint32_t ACKACT:1;                  /**< bit:     18  Acknowledge Action                       */
+    uint32_t :13;                       /**< bit: 19..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CS_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_CTRLB_OFFSET            (0x04)                                        /**<  (SERCOM_I2CS_CTRLB) I2CS Control B  Offset */
+#define SERCOM_I2CS_CTRLB_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_I2CS_CTRLB) I2CS Control B  Reset Value */
+
+#define SERCOM_I2CS_CTRLB_SMEN_Pos          8                                              /**< (SERCOM_I2CS_CTRLB) Smart Mode Enable Position */
+#define SERCOM_I2CS_CTRLB_SMEN_Msk          (_U_(0x1) << SERCOM_I2CS_CTRLB_SMEN_Pos)       /**< (SERCOM_I2CS_CTRLB) Smart Mode Enable Mask */
+#define SERCOM_I2CS_CTRLB_SMEN              SERCOM_I2CS_CTRLB_SMEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLB_SMEN_Msk instead */
+#define SERCOM_I2CS_CTRLB_GCMD_Pos          9                                              /**< (SERCOM_I2CS_CTRLB) PMBus Group Command Position */
+#define SERCOM_I2CS_CTRLB_GCMD_Msk          (_U_(0x1) << SERCOM_I2CS_CTRLB_GCMD_Pos)       /**< (SERCOM_I2CS_CTRLB) PMBus Group Command Mask */
+#define SERCOM_I2CS_CTRLB_GCMD              SERCOM_I2CS_CTRLB_GCMD_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLB_GCMD_Msk instead */
+#define SERCOM_I2CS_CTRLB_AACKEN_Pos        10                                             /**< (SERCOM_I2CS_CTRLB) Automatic Address Acknowledge Position */
+#define SERCOM_I2CS_CTRLB_AACKEN_Msk        (_U_(0x1) << SERCOM_I2CS_CTRLB_AACKEN_Pos)     /**< (SERCOM_I2CS_CTRLB) Automatic Address Acknowledge Mask */
+#define SERCOM_I2CS_CTRLB_AACKEN            SERCOM_I2CS_CTRLB_AACKEN_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLB_AACKEN_Msk instead */
+#define SERCOM_I2CS_CTRLB_AMODE_Pos         14                                             /**< (SERCOM_I2CS_CTRLB) Address Mode Position */
+#define SERCOM_I2CS_CTRLB_AMODE_Msk         (_U_(0x3) << SERCOM_I2CS_CTRLB_AMODE_Pos)      /**< (SERCOM_I2CS_CTRLB) Address Mode Mask */
+#define SERCOM_I2CS_CTRLB_AMODE(value)      (SERCOM_I2CS_CTRLB_AMODE_Msk & ((value) << SERCOM_I2CS_CTRLB_AMODE_Pos))
+#define SERCOM_I2CS_CTRLB_CMD_Pos           16                                             /**< (SERCOM_I2CS_CTRLB) Command Position */
+#define SERCOM_I2CS_CTRLB_CMD_Msk           (_U_(0x3) << SERCOM_I2CS_CTRLB_CMD_Pos)        /**< (SERCOM_I2CS_CTRLB) Command Mask */
+#define SERCOM_I2CS_CTRLB_CMD(value)        (SERCOM_I2CS_CTRLB_CMD_Msk & ((value) << SERCOM_I2CS_CTRLB_CMD_Pos))
+#define SERCOM_I2CS_CTRLB_ACKACT_Pos        18                                             /**< (SERCOM_I2CS_CTRLB) Acknowledge Action Position */
+#define SERCOM_I2CS_CTRLB_ACKACT_Msk        (_U_(0x1) << SERCOM_I2CS_CTRLB_ACKACT_Pos)     /**< (SERCOM_I2CS_CTRLB) Acknowledge Action Mask */
+#define SERCOM_I2CS_CTRLB_ACKACT            SERCOM_I2CS_CTRLB_ACKACT_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_CTRLB_ACKACT_Msk instead */
+#define SERCOM_I2CS_CTRLB_MASK              _U_(0x7C700)                                   /**< \deprecated (SERCOM_I2CS_CTRLB) Register MASK  (Use SERCOM_I2CS_CTRLB_Msk instead)  */
+#define SERCOM_I2CS_CTRLB_Msk               _U_(0x7C700)                                   /**< (SERCOM_I2CS_CTRLB) Register Mask  */
+
+
+/* -------- SERCOM_SPI_CTRLB : (SERCOM Offset: 0x04) (R/W 32) SPI Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CHSIZE:3;                  /**< bit:   0..2  Character Size                           */
+    uint32_t :3;                        /**< bit:   3..5  Reserved */
+    uint32_t PLOADEN:1;                 /**< bit:      6  Data Preload Enable                      */
+    uint32_t :2;                        /**< bit:   7..8  Reserved */
+    uint32_t SSDE:1;                    /**< bit:      9  Slave Select Low Detect Enable           */
+    uint32_t :3;                        /**< bit: 10..12  Reserved */
+    uint32_t MSSEN:1;                   /**< bit:     13  Master Slave Select Enable               */
+    uint32_t AMODE:2;                   /**< bit: 14..15  Address Mode                             */
+    uint32_t :1;                        /**< bit:     16  Reserved */
+    uint32_t RXEN:1;                    /**< bit:     17  Receiver Enable                          */
+    uint32_t :14;                       /**< bit: 18..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_CTRLB_OFFSET             (0x04)                                        /**<  (SERCOM_SPI_CTRLB) SPI Control B  Offset */
+#define SERCOM_SPI_CTRLB_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_SPI_CTRLB) SPI Control B  Reset Value */
+
+#define SERCOM_SPI_CTRLB_CHSIZE_Pos         0                                              /**< (SERCOM_SPI_CTRLB) Character Size Position */
+#define SERCOM_SPI_CTRLB_CHSIZE_Msk         (_U_(0x7) << SERCOM_SPI_CTRLB_CHSIZE_Pos)      /**< (SERCOM_SPI_CTRLB) Character Size Mask */
+#define SERCOM_SPI_CTRLB_CHSIZE(value)      (SERCOM_SPI_CTRLB_CHSIZE_Msk & ((value) << SERCOM_SPI_CTRLB_CHSIZE_Pos))
+#define SERCOM_SPI_CTRLB_PLOADEN_Pos        6                                              /**< (SERCOM_SPI_CTRLB) Data Preload Enable Position */
+#define SERCOM_SPI_CTRLB_PLOADEN_Msk        (_U_(0x1) << SERCOM_SPI_CTRLB_PLOADEN_Pos)     /**< (SERCOM_SPI_CTRLB) Data Preload Enable Mask */
+#define SERCOM_SPI_CTRLB_PLOADEN            SERCOM_SPI_CTRLB_PLOADEN_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLB_PLOADEN_Msk instead */
+#define SERCOM_SPI_CTRLB_SSDE_Pos           9                                              /**< (SERCOM_SPI_CTRLB) Slave Select Low Detect Enable Position */
+#define SERCOM_SPI_CTRLB_SSDE_Msk           (_U_(0x1) << SERCOM_SPI_CTRLB_SSDE_Pos)        /**< (SERCOM_SPI_CTRLB) Slave Select Low Detect Enable Mask */
+#define SERCOM_SPI_CTRLB_SSDE               SERCOM_SPI_CTRLB_SSDE_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLB_SSDE_Msk instead */
+#define SERCOM_SPI_CTRLB_MSSEN_Pos          13                                             /**< (SERCOM_SPI_CTRLB) Master Slave Select Enable Position */
+#define SERCOM_SPI_CTRLB_MSSEN_Msk          (_U_(0x1) << SERCOM_SPI_CTRLB_MSSEN_Pos)       /**< (SERCOM_SPI_CTRLB) Master Slave Select Enable Mask */
+#define SERCOM_SPI_CTRLB_MSSEN              SERCOM_SPI_CTRLB_MSSEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLB_MSSEN_Msk instead */
+#define SERCOM_SPI_CTRLB_AMODE_Pos          14                                             /**< (SERCOM_SPI_CTRLB) Address Mode Position */
+#define SERCOM_SPI_CTRLB_AMODE_Msk          (_U_(0x3) << SERCOM_SPI_CTRLB_AMODE_Pos)       /**< (SERCOM_SPI_CTRLB) Address Mode Mask */
+#define SERCOM_SPI_CTRLB_AMODE(value)       (SERCOM_SPI_CTRLB_AMODE_Msk & ((value) << SERCOM_SPI_CTRLB_AMODE_Pos))
+#define SERCOM_SPI_CTRLB_RXEN_Pos           17                                             /**< (SERCOM_SPI_CTRLB) Receiver Enable Position */
+#define SERCOM_SPI_CTRLB_RXEN_Msk           (_U_(0x1) << SERCOM_SPI_CTRLB_RXEN_Pos)        /**< (SERCOM_SPI_CTRLB) Receiver Enable Mask */
+#define SERCOM_SPI_CTRLB_RXEN               SERCOM_SPI_CTRLB_RXEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_CTRLB_RXEN_Msk instead */
+#define SERCOM_SPI_CTRLB_MASK               _U_(0x2E247)                                   /**< \deprecated (SERCOM_SPI_CTRLB) Register MASK  (Use SERCOM_SPI_CTRLB_Msk instead)  */
+#define SERCOM_SPI_CTRLB_Msk                _U_(0x2E247)                                   /**< (SERCOM_SPI_CTRLB) Register Mask  */
+
+
+/* -------- SERCOM_USART_CTRLB : (SERCOM Offset: 0x04) (R/W 32) USART Control B -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CHSIZE:3;                  /**< bit:   0..2  Character Size                           */
+    uint32_t :3;                        /**< bit:   3..5  Reserved */
+    uint32_t SBMODE:1;                  /**< bit:      6  Stop Bit Mode                            */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t COLDEN:1;                  /**< bit:      8  Collision Detection Enable               */
+    uint32_t SFDE:1;                    /**< bit:      9  Start of Frame Detection Enable          */
+    uint32_t ENC:1;                     /**< bit:     10  Encoding Format                          */
+    uint32_t :2;                        /**< bit: 11..12  Reserved */
+    uint32_t PMODE:1;                   /**< bit:     13  Parity Mode                              */
+    uint32_t :2;                        /**< bit: 14..15  Reserved */
+    uint32_t TXEN:1;                    /**< bit:     16  Transmitter Enable                       */
+    uint32_t RXEN:1;                    /**< bit:     17  Receiver Enable                          */
+    uint32_t :6;                        /**< bit: 18..23  Reserved */
+    uint32_t LINCMD:2;                  /**< bit: 24..25  LIN Command                              */
+    uint32_t :6;                        /**< bit: 26..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_USART_CTRLB_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_CTRLB_OFFSET           (0x04)                                        /**<  (SERCOM_USART_CTRLB) USART Control B  Offset */
+#define SERCOM_USART_CTRLB_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_USART_CTRLB) USART Control B  Reset Value */
+
+#define SERCOM_USART_CTRLB_CHSIZE_Pos       0                                              /**< (SERCOM_USART_CTRLB) Character Size Position */
+#define SERCOM_USART_CTRLB_CHSIZE_Msk       (_U_(0x7) << SERCOM_USART_CTRLB_CHSIZE_Pos)    /**< (SERCOM_USART_CTRLB) Character Size Mask */
+#define SERCOM_USART_CTRLB_CHSIZE(value)    (SERCOM_USART_CTRLB_CHSIZE_Msk & ((value) << SERCOM_USART_CTRLB_CHSIZE_Pos))
+#define SERCOM_USART_CTRLB_SBMODE_Pos       6                                              /**< (SERCOM_USART_CTRLB) Stop Bit Mode Position */
+#define SERCOM_USART_CTRLB_SBMODE_Msk       (_U_(0x1) << SERCOM_USART_CTRLB_SBMODE_Pos)    /**< (SERCOM_USART_CTRLB) Stop Bit Mode Mask */
+#define SERCOM_USART_CTRLB_SBMODE           SERCOM_USART_CTRLB_SBMODE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_SBMODE_Msk instead */
+#define SERCOM_USART_CTRLB_COLDEN_Pos       8                                              /**< (SERCOM_USART_CTRLB) Collision Detection Enable Position */
+#define SERCOM_USART_CTRLB_COLDEN_Msk       (_U_(0x1) << SERCOM_USART_CTRLB_COLDEN_Pos)    /**< (SERCOM_USART_CTRLB) Collision Detection Enable Mask */
+#define SERCOM_USART_CTRLB_COLDEN           SERCOM_USART_CTRLB_COLDEN_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_COLDEN_Msk instead */
+#define SERCOM_USART_CTRLB_SFDE_Pos         9                                              /**< (SERCOM_USART_CTRLB) Start of Frame Detection Enable Position */
+#define SERCOM_USART_CTRLB_SFDE_Msk         (_U_(0x1) << SERCOM_USART_CTRLB_SFDE_Pos)      /**< (SERCOM_USART_CTRLB) Start of Frame Detection Enable Mask */
+#define SERCOM_USART_CTRLB_SFDE             SERCOM_USART_CTRLB_SFDE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_SFDE_Msk instead */
+#define SERCOM_USART_CTRLB_ENC_Pos          10                                             /**< (SERCOM_USART_CTRLB) Encoding Format Position */
+#define SERCOM_USART_CTRLB_ENC_Msk          (_U_(0x1) << SERCOM_USART_CTRLB_ENC_Pos)       /**< (SERCOM_USART_CTRLB) Encoding Format Mask */
+#define SERCOM_USART_CTRLB_ENC              SERCOM_USART_CTRLB_ENC_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_ENC_Msk instead */
+#define SERCOM_USART_CTRLB_PMODE_Pos        13                                             /**< (SERCOM_USART_CTRLB) Parity Mode Position */
+#define SERCOM_USART_CTRLB_PMODE_Msk        (_U_(0x1) << SERCOM_USART_CTRLB_PMODE_Pos)     /**< (SERCOM_USART_CTRLB) Parity Mode Mask */
+#define SERCOM_USART_CTRLB_PMODE            SERCOM_USART_CTRLB_PMODE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_PMODE_Msk instead */
+#define SERCOM_USART_CTRLB_TXEN_Pos         16                                             /**< (SERCOM_USART_CTRLB) Transmitter Enable Position */
+#define SERCOM_USART_CTRLB_TXEN_Msk         (_U_(0x1) << SERCOM_USART_CTRLB_TXEN_Pos)      /**< (SERCOM_USART_CTRLB) Transmitter Enable Mask */
+#define SERCOM_USART_CTRLB_TXEN             SERCOM_USART_CTRLB_TXEN_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_TXEN_Msk instead */
+#define SERCOM_USART_CTRLB_RXEN_Pos         17                                             /**< (SERCOM_USART_CTRLB) Receiver Enable Position */
+#define SERCOM_USART_CTRLB_RXEN_Msk         (_U_(0x1) << SERCOM_USART_CTRLB_RXEN_Pos)      /**< (SERCOM_USART_CTRLB) Receiver Enable Mask */
+#define SERCOM_USART_CTRLB_RXEN             SERCOM_USART_CTRLB_RXEN_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLB_RXEN_Msk instead */
+#define SERCOM_USART_CTRLB_LINCMD_Pos       24                                             /**< (SERCOM_USART_CTRLB) LIN Command Position */
+#define SERCOM_USART_CTRLB_LINCMD_Msk       (_U_(0x3) << SERCOM_USART_CTRLB_LINCMD_Pos)    /**< (SERCOM_USART_CTRLB) LIN Command Mask */
+#define SERCOM_USART_CTRLB_LINCMD(value)    (SERCOM_USART_CTRLB_LINCMD_Msk & ((value) << SERCOM_USART_CTRLB_LINCMD_Pos))
+#define SERCOM_USART_CTRLB_MASK             _U_(0x3032747)                                 /**< \deprecated (SERCOM_USART_CTRLB) Register MASK  (Use SERCOM_USART_CTRLB_Msk instead)  */
+#define SERCOM_USART_CTRLB_Msk              _U_(0x3032747)                                 /**< (SERCOM_USART_CTRLB) Register Mask  */
+
+
+/* -------- SERCOM_USART_CTRLC : (SERCOM Offset: 0x08) (R/W 32) USART Control C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t GTIME:3;                   /**< bit:   0..2  Guard Time                               */
+    uint32_t :5;                        /**< bit:   3..7  Reserved */
+    uint32_t BRKLEN:2;                  /**< bit:   8..9  LIN Master Break Length                  */
+    uint32_t HDRDLY:2;                  /**< bit: 10..11  LIN Master Header Delay                  */
+    uint32_t :4;                        /**< bit: 12..15  Reserved */
+    uint32_t INACK:1;                   /**< bit:     16  Inhibit Not Acknowledge                  */
+    uint32_t DSNACK:1;                  /**< bit:     17  Disable Successive NACK                  */
+    uint32_t :2;                        /**< bit: 18..19  Reserved */
+    uint32_t MAXITER:3;                 /**< bit: 20..22  Maximum Iterations                       */
+    uint32_t :9;                        /**< bit: 23..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_USART_CTRLC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_CTRLC_OFFSET           (0x08)                                        /**<  (SERCOM_USART_CTRLC) USART Control C  Offset */
+#define SERCOM_USART_CTRLC_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_USART_CTRLC) USART Control C  Reset Value */
+
+#define SERCOM_USART_CTRLC_GTIME_Pos        0                                              /**< (SERCOM_USART_CTRLC) Guard Time Position */
+#define SERCOM_USART_CTRLC_GTIME_Msk        (_U_(0x7) << SERCOM_USART_CTRLC_GTIME_Pos)     /**< (SERCOM_USART_CTRLC) Guard Time Mask */
+#define SERCOM_USART_CTRLC_GTIME(value)     (SERCOM_USART_CTRLC_GTIME_Msk & ((value) << SERCOM_USART_CTRLC_GTIME_Pos))
+#define SERCOM_USART_CTRLC_BRKLEN_Pos       8                                              /**< (SERCOM_USART_CTRLC) LIN Master Break Length Position */
+#define SERCOM_USART_CTRLC_BRKLEN_Msk       (_U_(0x3) << SERCOM_USART_CTRLC_BRKLEN_Pos)    /**< (SERCOM_USART_CTRLC) LIN Master Break Length Mask */
+#define SERCOM_USART_CTRLC_BRKLEN(value)    (SERCOM_USART_CTRLC_BRKLEN_Msk & ((value) << SERCOM_USART_CTRLC_BRKLEN_Pos))
+#define SERCOM_USART_CTRLC_HDRDLY_Pos       10                                             /**< (SERCOM_USART_CTRLC) LIN Master Header Delay Position */
+#define SERCOM_USART_CTRLC_HDRDLY_Msk       (_U_(0x3) << SERCOM_USART_CTRLC_HDRDLY_Pos)    /**< (SERCOM_USART_CTRLC) LIN Master Header Delay Mask */
+#define SERCOM_USART_CTRLC_HDRDLY(value)    (SERCOM_USART_CTRLC_HDRDLY_Msk & ((value) << SERCOM_USART_CTRLC_HDRDLY_Pos))
+#define SERCOM_USART_CTRLC_INACK_Pos        16                                             /**< (SERCOM_USART_CTRLC) Inhibit Not Acknowledge Position */
+#define SERCOM_USART_CTRLC_INACK_Msk        (_U_(0x1) << SERCOM_USART_CTRLC_INACK_Pos)     /**< (SERCOM_USART_CTRLC) Inhibit Not Acknowledge Mask */
+#define SERCOM_USART_CTRLC_INACK            SERCOM_USART_CTRLC_INACK_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLC_INACK_Msk instead */
+#define SERCOM_USART_CTRLC_DSNACK_Pos       17                                             /**< (SERCOM_USART_CTRLC) Disable Successive NACK Position */
+#define SERCOM_USART_CTRLC_DSNACK_Msk       (_U_(0x1) << SERCOM_USART_CTRLC_DSNACK_Pos)    /**< (SERCOM_USART_CTRLC) Disable Successive NACK Mask */
+#define SERCOM_USART_CTRLC_DSNACK           SERCOM_USART_CTRLC_DSNACK_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_CTRLC_DSNACK_Msk instead */
+#define SERCOM_USART_CTRLC_MAXITER_Pos      20                                             /**< (SERCOM_USART_CTRLC) Maximum Iterations Position */
+#define SERCOM_USART_CTRLC_MAXITER_Msk      (_U_(0x7) << SERCOM_USART_CTRLC_MAXITER_Pos)   /**< (SERCOM_USART_CTRLC) Maximum Iterations Mask */
+#define SERCOM_USART_CTRLC_MAXITER(value)   (SERCOM_USART_CTRLC_MAXITER_Msk & ((value) << SERCOM_USART_CTRLC_MAXITER_Pos))
+#define SERCOM_USART_CTRLC_MASK             _U_(0x730F07)                                  /**< \deprecated (SERCOM_USART_CTRLC) Register MASK  (Use SERCOM_USART_CTRLC_Msk instead)  */
+#define SERCOM_USART_CTRLC_Msk              _U_(0x730F07)                                  /**< (SERCOM_USART_CTRLC) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_BAUD : (SERCOM Offset: 0x0c) (R/W 32) I2CM Baud Rate -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BAUD:8;                    /**< bit:   0..7  Baud Rate Value                          */
+    uint32_t BAUDLOW:8;                 /**< bit:  8..15  Baud Rate Value Low                      */
+    uint32_t HSBAUD:8;                  /**< bit: 16..23  High Speed Baud Rate Value               */
+    uint32_t HSBAUDLOW:8;               /**< bit: 24..31  High Speed Baud Rate Value Low           */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_BAUD_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_BAUD_OFFSET             (0x0C)                                        /**<  (SERCOM_I2CM_BAUD) I2CM Baud Rate  Offset */
+#define SERCOM_I2CM_BAUD_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_I2CM_BAUD) I2CM Baud Rate  Reset Value */
+
+#define SERCOM_I2CM_BAUD_BAUD_Pos           0                                              /**< (SERCOM_I2CM_BAUD) Baud Rate Value Position */
+#define SERCOM_I2CM_BAUD_BAUD_Msk           (_U_(0xFF) << SERCOM_I2CM_BAUD_BAUD_Pos)       /**< (SERCOM_I2CM_BAUD) Baud Rate Value Mask */
+#define SERCOM_I2CM_BAUD_BAUD(value)        (SERCOM_I2CM_BAUD_BAUD_Msk & ((value) << SERCOM_I2CM_BAUD_BAUD_Pos))
+#define SERCOM_I2CM_BAUD_BAUDLOW_Pos        8                                              /**< (SERCOM_I2CM_BAUD) Baud Rate Value Low Position */
+#define SERCOM_I2CM_BAUD_BAUDLOW_Msk        (_U_(0xFF) << SERCOM_I2CM_BAUD_BAUDLOW_Pos)    /**< (SERCOM_I2CM_BAUD) Baud Rate Value Low Mask */
+#define SERCOM_I2CM_BAUD_BAUDLOW(value)     (SERCOM_I2CM_BAUD_BAUDLOW_Msk & ((value) << SERCOM_I2CM_BAUD_BAUDLOW_Pos))
+#define SERCOM_I2CM_BAUD_HSBAUD_Pos         16                                             /**< (SERCOM_I2CM_BAUD) High Speed Baud Rate Value Position */
+#define SERCOM_I2CM_BAUD_HSBAUD_Msk         (_U_(0xFF) << SERCOM_I2CM_BAUD_HSBAUD_Pos)     /**< (SERCOM_I2CM_BAUD) High Speed Baud Rate Value Mask */
+#define SERCOM_I2CM_BAUD_HSBAUD(value)      (SERCOM_I2CM_BAUD_HSBAUD_Msk & ((value) << SERCOM_I2CM_BAUD_HSBAUD_Pos))
+#define SERCOM_I2CM_BAUD_HSBAUDLOW_Pos      24                                             /**< (SERCOM_I2CM_BAUD) High Speed Baud Rate Value Low Position */
+#define SERCOM_I2CM_BAUD_HSBAUDLOW_Msk      (_U_(0xFF) << SERCOM_I2CM_BAUD_HSBAUDLOW_Pos)  /**< (SERCOM_I2CM_BAUD) High Speed Baud Rate Value Low Mask */
+#define SERCOM_I2CM_BAUD_HSBAUDLOW(value)   (SERCOM_I2CM_BAUD_HSBAUDLOW_Msk & ((value) << SERCOM_I2CM_BAUD_HSBAUDLOW_Pos))
+#define SERCOM_I2CM_BAUD_MASK               _U_(0xFFFFFFFF)                                /**< \deprecated (SERCOM_I2CM_BAUD) Register MASK  (Use SERCOM_I2CM_BAUD_Msk instead)  */
+#define SERCOM_I2CM_BAUD_Msk                _U_(0xFFFFFFFF)                                /**< (SERCOM_I2CM_BAUD) Register Mask  */
+
+
+/* -------- SERCOM_SPI_BAUD : (SERCOM Offset: 0x0c) (R/W 8) SPI Baud Rate -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  BAUD:8;                    /**< bit:   0..7  Baud Rate Value                          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_SPI_BAUD_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_BAUD_OFFSET              (0x0C)                                        /**<  (SERCOM_SPI_BAUD) SPI Baud Rate  Offset */
+#define SERCOM_SPI_BAUD_RESETVALUE          _U_(0x00)                                     /**<  (SERCOM_SPI_BAUD) SPI Baud Rate  Reset Value */
+
+#define SERCOM_SPI_BAUD_BAUD_Pos            0                                              /**< (SERCOM_SPI_BAUD) Baud Rate Value Position */
+#define SERCOM_SPI_BAUD_BAUD_Msk            (_U_(0xFF) << SERCOM_SPI_BAUD_BAUD_Pos)        /**< (SERCOM_SPI_BAUD) Baud Rate Value Mask */
+#define SERCOM_SPI_BAUD_BAUD(value)         (SERCOM_SPI_BAUD_BAUD_Msk & ((value) << SERCOM_SPI_BAUD_BAUD_Pos))
+#define SERCOM_SPI_BAUD_MASK                _U_(0xFF)                                      /**< \deprecated (SERCOM_SPI_BAUD) Register MASK  (Use SERCOM_SPI_BAUD_Msk instead)  */
+#define SERCOM_SPI_BAUD_Msk                 _U_(0xFF)                                      /**< (SERCOM_SPI_BAUD) Register Mask  */
+
+
+/* -------- SERCOM_USART_BAUD : (SERCOM Offset: 0x0c) (R/W 16) USART Baud Rate -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BAUD:16;                   /**< bit:  0..15  Baud Rate Value                          */
+  } bit;                                /**< Structure used for bit  access */
+  struct { // FRAC mode
+    uint16_t BAUD:13;                   /**< bit:  0..12  Baud Rate Value                          */
+    uint16_t FP:3;                      /**< bit: 13..15  Fractional Part                          */
+  } FRAC;                                /**< Structure used for FRAC mode access */
+  struct { // FRACFP mode
+    uint16_t BAUD:13;                   /**< bit:  0..12  Baud Rate Value                          */
+    uint16_t FP:3;                      /**< bit: 13..15  Fractional Part                          */
+  } FRACFP;                                /**< Structure used for FRACFP mode access */
+  struct { // USARTFP mode
+    uint16_t BAUD:16;                   /**< bit:  0..15  Baud Rate Value                          */
+  } USARTFP;                                /**< Structure used for USARTFP mode access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_USART_BAUD_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_BAUD_OFFSET            (0x0C)                                        /**<  (SERCOM_USART_BAUD) USART Baud Rate  Offset */
+#define SERCOM_USART_BAUD_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_USART_BAUD) USART Baud Rate  Reset Value */
+
+#define SERCOM_USART_BAUD_BAUD_Pos          0                                              /**< (SERCOM_USART_BAUD) Baud Rate Value Position */
+#define SERCOM_USART_BAUD_BAUD_Msk          (_U_(0xFFFF) << SERCOM_USART_BAUD_BAUD_Pos)    /**< (SERCOM_USART_BAUD) Baud Rate Value Mask */
+#define SERCOM_USART_BAUD_BAUD(value)       (SERCOM_USART_BAUD_BAUD_Msk & ((value) << SERCOM_USART_BAUD_BAUD_Pos))
+#define SERCOM_USART_BAUD_MASK              _U_(0xFFFF)                                    /**< \deprecated (SERCOM_USART_BAUD) Register MASK  (Use SERCOM_USART_BAUD_Msk instead)  */
+#define SERCOM_USART_BAUD_Msk               _U_(0xFFFF)                                    /**< (SERCOM_USART_BAUD) Register Mask  */
+
+/* FRAC mode */
+#define SERCOM_USART_BAUD_FRAC_BAUD_Pos     0                                              /**< (SERCOM_USART_BAUD) Baud Rate Value Position */
+#define SERCOM_USART_BAUD_FRAC_BAUD_Msk     (_U_(0x1FFF) << SERCOM_USART_BAUD_FRAC_BAUD_Pos)  /**< (SERCOM_USART_BAUD) Baud Rate Value Mask */
+#define SERCOM_USART_BAUD_FRAC_BAUD(value)  (SERCOM_USART_BAUD_FRAC_BAUD_Msk & ((value) << SERCOM_USART_BAUD_FRAC_BAUD_Pos))
+#define SERCOM_USART_BAUD_FRAC_FP_Pos       13                                             /**< (SERCOM_USART_BAUD) Fractional Part Position */
+#define SERCOM_USART_BAUD_FRAC_FP_Msk       (_U_(0x7) << SERCOM_USART_BAUD_FRAC_FP_Pos)    /**< (SERCOM_USART_BAUD) Fractional Part Mask */
+#define SERCOM_USART_BAUD_FRAC_FP(value)    (SERCOM_USART_BAUD_FRAC_FP_Msk & ((value) << SERCOM_USART_BAUD_FRAC_FP_Pos))
+#define SERCOM_USART_BAUD_FRAC_MASK         _U_(0xFFFF)                                    /**< \deprecated (SERCOM_USART_BAUD_FRAC) Register MASK  (Use SERCOM_USART_BAUD_FRAC_Msk instead)  */
+#define SERCOM_USART_BAUD_FRAC_Msk          _U_(0xFFFF)                                    /**< (SERCOM_USART_BAUD_FRAC) Register Mask  */
+
+/* FRACFP mode */
+#define SERCOM_USART_BAUD_FRACFP_BAUD_Pos   0                                              /**< (SERCOM_USART_BAUD) Baud Rate Value Position */
+#define SERCOM_USART_BAUD_FRACFP_BAUD_Msk   (_U_(0x1FFF) << SERCOM_USART_BAUD_FRACFP_BAUD_Pos)  /**< (SERCOM_USART_BAUD) Baud Rate Value Mask */
+#define SERCOM_USART_BAUD_FRACFP_BAUD(value) (SERCOM_USART_BAUD_FRACFP_BAUD_Msk & ((value) << SERCOM_USART_BAUD_FRACFP_BAUD_Pos))
+#define SERCOM_USART_BAUD_FRACFP_FP_Pos     13                                             /**< (SERCOM_USART_BAUD) Fractional Part Position */
+#define SERCOM_USART_BAUD_FRACFP_FP_Msk     (_U_(0x7) << SERCOM_USART_BAUD_FRACFP_FP_Pos)  /**< (SERCOM_USART_BAUD) Fractional Part Mask */
+#define SERCOM_USART_BAUD_FRACFP_FP(value)  (SERCOM_USART_BAUD_FRACFP_FP_Msk & ((value) << SERCOM_USART_BAUD_FRACFP_FP_Pos))
+#define SERCOM_USART_BAUD_FRACFP_MASK       _U_(0xFFFF)                                    /**< \deprecated (SERCOM_USART_BAUD_FRACFP) Register MASK  (Use SERCOM_USART_BAUD_FRACFP_Msk instead)  */
+#define SERCOM_USART_BAUD_FRACFP_Msk        _U_(0xFFFF)                                    /**< (SERCOM_USART_BAUD_FRACFP) Register Mask  */
+
+/* USARTFP mode */
+#define SERCOM_USART_BAUD_USARTFP_BAUD_Pos  0                                              /**< (SERCOM_USART_BAUD) Baud Rate Value Position */
+#define SERCOM_USART_BAUD_USARTFP_BAUD_Msk  (_U_(0xFFFF) << SERCOM_USART_BAUD_USARTFP_BAUD_Pos)  /**< (SERCOM_USART_BAUD) Baud Rate Value Mask */
+#define SERCOM_USART_BAUD_USARTFP_BAUD(value) (SERCOM_USART_BAUD_USARTFP_BAUD_Msk & ((value) << SERCOM_USART_BAUD_USARTFP_BAUD_Pos))
+#define SERCOM_USART_BAUD_USARTFP_MASK      _U_(0xFFFF)                                    /**< \deprecated (SERCOM_USART_BAUD_USARTFP) Register MASK  (Use SERCOM_USART_BAUD_USARTFP_Msk instead)  */
+#define SERCOM_USART_BAUD_USARTFP_Msk       _U_(0xFFFF)                                    /**< (SERCOM_USART_BAUD_USARTFP) Register Mask  */
+
+
+/* -------- SERCOM_USART_RXPL : (SERCOM Offset: 0x0e) (R/W 8) USART Receive Pulse Length -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RXPL:8;                    /**< bit:   0..7  Receive Pulse Length                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_RXPL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_RXPL_OFFSET            (0x0E)                                        /**<  (SERCOM_USART_RXPL) USART Receive Pulse Length  Offset */
+#define SERCOM_USART_RXPL_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_USART_RXPL) USART Receive Pulse Length  Reset Value */
+
+#define SERCOM_USART_RXPL_RXPL_Pos          0                                              /**< (SERCOM_USART_RXPL) Receive Pulse Length Position */
+#define SERCOM_USART_RXPL_RXPL_Msk          (_U_(0xFF) << SERCOM_USART_RXPL_RXPL_Pos)      /**< (SERCOM_USART_RXPL) Receive Pulse Length Mask */
+#define SERCOM_USART_RXPL_RXPL(value)       (SERCOM_USART_RXPL_RXPL_Msk & ((value) << SERCOM_USART_RXPL_RXPL_Pos))
+#define SERCOM_USART_RXPL_MASK              _U_(0xFF)                                      /**< \deprecated (SERCOM_USART_RXPL) Register MASK  (Use SERCOM_USART_RXPL_Msk instead)  */
+#define SERCOM_USART_RXPL_Msk               _U_(0xFF)                                      /**< (SERCOM_USART_RXPL) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) I2CM Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  MB:1;                      /**< bit:      0  Master On Bus Interrupt Disable          */
+    uint8_t  SB:1;                      /**< bit:      1  Slave On Bus Interrupt Disable           */
+    uint8_t  :5;                        /**< bit:   2..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Disable         */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CM_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_INTENCLR_OFFSET         (0x14)                                        /**<  (SERCOM_I2CM_INTENCLR) I2CM Interrupt Enable Clear  Offset */
+#define SERCOM_I2CM_INTENCLR_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CM_INTENCLR) I2CM Interrupt Enable Clear  Reset Value */
+
+#define SERCOM_I2CM_INTENCLR_MB_Pos         0                                              /**< (SERCOM_I2CM_INTENCLR) Master On Bus Interrupt Disable Position */
+#define SERCOM_I2CM_INTENCLR_MB_Msk         (_U_(0x1) << SERCOM_I2CM_INTENCLR_MB_Pos)      /**< (SERCOM_I2CM_INTENCLR) Master On Bus Interrupt Disable Mask */
+#define SERCOM_I2CM_INTENCLR_MB             SERCOM_I2CM_INTENCLR_MB_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENCLR_MB_Msk instead */
+#define SERCOM_I2CM_INTENCLR_SB_Pos         1                                              /**< (SERCOM_I2CM_INTENCLR) Slave On Bus Interrupt Disable Position */
+#define SERCOM_I2CM_INTENCLR_SB_Msk         (_U_(0x1) << SERCOM_I2CM_INTENCLR_SB_Pos)      /**< (SERCOM_I2CM_INTENCLR) Slave On Bus Interrupt Disable Mask */
+#define SERCOM_I2CM_INTENCLR_SB             SERCOM_I2CM_INTENCLR_SB_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENCLR_SB_Msk instead */
+#define SERCOM_I2CM_INTENCLR_ERROR_Pos      7                                              /**< (SERCOM_I2CM_INTENCLR) Combined Error Interrupt Disable Position */
+#define SERCOM_I2CM_INTENCLR_ERROR_Msk      (_U_(0x1) << SERCOM_I2CM_INTENCLR_ERROR_Pos)   /**< (SERCOM_I2CM_INTENCLR) Combined Error Interrupt Disable Mask */
+#define SERCOM_I2CM_INTENCLR_ERROR          SERCOM_I2CM_INTENCLR_ERROR_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENCLR_ERROR_Msk instead */
+#define SERCOM_I2CM_INTENCLR_MASK           _U_(0x83)                                      /**< \deprecated (SERCOM_I2CM_INTENCLR) Register MASK  (Use SERCOM_I2CM_INTENCLR_Msk instead)  */
+#define SERCOM_I2CM_INTENCLR_Msk            _U_(0x83)                                      /**< (SERCOM_I2CM_INTENCLR) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) I2CS Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PREC:1;                    /**< bit:      0  Stop Received Interrupt Disable          */
+    uint8_t  AMATCH:1;                  /**< bit:      1  Address Match Interrupt Disable          */
+    uint8_t  DRDY:1;                    /**< bit:      2  Data Interrupt Disable                   */
+    uint8_t  :4;                        /**< bit:   3..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Disable         */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CS_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_INTENCLR_OFFSET         (0x14)                                        /**<  (SERCOM_I2CS_INTENCLR) I2CS Interrupt Enable Clear  Offset */
+#define SERCOM_I2CS_INTENCLR_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CS_INTENCLR) I2CS Interrupt Enable Clear  Reset Value */
+
+#define SERCOM_I2CS_INTENCLR_PREC_Pos       0                                              /**< (SERCOM_I2CS_INTENCLR) Stop Received Interrupt Disable Position */
+#define SERCOM_I2CS_INTENCLR_PREC_Msk       (_U_(0x1) << SERCOM_I2CS_INTENCLR_PREC_Pos)    /**< (SERCOM_I2CS_INTENCLR) Stop Received Interrupt Disable Mask */
+#define SERCOM_I2CS_INTENCLR_PREC           SERCOM_I2CS_INTENCLR_PREC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENCLR_PREC_Msk instead */
+#define SERCOM_I2CS_INTENCLR_AMATCH_Pos     1                                              /**< (SERCOM_I2CS_INTENCLR) Address Match Interrupt Disable Position */
+#define SERCOM_I2CS_INTENCLR_AMATCH_Msk     (_U_(0x1) << SERCOM_I2CS_INTENCLR_AMATCH_Pos)  /**< (SERCOM_I2CS_INTENCLR) Address Match Interrupt Disable Mask */
+#define SERCOM_I2CS_INTENCLR_AMATCH         SERCOM_I2CS_INTENCLR_AMATCH_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENCLR_AMATCH_Msk instead */
+#define SERCOM_I2CS_INTENCLR_DRDY_Pos       2                                              /**< (SERCOM_I2CS_INTENCLR) Data Interrupt Disable Position */
+#define SERCOM_I2CS_INTENCLR_DRDY_Msk       (_U_(0x1) << SERCOM_I2CS_INTENCLR_DRDY_Pos)    /**< (SERCOM_I2CS_INTENCLR) Data Interrupt Disable Mask */
+#define SERCOM_I2CS_INTENCLR_DRDY           SERCOM_I2CS_INTENCLR_DRDY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENCLR_DRDY_Msk instead */
+#define SERCOM_I2CS_INTENCLR_ERROR_Pos      7                                              /**< (SERCOM_I2CS_INTENCLR) Combined Error Interrupt Disable Position */
+#define SERCOM_I2CS_INTENCLR_ERROR_Msk      (_U_(0x1) << SERCOM_I2CS_INTENCLR_ERROR_Pos)   /**< (SERCOM_I2CS_INTENCLR) Combined Error Interrupt Disable Mask */
+#define SERCOM_I2CS_INTENCLR_ERROR          SERCOM_I2CS_INTENCLR_ERROR_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENCLR_ERROR_Msk instead */
+#define SERCOM_I2CS_INTENCLR_MASK           _U_(0x87)                                      /**< \deprecated (SERCOM_I2CS_INTENCLR) Register MASK  (Use SERCOM_I2CS_INTENCLR_Msk instead)  */
+#define SERCOM_I2CS_INTENCLR_Msk            _U_(0x87)                                      /**< (SERCOM_I2CS_INTENCLR) Register Mask  */
+
+
+/* -------- SERCOM_SPI_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) SPI Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DRE:1;                     /**< bit:      0  Data Register Empty Interrupt Disable    */
+    uint8_t  TXC:1;                     /**< bit:      1  Transmit Complete Interrupt Disable      */
+    uint8_t  RXC:1;                     /**< bit:      2  Receive Complete Interrupt Disable       */
+    uint8_t  SSL:1;                     /**< bit:      3  Slave Select Low Interrupt Disable       */
+    uint8_t  :3;                        /**< bit:   4..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Disable         */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_SPI_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_INTENCLR_OFFSET          (0x14)                                        /**<  (SERCOM_SPI_INTENCLR) SPI Interrupt Enable Clear  Offset */
+#define SERCOM_SPI_INTENCLR_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_SPI_INTENCLR) SPI Interrupt Enable Clear  Reset Value */
+
+#define SERCOM_SPI_INTENCLR_DRE_Pos         0                                              /**< (SERCOM_SPI_INTENCLR) Data Register Empty Interrupt Disable Position */
+#define SERCOM_SPI_INTENCLR_DRE_Msk         (_U_(0x1) << SERCOM_SPI_INTENCLR_DRE_Pos)      /**< (SERCOM_SPI_INTENCLR) Data Register Empty Interrupt Disable Mask */
+#define SERCOM_SPI_INTENCLR_DRE             SERCOM_SPI_INTENCLR_DRE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENCLR_DRE_Msk instead */
+#define SERCOM_SPI_INTENCLR_TXC_Pos         1                                              /**< (SERCOM_SPI_INTENCLR) Transmit Complete Interrupt Disable Position */
+#define SERCOM_SPI_INTENCLR_TXC_Msk         (_U_(0x1) << SERCOM_SPI_INTENCLR_TXC_Pos)      /**< (SERCOM_SPI_INTENCLR) Transmit Complete Interrupt Disable Mask */
+#define SERCOM_SPI_INTENCLR_TXC             SERCOM_SPI_INTENCLR_TXC_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENCLR_TXC_Msk instead */
+#define SERCOM_SPI_INTENCLR_RXC_Pos         2                                              /**< (SERCOM_SPI_INTENCLR) Receive Complete Interrupt Disable Position */
+#define SERCOM_SPI_INTENCLR_RXC_Msk         (_U_(0x1) << SERCOM_SPI_INTENCLR_RXC_Pos)      /**< (SERCOM_SPI_INTENCLR) Receive Complete Interrupt Disable Mask */
+#define SERCOM_SPI_INTENCLR_RXC             SERCOM_SPI_INTENCLR_RXC_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENCLR_RXC_Msk instead */
+#define SERCOM_SPI_INTENCLR_SSL_Pos         3                                              /**< (SERCOM_SPI_INTENCLR) Slave Select Low Interrupt Disable Position */
+#define SERCOM_SPI_INTENCLR_SSL_Msk         (_U_(0x1) << SERCOM_SPI_INTENCLR_SSL_Pos)      /**< (SERCOM_SPI_INTENCLR) Slave Select Low Interrupt Disable Mask */
+#define SERCOM_SPI_INTENCLR_SSL             SERCOM_SPI_INTENCLR_SSL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENCLR_SSL_Msk instead */
+#define SERCOM_SPI_INTENCLR_ERROR_Pos       7                                              /**< (SERCOM_SPI_INTENCLR) Combined Error Interrupt Disable Position */
+#define SERCOM_SPI_INTENCLR_ERROR_Msk       (_U_(0x1) << SERCOM_SPI_INTENCLR_ERROR_Pos)    /**< (SERCOM_SPI_INTENCLR) Combined Error Interrupt Disable Mask */
+#define SERCOM_SPI_INTENCLR_ERROR           SERCOM_SPI_INTENCLR_ERROR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENCLR_ERROR_Msk instead */
+#define SERCOM_SPI_INTENCLR_MASK            _U_(0x8F)                                      /**< \deprecated (SERCOM_SPI_INTENCLR) Register MASK  (Use SERCOM_SPI_INTENCLR_Msk instead)  */
+#define SERCOM_SPI_INTENCLR_Msk             _U_(0x8F)                                      /**< (SERCOM_SPI_INTENCLR) Register Mask  */
+
+
+/* -------- SERCOM_USART_INTENCLR : (SERCOM Offset: 0x14) (R/W 8) USART Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DRE:1;                     /**< bit:      0  Data Register Empty Interrupt Disable    */
+    uint8_t  TXC:1;                     /**< bit:      1  Transmit Complete Interrupt Disable      */
+    uint8_t  RXC:1;                     /**< bit:      2  Receive Complete Interrupt Disable       */
+    uint8_t  RXS:1;                     /**< bit:      3  Receive Start Interrupt Disable          */
+    uint8_t  CTSIC:1;                   /**< bit:      4  Clear To Send Input Change Interrupt Disable */
+    uint8_t  RXBRK:1;                   /**< bit:      5  Break Received Interrupt Disable         */
+    uint8_t  :1;                        /**< bit:      6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Disable         */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_INTENCLR_OFFSET        (0x14)                                        /**<  (SERCOM_USART_INTENCLR) USART Interrupt Enable Clear  Offset */
+#define SERCOM_USART_INTENCLR_RESETVALUE    _U_(0x00)                                     /**<  (SERCOM_USART_INTENCLR) USART Interrupt Enable Clear  Reset Value */
+
+#define SERCOM_USART_INTENCLR_DRE_Pos       0                                              /**< (SERCOM_USART_INTENCLR) Data Register Empty Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_DRE_Msk       (_U_(0x1) << SERCOM_USART_INTENCLR_DRE_Pos)    /**< (SERCOM_USART_INTENCLR) Data Register Empty Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_DRE           SERCOM_USART_INTENCLR_DRE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_DRE_Msk instead */
+#define SERCOM_USART_INTENCLR_TXC_Pos       1                                              /**< (SERCOM_USART_INTENCLR) Transmit Complete Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_TXC_Msk       (_U_(0x1) << SERCOM_USART_INTENCLR_TXC_Pos)    /**< (SERCOM_USART_INTENCLR) Transmit Complete Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_TXC           SERCOM_USART_INTENCLR_TXC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_TXC_Msk instead */
+#define SERCOM_USART_INTENCLR_RXC_Pos       2                                              /**< (SERCOM_USART_INTENCLR) Receive Complete Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_RXC_Msk       (_U_(0x1) << SERCOM_USART_INTENCLR_RXC_Pos)    /**< (SERCOM_USART_INTENCLR) Receive Complete Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_RXC           SERCOM_USART_INTENCLR_RXC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_RXC_Msk instead */
+#define SERCOM_USART_INTENCLR_RXS_Pos       3                                              /**< (SERCOM_USART_INTENCLR) Receive Start Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_RXS_Msk       (_U_(0x1) << SERCOM_USART_INTENCLR_RXS_Pos)    /**< (SERCOM_USART_INTENCLR) Receive Start Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_RXS           SERCOM_USART_INTENCLR_RXS_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_RXS_Msk instead */
+#define SERCOM_USART_INTENCLR_CTSIC_Pos     4                                              /**< (SERCOM_USART_INTENCLR) Clear To Send Input Change Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_CTSIC_Msk     (_U_(0x1) << SERCOM_USART_INTENCLR_CTSIC_Pos)  /**< (SERCOM_USART_INTENCLR) Clear To Send Input Change Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_CTSIC         SERCOM_USART_INTENCLR_CTSIC_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_CTSIC_Msk instead */
+#define SERCOM_USART_INTENCLR_RXBRK_Pos     5                                              /**< (SERCOM_USART_INTENCLR) Break Received Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_RXBRK_Msk     (_U_(0x1) << SERCOM_USART_INTENCLR_RXBRK_Pos)  /**< (SERCOM_USART_INTENCLR) Break Received Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_RXBRK         SERCOM_USART_INTENCLR_RXBRK_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_RXBRK_Msk instead */
+#define SERCOM_USART_INTENCLR_ERROR_Pos     7                                              /**< (SERCOM_USART_INTENCLR) Combined Error Interrupt Disable Position */
+#define SERCOM_USART_INTENCLR_ERROR_Msk     (_U_(0x1) << SERCOM_USART_INTENCLR_ERROR_Pos)  /**< (SERCOM_USART_INTENCLR) Combined Error Interrupt Disable Mask */
+#define SERCOM_USART_INTENCLR_ERROR         SERCOM_USART_INTENCLR_ERROR_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENCLR_ERROR_Msk instead */
+#define SERCOM_USART_INTENCLR_MASK          _U_(0xBF)                                      /**< \deprecated (SERCOM_USART_INTENCLR) Register MASK  (Use SERCOM_USART_INTENCLR_Msk instead)  */
+#define SERCOM_USART_INTENCLR_Msk           _U_(0xBF)                                      /**< (SERCOM_USART_INTENCLR) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_INTENSET : (SERCOM Offset: 0x16) (R/W 8) I2CM Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  MB:1;                      /**< bit:      0  Master On Bus Interrupt Enable           */
+    uint8_t  SB:1;                      /**< bit:      1  Slave On Bus Interrupt Enable            */
+    uint8_t  :5;                        /**< bit:   2..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Enable          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CM_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_INTENSET_OFFSET         (0x16)                                        /**<  (SERCOM_I2CM_INTENSET) I2CM Interrupt Enable Set  Offset */
+#define SERCOM_I2CM_INTENSET_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CM_INTENSET) I2CM Interrupt Enable Set  Reset Value */
+
+#define SERCOM_I2CM_INTENSET_MB_Pos         0                                              /**< (SERCOM_I2CM_INTENSET) Master On Bus Interrupt Enable Position */
+#define SERCOM_I2CM_INTENSET_MB_Msk         (_U_(0x1) << SERCOM_I2CM_INTENSET_MB_Pos)      /**< (SERCOM_I2CM_INTENSET) Master On Bus Interrupt Enable Mask */
+#define SERCOM_I2CM_INTENSET_MB             SERCOM_I2CM_INTENSET_MB_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENSET_MB_Msk instead */
+#define SERCOM_I2CM_INTENSET_SB_Pos         1                                              /**< (SERCOM_I2CM_INTENSET) Slave On Bus Interrupt Enable Position */
+#define SERCOM_I2CM_INTENSET_SB_Msk         (_U_(0x1) << SERCOM_I2CM_INTENSET_SB_Pos)      /**< (SERCOM_I2CM_INTENSET) Slave On Bus Interrupt Enable Mask */
+#define SERCOM_I2CM_INTENSET_SB             SERCOM_I2CM_INTENSET_SB_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENSET_SB_Msk instead */
+#define SERCOM_I2CM_INTENSET_ERROR_Pos      7                                              /**< (SERCOM_I2CM_INTENSET) Combined Error Interrupt Enable Position */
+#define SERCOM_I2CM_INTENSET_ERROR_Msk      (_U_(0x1) << SERCOM_I2CM_INTENSET_ERROR_Pos)   /**< (SERCOM_I2CM_INTENSET) Combined Error Interrupt Enable Mask */
+#define SERCOM_I2CM_INTENSET_ERROR          SERCOM_I2CM_INTENSET_ERROR_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTENSET_ERROR_Msk instead */
+#define SERCOM_I2CM_INTENSET_MASK           _U_(0x83)                                      /**< \deprecated (SERCOM_I2CM_INTENSET) Register MASK  (Use SERCOM_I2CM_INTENSET_Msk instead)  */
+#define SERCOM_I2CM_INTENSET_Msk            _U_(0x83)                                      /**< (SERCOM_I2CM_INTENSET) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_INTENSET : (SERCOM Offset: 0x16) (R/W 8) I2CS Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PREC:1;                    /**< bit:      0  Stop Received Interrupt Enable           */
+    uint8_t  AMATCH:1;                  /**< bit:      1  Address Match Interrupt Enable           */
+    uint8_t  DRDY:1;                    /**< bit:      2  Data Interrupt Enable                    */
+    uint8_t  :4;                        /**< bit:   3..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Enable          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CS_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_INTENSET_OFFSET         (0x16)                                        /**<  (SERCOM_I2CS_INTENSET) I2CS Interrupt Enable Set  Offset */
+#define SERCOM_I2CS_INTENSET_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CS_INTENSET) I2CS Interrupt Enable Set  Reset Value */
+
+#define SERCOM_I2CS_INTENSET_PREC_Pos       0                                              /**< (SERCOM_I2CS_INTENSET) Stop Received Interrupt Enable Position */
+#define SERCOM_I2CS_INTENSET_PREC_Msk       (_U_(0x1) << SERCOM_I2CS_INTENSET_PREC_Pos)    /**< (SERCOM_I2CS_INTENSET) Stop Received Interrupt Enable Mask */
+#define SERCOM_I2CS_INTENSET_PREC           SERCOM_I2CS_INTENSET_PREC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENSET_PREC_Msk instead */
+#define SERCOM_I2CS_INTENSET_AMATCH_Pos     1                                              /**< (SERCOM_I2CS_INTENSET) Address Match Interrupt Enable Position */
+#define SERCOM_I2CS_INTENSET_AMATCH_Msk     (_U_(0x1) << SERCOM_I2CS_INTENSET_AMATCH_Pos)  /**< (SERCOM_I2CS_INTENSET) Address Match Interrupt Enable Mask */
+#define SERCOM_I2CS_INTENSET_AMATCH         SERCOM_I2CS_INTENSET_AMATCH_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENSET_AMATCH_Msk instead */
+#define SERCOM_I2CS_INTENSET_DRDY_Pos       2                                              /**< (SERCOM_I2CS_INTENSET) Data Interrupt Enable Position */
+#define SERCOM_I2CS_INTENSET_DRDY_Msk       (_U_(0x1) << SERCOM_I2CS_INTENSET_DRDY_Pos)    /**< (SERCOM_I2CS_INTENSET) Data Interrupt Enable Mask */
+#define SERCOM_I2CS_INTENSET_DRDY           SERCOM_I2CS_INTENSET_DRDY_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENSET_DRDY_Msk instead */
+#define SERCOM_I2CS_INTENSET_ERROR_Pos      7                                              /**< (SERCOM_I2CS_INTENSET) Combined Error Interrupt Enable Position */
+#define SERCOM_I2CS_INTENSET_ERROR_Msk      (_U_(0x1) << SERCOM_I2CS_INTENSET_ERROR_Pos)   /**< (SERCOM_I2CS_INTENSET) Combined Error Interrupt Enable Mask */
+#define SERCOM_I2CS_INTENSET_ERROR          SERCOM_I2CS_INTENSET_ERROR_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTENSET_ERROR_Msk instead */
+#define SERCOM_I2CS_INTENSET_MASK           _U_(0x87)                                      /**< \deprecated (SERCOM_I2CS_INTENSET) Register MASK  (Use SERCOM_I2CS_INTENSET_Msk instead)  */
+#define SERCOM_I2CS_INTENSET_Msk            _U_(0x87)                                      /**< (SERCOM_I2CS_INTENSET) Register Mask  */
+
+
+/* -------- SERCOM_SPI_INTENSET : (SERCOM Offset: 0x16) (R/W 8) SPI Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DRE:1;                     /**< bit:      0  Data Register Empty Interrupt Enable     */
+    uint8_t  TXC:1;                     /**< bit:      1  Transmit Complete Interrupt Enable       */
+    uint8_t  RXC:1;                     /**< bit:      2  Receive Complete Interrupt Enable        */
+    uint8_t  SSL:1;                     /**< bit:      3  Slave Select Low Interrupt Enable        */
+    uint8_t  :3;                        /**< bit:   4..6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Enable          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_SPI_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_INTENSET_OFFSET          (0x16)                                        /**<  (SERCOM_SPI_INTENSET) SPI Interrupt Enable Set  Offset */
+#define SERCOM_SPI_INTENSET_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_SPI_INTENSET) SPI Interrupt Enable Set  Reset Value */
+
+#define SERCOM_SPI_INTENSET_DRE_Pos         0                                              /**< (SERCOM_SPI_INTENSET) Data Register Empty Interrupt Enable Position */
+#define SERCOM_SPI_INTENSET_DRE_Msk         (_U_(0x1) << SERCOM_SPI_INTENSET_DRE_Pos)      /**< (SERCOM_SPI_INTENSET) Data Register Empty Interrupt Enable Mask */
+#define SERCOM_SPI_INTENSET_DRE             SERCOM_SPI_INTENSET_DRE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENSET_DRE_Msk instead */
+#define SERCOM_SPI_INTENSET_TXC_Pos         1                                              /**< (SERCOM_SPI_INTENSET) Transmit Complete Interrupt Enable Position */
+#define SERCOM_SPI_INTENSET_TXC_Msk         (_U_(0x1) << SERCOM_SPI_INTENSET_TXC_Pos)      /**< (SERCOM_SPI_INTENSET) Transmit Complete Interrupt Enable Mask */
+#define SERCOM_SPI_INTENSET_TXC             SERCOM_SPI_INTENSET_TXC_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENSET_TXC_Msk instead */
+#define SERCOM_SPI_INTENSET_RXC_Pos         2                                              /**< (SERCOM_SPI_INTENSET) Receive Complete Interrupt Enable Position */
+#define SERCOM_SPI_INTENSET_RXC_Msk         (_U_(0x1) << SERCOM_SPI_INTENSET_RXC_Pos)      /**< (SERCOM_SPI_INTENSET) Receive Complete Interrupt Enable Mask */
+#define SERCOM_SPI_INTENSET_RXC             SERCOM_SPI_INTENSET_RXC_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENSET_RXC_Msk instead */
+#define SERCOM_SPI_INTENSET_SSL_Pos         3                                              /**< (SERCOM_SPI_INTENSET) Slave Select Low Interrupt Enable Position */
+#define SERCOM_SPI_INTENSET_SSL_Msk         (_U_(0x1) << SERCOM_SPI_INTENSET_SSL_Pos)      /**< (SERCOM_SPI_INTENSET) Slave Select Low Interrupt Enable Mask */
+#define SERCOM_SPI_INTENSET_SSL             SERCOM_SPI_INTENSET_SSL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENSET_SSL_Msk instead */
+#define SERCOM_SPI_INTENSET_ERROR_Pos       7                                              /**< (SERCOM_SPI_INTENSET) Combined Error Interrupt Enable Position */
+#define SERCOM_SPI_INTENSET_ERROR_Msk       (_U_(0x1) << SERCOM_SPI_INTENSET_ERROR_Pos)    /**< (SERCOM_SPI_INTENSET) Combined Error Interrupt Enable Mask */
+#define SERCOM_SPI_INTENSET_ERROR           SERCOM_SPI_INTENSET_ERROR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTENSET_ERROR_Msk instead */
+#define SERCOM_SPI_INTENSET_MASK            _U_(0x8F)                                      /**< \deprecated (SERCOM_SPI_INTENSET) Register MASK  (Use SERCOM_SPI_INTENSET_Msk instead)  */
+#define SERCOM_SPI_INTENSET_Msk             _U_(0x8F)                                      /**< (SERCOM_SPI_INTENSET) Register Mask  */
+
+
+/* -------- SERCOM_USART_INTENSET : (SERCOM Offset: 0x16) (R/W 8) USART Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DRE:1;                     /**< bit:      0  Data Register Empty Interrupt Enable     */
+    uint8_t  TXC:1;                     /**< bit:      1  Transmit Complete Interrupt Enable       */
+    uint8_t  RXC:1;                     /**< bit:      2  Receive Complete Interrupt Enable        */
+    uint8_t  RXS:1;                     /**< bit:      3  Receive Start Interrupt Enable           */
+    uint8_t  CTSIC:1;                   /**< bit:      4  Clear To Send Input Change Interrupt Enable */
+    uint8_t  RXBRK:1;                   /**< bit:      5  Break Received Interrupt Enable          */
+    uint8_t  :1;                        /**< bit:      6  Reserved */
+    uint8_t  ERROR:1;                   /**< bit:      7  Combined Error Interrupt Enable          */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_INTENSET_OFFSET        (0x16)                                        /**<  (SERCOM_USART_INTENSET) USART Interrupt Enable Set  Offset */
+#define SERCOM_USART_INTENSET_RESETVALUE    _U_(0x00)                                     /**<  (SERCOM_USART_INTENSET) USART Interrupt Enable Set  Reset Value */
+
+#define SERCOM_USART_INTENSET_DRE_Pos       0                                              /**< (SERCOM_USART_INTENSET) Data Register Empty Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_DRE_Msk       (_U_(0x1) << SERCOM_USART_INTENSET_DRE_Pos)    /**< (SERCOM_USART_INTENSET) Data Register Empty Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_DRE           SERCOM_USART_INTENSET_DRE_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_DRE_Msk instead */
+#define SERCOM_USART_INTENSET_TXC_Pos       1                                              /**< (SERCOM_USART_INTENSET) Transmit Complete Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_TXC_Msk       (_U_(0x1) << SERCOM_USART_INTENSET_TXC_Pos)    /**< (SERCOM_USART_INTENSET) Transmit Complete Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_TXC           SERCOM_USART_INTENSET_TXC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_TXC_Msk instead */
+#define SERCOM_USART_INTENSET_RXC_Pos       2                                              /**< (SERCOM_USART_INTENSET) Receive Complete Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_RXC_Msk       (_U_(0x1) << SERCOM_USART_INTENSET_RXC_Pos)    /**< (SERCOM_USART_INTENSET) Receive Complete Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_RXC           SERCOM_USART_INTENSET_RXC_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_RXC_Msk instead */
+#define SERCOM_USART_INTENSET_RXS_Pos       3                                              /**< (SERCOM_USART_INTENSET) Receive Start Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_RXS_Msk       (_U_(0x1) << SERCOM_USART_INTENSET_RXS_Pos)    /**< (SERCOM_USART_INTENSET) Receive Start Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_RXS           SERCOM_USART_INTENSET_RXS_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_RXS_Msk instead */
+#define SERCOM_USART_INTENSET_CTSIC_Pos     4                                              /**< (SERCOM_USART_INTENSET) Clear To Send Input Change Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_CTSIC_Msk     (_U_(0x1) << SERCOM_USART_INTENSET_CTSIC_Pos)  /**< (SERCOM_USART_INTENSET) Clear To Send Input Change Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_CTSIC         SERCOM_USART_INTENSET_CTSIC_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_CTSIC_Msk instead */
+#define SERCOM_USART_INTENSET_RXBRK_Pos     5                                              /**< (SERCOM_USART_INTENSET) Break Received Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_RXBRK_Msk     (_U_(0x1) << SERCOM_USART_INTENSET_RXBRK_Pos)  /**< (SERCOM_USART_INTENSET) Break Received Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_RXBRK         SERCOM_USART_INTENSET_RXBRK_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_RXBRK_Msk instead */
+#define SERCOM_USART_INTENSET_ERROR_Pos     7                                              /**< (SERCOM_USART_INTENSET) Combined Error Interrupt Enable Position */
+#define SERCOM_USART_INTENSET_ERROR_Msk     (_U_(0x1) << SERCOM_USART_INTENSET_ERROR_Pos)  /**< (SERCOM_USART_INTENSET) Combined Error Interrupt Enable Mask */
+#define SERCOM_USART_INTENSET_ERROR         SERCOM_USART_INTENSET_ERROR_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTENSET_ERROR_Msk instead */
+#define SERCOM_USART_INTENSET_MASK          _U_(0xBF)                                      /**< \deprecated (SERCOM_USART_INTENSET) Register MASK  (Use SERCOM_USART_INTENSET_Msk instead)  */
+#define SERCOM_USART_INTENSET_Msk           _U_(0xBF)                                      /**< (SERCOM_USART_INTENSET) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) I2CM Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t MB:1;                      /**< bit:      0  Master On Bus Interrupt                  */
+    __I uint8_t SB:1;                      /**< bit:      1  Slave On Bus Interrupt                   */
+    __I uint8_t :5;                        /**< bit:   2..6  Reserved */
+    __I uint8_t ERROR:1;                   /**< bit:      7  Combined Error Interrupt                 */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CM_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_INTFLAG_OFFSET          (0x18)                                        /**<  (SERCOM_I2CM_INTFLAG) I2CM Interrupt Flag Status and Clear  Offset */
+#define SERCOM_I2CM_INTFLAG_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_I2CM_INTFLAG) I2CM Interrupt Flag Status and Clear  Reset Value */
+
+#define SERCOM_I2CM_INTFLAG_MB_Pos          0                                              /**< (SERCOM_I2CM_INTFLAG) Master On Bus Interrupt Position */
+#define SERCOM_I2CM_INTFLAG_MB_Msk          (_U_(0x1) << SERCOM_I2CM_INTFLAG_MB_Pos)       /**< (SERCOM_I2CM_INTFLAG) Master On Bus Interrupt Mask */
+#define SERCOM_I2CM_INTFLAG_MB              SERCOM_I2CM_INTFLAG_MB_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTFLAG_MB_Msk instead */
+#define SERCOM_I2CM_INTFLAG_SB_Pos          1                                              /**< (SERCOM_I2CM_INTFLAG) Slave On Bus Interrupt Position */
+#define SERCOM_I2CM_INTFLAG_SB_Msk          (_U_(0x1) << SERCOM_I2CM_INTFLAG_SB_Pos)       /**< (SERCOM_I2CM_INTFLAG) Slave On Bus Interrupt Mask */
+#define SERCOM_I2CM_INTFLAG_SB              SERCOM_I2CM_INTFLAG_SB_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTFLAG_SB_Msk instead */
+#define SERCOM_I2CM_INTFLAG_ERROR_Pos       7                                              /**< (SERCOM_I2CM_INTFLAG) Combined Error Interrupt Position */
+#define SERCOM_I2CM_INTFLAG_ERROR_Msk       (_U_(0x1) << SERCOM_I2CM_INTFLAG_ERROR_Pos)    /**< (SERCOM_I2CM_INTFLAG) Combined Error Interrupt Mask */
+#define SERCOM_I2CM_INTFLAG_ERROR           SERCOM_I2CM_INTFLAG_ERROR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_INTFLAG_ERROR_Msk instead */
+#define SERCOM_I2CM_INTFLAG_MASK            _U_(0x83)                                      /**< \deprecated (SERCOM_I2CM_INTFLAG) Register MASK  (Use SERCOM_I2CM_INTFLAG_Msk instead)  */
+#define SERCOM_I2CM_INTFLAG_Msk             _U_(0x83)                                      /**< (SERCOM_I2CM_INTFLAG) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) I2CS Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t PREC:1;                    /**< bit:      0  Stop Received Interrupt                  */
+    __I uint8_t AMATCH:1;                  /**< bit:      1  Address Match Interrupt                  */
+    __I uint8_t DRDY:1;                    /**< bit:      2  Data Interrupt                           */
+    __I uint8_t :4;                        /**< bit:   3..6  Reserved */
+    __I uint8_t ERROR:1;                   /**< bit:      7  Combined Error Interrupt                 */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CS_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_INTFLAG_OFFSET          (0x18)                                        /**<  (SERCOM_I2CS_INTFLAG) I2CS Interrupt Flag Status and Clear  Offset */
+#define SERCOM_I2CS_INTFLAG_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_I2CS_INTFLAG) I2CS Interrupt Flag Status and Clear  Reset Value */
+
+#define SERCOM_I2CS_INTFLAG_PREC_Pos        0                                              /**< (SERCOM_I2CS_INTFLAG) Stop Received Interrupt Position */
+#define SERCOM_I2CS_INTFLAG_PREC_Msk        (_U_(0x1) << SERCOM_I2CS_INTFLAG_PREC_Pos)     /**< (SERCOM_I2CS_INTFLAG) Stop Received Interrupt Mask */
+#define SERCOM_I2CS_INTFLAG_PREC            SERCOM_I2CS_INTFLAG_PREC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTFLAG_PREC_Msk instead */
+#define SERCOM_I2CS_INTFLAG_AMATCH_Pos      1                                              /**< (SERCOM_I2CS_INTFLAG) Address Match Interrupt Position */
+#define SERCOM_I2CS_INTFLAG_AMATCH_Msk      (_U_(0x1) << SERCOM_I2CS_INTFLAG_AMATCH_Pos)   /**< (SERCOM_I2CS_INTFLAG) Address Match Interrupt Mask */
+#define SERCOM_I2CS_INTFLAG_AMATCH          SERCOM_I2CS_INTFLAG_AMATCH_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTFLAG_AMATCH_Msk instead */
+#define SERCOM_I2CS_INTFLAG_DRDY_Pos        2                                              /**< (SERCOM_I2CS_INTFLAG) Data Interrupt Position */
+#define SERCOM_I2CS_INTFLAG_DRDY_Msk        (_U_(0x1) << SERCOM_I2CS_INTFLAG_DRDY_Pos)     /**< (SERCOM_I2CS_INTFLAG) Data Interrupt Mask */
+#define SERCOM_I2CS_INTFLAG_DRDY            SERCOM_I2CS_INTFLAG_DRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTFLAG_DRDY_Msk instead */
+#define SERCOM_I2CS_INTFLAG_ERROR_Pos       7                                              /**< (SERCOM_I2CS_INTFLAG) Combined Error Interrupt Position */
+#define SERCOM_I2CS_INTFLAG_ERROR_Msk       (_U_(0x1) << SERCOM_I2CS_INTFLAG_ERROR_Pos)    /**< (SERCOM_I2CS_INTFLAG) Combined Error Interrupt Mask */
+#define SERCOM_I2CS_INTFLAG_ERROR           SERCOM_I2CS_INTFLAG_ERROR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_INTFLAG_ERROR_Msk instead */
+#define SERCOM_I2CS_INTFLAG_MASK            _U_(0x87)                                      /**< \deprecated (SERCOM_I2CS_INTFLAG) Register MASK  (Use SERCOM_I2CS_INTFLAG_Msk instead)  */
+#define SERCOM_I2CS_INTFLAG_Msk             _U_(0x87)                                      /**< (SERCOM_I2CS_INTFLAG) Register Mask  */
+
+
+/* -------- SERCOM_SPI_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) SPI Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t DRE:1;                     /**< bit:      0  Data Register Empty Interrupt            */
+    __I uint8_t TXC:1;                     /**< bit:      1  Transmit Complete Interrupt              */
+    __I uint8_t RXC:1;                     /**< bit:      2  Receive Complete Interrupt               */
+    __I uint8_t SSL:1;                     /**< bit:      3  Slave Select Low Interrupt Flag          */
+    __I uint8_t :3;                        /**< bit:   4..6  Reserved */
+    __I uint8_t ERROR:1;                   /**< bit:      7  Combined Error Interrupt                 */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_SPI_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_INTFLAG_OFFSET           (0x18)                                        /**<  (SERCOM_SPI_INTFLAG) SPI Interrupt Flag Status and Clear  Offset */
+#define SERCOM_SPI_INTFLAG_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_SPI_INTFLAG) SPI Interrupt Flag Status and Clear  Reset Value */
+
+#define SERCOM_SPI_INTFLAG_DRE_Pos          0                                              /**< (SERCOM_SPI_INTFLAG) Data Register Empty Interrupt Position */
+#define SERCOM_SPI_INTFLAG_DRE_Msk          (_U_(0x1) << SERCOM_SPI_INTFLAG_DRE_Pos)       /**< (SERCOM_SPI_INTFLAG) Data Register Empty Interrupt Mask */
+#define SERCOM_SPI_INTFLAG_DRE              SERCOM_SPI_INTFLAG_DRE_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTFLAG_DRE_Msk instead */
+#define SERCOM_SPI_INTFLAG_TXC_Pos          1                                              /**< (SERCOM_SPI_INTFLAG) Transmit Complete Interrupt Position */
+#define SERCOM_SPI_INTFLAG_TXC_Msk          (_U_(0x1) << SERCOM_SPI_INTFLAG_TXC_Pos)       /**< (SERCOM_SPI_INTFLAG) Transmit Complete Interrupt Mask */
+#define SERCOM_SPI_INTFLAG_TXC              SERCOM_SPI_INTFLAG_TXC_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTFLAG_TXC_Msk instead */
+#define SERCOM_SPI_INTFLAG_RXC_Pos          2                                              /**< (SERCOM_SPI_INTFLAG) Receive Complete Interrupt Position */
+#define SERCOM_SPI_INTFLAG_RXC_Msk          (_U_(0x1) << SERCOM_SPI_INTFLAG_RXC_Pos)       /**< (SERCOM_SPI_INTFLAG) Receive Complete Interrupt Mask */
+#define SERCOM_SPI_INTFLAG_RXC              SERCOM_SPI_INTFLAG_RXC_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTFLAG_RXC_Msk instead */
+#define SERCOM_SPI_INTFLAG_SSL_Pos          3                                              /**< (SERCOM_SPI_INTFLAG) Slave Select Low Interrupt Flag Position */
+#define SERCOM_SPI_INTFLAG_SSL_Msk          (_U_(0x1) << SERCOM_SPI_INTFLAG_SSL_Pos)       /**< (SERCOM_SPI_INTFLAG) Slave Select Low Interrupt Flag Mask */
+#define SERCOM_SPI_INTFLAG_SSL              SERCOM_SPI_INTFLAG_SSL_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTFLAG_SSL_Msk instead */
+#define SERCOM_SPI_INTFLAG_ERROR_Pos        7                                              /**< (SERCOM_SPI_INTFLAG) Combined Error Interrupt Position */
+#define SERCOM_SPI_INTFLAG_ERROR_Msk        (_U_(0x1) << SERCOM_SPI_INTFLAG_ERROR_Pos)     /**< (SERCOM_SPI_INTFLAG) Combined Error Interrupt Mask */
+#define SERCOM_SPI_INTFLAG_ERROR            SERCOM_SPI_INTFLAG_ERROR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_INTFLAG_ERROR_Msk instead */
+#define SERCOM_SPI_INTFLAG_MASK             _U_(0x8F)                                      /**< \deprecated (SERCOM_SPI_INTFLAG) Register MASK  (Use SERCOM_SPI_INTFLAG_Msk instead)  */
+#define SERCOM_SPI_INTFLAG_Msk              _U_(0x8F)                                      /**< (SERCOM_SPI_INTFLAG) Register Mask  */
+
+
+/* -------- SERCOM_USART_INTFLAG : (SERCOM Offset: 0x18) (R/W 8) USART Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t DRE:1;                     /**< bit:      0  Data Register Empty Interrupt            */
+    __I uint8_t TXC:1;                     /**< bit:      1  Transmit Complete Interrupt              */
+    __I uint8_t RXC:1;                     /**< bit:      2  Receive Complete Interrupt               */
+    __I uint8_t RXS:1;                     /**< bit:      3  Receive Start Interrupt                  */
+    __I uint8_t CTSIC:1;                   /**< bit:      4  Clear To Send Input Change Interrupt     */
+    __I uint8_t RXBRK:1;                   /**< bit:      5  Break Received Interrupt                 */
+    __I uint8_t :1;                        /**< bit:      6  Reserved */
+    __I uint8_t ERROR:1;                   /**< bit:      7  Combined Error Interrupt                 */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_INTFLAG_OFFSET         (0x18)                                        /**<  (SERCOM_USART_INTFLAG) USART Interrupt Flag Status and Clear  Offset */
+#define SERCOM_USART_INTFLAG_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_USART_INTFLAG) USART Interrupt Flag Status and Clear  Reset Value */
+
+#define SERCOM_USART_INTFLAG_DRE_Pos        0                                              /**< (SERCOM_USART_INTFLAG) Data Register Empty Interrupt Position */
+#define SERCOM_USART_INTFLAG_DRE_Msk        (_U_(0x1) << SERCOM_USART_INTFLAG_DRE_Pos)     /**< (SERCOM_USART_INTFLAG) Data Register Empty Interrupt Mask */
+#define SERCOM_USART_INTFLAG_DRE            SERCOM_USART_INTFLAG_DRE_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_DRE_Msk instead */
+#define SERCOM_USART_INTFLAG_TXC_Pos        1                                              /**< (SERCOM_USART_INTFLAG) Transmit Complete Interrupt Position */
+#define SERCOM_USART_INTFLAG_TXC_Msk        (_U_(0x1) << SERCOM_USART_INTFLAG_TXC_Pos)     /**< (SERCOM_USART_INTFLAG) Transmit Complete Interrupt Mask */
+#define SERCOM_USART_INTFLAG_TXC            SERCOM_USART_INTFLAG_TXC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_TXC_Msk instead */
+#define SERCOM_USART_INTFLAG_RXC_Pos        2                                              /**< (SERCOM_USART_INTFLAG) Receive Complete Interrupt Position */
+#define SERCOM_USART_INTFLAG_RXC_Msk        (_U_(0x1) << SERCOM_USART_INTFLAG_RXC_Pos)     /**< (SERCOM_USART_INTFLAG) Receive Complete Interrupt Mask */
+#define SERCOM_USART_INTFLAG_RXC            SERCOM_USART_INTFLAG_RXC_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_RXC_Msk instead */
+#define SERCOM_USART_INTFLAG_RXS_Pos        3                                              /**< (SERCOM_USART_INTFLAG) Receive Start Interrupt Position */
+#define SERCOM_USART_INTFLAG_RXS_Msk        (_U_(0x1) << SERCOM_USART_INTFLAG_RXS_Pos)     /**< (SERCOM_USART_INTFLAG) Receive Start Interrupt Mask */
+#define SERCOM_USART_INTFLAG_RXS            SERCOM_USART_INTFLAG_RXS_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_RXS_Msk instead */
+#define SERCOM_USART_INTFLAG_CTSIC_Pos      4                                              /**< (SERCOM_USART_INTFLAG) Clear To Send Input Change Interrupt Position */
+#define SERCOM_USART_INTFLAG_CTSIC_Msk      (_U_(0x1) << SERCOM_USART_INTFLAG_CTSIC_Pos)   /**< (SERCOM_USART_INTFLAG) Clear To Send Input Change Interrupt Mask */
+#define SERCOM_USART_INTFLAG_CTSIC          SERCOM_USART_INTFLAG_CTSIC_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_CTSIC_Msk instead */
+#define SERCOM_USART_INTFLAG_RXBRK_Pos      5                                              /**< (SERCOM_USART_INTFLAG) Break Received Interrupt Position */
+#define SERCOM_USART_INTFLAG_RXBRK_Msk      (_U_(0x1) << SERCOM_USART_INTFLAG_RXBRK_Pos)   /**< (SERCOM_USART_INTFLAG) Break Received Interrupt Mask */
+#define SERCOM_USART_INTFLAG_RXBRK          SERCOM_USART_INTFLAG_RXBRK_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_RXBRK_Msk instead */
+#define SERCOM_USART_INTFLAG_ERROR_Pos      7                                              /**< (SERCOM_USART_INTFLAG) Combined Error Interrupt Position */
+#define SERCOM_USART_INTFLAG_ERROR_Msk      (_U_(0x1) << SERCOM_USART_INTFLAG_ERROR_Pos)   /**< (SERCOM_USART_INTFLAG) Combined Error Interrupt Mask */
+#define SERCOM_USART_INTFLAG_ERROR          SERCOM_USART_INTFLAG_ERROR_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_INTFLAG_ERROR_Msk instead */
+#define SERCOM_USART_INTFLAG_MASK           _U_(0xBF)                                      /**< \deprecated (SERCOM_USART_INTFLAG) Register MASK  (Use SERCOM_USART_INTFLAG_Msk instead)  */
+#define SERCOM_USART_INTFLAG_Msk            _U_(0xBF)                                      /**< (SERCOM_USART_INTFLAG) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_STATUS : (SERCOM Offset: 0x1a) (R/W 16) I2CM Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BUSERR:1;                  /**< bit:      0  Bus Error                                */
+    uint16_t ARBLOST:1;                 /**< bit:      1  Arbitration Lost                         */
+    uint16_t RXNACK:1;                  /**< bit:      2  Received Not Acknowledge                 */
+    uint16_t :1;                        /**< bit:      3  Reserved */
+    uint16_t BUSSTATE:2;                /**< bit:   4..5  Bus State                                */
+    uint16_t LOWTOUT:1;                 /**< bit:      6  SCL Low Timeout                          */
+    uint16_t CLKHOLD:1;                 /**< bit:      7  Clock Hold                               */
+    uint16_t MEXTTOUT:1;                /**< bit:      8  Master SCL Low Extend Timeout            */
+    uint16_t SEXTTOUT:1;                /**< bit:      9  Slave SCL Low Extend Timeout             */
+    uint16_t LENERR:1;                  /**< bit:     10  Length Error                             */
+    uint16_t :5;                        /**< bit: 11..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_STATUS_OFFSET           (0x1A)                                        /**<  (SERCOM_I2CM_STATUS) I2CM Status  Offset */
+#define SERCOM_I2CM_STATUS_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_I2CM_STATUS) I2CM Status  Reset Value */
+
+#define SERCOM_I2CM_STATUS_BUSERR_Pos       0                                              /**< (SERCOM_I2CM_STATUS) Bus Error Position */
+#define SERCOM_I2CM_STATUS_BUSERR_Msk       (_U_(0x1) << SERCOM_I2CM_STATUS_BUSERR_Pos)    /**< (SERCOM_I2CM_STATUS) Bus Error Mask */
+#define SERCOM_I2CM_STATUS_BUSERR           SERCOM_I2CM_STATUS_BUSERR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_BUSERR_Msk instead */
+#define SERCOM_I2CM_STATUS_ARBLOST_Pos      1                                              /**< (SERCOM_I2CM_STATUS) Arbitration Lost Position */
+#define SERCOM_I2CM_STATUS_ARBLOST_Msk      (_U_(0x1) << SERCOM_I2CM_STATUS_ARBLOST_Pos)   /**< (SERCOM_I2CM_STATUS) Arbitration Lost Mask */
+#define SERCOM_I2CM_STATUS_ARBLOST          SERCOM_I2CM_STATUS_ARBLOST_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_ARBLOST_Msk instead */
+#define SERCOM_I2CM_STATUS_RXNACK_Pos       2                                              /**< (SERCOM_I2CM_STATUS) Received Not Acknowledge Position */
+#define SERCOM_I2CM_STATUS_RXNACK_Msk       (_U_(0x1) << SERCOM_I2CM_STATUS_RXNACK_Pos)    /**< (SERCOM_I2CM_STATUS) Received Not Acknowledge Mask */
+#define SERCOM_I2CM_STATUS_RXNACK           SERCOM_I2CM_STATUS_RXNACK_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_RXNACK_Msk instead */
+#define SERCOM_I2CM_STATUS_BUSSTATE_Pos     4                                              /**< (SERCOM_I2CM_STATUS) Bus State Position */
+#define SERCOM_I2CM_STATUS_BUSSTATE_Msk     (_U_(0x3) << SERCOM_I2CM_STATUS_BUSSTATE_Pos)  /**< (SERCOM_I2CM_STATUS) Bus State Mask */
+#define SERCOM_I2CM_STATUS_BUSSTATE(value)  (SERCOM_I2CM_STATUS_BUSSTATE_Msk & ((value) << SERCOM_I2CM_STATUS_BUSSTATE_Pos))
+#define SERCOM_I2CM_STATUS_LOWTOUT_Pos      6                                              /**< (SERCOM_I2CM_STATUS) SCL Low Timeout Position */
+#define SERCOM_I2CM_STATUS_LOWTOUT_Msk      (_U_(0x1) << SERCOM_I2CM_STATUS_LOWTOUT_Pos)   /**< (SERCOM_I2CM_STATUS) SCL Low Timeout Mask */
+#define SERCOM_I2CM_STATUS_LOWTOUT          SERCOM_I2CM_STATUS_LOWTOUT_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_LOWTOUT_Msk instead */
+#define SERCOM_I2CM_STATUS_CLKHOLD_Pos      7                                              /**< (SERCOM_I2CM_STATUS) Clock Hold Position */
+#define SERCOM_I2CM_STATUS_CLKHOLD_Msk      (_U_(0x1) << SERCOM_I2CM_STATUS_CLKHOLD_Pos)   /**< (SERCOM_I2CM_STATUS) Clock Hold Mask */
+#define SERCOM_I2CM_STATUS_CLKHOLD          SERCOM_I2CM_STATUS_CLKHOLD_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_CLKHOLD_Msk instead */
+#define SERCOM_I2CM_STATUS_MEXTTOUT_Pos     8                                              /**< (SERCOM_I2CM_STATUS) Master SCL Low Extend Timeout Position */
+#define SERCOM_I2CM_STATUS_MEXTTOUT_Msk     (_U_(0x1) << SERCOM_I2CM_STATUS_MEXTTOUT_Pos)  /**< (SERCOM_I2CM_STATUS) Master SCL Low Extend Timeout Mask */
+#define SERCOM_I2CM_STATUS_MEXTTOUT         SERCOM_I2CM_STATUS_MEXTTOUT_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_MEXTTOUT_Msk instead */
+#define SERCOM_I2CM_STATUS_SEXTTOUT_Pos     9                                              /**< (SERCOM_I2CM_STATUS) Slave SCL Low Extend Timeout Position */
+#define SERCOM_I2CM_STATUS_SEXTTOUT_Msk     (_U_(0x1) << SERCOM_I2CM_STATUS_SEXTTOUT_Pos)  /**< (SERCOM_I2CM_STATUS) Slave SCL Low Extend Timeout Mask */
+#define SERCOM_I2CM_STATUS_SEXTTOUT         SERCOM_I2CM_STATUS_SEXTTOUT_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_SEXTTOUT_Msk instead */
+#define SERCOM_I2CM_STATUS_LENERR_Pos       10                                             /**< (SERCOM_I2CM_STATUS) Length Error Position */
+#define SERCOM_I2CM_STATUS_LENERR_Msk       (_U_(0x1) << SERCOM_I2CM_STATUS_LENERR_Pos)    /**< (SERCOM_I2CM_STATUS) Length Error Mask */
+#define SERCOM_I2CM_STATUS_LENERR           SERCOM_I2CM_STATUS_LENERR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_STATUS_LENERR_Msk instead */
+#define SERCOM_I2CM_STATUS_MASK             _U_(0x7F7)                                     /**< \deprecated (SERCOM_I2CM_STATUS) Register MASK  (Use SERCOM_I2CM_STATUS_Msk instead)  */
+#define SERCOM_I2CM_STATUS_Msk              _U_(0x7F7)                                     /**< (SERCOM_I2CM_STATUS) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_STATUS : (SERCOM Offset: 0x1a) (R/W 16) I2CS Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t BUSERR:1;                  /**< bit:      0  Bus Error                                */
+    uint16_t COLL:1;                    /**< bit:      1  Transmit Collision                       */
+    uint16_t RXNACK:1;                  /**< bit:      2  Received Not Acknowledge                 */
+    uint16_t DIR:1;                     /**< bit:      3  Read/Write Direction                     */
+    uint16_t SR:1;                      /**< bit:      4  Repeated Start                           */
+    uint16_t :1;                        /**< bit:      5  Reserved */
+    uint16_t LOWTOUT:1;                 /**< bit:      6  SCL Low Timeout                          */
+    uint16_t CLKHOLD:1;                 /**< bit:      7  Clock Hold                               */
+    uint16_t :1;                        /**< bit:      8  Reserved */
+    uint16_t SEXTTOUT:1;                /**< bit:      9  Slave SCL Low Extend Timeout             */
+    uint16_t HS:1;                      /**< bit:     10  High Speed                               */
+    uint16_t :5;                        /**< bit: 11..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_I2CS_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_STATUS_OFFSET           (0x1A)                                        /**<  (SERCOM_I2CS_STATUS) I2CS Status  Offset */
+#define SERCOM_I2CS_STATUS_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_I2CS_STATUS) I2CS Status  Reset Value */
+
+#define SERCOM_I2CS_STATUS_BUSERR_Pos       0                                              /**< (SERCOM_I2CS_STATUS) Bus Error Position */
+#define SERCOM_I2CS_STATUS_BUSERR_Msk       (_U_(0x1) << SERCOM_I2CS_STATUS_BUSERR_Pos)    /**< (SERCOM_I2CS_STATUS) Bus Error Mask */
+#define SERCOM_I2CS_STATUS_BUSERR           SERCOM_I2CS_STATUS_BUSERR_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_BUSERR_Msk instead */
+#define SERCOM_I2CS_STATUS_COLL_Pos         1                                              /**< (SERCOM_I2CS_STATUS) Transmit Collision Position */
+#define SERCOM_I2CS_STATUS_COLL_Msk         (_U_(0x1) << SERCOM_I2CS_STATUS_COLL_Pos)      /**< (SERCOM_I2CS_STATUS) Transmit Collision Mask */
+#define SERCOM_I2CS_STATUS_COLL             SERCOM_I2CS_STATUS_COLL_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_COLL_Msk instead */
+#define SERCOM_I2CS_STATUS_RXNACK_Pos       2                                              /**< (SERCOM_I2CS_STATUS) Received Not Acknowledge Position */
+#define SERCOM_I2CS_STATUS_RXNACK_Msk       (_U_(0x1) << SERCOM_I2CS_STATUS_RXNACK_Pos)    /**< (SERCOM_I2CS_STATUS) Received Not Acknowledge Mask */
+#define SERCOM_I2CS_STATUS_RXNACK           SERCOM_I2CS_STATUS_RXNACK_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_RXNACK_Msk instead */
+#define SERCOM_I2CS_STATUS_DIR_Pos          3                                              /**< (SERCOM_I2CS_STATUS) Read/Write Direction Position */
+#define SERCOM_I2CS_STATUS_DIR_Msk          (_U_(0x1) << SERCOM_I2CS_STATUS_DIR_Pos)       /**< (SERCOM_I2CS_STATUS) Read/Write Direction Mask */
+#define SERCOM_I2CS_STATUS_DIR              SERCOM_I2CS_STATUS_DIR_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_DIR_Msk instead */
+#define SERCOM_I2CS_STATUS_SR_Pos           4                                              /**< (SERCOM_I2CS_STATUS) Repeated Start Position */
+#define SERCOM_I2CS_STATUS_SR_Msk           (_U_(0x1) << SERCOM_I2CS_STATUS_SR_Pos)        /**< (SERCOM_I2CS_STATUS) Repeated Start Mask */
+#define SERCOM_I2CS_STATUS_SR               SERCOM_I2CS_STATUS_SR_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_SR_Msk instead */
+#define SERCOM_I2CS_STATUS_LOWTOUT_Pos      6                                              /**< (SERCOM_I2CS_STATUS) SCL Low Timeout Position */
+#define SERCOM_I2CS_STATUS_LOWTOUT_Msk      (_U_(0x1) << SERCOM_I2CS_STATUS_LOWTOUT_Pos)   /**< (SERCOM_I2CS_STATUS) SCL Low Timeout Mask */
+#define SERCOM_I2CS_STATUS_LOWTOUT          SERCOM_I2CS_STATUS_LOWTOUT_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_LOWTOUT_Msk instead */
+#define SERCOM_I2CS_STATUS_CLKHOLD_Pos      7                                              /**< (SERCOM_I2CS_STATUS) Clock Hold Position */
+#define SERCOM_I2CS_STATUS_CLKHOLD_Msk      (_U_(0x1) << SERCOM_I2CS_STATUS_CLKHOLD_Pos)   /**< (SERCOM_I2CS_STATUS) Clock Hold Mask */
+#define SERCOM_I2CS_STATUS_CLKHOLD          SERCOM_I2CS_STATUS_CLKHOLD_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_CLKHOLD_Msk instead */
+#define SERCOM_I2CS_STATUS_SEXTTOUT_Pos     9                                              /**< (SERCOM_I2CS_STATUS) Slave SCL Low Extend Timeout Position */
+#define SERCOM_I2CS_STATUS_SEXTTOUT_Msk     (_U_(0x1) << SERCOM_I2CS_STATUS_SEXTTOUT_Pos)  /**< (SERCOM_I2CS_STATUS) Slave SCL Low Extend Timeout Mask */
+#define SERCOM_I2CS_STATUS_SEXTTOUT         SERCOM_I2CS_STATUS_SEXTTOUT_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_SEXTTOUT_Msk instead */
+#define SERCOM_I2CS_STATUS_HS_Pos           10                                             /**< (SERCOM_I2CS_STATUS) High Speed Position */
+#define SERCOM_I2CS_STATUS_HS_Msk           (_U_(0x1) << SERCOM_I2CS_STATUS_HS_Pos)        /**< (SERCOM_I2CS_STATUS) High Speed Mask */
+#define SERCOM_I2CS_STATUS_HS               SERCOM_I2CS_STATUS_HS_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_STATUS_HS_Msk instead */
+#define SERCOM_I2CS_STATUS_MASK             _U_(0x6DF)                                     /**< \deprecated (SERCOM_I2CS_STATUS) Register MASK  (Use SERCOM_I2CS_STATUS_Msk instead)  */
+#define SERCOM_I2CS_STATUS_Msk              _U_(0x6DF)                                     /**< (SERCOM_I2CS_STATUS) Register Mask  */
+
+
+/* -------- SERCOM_SPI_STATUS : (SERCOM Offset: 0x1a) (R/W 16) SPI Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t :2;                        /**< bit:   0..1  Reserved */
+    uint16_t BUFOVF:1;                  /**< bit:      2  Buffer Overflow                          */
+    uint16_t :13;                       /**< bit:  3..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_STATUS_OFFSET            (0x1A)                                        /**<  (SERCOM_SPI_STATUS) SPI Status  Offset */
+#define SERCOM_SPI_STATUS_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_SPI_STATUS) SPI Status  Reset Value */
+
+#define SERCOM_SPI_STATUS_BUFOVF_Pos        2                                              /**< (SERCOM_SPI_STATUS) Buffer Overflow Position */
+#define SERCOM_SPI_STATUS_BUFOVF_Msk        (_U_(0x1) << SERCOM_SPI_STATUS_BUFOVF_Pos)     /**< (SERCOM_SPI_STATUS) Buffer Overflow Mask */
+#define SERCOM_SPI_STATUS_BUFOVF            SERCOM_SPI_STATUS_BUFOVF_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_STATUS_BUFOVF_Msk instead */
+#define SERCOM_SPI_STATUS_MASK              _U_(0x04)                                      /**< \deprecated (SERCOM_SPI_STATUS) Register MASK  (Use SERCOM_SPI_STATUS_Msk instead)  */
+#define SERCOM_SPI_STATUS_Msk               _U_(0x04)                                      /**< (SERCOM_SPI_STATUS) Register Mask  */
+
+
+/* -------- SERCOM_USART_STATUS : (SERCOM Offset: 0x1a) (R/W 16) USART Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PERR:1;                    /**< bit:      0  Parity Error                             */
+    uint16_t FERR:1;                    /**< bit:      1  Frame Error                              */
+    uint16_t BUFOVF:1;                  /**< bit:      2  Buffer Overflow                          */
+    uint16_t CTS:1;                     /**< bit:      3  Clear To Send                            */
+    uint16_t ISF:1;                     /**< bit:      4  Inconsistent Sync Field                  */
+    uint16_t COLL:1;                    /**< bit:      5  Collision Detected                       */
+    uint16_t TXE:1;                     /**< bit:      6  Transmitter Empty                        */
+    uint16_t ITER:1;                    /**< bit:      7  Maximum Number of Repetitions Reached    */
+    uint16_t :8;                        /**< bit:  8..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_USART_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_STATUS_OFFSET          (0x1A)                                        /**<  (SERCOM_USART_STATUS) USART Status  Offset */
+#define SERCOM_USART_STATUS_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_USART_STATUS) USART Status  Reset Value */
+
+#define SERCOM_USART_STATUS_PERR_Pos        0                                              /**< (SERCOM_USART_STATUS) Parity Error Position */
+#define SERCOM_USART_STATUS_PERR_Msk        (_U_(0x1) << SERCOM_USART_STATUS_PERR_Pos)     /**< (SERCOM_USART_STATUS) Parity Error Mask */
+#define SERCOM_USART_STATUS_PERR            SERCOM_USART_STATUS_PERR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_PERR_Msk instead */
+#define SERCOM_USART_STATUS_FERR_Pos        1                                              /**< (SERCOM_USART_STATUS) Frame Error Position */
+#define SERCOM_USART_STATUS_FERR_Msk        (_U_(0x1) << SERCOM_USART_STATUS_FERR_Pos)     /**< (SERCOM_USART_STATUS) Frame Error Mask */
+#define SERCOM_USART_STATUS_FERR            SERCOM_USART_STATUS_FERR_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_FERR_Msk instead */
+#define SERCOM_USART_STATUS_BUFOVF_Pos      2                                              /**< (SERCOM_USART_STATUS) Buffer Overflow Position */
+#define SERCOM_USART_STATUS_BUFOVF_Msk      (_U_(0x1) << SERCOM_USART_STATUS_BUFOVF_Pos)   /**< (SERCOM_USART_STATUS) Buffer Overflow Mask */
+#define SERCOM_USART_STATUS_BUFOVF          SERCOM_USART_STATUS_BUFOVF_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_BUFOVF_Msk instead */
+#define SERCOM_USART_STATUS_CTS_Pos         3                                              /**< (SERCOM_USART_STATUS) Clear To Send Position */
+#define SERCOM_USART_STATUS_CTS_Msk         (_U_(0x1) << SERCOM_USART_STATUS_CTS_Pos)      /**< (SERCOM_USART_STATUS) Clear To Send Mask */
+#define SERCOM_USART_STATUS_CTS             SERCOM_USART_STATUS_CTS_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_CTS_Msk instead */
+#define SERCOM_USART_STATUS_ISF_Pos         4                                              /**< (SERCOM_USART_STATUS) Inconsistent Sync Field Position */
+#define SERCOM_USART_STATUS_ISF_Msk         (_U_(0x1) << SERCOM_USART_STATUS_ISF_Pos)      /**< (SERCOM_USART_STATUS) Inconsistent Sync Field Mask */
+#define SERCOM_USART_STATUS_ISF             SERCOM_USART_STATUS_ISF_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_ISF_Msk instead */
+#define SERCOM_USART_STATUS_COLL_Pos        5                                              /**< (SERCOM_USART_STATUS) Collision Detected Position */
+#define SERCOM_USART_STATUS_COLL_Msk        (_U_(0x1) << SERCOM_USART_STATUS_COLL_Pos)     /**< (SERCOM_USART_STATUS) Collision Detected Mask */
+#define SERCOM_USART_STATUS_COLL            SERCOM_USART_STATUS_COLL_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_COLL_Msk instead */
+#define SERCOM_USART_STATUS_TXE_Pos         6                                              /**< (SERCOM_USART_STATUS) Transmitter Empty Position */
+#define SERCOM_USART_STATUS_TXE_Msk         (_U_(0x1) << SERCOM_USART_STATUS_TXE_Pos)      /**< (SERCOM_USART_STATUS) Transmitter Empty Mask */
+#define SERCOM_USART_STATUS_TXE             SERCOM_USART_STATUS_TXE_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_TXE_Msk instead */
+#define SERCOM_USART_STATUS_ITER_Pos        7                                              /**< (SERCOM_USART_STATUS) Maximum Number of Repetitions Reached Position */
+#define SERCOM_USART_STATUS_ITER_Msk        (_U_(0x1) << SERCOM_USART_STATUS_ITER_Pos)     /**< (SERCOM_USART_STATUS) Maximum Number of Repetitions Reached Mask */
+#define SERCOM_USART_STATUS_ITER            SERCOM_USART_STATUS_ITER_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_STATUS_ITER_Msk instead */
+#define SERCOM_USART_STATUS_MASK            _U_(0xFF)                                      /**< \deprecated (SERCOM_USART_STATUS) Register MASK  (Use SERCOM_USART_STATUS_Msk instead)  */
+#define SERCOM_USART_STATUS_Msk             _U_(0xFF)                                      /**< (SERCOM_USART_STATUS) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_SYNCBUSY : (SERCOM Offset: 0x1c) (R/ 32) I2CM Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchronization Busy      */
+    uint32_t ENABLE:1;                  /**< bit:      1  SERCOM Enable Synchronization Busy       */
+    uint32_t SYSOP:1;                   /**< bit:      2  System Operation Synchronization Busy    */
+    uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_SYNCBUSY_OFFSET         (0x1C)                                        /**<  (SERCOM_I2CM_SYNCBUSY) I2CM Synchronization Busy  Offset */
+#define SERCOM_I2CM_SYNCBUSY_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CM_SYNCBUSY) I2CM Synchronization Busy  Reset Value */
+
+#define SERCOM_I2CM_SYNCBUSY_SWRST_Pos      0                                              /**< (SERCOM_I2CM_SYNCBUSY) Software Reset Synchronization Busy Position */
+#define SERCOM_I2CM_SYNCBUSY_SWRST_Msk      (_U_(0x1) << SERCOM_I2CM_SYNCBUSY_SWRST_Pos)   /**< (SERCOM_I2CM_SYNCBUSY) Software Reset Synchronization Busy Mask */
+#define SERCOM_I2CM_SYNCBUSY_SWRST          SERCOM_I2CM_SYNCBUSY_SWRST_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_SYNCBUSY_SWRST_Msk instead */
+#define SERCOM_I2CM_SYNCBUSY_ENABLE_Pos     1                                              /**< (SERCOM_I2CM_SYNCBUSY) SERCOM Enable Synchronization Busy Position */
+#define SERCOM_I2CM_SYNCBUSY_ENABLE_Msk     (_U_(0x1) << SERCOM_I2CM_SYNCBUSY_ENABLE_Pos)  /**< (SERCOM_I2CM_SYNCBUSY) SERCOM Enable Synchronization Busy Mask */
+#define SERCOM_I2CM_SYNCBUSY_ENABLE         SERCOM_I2CM_SYNCBUSY_ENABLE_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_SYNCBUSY_ENABLE_Msk instead */
+#define SERCOM_I2CM_SYNCBUSY_SYSOP_Pos      2                                              /**< (SERCOM_I2CM_SYNCBUSY) System Operation Synchronization Busy Position */
+#define SERCOM_I2CM_SYNCBUSY_SYSOP_Msk      (_U_(0x1) << SERCOM_I2CM_SYNCBUSY_SYSOP_Pos)   /**< (SERCOM_I2CM_SYNCBUSY) System Operation Synchronization Busy Mask */
+#define SERCOM_I2CM_SYNCBUSY_SYSOP          SERCOM_I2CM_SYNCBUSY_SYSOP_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_SYNCBUSY_SYSOP_Msk instead */
+#define SERCOM_I2CM_SYNCBUSY_MASK           _U_(0x07)                                      /**< \deprecated (SERCOM_I2CM_SYNCBUSY) Register MASK  (Use SERCOM_I2CM_SYNCBUSY_Msk instead)  */
+#define SERCOM_I2CM_SYNCBUSY_Msk            _U_(0x07)                                      /**< (SERCOM_I2CM_SYNCBUSY) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_SYNCBUSY : (SERCOM Offset: 0x1c) (R/ 32) I2CS Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchronization Busy      */
+    uint32_t ENABLE:1;                  /**< bit:      1  SERCOM Enable Synchronization Busy       */
+    uint32_t :30;                       /**< bit:  2..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CS_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_SYNCBUSY_OFFSET         (0x1C)                                        /**<  (SERCOM_I2CS_SYNCBUSY) I2CS Synchronization Busy  Offset */
+#define SERCOM_I2CS_SYNCBUSY_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_I2CS_SYNCBUSY) I2CS Synchronization Busy  Reset Value */
+
+#define SERCOM_I2CS_SYNCBUSY_SWRST_Pos      0                                              /**< (SERCOM_I2CS_SYNCBUSY) Software Reset Synchronization Busy Position */
+#define SERCOM_I2CS_SYNCBUSY_SWRST_Msk      (_U_(0x1) << SERCOM_I2CS_SYNCBUSY_SWRST_Pos)   /**< (SERCOM_I2CS_SYNCBUSY) Software Reset Synchronization Busy Mask */
+#define SERCOM_I2CS_SYNCBUSY_SWRST          SERCOM_I2CS_SYNCBUSY_SWRST_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_SYNCBUSY_SWRST_Msk instead */
+#define SERCOM_I2CS_SYNCBUSY_ENABLE_Pos     1                                              /**< (SERCOM_I2CS_SYNCBUSY) SERCOM Enable Synchronization Busy Position */
+#define SERCOM_I2CS_SYNCBUSY_ENABLE_Msk     (_U_(0x1) << SERCOM_I2CS_SYNCBUSY_ENABLE_Pos)  /**< (SERCOM_I2CS_SYNCBUSY) SERCOM Enable Synchronization Busy Mask */
+#define SERCOM_I2CS_SYNCBUSY_ENABLE         SERCOM_I2CS_SYNCBUSY_ENABLE_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_SYNCBUSY_ENABLE_Msk instead */
+#define SERCOM_I2CS_SYNCBUSY_MASK           _U_(0x03)                                      /**< \deprecated (SERCOM_I2CS_SYNCBUSY) Register MASK  (Use SERCOM_I2CS_SYNCBUSY_Msk instead)  */
+#define SERCOM_I2CS_SYNCBUSY_Msk            _U_(0x03)                                      /**< (SERCOM_I2CS_SYNCBUSY) Register Mask  */
+
+
+/* -------- SERCOM_SPI_SYNCBUSY : (SERCOM Offset: 0x1c) (R/ 32) SPI Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchronization Busy      */
+    uint32_t ENABLE:1;                  /**< bit:      1  SERCOM Enable Synchronization Busy       */
+    uint32_t CTRLB:1;                   /**< bit:      2  CTRLB Synchronization Busy               */
+    uint32_t :29;                       /**< bit:  3..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_SYNCBUSY_OFFSET          (0x1C)                                        /**<  (SERCOM_SPI_SYNCBUSY) SPI Synchronization Busy  Offset */
+#define SERCOM_SPI_SYNCBUSY_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_SPI_SYNCBUSY) SPI Synchronization Busy  Reset Value */
+
+#define SERCOM_SPI_SYNCBUSY_SWRST_Pos       0                                              /**< (SERCOM_SPI_SYNCBUSY) Software Reset Synchronization Busy Position */
+#define SERCOM_SPI_SYNCBUSY_SWRST_Msk       (_U_(0x1) << SERCOM_SPI_SYNCBUSY_SWRST_Pos)    /**< (SERCOM_SPI_SYNCBUSY) Software Reset Synchronization Busy Mask */
+#define SERCOM_SPI_SYNCBUSY_SWRST           SERCOM_SPI_SYNCBUSY_SWRST_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_SYNCBUSY_SWRST_Msk instead */
+#define SERCOM_SPI_SYNCBUSY_ENABLE_Pos      1                                              /**< (SERCOM_SPI_SYNCBUSY) SERCOM Enable Synchronization Busy Position */
+#define SERCOM_SPI_SYNCBUSY_ENABLE_Msk      (_U_(0x1) << SERCOM_SPI_SYNCBUSY_ENABLE_Pos)   /**< (SERCOM_SPI_SYNCBUSY) SERCOM Enable Synchronization Busy Mask */
+#define SERCOM_SPI_SYNCBUSY_ENABLE          SERCOM_SPI_SYNCBUSY_ENABLE_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_SYNCBUSY_ENABLE_Msk instead */
+#define SERCOM_SPI_SYNCBUSY_CTRLB_Pos       2                                              /**< (SERCOM_SPI_SYNCBUSY) CTRLB Synchronization Busy Position */
+#define SERCOM_SPI_SYNCBUSY_CTRLB_Msk       (_U_(0x1) << SERCOM_SPI_SYNCBUSY_CTRLB_Pos)    /**< (SERCOM_SPI_SYNCBUSY) CTRLB Synchronization Busy Mask */
+#define SERCOM_SPI_SYNCBUSY_CTRLB           SERCOM_SPI_SYNCBUSY_CTRLB_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_SYNCBUSY_CTRLB_Msk instead */
+#define SERCOM_SPI_SYNCBUSY_MASK            _U_(0x07)                                      /**< \deprecated (SERCOM_SPI_SYNCBUSY) Register MASK  (Use SERCOM_SPI_SYNCBUSY_Msk instead)  */
+#define SERCOM_SPI_SYNCBUSY_Msk             _U_(0x07)                                      /**< (SERCOM_SPI_SYNCBUSY) Register Mask  */
+
+
+/* -------- SERCOM_USART_SYNCBUSY : (SERCOM Offset: 0x1c) (R/ 32) USART Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Synchronization Busy      */
+    uint32_t ENABLE:1;                  /**< bit:      1  SERCOM Enable Synchronization Busy       */
+    uint32_t CTRLB:1;                   /**< bit:      2  CTRLB Synchronization Busy               */
+    uint32_t RXERRCNT:1;                /**< bit:      3  RXERRCNT Synchronization Busy            */
+    uint32_t :28;                       /**< bit:  4..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_USART_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_SYNCBUSY_OFFSET        (0x1C)                                        /**<  (SERCOM_USART_SYNCBUSY) USART Synchronization Busy  Offset */
+#define SERCOM_USART_SYNCBUSY_RESETVALUE    _U_(0x00)                                     /**<  (SERCOM_USART_SYNCBUSY) USART Synchronization Busy  Reset Value */
+
+#define SERCOM_USART_SYNCBUSY_SWRST_Pos     0                                              /**< (SERCOM_USART_SYNCBUSY) Software Reset Synchronization Busy Position */
+#define SERCOM_USART_SYNCBUSY_SWRST_Msk     (_U_(0x1) << SERCOM_USART_SYNCBUSY_SWRST_Pos)  /**< (SERCOM_USART_SYNCBUSY) Software Reset Synchronization Busy Mask */
+#define SERCOM_USART_SYNCBUSY_SWRST         SERCOM_USART_SYNCBUSY_SWRST_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_SYNCBUSY_SWRST_Msk instead */
+#define SERCOM_USART_SYNCBUSY_ENABLE_Pos    1                                              /**< (SERCOM_USART_SYNCBUSY) SERCOM Enable Synchronization Busy Position */
+#define SERCOM_USART_SYNCBUSY_ENABLE_Msk    (_U_(0x1) << SERCOM_USART_SYNCBUSY_ENABLE_Pos)  /**< (SERCOM_USART_SYNCBUSY) SERCOM Enable Synchronization Busy Mask */
+#define SERCOM_USART_SYNCBUSY_ENABLE        SERCOM_USART_SYNCBUSY_ENABLE_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_SYNCBUSY_ENABLE_Msk instead */
+#define SERCOM_USART_SYNCBUSY_CTRLB_Pos     2                                              /**< (SERCOM_USART_SYNCBUSY) CTRLB Synchronization Busy Position */
+#define SERCOM_USART_SYNCBUSY_CTRLB_Msk     (_U_(0x1) << SERCOM_USART_SYNCBUSY_CTRLB_Pos)  /**< (SERCOM_USART_SYNCBUSY) CTRLB Synchronization Busy Mask */
+#define SERCOM_USART_SYNCBUSY_CTRLB         SERCOM_USART_SYNCBUSY_CTRLB_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_SYNCBUSY_CTRLB_Msk instead */
+#define SERCOM_USART_SYNCBUSY_RXERRCNT_Pos  3                                              /**< (SERCOM_USART_SYNCBUSY) RXERRCNT Synchronization Busy Position */
+#define SERCOM_USART_SYNCBUSY_RXERRCNT_Msk  (_U_(0x1) << SERCOM_USART_SYNCBUSY_RXERRCNT_Pos)  /**< (SERCOM_USART_SYNCBUSY) RXERRCNT Synchronization Busy Mask */
+#define SERCOM_USART_SYNCBUSY_RXERRCNT      SERCOM_USART_SYNCBUSY_RXERRCNT_Msk             /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_SYNCBUSY_RXERRCNT_Msk instead */
+#define SERCOM_USART_SYNCBUSY_MASK          _U_(0x0F)                                      /**< \deprecated (SERCOM_USART_SYNCBUSY) Register MASK  (Use SERCOM_USART_SYNCBUSY_Msk instead)  */
+#define SERCOM_USART_SYNCBUSY_Msk           _U_(0x0F)                                      /**< (SERCOM_USART_SYNCBUSY) Register Mask  */
+
+
+/* -------- SERCOM_USART_RXERRCNT : (SERCOM Offset: 0x20) (R/ 8) USART Receive Error Count -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_RXERRCNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_RXERRCNT_OFFSET        (0x20)                                        /**<  (SERCOM_USART_RXERRCNT) USART Receive Error Count  Offset */
+#define SERCOM_USART_RXERRCNT_RESETVALUE    _U_(0x00)                                     /**<  (SERCOM_USART_RXERRCNT) USART Receive Error Count  Reset Value */
+
+#define SERCOM_USART_RXERRCNT_MASK          _U_(0x00)                                      /**< \deprecated (SERCOM_USART_RXERRCNT) Register MASK  (Use SERCOM_USART_RXERRCNT_Msk instead)  */
+#define SERCOM_USART_RXERRCNT_Msk           _U_(0x00)                                      /**< (SERCOM_USART_RXERRCNT) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_ADDR : (SERCOM Offset: 0x24) (R/W 32) I2CM Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t ADDR:11;                   /**< bit:  0..10  Address Value                            */
+    uint32_t :2;                        /**< bit: 11..12  Reserved */
+    uint32_t LENEN:1;                   /**< bit:     13  Length Enable                            */
+    uint32_t HS:1;                      /**< bit:     14  High Speed Mode                          */
+    uint32_t TENBITEN:1;                /**< bit:     15  Ten Bit Addressing Enable                */
+    uint32_t LEN:8;                     /**< bit: 16..23  Length                                   */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CM_ADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_ADDR_OFFSET             (0x24)                                        /**<  (SERCOM_I2CM_ADDR) I2CM Address  Offset */
+#define SERCOM_I2CM_ADDR_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_I2CM_ADDR) I2CM Address  Reset Value */
+
+#define SERCOM_I2CM_ADDR_ADDR_Pos           0                                              /**< (SERCOM_I2CM_ADDR) Address Value Position */
+#define SERCOM_I2CM_ADDR_ADDR_Msk           (_U_(0x7FF) << SERCOM_I2CM_ADDR_ADDR_Pos)      /**< (SERCOM_I2CM_ADDR) Address Value Mask */
+#define SERCOM_I2CM_ADDR_ADDR(value)        (SERCOM_I2CM_ADDR_ADDR_Msk & ((value) << SERCOM_I2CM_ADDR_ADDR_Pos))
+#define SERCOM_I2CM_ADDR_LENEN_Pos          13                                             /**< (SERCOM_I2CM_ADDR) Length Enable Position */
+#define SERCOM_I2CM_ADDR_LENEN_Msk          (_U_(0x1) << SERCOM_I2CM_ADDR_LENEN_Pos)       /**< (SERCOM_I2CM_ADDR) Length Enable Mask */
+#define SERCOM_I2CM_ADDR_LENEN              SERCOM_I2CM_ADDR_LENEN_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_ADDR_LENEN_Msk instead */
+#define SERCOM_I2CM_ADDR_HS_Pos             14                                             /**< (SERCOM_I2CM_ADDR) High Speed Mode Position */
+#define SERCOM_I2CM_ADDR_HS_Msk             (_U_(0x1) << SERCOM_I2CM_ADDR_HS_Pos)          /**< (SERCOM_I2CM_ADDR) High Speed Mode Mask */
+#define SERCOM_I2CM_ADDR_HS                 SERCOM_I2CM_ADDR_HS_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_ADDR_HS_Msk instead */
+#define SERCOM_I2CM_ADDR_TENBITEN_Pos       15                                             /**< (SERCOM_I2CM_ADDR) Ten Bit Addressing Enable Position */
+#define SERCOM_I2CM_ADDR_TENBITEN_Msk       (_U_(0x1) << SERCOM_I2CM_ADDR_TENBITEN_Pos)    /**< (SERCOM_I2CM_ADDR) Ten Bit Addressing Enable Mask */
+#define SERCOM_I2CM_ADDR_TENBITEN           SERCOM_I2CM_ADDR_TENBITEN_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_ADDR_TENBITEN_Msk instead */
+#define SERCOM_I2CM_ADDR_LEN_Pos            16                                             /**< (SERCOM_I2CM_ADDR) Length Position */
+#define SERCOM_I2CM_ADDR_LEN_Msk            (_U_(0xFF) << SERCOM_I2CM_ADDR_LEN_Pos)        /**< (SERCOM_I2CM_ADDR) Length Mask */
+#define SERCOM_I2CM_ADDR_LEN(value)         (SERCOM_I2CM_ADDR_LEN_Msk & ((value) << SERCOM_I2CM_ADDR_LEN_Pos))
+#define SERCOM_I2CM_ADDR_MASK               _U_(0xFFE7FF)                                  /**< \deprecated (SERCOM_I2CM_ADDR) Register MASK  (Use SERCOM_I2CM_ADDR_Msk instead)  */
+#define SERCOM_I2CM_ADDR_Msk                _U_(0xFFE7FF)                                  /**< (SERCOM_I2CM_ADDR) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_ADDR : (SERCOM Offset: 0x24) (R/W 32) I2CS Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t GENCEN:1;                  /**< bit:      0  General Call Address Enable              */
+    uint32_t ADDR:10;                   /**< bit:  1..10  Address Value                            */
+    uint32_t :4;                        /**< bit: 11..14  Reserved */
+    uint32_t TENBITEN:1;                /**< bit:     15  Ten Bit Addressing Enable                */
+    uint32_t :1;                        /**< bit:     16  Reserved */
+    uint32_t ADDRMASK:10;               /**< bit: 17..26  Address Mask                             */
+    uint32_t :5;                        /**< bit: 27..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_I2CS_ADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_ADDR_OFFSET             (0x24)                                        /**<  (SERCOM_I2CS_ADDR) I2CS Address  Offset */
+#define SERCOM_I2CS_ADDR_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_I2CS_ADDR) I2CS Address  Reset Value */
+
+#define SERCOM_I2CS_ADDR_GENCEN_Pos         0                                              /**< (SERCOM_I2CS_ADDR) General Call Address Enable Position */
+#define SERCOM_I2CS_ADDR_GENCEN_Msk         (_U_(0x1) << SERCOM_I2CS_ADDR_GENCEN_Pos)      /**< (SERCOM_I2CS_ADDR) General Call Address Enable Mask */
+#define SERCOM_I2CS_ADDR_GENCEN             SERCOM_I2CS_ADDR_GENCEN_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_ADDR_GENCEN_Msk instead */
+#define SERCOM_I2CS_ADDR_ADDR_Pos           1                                              /**< (SERCOM_I2CS_ADDR) Address Value Position */
+#define SERCOM_I2CS_ADDR_ADDR_Msk           (_U_(0x3FF) << SERCOM_I2CS_ADDR_ADDR_Pos)      /**< (SERCOM_I2CS_ADDR) Address Value Mask */
+#define SERCOM_I2CS_ADDR_ADDR(value)        (SERCOM_I2CS_ADDR_ADDR_Msk & ((value) << SERCOM_I2CS_ADDR_ADDR_Pos))
+#define SERCOM_I2CS_ADDR_TENBITEN_Pos       15                                             /**< (SERCOM_I2CS_ADDR) Ten Bit Addressing Enable Position */
+#define SERCOM_I2CS_ADDR_TENBITEN_Msk       (_U_(0x1) << SERCOM_I2CS_ADDR_TENBITEN_Pos)    /**< (SERCOM_I2CS_ADDR) Ten Bit Addressing Enable Mask */
+#define SERCOM_I2CS_ADDR_TENBITEN           SERCOM_I2CS_ADDR_TENBITEN_Msk                  /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CS_ADDR_TENBITEN_Msk instead */
+#define SERCOM_I2CS_ADDR_ADDRMASK_Pos       17                                             /**< (SERCOM_I2CS_ADDR) Address Mask Position */
+#define SERCOM_I2CS_ADDR_ADDRMASK_Msk       (_U_(0x3FF) << SERCOM_I2CS_ADDR_ADDRMASK_Pos)  /**< (SERCOM_I2CS_ADDR) Address Mask Mask */
+#define SERCOM_I2CS_ADDR_ADDRMASK(value)    (SERCOM_I2CS_ADDR_ADDRMASK_Msk & ((value) << SERCOM_I2CS_ADDR_ADDRMASK_Pos))
+#define SERCOM_I2CS_ADDR_Msk                _U_(0x7FE87FF)                                 /**< (SERCOM_I2CS_ADDR) Register Mask  */
+
+
+/* -------- SERCOM_SPI_ADDR : (SERCOM Offset: 0x24) (R/W 32) SPI Address -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t ADDR:8;                    /**< bit:   0..7  Address Value                            */
+    uint32_t :8;                        /**< bit:  8..15  Reserved */
+    uint32_t ADDRMASK:8;                /**< bit: 16..23  Address Mask                             */
+    uint32_t :8;                        /**< bit: 24..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_ADDR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_ADDR_OFFSET              (0x24)                                        /**<  (SERCOM_SPI_ADDR) SPI Address  Offset */
+#define SERCOM_SPI_ADDR_RESETVALUE          _U_(0x00)                                     /**<  (SERCOM_SPI_ADDR) SPI Address  Reset Value */
+
+#define SERCOM_SPI_ADDR_ADDR_Pos            0                                              /**< (SERCOM_SPI_ADDR) Address Value Position */
+#define SERCOM_SPI_ADDR_ADDR_Msk            (_U_(0xFF) << SERCOM_SPI_ADDR_ADDR_Pos)        /**< (SERCOM_SPI_ADDR) Address Value Mask */
+#define SERCOM_SPI_ADDR_ADDR(value)         (SERCOM_SPI_ADDR_ADDR_Msk & ((value) << SERCOM_SPI_ADDR_ADDR_Pos))
+#define SERCOM_SPI_ADDR_ADDRMASK_Pos        16                                             /**< (SERCOM_SPI_ADDR) Address Mask Position */
+#define SERCOM_SPI_ADDR_ADDRMASK_Msk        (_U_(0xFF) << SERCOM_SPI_ADDR_ADDRMASK_Pos)    /**< (SERCOM_SPI_ADDR) Address Mask Mask */
+#define SERCOM_SPI_ADDR_ADDRMASK(value)     (SERCOM_SPI_ADDR_ADDRMASK_Msk & ((value) << SERCOM_SPI_ADDR_ADDRMASK_Pos))
+#define SERCOM_SPI_ADDR_Msk                 _U_(0xFF00FF)                                  /**< (SERCOM_SPI_ADDR) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_DATA : (SERCOM Offset: 0x28) (R/W 8) I2CM Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATA:8;                    /**< bit:   0..7  Data Value                               */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CM_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_DATA_OFFSET             (0x28)                                        /**<  (SERCOM_I2CM_DATA) I2CM Data  Offset */
+#define SERCOM_I2CM_DATA_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_I2CM_DATA) I2CM Data  Reset Value */
+
+#define SERCOM_I2CM_DATA_DATA_Pos           0                                              /**< (SERCOM_I2CM_DATA) Data Value Position */
+#define SERCOM_I2CM_DATA_DATA_Msk           (_U_(0xFF) << SERCOM_I2CM_DATA_DATA_Pos)       /**< (SERCOM_I2CM_DATA) Data Value Mask */
+#define SERCOM_I2CM_DATA_DATA(value)        (SERCOM_I2CM_DATA_DATA_Msk & ((value) << SERCOM_I2CM_DATA_DATA_Pos))
+#define SERCOM_I2CM_DATA_MASK               _U_(0xFF)                                      /**< \deprecated (SERCOM_I2CM_DATA) Register MASK  (Use SERCOM_I2CM_DATA_Msk instead)  */
+#define SERCOM_I2CM_DATA_Msk                _U_(0xFF)                                      /**< (SERCOM_I2CM_DATA) Register Mask  */
+
+
+/* -------- SERCOM_I2CS_DATA : (SERCOM Offset: 0x28) (R/W 8) I2CS Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATA:8;                    /**< bit:   0..7  Data Value                               */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CS_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CS_DATA_OFFSET             (0x28)                                        /**<  (SERCOM_I2CS_DATA) I2CS Data  Offset */
+#define SERCOM_I2CS_DATA_RESETVALUE         _U_(0x00)                                     /**<  (SERCOM_I2CS_DATA) I2CS Data  Reset Value */
+
+#define SERCOM_I2CS_DATA_DATA_Pos           0                                              /**< (SERCOM_I2CS_DATA) Data Value Position */
+#define SERCOM_I2CS_DATA_DATA_Msk           (_U_(0xFF) << SERCOM_I2CS_DATA_DATA_Pos)       /**< (SERCOM_I2CS_DATA) Data Value Mask */
+#define SERCOM_I2CS_DATA_DATA(value)        (SERCOM_I2CS_DATA_DATA_Msk & ((value) << SERCOM_I2CS_DATA_DATA_Pos))
+#define SERCOM_I2CS_DATA_MASK               _U_(0xFF)                                      /**< \deprecated (SERCOM_I2CS_DATA) Register MASK  (Use SERCOM_I2CS_DATA_Msk instead)  */
+#define SERCOM_I2CS_DATA_Msk                _U_(0xFF)                                      /**< (SERCOM_I2CS_DATA) Register Mask  */
+
+
+/* -------- SERCOM_SPI_DATA : (SERCOM Offset: 0x28) (R/W 32) SPI Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:9;                    /**< bit:   0..8  Data Value                               */
+    uint32_t :23;                       /**< bit:  9..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SERCOM_SPI_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_DATA_OFFSET              (0x28)                                        /**<  (SERCOM_SPI_DATA) SPI Data  Offset */
+#define SERCOM_SPI_DATA_RESETVALUE          _U_(0x00)                                     /**<  (SERCOM_SPI_DATA) SPI Data  Reset Value */
+
+#define SERCOM_SPI_DATA_DATA_Pos            0                                              /**< (SERCOM_SPI_DATA) Data Value Position */
+#define SERCOM_SPI_DATA_DATA_Msk            (_U_(0x1FF) << SERCOM_SPI_DATA_DATA_Pos)       /**< (SERCOM_SPI_DATA) Data Value Mask */
+#define SERCOM_SPI_DATA_DATA(value)         (SERCOM_SPI_DATA_DATA_Msk & ((value) << SERCOM_SPI_DATA_DATA_Pos))
+#define SERCOM_SPI_DATA_MASK                _U_(0x1FF)                                     /**< \deprecated (SERCOM_SPI_DATA) Register MASK  (Use SERCOM_SPI_DATA_Msk instead)  */
+#define SERCOM_SPI_DATA_Msk                 _U_(0x1FF)                                     /**< (SERCOM_SPI_DATA) Register Mask  */
+
+
+/* -------- SERCOM_USART_DATA : (SERCOM Offset: 0x28) (R/W 16) USART Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t DATA:9;                    /**< bit:   0..8  Data Value                               */
+    uint16_t :7;                        /**< bit:  9..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} SERCOM_USART_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_DATA_OFFSET            (0x28)                                        /**<  (SERCOM_USART_DATA) USART Data  Offset */
+#define SERCOM_USART_DATA_RESETVALUE        _U_(0x00)                                     /**<  (SERCOM_USART_DATA) USART Data  Reset Value */
+
+#define SERCOM_USART_DATA_DATA_Pos          0                                              /**< (SERCOM_USART_DATA) Data Value Position */
+#define SERCOM_USART_DATA_DATA_Msk          (_U_(0x1FF) << SERCOM_USART_DATA_DATA_Pos)     /**< (SERCOM_USART_DATA) Data Value Mask */
+#define SERCOM_USART_DATA_DATA(value)       (SERCOM_USART_DATA_DATA_Msk & ((value) << SERCOM_USART_DATA_DATA_Pos))
+#define SERCOM_USART_DATA_MASK              _U_(0x1FF)                                     /**< \deprecated (SERCOM_USART_DATA) Register MASK  (Use SERCOM_USART_DATA_Msk instead)  */
+#define SERCOM_USART_DATA_Msk               _U_(0x1FF)                                     /**< (SERCOM_USART_DATA) Register Mask  */
+
+
+/* -------- SERCOM_I2CM_DBGCTRL : (SERCOM Offset: 0x30) (R/W 8) I2CM Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DBGSTOP:1;                 /**< bit:      0  Debug Mode                               */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_I2CM_DBGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_I2CM_DBGCTRL_OFFSET          (0x30)                                        /**<  (SERCOM_I2CM_DBGCTRL) I2CM Debug Control  Offset */
+#define SERCOM_I2CM_DBGCTRL_RESETVALUE      _U_(0x00)                                     /**<  (SERCOM_I2CM_DBGCTRL) I2CM Debug Control  Reset Value */
+
+#define SERCOM_I2CM_DBGCTRL_DBGSTOP_Pos     0                                              /**< (SERCOM_I2CM_DBGCTRL) Debug Mode Position */
+#define SERCOM_I2CM_DBGCTRL_DBGSTOP_Msk     (_U_(0x1) << SERCOM_I2CM_DBGCTRL_DBGSTOP_Pos)  /**< (SERCOM_I2CM_DBGCTRL) Debug Mode Mask */
+#define SERCOM_I2CM_DBGCTRL_DBGSTOP         SERCOM_I2CM_DBGCTRL_DBGSTOP_Msk                /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_I2CM_DBGCTRL_DBGSTOP_Msk instead */
+#define SERCOM_I2CM_DBGCTRL_MASK            _U_(0x01)                                      /**< \deprecated (SERCOM_I2CM_DBGCTRL) Register MASK  (Use SERCOM_I2CM_DBGCTRL_Msk instead)  */
+#define SERCOM_I2CM_DBGCTRL_Msk             _U_(0x01)                                      /**< (SERCOM_I2CM_DBGCTRL) Register Mask  */
+
+
+/* -------- SERCOM_SPI_DBGCTRL : (SERCOM Offset: 0x30) (R/W 8) SPI Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DBGSTOP:1;                 /**< bit:      0  Debug Mode                               */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_SPI_DBGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_SPI_DBGCTRL_OFFSET           (0x30)                                        /**<  (SERCOM_SPI_DBGCTRL) SPI Debug Control  Offset */
+#define SERCOM_SPI_DBGCTRL_RESETVALUE       _U_(0x00)                                     /**<  (SERCOM_SPI_DBGCTRL) SPI Debug Control  Reset Value */
+
+#define SERCOM_SPI_DBGCTRL_DBGSTOP_Pos      0                                              /**< (SERCOM_SPI_DBGCTRL) Debug Mode Position */
+#define SERCOM_SPI_DBGCTRL_DBGSTOP_Msk      (_U_(0x1) << SERCOM_SPI_DBGCTRL_DBGSTOP_Pos)   /**< (SERCOM_SPI_DBGCTRL) Debug Mode Mask */
+#define SERCOM_SPI_DBGCTRL_DBGSTOP          SERCOM_SPI_DBGCTRL_DBGSTOP_Msk                 /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_SPI_DBGCTRL_DBGSTOP_Msk instead */
+#define SERCOM_SPI_DBGCTRL_MASK             _U_(0x01)                                      /**< \deprecated (SERCOM_SPI_DBGCTRL) Register MASK  (Use SERCOM_SPI_DBGCTRL_Msk instead)  */
+#define SERCOM_SPI_DBGCTRL_Msk              _U_(0x01)                                      /**< (SERCOM_SPI_DBGCTRL) Register Mask  */
+
+
+/* -------- SERCOM_USART_DBGCTRL : (SERCOM Offset: 0x30) (R/W 8) USART Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DBGSTOP:1;                 /**< bit:      0  Debug Mode                               */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} SERCOM_USART_DBGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SERCOM_USART_DBGCTRL_OFFSET         (0x30)                                        /**<  (SERCOM_USART_DBGCTRL) USART Debug Control  Offset */
+#define SERCOM_USART_DBGCTRL_RESETVALUE     _U_(0x00)                                     /**<  (SERCOM_USART_DBGCTRL) USART Debug Control  Reset Value */
+
+#define SERCOM_USART_DBGCTRL_DBGSTOP_Pos    0                                              /**< (SERCOM_USART_DBGCTRL) Debug Mode Position */
+#define SERCOM_USART_DBGCTRL_DBGSTOP_Msk    (_U_(0x1) << SERCOM_USART_DBGCTRL_DBGSTOP_Pos)  /**< (SERCOM_USART_DBGCTRL) Debug Mode Mask */
+#define SERCOM_USART_DBGCTRL_DBGSTOP        SERCOM_USART_DBGCTRL_DBGSTOP_Msk               /**< \deprecated Old style mask definition for 1 bit bitfield. Use SERCOM_USART_DBGCTRL_DBGSTOP_Msk instead */
+#define SERCOM_USART_DBGCTRL_MASK           _U_(0x01)                                      /**< \deprecated (SERCOM_USART_DBGCTRL) Register MASK  (Use SERCOM_USART_DBGCTRL_Msk instead)  */
+#define SERCOM_USART_DBGCTRL_Msk            _U_(0x01)                                      /**< (SERCOM_USART_DBGCTRL) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief SERCOM hardware registers */
+typedef struct {  /* Serial Communication Interface */
+  __IO SERCOM_I2CM_CTRLA_Type         CTRLA;          /**< Offset: 0x00 (R/W  32) I2CM Control A */
+  __IO SERCOM_I2CM_CTRLB_Type         CTRLB;          /**< Offset: 0x04 (R/W  32) I2CM Control B */
+  __I  uint8_t                        Reserved1[4];
+  __IO SERCOM_I2CM_BAUD_Type          BAUD;           /**< Offset: 0x0C (R/W  32) I2CM Baud Rate */
+  __I  uint8_t                        Reserved2[4];
+  __IO SERCOM_I2CM_INTENCLR_Type      INTENCLR;       /**< Offset: 0x14 (R/W   8) I2CM Interrupt Enable Clear */
+  __I  uint8_t                        Reserved3[1];
+  __IO SERCOM_I2CM_INTENSET_Type      INTENSET;       /**< Offset: 0x16 (R/W   8) I2CM Interrupt Enable Set */
+  __I  uint8_t                        Reserved4[1];
+  __IO SERCOM_I2CM_INTFLAG_Type       INTFLAG;        /**< Offset: 0x18 (R/W   8) I2CM Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved5[1];
+  __IO SERCOM_I2CM_STATUS_Type        STATUS;         /**< Offset: 0x1A (R/W  16) I2CM Status */
+  __I  SERCOM_I2CM_SYNCBUSY_Type      SYNCBUSY;       /**< Offset: 0x1C (R/   32) I2CM Synchronization Busy */
+  __I  uint8_t                        Reserved6[4];
+  __IO SERCOM_I2CM_ADDR_Type          ADDR;           /**< Offset: 0x24 (R/W  32) I2CM Address */
+  __IO SERCOM_I2CM_DATA_Type          DATA;           /**< Offset: 0x28 (R/W   8) I2CM Data */
+  __I  uint8_t                        Reserved7[7];
+  __IO SERCOM_I2CM_DBGCTRL_Type       DBGCTRL;        /**< Offset: 0x30 (R/W   8) I2CM Debug Control */
+} SercomI2cm;
+
+/** \brief SERCOM hardware registers */
+typedef struct {  /* Serial Communication Interface */
+  __IO SERCOM_I2CS_CTRLA_Type         CTRLA;          /**< Offset: 0x00 (R/W  32) I2CS Control A */
+  __IO SERCOM_I2CS_CTRLB_Type         CTRLB;          /**< Offset: 0x04 (R/W  32) I2CS Control B */
+  __I  uint8_t                        Reserved1[12];
+  __IO SERCOM_I2CS_INTENCLR_Type      INTENCLR;       /**< Offset: 0x14 (R/W   8) I2CS Interrupt Enable Clear */
+  __I  uint8_t                        Reserved2[1];
+  __IO SERCOM_I2CS_INTENSET_Type      INTENSET;       /**< Offset: 0x16 (R/W   8) I2CS Interrupt Enable Set */
+  __I  uint8_t                        Reserved3[1];
+  __IO SERCOM_I2CS_INTFLAG_Type       INTFLAG;        /**< Offset: 0x18 (R/W   8) I2CS Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved4[1];
+  __IO SERCOM_I2CS_STATUS_Type        STATUS;         /**< Offset: 0x1A (R/W  16) I2CS Status */
+  __I  SERCOM_I2CS_SYNCBUSY_Type      SYNCBUSY;       /**< Offset: 0x1C (R/   32) I2CS Synchronization Busy */
+  __I  uint8_t                        Reserved5[4];
+  __IO SERCOM_I2CS_ADDR_Type          ADDR;           /**< Offset: 0x24 (R/W  32) I2CS Address */
+  __IO SERCOM_I2CS_DATA_Type          DATA;           /**< Offset: 0x28 (R/W   8) I2CS Data */
+} SercomI2cs;
+
+/** \brief SERCOM hardware registers */
+typedef struct {  /* Serial Communication Interface */
+  __IO SERCOM_SPI_CTRLA_Type          CTRLA;          /**< Offset: 0x00 (R/W  32) SPI Control A */
+  __IO SERCOM_SPI_CTRLB_Type          CTRLB;          /**< Offset: 0x04 (R/W  32) SPI Control B */
+  __I  uint8_t                        Reserved1[4];
+  __IO SERCOM_SPI_BAUD_Type           BAUD;           /**< Offset: 0x0C (R/W   8) SPI Baud Rate */
+  __I  uint8_t                        Reserved2[7];
+  __IO SERCOM_SPI_INTENCLR_Type       INTENCLR;       /**< Offset: 0x14 (R/W   8) SPI Interrupt Enable Clear */
+  __I  uint8_t                        Reserved3[1];
+  __IO SERCOM_SPI_INTENSET_Type       INTENSET;       /**< Offset: 0x16 (R/W   8) SPI Interrupt Enable Set */
+  __I  uint8_t                        Reserved4[1];
+  __IO SERCOM_SPI_INTFLAG_Type        INTFLAG;        /**< Offset: 0x18 (R/W   8) SPI Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved5[1];
+  __IO SERCOM_SPI_STATUS_Type         STATUS;         /**< Offset: 0x1A (R/W  16) SPI Status */
+  __I  SERCOM_SPI_SYNCBUSY_Type       SYNCBUSY;       /**< Offset: 0x1C (R/   32) SPI Synchronization Busy */
+  __I  uint8_t                        Reserved6[4];
+  __IO SERCOM_SPI_ADDR_Type           ADDR;           /**< Offset: 0x24 (R/W  32) SPI Address */
+  __IO SERCOM_SPI_DATA_Type           DATA;           /**< Offset: 0x28 (R/W  32) SPI Data */
+  __I  uint8_t                        Reserved7[4];
+  __IO SERCOM_SPI_DBGCTRL_Type        DBGCTRL;        /**< Offset: 0x30 (R/W   8) SPI Debug Control */
+} SercomSpi;
+
+/** \brief SERCOM hardware registers */
+typedef struct {  /* Serial Communication Interface */
+  __IO SERCOM_USART_CTRLA_Type        CTRLA;          /**< Offset: 0x00 (R/W  32) USART Control A */
+  __IO SERCOM_USART_CTRLB_Type        CTRLB;          /**< Offset: 0x04 (R/W  32) USART Control B */
+  __IO SERCOM_USART_CTRLC_Type        CTRLC;          /**< Offset: 0x08 (R/W  32) USART Control C */
+  __IO SERCOM_USART_BAUD_Type         BAUD;           /**< Offset: 0x0C (R/W  16) USART Baud Rate */
+  __IO SERCOM_USART_RXPL_Type         RXPL;           /**< Offset: 0x0E (R/W   8) USART Receive Pulse Length */
+  __I  uint8_t                        Reserved1[5];
+  __IO SERCOM_USART_INTENCLR_Type     INTENCLR;       /**< Offset: 0x14 (R/W   8) USART Interrupt Enable Clear */
+  __I  uint8_t                        Reserved2[1];
+  __IO SERCOM_USART_INTENSET_Type     INTENSET;       /**< Offset: 0x16 (R/W   8) USART Interrupt Enable Set */
+  __I  uint8_t                        Reserved3[1];
+  __IO SERCOM_USART_INTFLAG_Type      INTFLAG;        /**< Offset: 0x18 (R/W   8) USART Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved4[1];
+  __IO SERCOM_USART_STATUS_Type       STATUS;         /**< Offset: 0x1A (R/W  16) USART Status */
+  __I  SERCOM_USART_SYNCBUSY_Type     SYNCBUSY;       /**< Offset: 0x1C (R/   32) USART Synchronization Busy */
+  __I  SERCOM_USART_RXERRCNT_Type     RXERRCNT;       /**< Offset: 0x20 (R/    8) USART Receive Error Count */
+  __I  uint8_t                        Reserved5[7];
+  __IO SERCOM_USART_DATA_Type         DATA;           /**< Offset: 0x28 (R/W  16) USART Data */
+  __I  uint8_t                        Reserved6[6];
+  __IO SERCOM_USART_DBGCTRL_Type      DBGCTRL;        /**< Offset: 0x30 (R/W   8) USART Debug Control */
+} SercomUsart;
+
+/** \brief SERCOM hardware registers */
+typedef union {  /* Serial Communication Interface */
+       SercomI2cm                     I2CM;           /**< I2C Master Mode */
+       SercomI2cs                     I2CS;           /**< I2C Slave Mode */
+       SercomSpi                      SPI;            /**< SPI Mode */
+       SercomUsart                    USART;          /**< USART Mode */
+} Sercom;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Serial Communication Interface */
+
+#endif /* _SAML11_SERCOM_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/supc.h b/cpu/sam0_common/include/vendor/saml11/include/component/supc.h
new file mode 100644
index 0000000000..cda5581b9a
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/supc.h
@@ -0,0 +1,653 @@
+/**
+ * \file
+ *
+ * \brief Component description for SUPC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_SUPC_COMPONENT_H_
+#define _SAML11_SUPC_COMPONENT_H_
+#define _SAML11_SUPC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Supply Controller
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR SUPC */
+/* ========================================================================== */
+
+#define SUPC_U2117                      /**< (SUPC) Module ID */
+#define REV_SUPC 0x400                  /**< (SUPC) Module revision */
+
+/* -------- SUPC_INTENCLR : (SUPC Offset: 0x00) (R/W 32) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BOD33RDY:1;                /**< bit:      0  BOD33 Ready                              */
+    uint32_t BOD33DET:1;                /**< bit:      1  BOD33 Detection                          */
+    uint32_t B33SRDY:1;                 /**< bit:      2  BOD33 Synchronization Ready              */
+    uint32_t BOD12RDY:1;                /**< bit:      3  BOD12 Ready                              */
+    uint32_t BOD12DET:1;                /**< bit:      4  BOD12 Detection                          */
+    uint32_t B12SRDY:1;                 /**< bit:      5  BOD12 Synchronization Ready              */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t VREGRDY:1;                 /**< bit:      8  Voltage Regulator Ready                  */
+    uint32_t :1;                        /**< bit:      9  Reserved */
+    uint32_t VCORERDY:1;                /**< bit:     10  VDDCORE Ready                            */
+    uint32_t ULPVREFRDY:1;              /**< bit:     11  ULPVREF Voltage Reference Ready          */
+    uint32_t :20;                       /**< bit: 12..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_INTENCLR_OFFSET                (0x00)                                        /**<  (SUPC_INTENCLR) Interrupt Enable Clear  Offset */
+#define SUPC_INTENCLR_RESETVALUE            _U_(0x00)                                     /**<  (SUPC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define SUPC_INTENCLR_BOD33RDY_Pos          0                                              /**< (SUPC_INTENCLR) BOD33 Ready Position */
+#define SUPC_INTENCLR_BOD33RDY_Msk          (_U_(0x1) << SUPC_INTENCLR_BOD33RDY_Pos)       /**< (SUPC_INTENCLR) BOD33 Ready Mask */
+#define SUPC_INTENCLR_BOD33RDY              SUPC_INTENCLR_BOD33RDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD33RDY_Msk instead */
+#define SUPC_INTENCLR_BOD33DET_Pos          1                                              /**< (SUPC_INTENCLR) BOD33 Detection Position */
+#define SUPC_INTENCLR_BOD33DET_Msk          (_U_(0x1) << SUPC_INTENCLR_BOD33DET_Pos)       /**< (SUPC_INTENCLR) BOD33 Detection Mask */
+#define SUPC_INTENCLR_BOD33DET              SUPC_INTENCLR_BOD33DET_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD33DET_Msk instead */
+#define SUPC_INTENCLR_B33SRDY_Pos           2                                              /**< (SUPC_INTENCLR) BOD33 Synchronization Ready Position */
+#define SUPC_INTENCLR_B33SRDY_Msk           (_U_(0x1) << SUPC_INTENCLR_B33SRDY_Pos)        /**< (SUPC_INTENCLR) BOD33 Synchronization Ready Mask */
+#define SUPC_INTENCLR_B33SRDY               SUPC_INTENCLR_B33SRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_B33SRDY_Msk instead */
+#define SUPC_INTENCLR_BOD12RDY_Pos          3                                              /**< (SUPC_INTENCLR) BOD12 Ready Position */
+#define SUPC_INTENCLR_BOD12RDY_Msk          (_U_(0x1) << SUPC_INTENCLR_BOD12RDY_Pos)       /**< (SUPC_INTENCLR) BOD12 Ready Mask */
+#define SUPC_INTENCLR_BOD12RDY              SUPC_INTENCLR_BOD12RDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD12RDY_Msk instead */
+#define SUPC_INTENCLR_BOD12DET_Pos          4                                              /**< (SUPC_INTENCLR) BOD12 Detection Position */
+#define SUPC_INTENCLR_BOD12DET_Msk          (_U_(0x1) << SUPC_INTENCLR_BOD12DET_Pos)       /**< (SUPC_INTENCLR) BOD12 Detection Mask */
+#define SUPC_INTENCLR_BOD12DET              SUPC_INTENCLR_BOD12DET_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD12DET_Msk instead */
+#define SUPC_INTENCLR_B12SRDY_Pos           5                                              /**< (SUPC_INTENCLR) BOD12 Synchronization Ready Position */
+#define SUPC_INTENCLR_B12SRDY_Msk           (_U_(0x1) << SUPC_INTENCLR_B12SRDY_Pos)        /**< (SUPC_INTENCLR) BOD12 Synchronization Ready Mask */
+#define SUPC_INTENCLR_B12SRDY               SUPC_INTENCLR_B12SRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_B12SRDY_Msk instead */
+#define SUPC_INTENCLR_VREGRDY_Pos           8                                              /**< (SUPC_INTENCLR) Voltage Regulator Ready Position */
+#define SUPC_INTENCLR_VREGRDY_Msk           (_U_(0x1) << SUPC_INTENCLR_VREGRDY_Pos)        /**< (SUPC_INTENCLR) Voltage Regulator Ready Mask */
+#define SUPC_INTENCLR_VREGRDY               SUPC_INTENCLR_VREGRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_VREGRDY_Msk instead */
+#define SUPC_INTENCLR_VCORERDY_Pos          10                                             /**< (SUPC_INTENCLR) VDDCORE Ready Position */
+#define SUPC_INTENCLR_VCORERDY_Msk          (_U_(0x1) << SUPC_INTENCLR_VCORERDY_Pos)       /**< (SUPC_INTENCLR) VDDCORE Ready Mask */
+#define SUPC_INTENCLR_VCORERDY              SUPC_INTENCLR_VCORERDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_VCORERDY_Msk instead */
+#define SUPC_INTENCLR_ULPVREFRDY_Pos        11                                             /**< (SUPC_INTENCLR) ULPVREF Voltage Reference Ready Position */
+#define SUPC_INTENCLR_ULPVREFRDY_Msk        (_U_(0x1) << SUPC_INTENCLR_ULPVREFRDY_Pos)     /**< (SUPC_INTENCLR) ULPVREF Voltage Reference Ready Mask */
+#define SUPC_INTENCLR_ULPVREFRDY            SUPC_INTENCLR_ULPVREFRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_ULPVREFRDY_Msk instead */
+#define SUPC_INTENCLR_MASK                  _U_(0xD3F)                                     /**< \deprecated (SUPC_INTENCLR) Register MASK  (Use SUPC_INTENCLR_Msk instead)  */
+#define SUPC_INTENCLR_Msk                   _U_(0xD3F)                                     /**< (SUPC_INTENCLR) Register Mask  */
+
+
+/* -------- SUPC_INTENSET : (SUPC Offset: 0x04) (R/W 32) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BOD33RDY:1;                /**< bit:      0  BOD33 Ready                              */
+    uint32_t BOD33DET:1;                /**< bit:      1  BOD33 Detection                          */
+    uint32_t B33SRDY:1;                 /**< bit:      2  BOD33 Synchronization Ready              */
+    uint32_t BOD12RDY:1;                /**< bit:      3  BOD12 Ready                              */
+    uint32_t BOD12DET:1;                /**< bit:      4  BOD12 Detection                          */
+    uint32_t B12SRDY:1;                 /**< bit:      5  BOD12 Synchronization Ready              */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t VREGRDY:1;                 /**< bit:      8  Voltage Regulator Ready                  */
+    uint32_t :1;                        /**< bit:      9  Reserved */
+    uint32_t VCORERDY:1;                /**< bit:     10  VDDCORE Ready                            */
+    uint32_t ULPVREFRDY:1;              /**< bit:     11  ULPVREF Voltage Reference Ready          */
+    uint32_t :20;                       /**< bit: 12..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_INTENSET_OFFSET                (0x04)                                        /**<  (SUPC_INTENSET) Interrupt Enable Set  Offset */
+#define SUPC_INTENSET_RESETVALUE            _U_(0x00)                                     /**<  (SUPC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define SUPC_INTENSET_BOD33RDY_Pos          0                                              /**< (SUPC_INTENSET) BOD33 Ready Position */
+#define SUPC_INTENSET_BOD33RDY_Msk          (_U_(0x1) << SUPC_INTENSET_BOD33RDY_Pos)       /**< (SUPC_INTENSET) BOD33 Ready Mask */
+#define SUPC_INTENSET_BOD33RDY              SUPC_INTENSET_BOD33RDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD33RDY_Msk instead */
+#define SUPC_INTENSET_BOD33DET_Pos          1                                              /**< (SUPC_INTENSET) BOD33 Detection Position */
+#define SUPC_INTENSET_BOD33DET_Msk          (_U_(0x1) << SUPC_INTENSET_BOD33DET_Pos)       /**< (SUPC_INTENSET) BOD33 Detection Mask */
+#define SUPC_INTENSET_BOD33DET              SUPC_INTENSET_BOD33DET_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD33DET_Msk instead */
+#define SUPC_INTENSET_B33SRDY_Pos           2                                              /**< (SUPC_INTENSET) BOD33 Synchronization Ready Position */
+#define SUPC_INTENSET_B33SRDY_Msk           (_U_(0x1) << SUPC_INTENSET_B33SRDY_Pos)        /**< (SUPC_INTENSET) BOD33 Synchronization Ready Mask */
+#define SUPC_INTENSET_B33SRDY               SUPC_INTENSET_B33SRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_B33SRDY_Msk instead */
+#define SUPC_INTENSET_BOD12RDY_Pos          3                                              /**< (SUPC_INTENSET) BOD12 Ready Position */
+#define SUPC_INTENSET_BOD12RDY_Msk          (_U_(0x1) << SUPC_INTENSET_BOD12RDY_Pos)       /**< (SUPC_INTENSET) BOD12 Ready Mask */
+#define SUPC_INTENSET_BOD12RDY              SUPC_INTENSET_BOD12RDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD12RDY_Msk instead */
+#define SUPC_INTENSET_BOD12DET_Pos          4                                              /**< (SUPC_INTENSET) BOD12 Detection Position */
+#define SUPC_INTENSET_BOD12DET_Msk          (_U_(0x1) << SUPC_INTENSET_BOD12DET_Pos)       /**< (SUPC_INTENSET) BOD12 Detection Mask */
+#define SUPC_INTENSET_BOD12DET              SUPC_INTENSET_BOD12DET_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD12DET_Msk instead */
+#define SUPC_INTENSET_B12SRDY_Pos           5                                              /**< (SUPC_INTENSET) BOD12 Synchronization Ready Position */
+#define SUPC_INTENSET_B12SRDY_Msk           (_U_(0x1) << SUPC_INTENSET_B12SRDY_Pos)        /**< (SUPC_INTENSET) BOD12 Synchronization Ready Mask */
+#define SUPC_INTENSET_B12SRDY               SUPC_INTENSET_B12SRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_B12SRDY_Msk instead */
+#define SUPC_INTENSET_VREGRDY_Pos           8                                              /**< (SUPC_INTENSET) Voltage Regulator Ready Position */
+#define SUPC_INTENSET_VREGRDY_Msk           (_U_(0x1) << SUPC_INTENSET_VREGRDY_Pos)        /**< (SUPC_INTENSET) Voltage Regulator Ready Mask */
+#define SUPC_INTENSET_VREGRDY               SUPC_INTENSET_VREGRDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_VREGRDY_Msk instead */
+#define SUPC_INTENSET_VCORERDY_Pos          10                                             /**< (SUPC_INTENSET) VDDCORE Ready Position */
+#define SUPC_INTENSET_VCORERDY_Msk          (_U_(0x1) << SUPC_INTENSET_VCORERDY_Pos)       /**< (SUPC_INTENSET) VDDCORE Ready Mask */
+#define SUPC_INTENSET_VCORERDY              SUPC_INTENSET_VCORERDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_VCORERDY_Msk instead */
+#define SUPC_INTENSET_ULPVREFRDY_Pos        11                                             /**< (SUPC_INTENSET) ULPVREF Voltage Reference Ready Position */
+#define SUPC_INTENSET_ULPVREFRDY_Msk        (_U_(0x1) << SUPC_INTENSET_ULPVREFRDY_Pos)     /**< (SUPC_INTENSET) ULPVREF Voltage Reference Ready Mask */
+#define SUPC_INTENSET_ULPVREFRDY            SUPC_INTENSET_ULPVREFRDY_Msk                   /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_ULPVREFRDY_Msk instead */
+#define SUPC_INTENSET_MASK                  _U_(0xD3F)                                     /**< \deprecated (SUPC_INTENSET) Register MASK  (Use SUPC_INTENSET_Msk instead)  */
+#define SUPC_INTENSET_Msk                   _U_(0xD3F)                                     /**< (SUPC_INTENSET) Register Mask  */
+
+
+/* -------- SUPC_INTFLAG : (SUPC Offset: 0x08) (R/W 32) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint32_t BOD33RDY:1;                /**< bit:      0  BOD33 Ready                              */
+    __I uint32_t BOD33DET:1;                /**< bit:      1  BOD33 Detection                          */
+    __I uint32_t B33SRDY:1;                 /**< bit:      2  BOD33 Synchronization Ready              */
+    __I uint32_t BOD12RDY:1;                /**< bit:      3  BOD12 Ready                              */
+    __I uint32_t BOD12DET:1;                /**< bit:      4  BOD12 Detection                          */
+    __I uint32_t B12SRDY:1;                 /**< bit:      5  BOD12 Synchronization Ready              */
+    __I uint32_t :2;                        /**< bit:   6..7  Reserved */
+    __I uint32_t VREGRDY:1;                 /**< bit:      8  Voltage Regulator Ready                  */
+    __I uint32_t :1;                        /**< bit:      9  Reserved */
+    __I uint32_t VCORERDY:1;                /**< bit:     10  VDDCORE Ready                            */
+    __I uint32_t ULPVREFRDY:1;              /**< bit:     11  ULPVREF Voltage Reference Ready          */
+    __I uint32_t :20;                       /**< bit: 12..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_INTFLAG_OFFSET                 (0x08)                                        /**<  (SUPC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define SUPC_INTFLAG_RESETVALUE             _U_(0x00)                                     /**<  (SUPC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define SUPC_INTFLAG_BOD33RDY_Pos           0                                              /**< (SUPC_INTFLAG) BOD33 Ready Position */
+#define SUPC_INTFLAG_BOD33RDY_Msk           (_U_(0x1) << SUPC_INTFLAG_BOD33RDY_Pos)        /**< (SUPC_INTFLAG) BOD33 Ready Mask */
+#define SUPC_INTFLAG_BOD33RDY               SUPC_INTFLAG_BOD33RDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD33RDY_Msk instead */
+#define SUPC_INTFLAG_BOD33DET_Pos           1                                              /**< (SUPC_INTFLAG) BOD33 Detection Position */
+#define SUPC_INTFLAG_BOD33DET_Msk           (_U_(0x1) << SUPC_INTFLAG_BOD33DET_Pos)        /**< (SUPC_INTFLAG) BOD33 Detection Mask */
+#define SUPC_INTFLAG_BOD33DET               SUPC_INTFLAG_BOD33DET_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD33DET_Msk instead */
+#define SUPC_INTFLAG_B33SRDY_Pos            2                                              /**< (SUPC_INTFLAG) BOD33 Synchronization Ready Position */
+#define SUPC_INTFLAG_B33SRDY_Msk            (_U_(0x1) << SUPC_INTFLAG_B33SRDY_Pos)         /**< (SUPC_INTFLAG) BOD33 Synchronization Ready Mask */
+#define SUPC_INTFLAG_B33SRDY                SUPC_INTFLAG_B33SRDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_B33SRDY_Msk instead */
+#define SUPC_INTFLAG_BOD12RDY_Pos           3                                              /**< (SUPC_INTFLAG) BOD12 Ready Position */
+#define SUPC_INTFLAG_BOD12RDY_Msk           (_U_(0x1) << SUPC_INTFLAG_BOD12RDY_Pos)        /**< (SUPC_INTFLAG) BOD12 Ready Mask */
+#define SUPC_INTFLAG_BOD12RDY               SUPC_INTFLAG_BOD12RDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD12RDY_Msk instead */
+#define SUPC_INTFLAG_BOD12DET_Pos           4                                              /**< (SUPC_INTFLAG) BOD12 Detection Position */
+#define SUPC_INTFLAG_BOD12DET_Msk           (_U_(0x1) << SUPC_INTFLAG_BOD12DET_Pos)        /**< (SUPC_INTFLAG) BOD12 Detection Mask */
+#define SUPC_INTFLAG_BOD12DET               SUPC_INTFLAG_BOD12DET_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD12DET_Msk instead */
+#define SUPC_INTFLAG_B12SRDY_Pos            5                                              /**< (SUPC_INTFLAG) BOD12 Synchronization Ready Position */
+#define SUPC_INTFLAG_B12SRDY_Msk            (_U_(0x1) << SUPC_INTFLAG_B12SRDY_Pos)         /**< (SUPC_INTFLAG) BOD12 Synchronization Ready Mask */
+#define SUPC_INTFLAG_B12SRDY                SUPC_INTFLAG_B12SRDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_B12SRDY_Msk instead */
+#define SUPC_INTFLAG_VREGRDY_Pos            8                                              /**< (SUPC_INTFLAG) Voltage Regulator Ready Position */
+#define SUPC_INTFLAG_VREGRDY_Msk            (_U_(0x1) << SUPC_INTFLAG_VREGRDY_Pos)         /**< (SUPC_INTFLAG) Voltage Regulator Ready Mask */
+#define SUPC_INTFLAG_VREGRDY                SUPC_INTFLAG_VREGRDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_VREGRDY_Msk instead */
+#define SUPC_INTFLAG_VCORERDY_Pos           10                                             /**< (SUPC_INTFLAG) VDDCORE Ready Position */
+#define SUPC_INTFLAG_VCORERDY_Msk           (_U_(0x1) << SUPC_INTFLAG_VCORERDY_Pos)        /**< (SUPC_INTFLAG) VDDCORE Ready Mask */
+#define SUPC_INTFLAG_VCORERDY               SUPC_INTFLAG_VCORERDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_VCORERDY_Msk instead */
+#define SUPC_INTFLAG_ULPVREFRDY_Pos         11                                             /**< (SUPC_INTFLAG) ULPVREF Voltage Reference Ready Position */
+#define SUPC_INTFLAG_ULPVREFRDY_Msk         (_U_(0x1) << SUPC_INTFLAG_ULPVREFRDY_Pos)      /**< (SUPC_INTFLAG) ULPVREF Voltage Reference Ready Mask */
+#define SUPC_INTFLAG_ULPVREFRDY             SUPC_INTFLAG_ULPVREFRDY_Msk                    /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_ULPVREFRDY_Msk instead */
+#define SUPC_INTFLAG_MASK                   _U_(0xD3F)                                     /**< \deprecated (SUPC_INTFLAG) Register MASK  (Use SUPC_INTFLAG_Msk instead)  */
+#define SUPC_INTFLAG_Msk                    _U_(0xD3F)                                     /**< (SUPC_INTFLAG) Register Mask  */
+
+
+/* -------- SUPC_STATUS : (SUPC Offset: 0x0c) (R/ 32) Power and Clocks Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t BOD33RDY:1;                /**< bit:      0  BOD33 Ready                              */
+    uint32_t BOD33DET:1;                /**< bit:      1  BOD33 Detection                          */
+    uint32_t B33SRDY:1;                 /**< bit:      2  BOD33 Synchronization Ready              */
+    uint32_t BOD12RDY:1;                /**< bit:      3  BOD12 Ready                              */
+    uint32_t BOD12DET:1;                /**< bit:      4  BOD12 Detection                          */
+    uint32_t B12SRDY:1;                 /**< bit:      5  BOD12 Synchronization Ready              */
+    uint32_t :2;                        /**< bit:   6..7  Reserved */
+    uint32_t VREGRDY:1;                 /**< bit:      8  Voltage Regulator Ready                  */
+    uint32_t :1;                        /**< bit:      9  Reserved */
+    uint32_t VCORERDY:1;                /**< bit:     10  VDDCORE Ready                            */
+    uint32_t :1;                        /**< bit:     11  Reserved */
+    uint32_t ULPVREFRDY:1;              /**< bit:     12  Low Power Voltage Reference Ready        */
+    uint32_t ULPBIASRDY:1;              /**< bit:     13  Low Power Voltage Bias Ready             */
+    uint32_t :18;                       /**< bit: 14..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_STATUS_OFFSET                  (0x0C)                                        /**<  (SUPC_STATUS) Power and Clocks Status  Offset */
+#define SUPC_STATUS_RESETVALUE              _U_(0x00)                                     /**<  (SUPC_STATUS) Power and Clocks Status  Reset Value */
+
+#define SUPC_STATUS_BOD33RDY_Pos            0                                              /**< (SUPC_STATUS) BOD33 Ready Position */
+#define SUPC_STATUS_BOD33RDY_Msk            (_U_(0x1) << SUPC_STATUS_BOD33RDY_Pos)         /**< (SUPC_STATUS) BOD33 Ready Mask */
+#define SUPC_STATUS_BOD33RDY                SUPC_STATUS_BOD33RDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD33RDY_Msk instead */
+#define SUPC_STATUS_BOD33DET_Pos            1                                              /**< (SUPC_STATUS) BOD33 Detection Position */
+#define SUPC_STATUS_BOD33DET_Msk            (_U_(0x1) << SUPC_STATUS_BOD33DET_Pos)         /**< (SUPC_STATUS) BOD33 Detection Mask */
+#define SUPC_STATUS_BOD33DET                SUPC_STATUS_BOD33DET_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD33DET_Msk instead */
+#define SUPC_STATUS_B33SRDY_Pos             2                                              /**< (SUPC_STATUS) BOD33 Synchronization Ready Position */
+#define SUPC_STATUS_B33SRDY_Msk             (_U_(0x1) << SUPC_STATUS_B33SRDY_Pos)          /**< (SUPC_STATUS) BOD33 Synchronization Ready Mask */
+#define SUPC_STATUS_B33SRDY                 SUPC_STATUS_B33SRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_B33SRDY_Msk instead */
+#define SUPC_STATUS_BOD12RDY_Pos            3                                              /**< (SUPC_STATUS) BOD12 Ready Position */
+#define SUPC_STATUS_BOD12RDY_Msk            (_U_(0x1) << SUPC_STATUS_BOD12RDY_Pos)         /**< (SUPC_STATUS) BOD12 Ready Mask */
+#define SUPC_STATUS_BOD12RDY                SUPC_STATUS_BOD12RDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD12RDY_Msk instead */
+#define SUPC_STATUS_BOD12DET_Pos            4                                              /**< (SUPC_STATUS) BOD12 Detection Position */
+#define SUPC_STATUS_BOD12DET_Msk            (_U_(0x1) << SUPC_STATUS_BOD12DET_Pos)         /**< (SUPC_STATUS) BOD12 Detection Mask */
+#define SUPC_STATUS_BOD12DET                SUPC_STATUS_BOD12DET_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD12DET_Msk instead */
+#define SUPC_STATUS_B12SRDY_Pos             5                                              /**< (SUPC_STATUS) BOD12 Synchronization Ready Position */
+#define SUPC_STATUS_B12SRDY_Msk             (_U_(0x1) << SUPC_STATUS_B12SRDY_Pos)          /**< (SUPC_STATUS) BOD12 Synchronization Ready Mask */
+#define SUPC_STATUS_B12SRDY                 SUPC_STATUS_B12SRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_B12SRDY_Msk instead */
+#define SUPC_STATUS_VREGRDY_Pos             8                                              /**< (SUPC_STATUS) Voltage Regulator Ready Position */
+#define SUPC_STATUS_VREGRDY_Msk             (_U_(0x1) << SUPC_STATUS_VREGRDY_Pos)          /**< (SUPC_STATUS) Voltage Regulator Ready Mask */
+#define SUPC_STATUS_VREGRDY                 SUPC_STATUS_VREGRDY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_VREGRDY_Msk instead */
+#define SUPC_STATUS_VCORERDY_Pos            10                                             /**< (SUPC_STATUS) VDDCORE Ready Position */
+#define SUPC_STATUS_VCORERDY_Msk            (_U_(0x1) << SUPC_STATUS_VCORERDY_Pos)         /**< (SUPC_STATUS) VDDCORE Ready Mask */
+#define SUPC_STATUS_VCORERDY                SUPC_STATUS_VCORERDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_VCORERDY_Msk instead */
+#define SUPC_STATUS_ULPVREFRDY_Pos          12                                             /**< (SUPC_STATUS) Low Power Voltage Reference Ready Position */
+#define SUPC_STATUS_ULPVREFRDY_Msk          (_U_(0x1) << SUPC_STATUS_ULPVREFRDY_Pos)       /**< (SUPC_STATUS) Low Power Voltage Reference Ready Mask */
+#define SUPC_STATUS_ULPVREFRDY              SUPC_STATUS_ULPVREFRDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_ULPVREFRDY_Msk instead */
+#define SUPC_STATUS_ULPBIASRDY_Pos          13                                             /**< (SUPC_STATUS) Low Power Voltage Bias Ready Position */
+#define SUPC_STATUS_ULPBIASRDY_Msk          (_U_(0x1) << SUPC_STATUS_ULPBIASRDY_Pos)       /**< (SUPC_STATUS) Low Power Voltage Bias Ready Mask */
+#define SUPC_STATUS_ULPBIASRDY              SUPC_STATUS_ULPBIASRDY_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_ULPBIASRDY_Msk instead */
+#define SUPC_STATUS_MASK                    _U_(0x353F)                                    /**< \deprecated (SUPC_STATUS) Register MASK  (Use SUPC_STATUS_Msk instead)  */
+#define SUPC_STATUS_Msk                     _U_(0x353F)                                    /**< (SUPC_STATUS) Register Mask  */
+
+
+/* -------- SUPC_BOD33 : (SUPC Offset: 0x10) (R/W 32) BOD33 Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t HYST:1;                    /**< bit:      2  Hysteresis Enable                        */
+    uint32_t ACTION:2;                  /**< bit:   3..4  Action when Threshold Crossed            */
+    uint32_t STDBYCFG:1;                /**< bit:      5  Configuration in Standby mode            */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run during Standby                       */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t ACTCFG:1;                  /**< bit:      8  Configuration in Active mode             */
+    uint32_t :2;                        /**< bit:  9..10  Reserved */
+    uint32_t REFSEL:1;                  /**< bit:     11  BOD33 Voltage Reference Selection        */
+    uint32_t PSEL:4;                    /**< bit: 12..15  Prescaler Select                         */
+    uint32_t LEVEL:6;                   /**< bit: 16..21  Threshold Level for VDD                  */
+    uint32_t :10;                       /**< bit: 22..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_BOD33_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_BOD33_OFFSET                   (0x10)                                        /**<  (SUPC_BOD33) BOD33 Control  Offset */
+#define SUPC_BOD33_RESETVALUE               _U_(0x00)                                     /**<  (SUPC_BOD33) BOD33 Control  Reset Value */
+
+#define SUPC_BOD33_ENABLE_Pos               1                                              /**< (SUPC_BOD33) Enable Position */
+#define SUPC_BOD33_ENABLE_Msk               (_U_(0x1) << SUPC_BOD33_ENABLE_Pos)            /**< (SUPC_BOD33) Enable Mask */
+#define SUPC_BOD33_ENABLE                   SUPC_BOD33_ENABLE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_ENABLE_Msk instead */
+#define SUPC_BOD33_HYST_Pos                 2                                              /**< (SUPC_BOD33) Hysteresis Enable Position */
+#define SUPC_BOD33_HYST_Msk                 (_U_(0x1) << SUPC_BOD33_HYST_Pos)              /**< (SUPC_BOD33) Hysteresis Enable Mask */
+#define SUPC_BOD33_HYST                     SUPC_BOD33_HYST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_HYST_Msk instead */
+#define SUPC_BOD33_ACTION_Pos               3                                              /**< (SUPC_BOD33) Action when Threshold Crossed Position */
+#define SUPC_BOD33_ACTION_Msk               (_U_(0x3) << SUPC_BOD33_ACTION_Pos)            /**< (SUPC_BOD33) Action when Threshold Crossed Mask */
+#define SUPC_BOD33_ACTION(value)            (SUPC_BOD33_ACTION_Msk & ((value) << SUPC_BOD33_ACTION_Pos))
+#define   SUPC_BOD33_ACTION_NONE_Val        _U_(0x0)                                       /**< (SUPC_BOD33) No action  */
+#define   SUPC_BOD33_ACTION_RESET_Val       _U_(0x1)                                       /**< (SUPC_BOD33) The BOD33 generates a reset  */
+#define   SUPC_BOD33_ACTION_INT_Val         _U_(0x2)                                       /**< (SUPC_BOD33) The BOD33 generates an interrupt  */
+#define   SUPC_BOD33_ACTION_BKUP_Val        _U_(0x3)                                       /**< (SUPC_BOD33) The BOD33 puts the device in backup sleep mode if VMON=0  */
+#define SUPC_BOD33_ACTION_NONE              (SUPC_BOD33_ACTION_NONE_Val << SUPC_BOD33_ACTION_Pos)  /**< (SUPC_BOD33) No action Position  */
+#define SUPC_BOD33_ACTION_RESET             (SUPC_BOD33_ACTION_RESET_Val << SUPC_BOD33_ACTION_Pos)  /**< (SUPC_BOD33) The BOD33 generates a reset Position  */
+#define SUPC_BOD33_ACTION_INT               (SUPC_BOD33_ACTION_INT_Val << SUPC_BOD33_ACTION_Pos)  /**< (SUPC_BOD33) The BOD33 generates an interrupt Position  */
+#define SUPC_BOD33_ACTION_BKUP              (SUPC_BOD33_ACTION_BKUP_Val << SUPC_BOD33_ACTION_Pos)  /**< (SUPC_BOD33) The BOD33 puts the device in backup sleep mode if VMON=0 Position  */
+#define SUPC_BOD33_STDBYCFG_Pos             5                                              /**< (SUPC_BOD33) Configuration in Standby mode Position */
+#define SUPC_BOD33_STDBYCFG_Msk             (_U_(0x1) << SUPC_BOD33_STDBYCFG_Pos)          /**< (SUPC_BOD33) Configuration in Standby mode Mask */
+#define SUPC_BOD33_STDBYCFG                 SUPC_BOD33_STDBYCFG_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_STDBYCFG_Msk instead */
+#define SUPC_BOD33_RUNSTDBY_Pos             6                                              /**< (SUPC_BOD33) Run during Standby Position */
+#define SUPC_BOD33_RUNSTDBY_Msk             (_U_(0x1) << SUPC_BOD33_RUNSTDBY_Pos)          /**< (SUPC_BOD33) Run during Standby Mask */
+#define SUPC_BOD33_RUNSTDBY                 SUPC_BOD33_RUNSTDBY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_RUNSTDBY_Msk instead */
+#define SUPC_BOD33_ACTCFG_Pos               8                                              /**< (SUPC_BOD33) Configuration in Active mode Position */
+#define SUPC_BOD33_ACTCFG_Msk               (_U_(0x1) << SUPC_BOD33_ACTCFG_Pos)            /**< (SUPC_BOD33) Configuration in Active mode Mask */
+#define SUPC_BOD33_ACTCFG                   SUPC_BOD33_ACTCFG_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_ACTCFG_Msk instead */
+#define SUPC_BOD33_REFSEL_Pos               11                                             /**< (SUPC_BOD33) BOD33 Voltage Reference Selection Position */
+#define SUPC_BOD33_REFSEL_Msk               (_U_(0x1) << SUPC_BOD33_REFSEL_Pos)            /**< (SUPC_BOD33) BOD33 Voltage Reference Selection Mask */
+#define SUPC_BOD33_REFSEL                   SUPC_BOD33_REFSEL_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_REFSEL_Msk instead */
+#define   SUPC_BOD33_REFSEL_SEL_VREFDETREF_Val _U_(0x0)                                       /**< (SUPC_BOD33) Selects VREFDETREF for the BOD33  */
+#define   SUPC_BOD33_REFSEL_SEL_ULPVREF_Val _U_(0x1)                                       /**< (SUPC_BOD33) Selects ULPVREF for the BOD33  */
+#define SUPC_BOD33_REFSEL_SEL_VREFDETREF    (SUPC_BOD33_REFSEL_SEL_VREFDETREF_Val << SUPC_BOD33_REFSEL_Pos)  /**< (SUPC_BOD33) Selects VREFDETREF for the BOD33 Position  */
+#define SUPC_BOD33_REFSEL_SEL_ULPVREF       (SUPC_BOD33_REFSEL_SEL_ULPVREF_Val << SUPC_BOD33_REFSEL_Pos)  /**< (SUPC_BOD33) Selects ULPVREF for the BOD33 Position  */
+#define SUPC_BOD33_PSEL_Pos                 12                                             /**< (SUPC_BOD33) Prescaler Select Position */
+#define SUPC_BOD33_PSEL_Msk                 (_U_(0xF) << SUPC_BOD33_PSEL_Pos)              /**< (SUPC_BOD33) Prescaler Select Mask */
+#define SUPC_BOD33_PSEL(value)              (SUPC_BOD33_PSEL_Msk & ((value) << SUPC_BOD33_PSEL_Pos))
+#define   SUPC_BOD33_PSEL_DIV2_Val          _U_(0x0)                                       /**< (SUPC_BOD33) Divide clock by 2  */
+#define   SUPC_BOD33_PSEL_DIV4_Val          _U_(0x1)                                       /**< (SUPC_BOD33) Divide clock by 4  */
+#define   SUPC_BOD33_PSEL_DIV8_Val          _U_(0x2)                                       /**< (SUPC_BOD33) Divide clock by 8  */
+#define   SUPC_BOD33_PSEL_DIV16_Val         _U_(0x3)                                       /**< (SUPC_BOD33) Divide clock by 16  */
+#define   SUPC_BOD33_PSEL_DIV32_Val         _U_(0x4)                                       /**< (SUPC_BOD33) Divide clock by 32  */
+#define   SUPC_BOD33_PSEL_DIV64_Val         _U_(0x5)                                       /**< (SUPC_BOD33) Divide clock by 64  */
+#define   SUPC_BOD33_PSEL_DIV128_Val        _U_(0x6)                                       /**< (SUPC_BOD33) Divide clock by 128  */
+#define   SUPC_BOD33_PSEL_DIV256_Val        _U_(0x7)                                       /**< (SUPC_BOD33) Divide clock by 256  */
+#define   SUPC_BOD33_PSEL_DIV512_Val        _U_(0x8)                                       /**< (SUPC_BOD33) Divide clock by 512  */
+#define   SUPC_BOD33_PSEL_DIV1024_Val       _U_(0x9)                                       /**< (SUPC_BOD33) Divide clock by 1024  */
+#define   SUPC_BOD33_PSEL_DIV2048_Val       _U_(0xA)                                       /**< (SUPC_BOD33) Divide clock by 2048  */
+#define   SUPC_BOD33_PSEL_DIV4096_Val       _U_(0xB)                                       /**< (SUPC_BOD33) Divide clock by 4096  */
+#define   SUPC_BOD33_PSEL_DIV8192_Val       _U_(0xC)                                       /**< (SUPC_BOD33) Divide clock by 8192  */
+#define   SUPC_BOD33_PSEL_DIV16384_Val      _U_(0xD)                                       /**< (SUPC_BOD33) Divide clock by 16384  */
+#define   SUPC_BOD33_PSEL_DIV32768_Val      _U_(0xE)                                       /**< (SUPC_BOD33) Divide clock by 32768  */
+#define   SUPC_BOD33_PSEL_DIV65536_Val      _U_(0xF)                                       /**< (SUPC_BOD33) Divide clock by 65536  */
+#define SUPC_BOD33_PSEL_DIV2                (SUPC_BOD33_PSEL_DIV2_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 2 Position  */
+#define SUPC_BOD33_PSEL_DIV4                (SUPC_BOD33_PSEL_DIV4_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 4 Position  */
+#define SUPC_BOD33_PSEL_DIV8                (SUPC_BOD33_PSEL_DIV8_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 8 Position  */
+#define SUPC_BOD33_PSEL_DIV16               (SUPC_BOD33_PSEL_DIV16_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 16 Position  */
+#define SUPC_BOD33_PSEL_DIV32               (SUPC_BOD33_PSEL_DIV32_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 32 Position  */
+#define SUPC_BOD33_PSEL_DIV64               (SUPC_BOD33_PSEL_DIV64_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 64 Position  */
+#define SUPC_BOD33_PSEL_DIV128              (SUPC_BOD33_PSEL_DIV128_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 128 Position  */
+#define SUPC_BOD33_PSEL_DIV256              (SUPC_BOD33_PSEL_DIV256_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 256 Position  */
+#define SUPC_BOD33_PSEL_DIV512              (SUPC_BOD33_PSEL_DIV512_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 512 Position  */
+#define SUPC_BOD33_PSEL_DIV1024             (SUPC_BOD33_PSEL_DIV1024_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 1024 Position  */
+#define SUPC_BOD33_PSEL_DIV2048             (SUPC_BOD33_PSEL_DIV2048_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 2048 Position  */
+#define SUPC_BOD33_PSEL_DIV4096             (SUPC_BOD33_PSEL_DIV4096_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 4096 Position  */
+#define SUPC_BOD33_PSEL_DIV8192             (SUPC_BOD33_PSEL_DIV8192_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 8192 Position  */
+#define SUPC_BOD33_PSEL_DIV16384            (SUPC_BOD33_PSEL_DIV16384_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 16384 Position  */
+#define SUPC_BOD33_PSEL_DIV32768            (SUPC_BOD33_PSEL_DIV32768_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 32768 Position  */
+#define SUPC_BOD33_PSEL_DIV65536            (SUPC_BOD33_PSEL_DIV65536_Val << SUPC_BOD33_PSEL_Pos)  /**< (SUPC_BOD33) Divide clock by 65536 Position  */
+#define SUPC_BOD33_LEVEL_Pos                16                                             /**< (SUPC_BOD33) Threshold Level for VDD Position */
+#define SUPC_BOD33_LEVEL_Msk                (_U_(0x3F) << SUPC_BOD33_LEVEL_Pos)            /**< (SUPC_BOD33) Threshold Level for VDD Mask */
+#define SUPC_BOD33_LEVEL(value)             (SUPC_BOD33_LEVEL_Msk & ((value) << SUPC_BOD33_LEVEL_Pos))
+#define SUPC_BOD33_MASK                     _U_(0x3FF97E)                                  /**< \deprecated (SUPC_BOD33) Register MASK  (Use SUPC_BOD33_Msk instead)  */
+#define SUPC_BOD33_Msk                      _U_(0x3FF97E)                                  /**< (SUPC_BOD33) Register Mask  */
+
+
+/* -------- SUPC_BOD12 : (SUPC Offset: 0x14) (R/W 32) BOD12 Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t HYST:1;                    /**< bit:      2  Hysteresis Enable                        */
+    uint32_t ACTION:2;                  /**< bit:   3..4  Action when Threshold Crossed            */
+    uint32_t STDBYCFG:1;                /**< bit:      5  Configuration in Standby mode            */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run during Standby                       */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t ACTCFG:1;                  /**< bit:      8  Configuration in Active mode             */
+    uint32_t :3;                        /**< bit:  9..11  Reserved */
+    uint32_t PSEL:4;                    /**< bit: 12..15  Prescaler Select                         */
+    uint32_t LEVEL:6;                   /**< bit: 16..21  Threshold Level                          */
+    uint32_t :10;                       /**< bit: 22..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_BOD12_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_BOD12_OFFSET                   (0x14)                                        /**<  (SUPC_BOD12) BOD12 Control  Offset */
+#define SUPC_BOD12_RESETVALUE               _U_(0x00)                                     /**<  (SUPC_BOD12) BOD12 Control  Reset Value */
+
+#define SUPC_BOD12_ENABLE_Pos               1                                              /**< (SUPC_BOD12) Enable Position */
+#define SUPC_BOD12_ENABLE_Msk               (_U_(0x1) << SUPC_BOD12_ENABLE_Pos)            /**< (SUPC_BOD12) Enable Mask */
+#define SUPC_BOD12_ENABLE                   SUPC_BOD12_ENABLE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_ENABLE_Msk instead */
+#define SUPC_BOD12_HYST_Pos                 2                                              /**< (SUPC_BOD12) Hysteresis Enable Position */
+#define SUPC_BOD12_HYST_Msk                 (_U_(0x1) << SUPC_BOD12_HYST_Pos)              /**< (SUPC_BOD12) Hysteresis Enable Mask */
+#define SUPC_BOD12_HYST                     SUPC_BOD12_HYST_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_HYST_Msk instead */
+#define SUPC_BOD12_ACTION_Pos               3                                              /**< (SUPC_BOD12) Action when Threshold Crossed Position */
+#define SUPC_BOD12_ACTION_Msk               (_U_(0x3) << SUPC_BOD12_ACTION_Pos)            /**< (SUPC_BOD12) Action when Threshold Crossed Mask */
+#define SUPC_BOD12_ACTION(value)            (SUPC_BOD12_ACTION_Msk & ((value) << SUPC_BOD12_ACTION_Pos))
+#define   SUPC_BOD12_ACTION_NONE_Val        _U_(0x0)                                       /**< (SUPC_BOD12) No action  */
+#define   SUPC_BOD12_ACTION_RESET_Val       _U_(0x1)                                       /**< (SUPC_BOD12) The BOD12 generates a reset  */
+#define   SUPC_BOD12_ACTION_INT_Val         _U_(0x2)                                       /**< (SUPC_BOD12) The BOD12 generates an interrupt  */
+#define SUPC_BOD12_ACTION_NONE              (SUPC_BOD12_ACTION_NONE_Val << SUPC_BOD12_ACTION_Pos)  /**< (SUPC_BOD12) No action Position  */
+#define SUPC_BOD12_ACTION_RESET             (SUPC_BOD12_ACTION_RESET_Val << SUPC_BOD12_ACTION_Pos)  /**< (SUPC_BOD12) The BOD12 generates a reset Position  */
+#define SUPC_BOD12_ACTION_INT               (SUPC_BOD12_ACTION_INT_Val << SUPC_BOD12_ACTION_Pos)  /**< (SUPC_BOD12) The BOD12 generates an interrupt Position  */
+#define SUPC_BOD12_STDBYCFG_Pos             5                                              /**< (SUPC_BOD12) Configuration in Standby mode Position */
+#define SUPC_BOD12_STDBYCFG_Msk             (_U_(0x1) << SUPC_BOD12_STDBYCFG_Pos)          /**< (SUPC_BOD12) Configuration in Standby mode Mask */
+#define SUPC_BOD12_STDBYCFG                 SUPC_BOD12_STDBYCFG_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_STDBYCFG_Msk instead */
+#define SUPC_BOD12_RUNSTDBY_Pos             6                                              /**< (SUPC_BOD12) Run during Standby Position */
+#define SUPC_BOD12_RUNSTDBY_Msk             (_U_(0x1) << SUPC_BOD12_RUNSTDBY_Pos)          /**< (SUPC_BOD12) Run during Standby Mask */
+#define SUPC_BOD12_RUNSTDBY                 SUPC_BOD12_RUNSTDBY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_RUNSTDBY_Msk instead */
+#define SUPC_BOD12_ACTCFG_Pos               8                                              /**< (SUPC_BOD12) Configuration in Active mode Position */
+#define SUPC_BOD12_ACTCFG_Msk               (_U_(0x1) << SUPC_BOD12_ACTCFG_Pos)            /**< (SUPC_BOD12) Configuration in Active mode Mask */
+#define SUPC_BOD12_ACTCFG                   SUPC_BOD12_ACTCFG_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_ACTCFG_Msk instead */
+#define SUPC_BOD12_PSEL_Pos                 12                                             /**< (SUPC_BOD12) Prescaler Select Position */
+#define SUPC_BOD12_PSEL_Msk                 (_U_(0xF) << SUPC_BOD12_PSEL_Pos)              /**< (SUPC_BOD12) Prescaler Select Mask */
+#define SUPC_BOD12_PSEL(value)              (SUPC_BOD12_PSEL_Msk & ((value) << SUPC_BOD12_PSEL_Pos))
+#define   SUPC_BOD12_PSEL_DIV2_Val          _U_(0x0)                                       /**< (SUPC_BOD12) Divide clock by 2  */
+#define   SUPC_BOD12_PSEL_DIV4_Val          _U_(0x1)                                       /**< (SUPC_BOD12) Divide clock by 4  */
+#define   SUPC_BOD12_PSEL_DIV8_Val          _U_(0x2)                                       /**< (SUPC_BOD12) Divide clock by 8  */
+#define   SUPC_BOD12_PSEL_DIV16_Val         _U_(0x3)                                       /**< (SUPC_BOD12) Divide clock by 16  */
+#define   SUPC_BOD12_PSEL_DIV32_Val         _U_(0x4)                                       /**< (SUPC_BOD12) Divide clock by 32  */
+#define   SUPC_BOD12_PSEL_DIV64_Val         _U_(0x5)                                       /**< (SUPC_BOD12) Divide clock by 64  */
+#define   SUPC_BOD12_PSEL_DIV128_Val        _U_(0x6)                                       /**< (SUPC_BOD12) Divide clock by 128  */
+#define   SUPC_BOD12_PSEL_DIV256_Val        _U_(0x7)                                       /**< (SUPC_BOD12) Divide clock by 256  */
+#define   SUPC_BOD12_PSEL_DIV512_Val        _U_(0x8)                                       /**< (SUPC_BOD12) Divide clock by 512  */
+#define   SUPC_BOD12_PSEL_DIV1024_Val       _U_(0x9)                                       /**< (SUPC_BOD12) Divide clock by 1024  */
+#define   SUPC_BOD12_PSEL_DIV2048_Val       _U_(0xA)                                       /**< (SUPC_BOD12) Divide clock by 2048  */
+#define   SUPC_BOD12_PSEL_DIV4096_Val       _U_(0xB)                                       /**< (SUPC_BOD12) Divide clock by 4096  */
+#define   SUPC_BOD12_PSEL_DIV8192_Val       _U_(0xC)                                       /**< (SUPC_BOD12) Divide clock by 8192  */
+#define   SUPC_BOD12_PSEL_DIV16384_Val      _U_(0xD)                                       /**< (SUPC_BOD12) Divide clock by 16384  */
+#define   SUPC_BOD12_PSEL_DIV32768_Val      _U_(0xE)                                       /**< (SUPC_BOD12) Divide clock by 32768  */
+#define   SUPC_BOD12_PSEL_DIV65536_Val      _U_(0xF)                                       /**< (SUPC_BOD12) Divide clock by 65536  */
+#define SUPC_BOD12_PSEL_DIV2                (SUPC_BOD12_PSEL_DIV2_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 2 Position  */
+#define SUPC_BOD12_PSEL_DIV4                (SUPC_BOD12_PSEL_DIV4_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 4 Position  */
+#define SUPC_BOD12_PSEL_DIV8                (SUPC_BOD12_PSEL_DIV8_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 8 Position  */
+#define SUPC_BOD12_PSEL_DIV16               (SUPC_BOD12_PSEL_DIV16_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 16 Position  */
+#define SUPC_BOD12_PSEL_DIV32               (SUPC_BOD12_PSEL_DIV32_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 32 Position  */
+#define SUPC_BOD12_PSEL_DIV64               (SUPC_BOD12_PSEL_DIV64_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 64 Position  */
+#define SUPC_BOD12_PSEL_DIV128              (SUPC_BOD12_PSEL_DIV128_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 128 Position  */
+#define SUPC_BOD12_PSEL_DIV256              (SUPC_BOD12_PSEL_DIV256_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 256 Position  */
+#define SUPC_BOD12_PSEL_DIV512              (SUPC_BOD12_PSEL_DIV512_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 512 Position  */
+#define SUPC_BOD12_PSEL_DIV1024             (SUPC_BOD12_PSEL_DIV1024_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 1024 Position  */
+#define SUPC_BOD12_PSEL_DIV2048             (SUPC_BOD12_PSEL_DIV2048_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 2048 Position  */
+#define SUPC_BOD12_PSEL_DIV4096             (SUPC_BOD12_PSEL_DIV4096_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 4096 Position  */
+#define SUPC_BOD12_PSEL_DIV8192             (SUPC_BOD12_PSEL_DIV8192_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 8192 Position  */
+#define SUPC_BOD12_PSEL_DIV16384            (SUPC_BOD12_PSEL_DIV16384_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 16384 Position  */
+#define SUPC_BOD12_PSEL_DIV32768            (SUPC_BOD12_PSEL_DIV32768_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 32768 Position  */
+#define SUPC_BOD12_PSEL_DIV65536            (SUPC_BOD12_PSEL_DIV65536_Val << SUPC_BOD12_PSEL_Pos)  /**< (SUPC_BOD12) Divide clock by 65536 Position  */
+#define SUPC_BOD12_LEVEL_Pos                16                                             /**< (SUPC_BOD12) Threshold Level Position */
+#define SUPC_BOD12_LEVEL_Msk                (_U_(0x3F) << SUPC_BOD12_LEVEL_Pos)            /**< (SUPC_BOD12) Threshold Level Mask */
+#define SUPC_BOD12_LEVEL(value)             (SUPC_BOD12_LEVEL_Msk & ((value) << SUPC_BOD12_LEVEL_Pos))
+#define SUPC_BOD12_MASK                     _U_(0x3FF17E)                                  /**< \deprecated (SUPC_BOD12) Register MASK  (Use SUPC_BOD12_Msk instead)  */
+#define SUPC_BOD12_Msk                      _U_(0x3FF17E)                                  /**< (SUPC_BOD12) Register Mask  */
+
+
+/* -------- SUPC_VREG : (SUPC Offset: 0x18) (R/W 32) VREG Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t SEL:2;                     /**< bit:   2..3  Voltage Regulator Selection in active mode */
+    uint32_t :1;                        /**< bit:      4  Reserved */
+    uint32_t STDBYPL0:1;                /**< bit:      5  Standby in PL0                           */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run during Standby                       */
+    uint32_t :1;                        /**< bit:      7  Reserved */
+    uint32_t LPEFF:1;                   /**< bit:      8  Low Power efficiency                     */
+    uint32_t VREFSEL:1;                 /**< bit:      9  Voltage Regulator Voltage Reference Selection */
+    uint32_t :6;                        /**< bit: 10..15  Reserved */
+    uint32_t VSVSTEP:4;                 /**< bit: 16..19  Voltage Scaling Voltage Step             */
+    uint32_t :4;                        /**< bit: 20..23  Reserved */
+    uint32_t VSPER:8;                   /**< bit: 24..31  Voltage Scaling Period                   */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :5;                        /**< bit:   0..4  Reserved */
+    uint32_t STDBYPL:1;                 /**< bit:      5  Standby in PLx                           */
+    uint32_t :26;                       /**< bit:  6..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_VREG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_VREG_OFFSET                    (0x18)                                        /**<  (SUPC_VREG) VREG Control  Offset */
+#define SUPC_VREG_RESETVALUE                _U_(0x02)                                     /**<  (SUPC_VREG) VREG Control  Reset Value */
+
+#define SUPC_VREG_ENABLE_Pos                1                                              /**< (SUPC_VREG) Enable Position */
+#define SUPC_VREG_ENABLE_Msk                (_U_(0x1) << SUPC_VREG_ENABLE_Pos)             /**< (SUPC_VREG) Enable Mask */
+#define SUPC_VREG_ENABLE                    SUPC_VREG_ENABLE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_ENABLE_Msk instead */
+#define SUPC_VREG_SEL_Pos                   2                                              /**< (SUPC_VREG) Voltage Regulator Selection in active mode Position */
+#define SUPC_VREG_SEL_Msk                   (_U_(0x3) << SUPC_VREG_SEL_Pos)                /**< (SUPC_VREG) Voltage Regulator Selection in active mode Mask */
+#define SUPC_VREG_SEL(value)                (SUPC_VREG_SEL_Msk & ((value) << SUPC_VREG_SEL_Pos))
+#define   SUPC_VREG_SEL_LDO_Val             _U_(0x0)                                       /**< (SUPC_VREG) LDO selection  */
+#define   SUPC_VREG_SEL_BUCK_Val            _U_(0x1)                                       /**< (SUPC_VREG) Buck selection  */
+#define SUPC_VREG_SEL_LDO                   (SUPC_VREG_SEL_LDO_Val << SUPC_VREG_SEL_Pos)   /**< (SUPC_VREG) LDO selection Position  */
+#define SUPC_VREG_SEL_BUCK                  (SUPC_VREG_SEL_BUCK_Val << SUPC_VREG_SEL_Pos)  /**< (SUPC_VREG) Buck selection Position  */
+#define SUPC_VREG_STDBYPL0_Pos              5                                              /**< (SUPC_VREG) Standby in PL0 Position */
+#define SUPC_VREG_STDBYPL0_Msk              (_U_(0x1) << SUPC_VREG_STDBYPL0_Pos)           /**< (SUPC_VREG) Standby in PL0 Mask */
+#define SUPC_VREG_STDBYPL0                  SUPC_VREG_STDBYPL0_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_STDBYPL0_Msk instead */
+#define SUPC_VREG_RUNSTDBY_Pos              6                                              /**< (SUPC_VREG) Run during Standby Position */
+#define SUPC_VREG_RUNSTDBY_Msk              (_U_(0x1) << SUPC_VREG_RUNSTDBY_Pos)           /**< (SUPC_VREG) Run during Standby Mask */
+#define SUPC_VREG_RUNSTDBY                  SUPC_VREG_RUNSTDBY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_RUNSTDBY_Msk instead */
+#define SUPC_VREG_LPEFF_Pos                 8                                              /**< (SUPC_VREG) Low Power efficiency Position */
+#define SUPC_VREG_LPEFF_Msk                 (_U_(0x1) << SUPC_VREG_LPEFF_Pos)              /**< (SUPC_VREG) Low Power efficiency Mask */
+#define SUPC_VREG_LPEFF                     SUPC_VREG_LPEFF_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_LPEFF_Msk instead */
+#define SUPC_VREG_VREFSEL_Pos               9                                              /**< (SUPC_VREG) Voltage Regulator Voltage Reference Selection Position */
+#define SUPC_VREG_VREFSEL_Msk               (_U_(0x1) << SUPC_VREG_VREFSEL_Pos)            /**< (SUPC_VREG) Voltage Regulator Voltage Reference Selection Mask */
+#define SUPC_VREG_VREFSEL                   SUPC_VREG_VREFSEL_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_VREFSEL_Msk instead */
+#define SUPC_VREG_VSVSTEP_Pos               16                                             /**< (SUPC_VREG) Voltage Scaling Voltage Step Position */
+#define SUPC_VREG_VSVSTEP_Msk               (_U_(0xF) << SUPC_VREG_VSVSTEP_Pos)            /**< (SUPC_VREG) Voltage Scaling Voltage Step Mask */
+#define SUPC_VREG_VSVSTEP(value)            (SUPC_VREG_VSVSTEP_Msk & ((value) << SUPC_VREG_VSVSTEP_Pos))
+#define SUPC_VREG_VSPER_Pos                 24                                             /**< (SUPC_VREG) Voltage Scaling Period Position */
+#define SUPC_VREG_VSPER_Msk                 (_U_(0xFF) << SUPC_VREG_VSPER_Pos)             /**< (SUPC_VREG) Voltage Scaling Period Mask */
+#define SUPC_VREG_VSPER(value)              (SUPC_VREG_VSPER_Msk & ((value) << SUPC_VREG_VSPER_Pos))
+#define SUPC_VREG_MASK                      _U_(0xFF0F036E)                                /**< \deprecated (SUPC_VREG) Register MASK  (Use SUPC_VREG_Msk instead)  */
+#define SUPC_VREG_Msk                       _U_(0xFF0F036E)                                /**< (SUPC_VREG) Register Mask  */
+
+#define SUPC_VREG_STDBYPL_Pos               5                                              /**< (SUPC_VREG Position) Standby in PLx */
+#define SUPC_VREG_STDBYPL_Msk               (_U_(0x1) << SUPC_VREG_STDBYPL_Pos)            /**< (SUPC_VREG Mask) STDBYPL */
+#define SUPC_VREG_STDBYPL(value)            (SUPC_VREG_STDBYPL_Msk & ((value) << SUPC_VREG_STDBYPL_Pos))  
+
+/* -------- SUPC_VREF : (SUPC Offset: 0x1c) (R/W 32) VREF Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t TSEN:1;                    /**< bit:      1  Temperature Sensor Output Enable         */
+    uint32_t VREFOE:1;                  /**< bit:      2  Voltage Reference Output Enable          */
+    uint32_t TSSEL:1;                   /**< bit:      3  Temperature Sensor Selection             */
+    uint32_t :2;                        /**< bit:   4..5  Reserved */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run during Standby                       */
+    uint32_t ONDEMAND:1;                /**< bit:      7  On Demand Control                        */
+    uint32_t :8;                        /**< bit:  8..15  Reserved */
+    uint32_t SEL:4;                     /**< bit: 16..19  Voltage Reference Selection              */
+    uint32_t :12;                       /**< bit: 20..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_VREF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_VREF_OFFSET                    (0x1C)                                        /**<  (SUPC_VREF) VREF Control  Offset */
+#define SUPC_VREF_RESETVALUE                _U_(0x00)                                     /**<  (SUPC_VREF) VREF Control  Reset Value */
+
+#define SUPC_VREF_TSEN_Pos                  1                                              /**< (SUPC_VREF) Temperature Sensor Output Enable Position */
+#define SUPC_VREF_TSEN_Msk                  (_U_(0x1) << SUPC_VREF_TSEN_Pos)               /**< (SUPC_VREF) Temperature Sensor Output Enable Mask */
+#define SUPC_VREF_TSEN                      SUPC_VREF_TSEN_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_TSEN_Msk instead */
+#define SUPC_VREF_VREFOE_Pos                2                                              /**< (SUPC_VREF) Voltage Reference Output Enable Position */
+#define SUPC_VREF_VREFOE_Msk                (_U_(0x1) << SUPC_VREF_VREFOE_Pos)             /**< (SUPC_VREF) Voltage Reference Output Enable Mask */
+#define SUPC_VREF_VREFOE                    SUPC_VREF_VREFOE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_VREFOE_Msk instead */
+#define SUPC_VREF_TSSEL_Pos                 3                                              /**< (SUPC_VREF) Temperature Sensor Selection Position */
+#define SUPC_VREF_TSSEL_Msk                 (_U_(0x1) << SUPC_VREF_TSSEL_Pos)              /**< (SUPC_VREF) Temperature Sensor Selection Mask */
+#define SUPC_VREF_TSSEL                     SUPC_VREF_TSSEL_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_TSSEL_Msk instead */
+#define SUPC_VREF_RUNSTDBY_Pos              6                                              /**< (SUPC_VREF) Run during Standby Position */
+#define SUPC_VREF_RUNSTDBY_Msk              (_U_(0x1) << SUPC_VREF_RUNSTDBY_Pos)           /**< (SUPC_VREF) Run during Standby Mask */
+#define SUPC_VREF_RUNSTDBY                  SUPC_VREF_RUNSTDBY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_RUNSTDBY_Msk instead */
+#define SUPC_VREF_ONDEMAND_Pos              7                                              /**< (SUPC_VREF) On Demand Control Position */
+#define SUPC_VREF_ONDEMAND_Msk              (_U_(0x1) << SUPC_VREF_ONDEMAND_Pos)           /**< (SUPC_VREF) On Demand Control Mask */
+#define SUPC_VREF_ONDEMAND                  SUPC_VREF_ONDEMAND_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_ONDEMAND_Msk instead */
+#define SUPC_VREF_SEL_Pos                   16                                             /**< (SUPC_VREF) Voltage Reference Selection Position */
+#define SUPC_VREF_SEL_Msk                   (_U_(0xF) << SUPC_VREF_SEL_Pos)                /**< (SUPC_VREF) Voltage Reference Selection Mask */
+#define SUPC_VREF_SEL(value)                (SUPC_VREF_SEL_Msk & ((value) << SUPC_VREF_SEL_Pos))
+#define   SUPC_VREF_SEL_1V0_Val             _U_(0x0)                                       /**< (SUPC_VREF) 1.0V voltage reference typical value  */
+#define   SUPC_VREF_SEL_1V1_Val             _U_(0x1)                                       /**< (SUPC_VREF) 1.1V voltage reference typical value  */
+#define   SUPC_VREF_SEL_1V2_Val             _U_(0x2)                                       /**< (SUPC_VREF) 1.2V voltage reference typical value  */
+#define   SUPC_VREF_SEL_1V25_Val            _U_(0x3)                                       /**< (SUPC_VREF) 1.25V voltage reference typical value  */
+#define   SUPC_VREF_SEL_2V0_Val             _U_(0x4)                                       /**< (SUPC_VREF) 2.0V voltage reference typical value  */
+#define   SUPC_VREF_SEL_2V2_Val             _U_(0x5)                                       /**< (SUPC_VREF) 2.2V voltage reference typical value  */
+#define   SUPC_VREF_SEL_2V4_Val             _U_(0x6)                                       /**< (SUPC_VREF) 2.4V voltage reference typical value  */
+#define   SUPC_VREF_SEL_2V5_Val             _U_(0x7)                                       /**< (SUPC_VREF) 2.5V voltage reference typical value  */
+#define SUPC_VREF_SEL_1V0                   (SUPC_VREF_SEL_1V0_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 1.0V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_1V1                   (SUPC_VREF_SEL_1V1_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 1.1V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_1V2                   (SUPC_VREF_SEL_1V2_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 1.2V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_1V25                  (SUPC_VREF_SEL_1V25_Val << SUPC_VREF_SEL_Pos)  /**< (SUPC_VREF) 1.25V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_2V0                   (SUPC_VREF_SEL_2V0_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 2.0V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_2V2                   (SUPC_VREF_SEL_2V2_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 2.2V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_2V4                   (SUPC_VREF_SEL_2V4_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 2.4V voltage reference typical value Position  */
+#define SUPC_VREF_SEL_2V5                   (SUPC_VREF_SEL_2V5_Val << SUPC_VREF_SEL_Pos)   /**< (SUPC_VREF) 2.5V voltage reference typical value Position  */
+#define SUPC_VREF_MASK                      _U_(0xF00CE)                                   /**< \deprecated (SUPC_VREF) Register MASK  (Use SUPC_VREF_Msk instead)  */
+#define SUPC_VREF_Msk                       _U_(0xF00CE)                                   /**< (SUPC_VREF) Register Mask  */
+
+
+/* -------- SUPC_EVCTRL : (SUPC Offset: 0x2c) (R/W 32) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t BOD33DETEO:1;              /**< bit:      1  BOD33 Detection Event Output Enable      */
+    uint32_t :2;                        /**< bit:   2..3  Reserved */
+    uint32_t BOD12DETEO:1;              /**< bit:      4  BOD12 Detection Event Output Enable      */
+    uint32_t :27;                       /**< bit:  5..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_EVCTRL_OFFSET                  (0x2C)                                        /**<  (SUPC_EVCTRL) Event Control  Offset */
+#define SUPC_EVCTRL_RESETVALUE              _U_(0x00)                                     /**<  (SUPC_EVCTRL) Event Control  Reset Value */
+
+#define SUPC_EVCTRL_BOD33DETEO_Pos          1                                              /**< (SUPC_EVCTRL) BOD33 Detection Event Output Enable Position */
+#define SUPC_EVCTRL_BOD33DETEO_Msk          (_U_(0x1) << SUPC_EVCTRL_BOD33DETEO_Pos)       /**< (SUPC_EVCTRL) BOD33 Detection Event Output Enable Mask */
+#define SUPC_EVCTRL_BOD33DETEO              SUPC_EVCTRL_BOD33DETEO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_EVCTRL_BOD33DETEO_Msk instead */
+#define SUPC_EVCTRL_BOD12DETEO_Pos          4                                              /**< (SUPC_EVCTRL) BOD12 Detection Event Output Enable Position */
+#define SUPC_EVCTRL_BOD12DETEO_Msk          (_U_(0x1) << SUPC_EVCTRL_BOD12DETEO_Pos)       /**< (SUPC_EVCTRL) BOD12 Detection Event Output Enable Mask */
+#define SUPC_EVCTRL_BOD12DETEO              SUPC_EVCTRL_BOD12DETEO_Msk                     /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_EVCTRL_BOD12DETEO_Msk instead */
+#define SUPC_EVCTRL_MASK                    _U_(0x12)                                      /**< \deprecated (SUPC_EVCTRL) Register MASK  (Use SUPC_EVCTRL_Msk instead)  */
+#define SUPC_EVCTRL_Msk                     _U_(0x12)                                      /**< (SUPC_EVCTRL) Register Mask  */
+
+
+/* -------- SUPC_VREGSUSP : (SUPC Offset: 0x30) (R/W 32) VREG Suspend Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t VREGSEN:1;                 /**< bit:      0  Enable Voltage Regulator Suspend         */
+    uint32_t :31;                       /**< bit:  1..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} SUPC_VREGSUSP_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define SUPC_VREGSUSP_OFFSET                (0x30)                                        /**<  (SUPC_VREGSUSP) VREG Suspend Control  Offset */
+#define SUPC_VREGSUSP_RESETVALUE            _U_(0x00)                                     /**<  (SUPC_VREGSUSP) VREG Suspend Control  Reset Value */
+
+#define SUPC_VREGSUSP_VREGSEN_Pos           0                                              /**< (SUPC_VREGSUSP) Enable Voltage Regulator Suspend Position */
+#define SUPC_VREGSUSP_VREGSEN_Msk           (_U_(0x1) << SUPC_VREGSUSP_VREGSEN_Pos)        /**< (SUPC_VREGSUSP) Enable Voltage Regulator Suspend Mask */
+#define SUPC_VREGSUSP_VREGSEN               SUPC_VREGSUSP_VREGSEN_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREGSUSP_VREGSEN_Msk instead */
+#define SUPC_VREGSUSP_MASK                  _U_(0x01)                                      /**< \deprecated (SUPC_VREGSUSP) Register MASK  (Use SUPC_VREGSUSP_Msk instead)  */
+#define SUPC_VREGSUSP_Msk                   _U_(0x01)                                      /**< (SUPC_VREGSUSP) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief SUPC hardware registers */
+typedef struct {  /* Supply Controller */
+  __IO SUPC_INTENCLR_Type             INTENCLR;       /**< Offset: 0x00 (R/W  32) Interrupt Enable Clear */
+  __IO SUPC_INTENSET_Type             INTENSET;       /**< Offset: 0x04 (R/W  32) Interrupt Enable Set */
+  __IO SUPC_INTFLAG_Type              INTFLAG;        /**< Offset: 0x08 (R/W  32) Interrupt Flag Status and Clear */
+  __I  SUPC_STATUS_Type               STATUS;         /**< Offset: 0x0C (R/   32) Power and Clocks Status */
+  __IO SUPC_BOD33_Type                BOD33;          /**< Offset: 0x10 (R/W  32) BOD33 Control */
+  __IO SUPC_BOD12_Type                BOD12;          /**< Offset: 0x14 (R/W  32) BOD12 Control */
+  __IO SUPC_VREG_Type                 VREG;           /**< Offset: 0x18 (R/W  32) VREG Control */
+  __IO SUPC_VREF_Type                 VREF;           /**< Offset: 0x1C (R/W  32) VREF Control */
+  __I  uint8_t                        Reserved1[12];
+  __IO SUPC_EVCTRL_Type               EVCTRL;         /**< Offset: 0x2C (R/W  32) Event Control */
+  __IO SUPC_VREGSUSP_Type             VREGSUSP;       /**< Offset: 0x30 (R/W  32) VREG Suspend Control */
+} Supc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Supply Controller */
+
+#endif /* _SAML11_SUPC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/tc.h b/cpu/sam0_common/include/vendor/saml11/include/component/tc.h
new file mode 100644
index 0000000000..f5cb613c1c
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/tc.h
@@ -0,0 +1,1027 @@
+/**
+ * \file
+ *
+ * \brief Component description for TC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_TC_COMPONENT_H_
+#define _SAML11_TC_COMPONENT_H_
+#define _SAML11_TC_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Basic Timer Counter
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR TC */
+/* ========================================================================== */
+
+#define TC_U2249                      /**< (TC) Module ID */
+#define REV_TC 0x310                  /**< (TC) Module revision */
+
+/* -------- TC_CTRLA : (TC Offset: 0x00) (R/W 32) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint32_t MODE:2;                    /**< bit:   2..3  Timer Counter Mode                       */
+    uint32_t PRESCSYNC:2;               /**< bit:   4..5  Prescaler and Counter Synchronization    */
+    uint32_t RUNSTDBY:1;                /**< bit:      6  Run during Standby                       */
+    uint32_t ONDEMAND:1;                /**< bit:      7  Clock On Demand                          */
+    uint32_t PRESCALER:3;               /**< bit:  8..10  Prescaler                                */
+    uint32_t ALOCK:1;                   /**< bit:     11  Auto Lock                                */
+    uint32_t :4;                        /**< bit: 12..15  Reserved */
+    uint32_t CAPTEN0:1;                 /**< bit:     16  Capture Channel 0 Enable                 */
+    uint32_t CAPTEN1:1;                 /**< bit:     17  Capture Channel 1 Enable                 */
+    uint32_t :2;                        /**< bit: 18..19  Reserved */
+    uint32_t COPEN0:1;                  /**< bit:     20  Capture On Pin 0 Enable                  */
+    uint32_t COPEN1:1;                  /**< bit:     21  Capture On Pin 1 Enable                  */
+    uint32_t :2;                        /**< bit: 22..23  Reserved */
+    uint32_t CAPTMODE0:2;               /**< bit: 24..25  Capture Mode Channel 0                   */
+    uint32_t :1;                        /**< bit:     26  Reserved */
+    uint32_t CAPTMODE1:2;               /**< bit: 27..28  Capture mode Channel 1                   */
+    uint32_t :3;                        /**< bit: 29..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :16;                       /**< bit:  0..15  Reserved */
+    uint32_t CAPTEN:2;                  /**< bit: 16..17  Capture Channel x Enable                 */
+    uint32_t :2;                        /**< bit: 18..19  Reserved */
+    uint32_t COPEN:2;                   /**< bit: 20..21  Capture On Pin x Enable                  */
+    uint32_t :10;                       /**< bit: 22..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_CTRLA_OFFSET                     (0x00)                                        /**<  (TC_CTRLA) Control A  Offset */
+#define TC_CTRLA_RESETVALUE                 _U_(0x00)                                     /**<  (TC_CTRLA) Control A  Reset Value */
+
+#define TC_CTRLA_SWRST_Pos                  0                                              /**< (TC_CTRLA) Software Reset Position */
+#define TC_CTRLA_SWRST_Msk                  (_U_(0x1) << TC_CTRLA_SWRST_Pos)               /**< (TC_CTRLA) Software Reset Mask */
+#define TC_CTRLA_SWRST                      TC_CTRLA_SWRST_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_SWRST_Msk instead */
+#define TC_CTRLA_ENABLE_Pos                 1                                              /**< (TC_CTRLA) Enable Position */
+#define TC_CTRLA_ENABLE_Msk                 (_U_(0x1) << TC_CTRLA_ENABLE_Pos)              /**< (TC_CTRLA) Enable Mask */
+#define TC_CTRLA_ENABLE                     TC_CTRLA_ENABLE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_ENABLE_Msk instead */
+#define TC_CTRLA_MODE_Pos                   2                                              /**< (TC_CTRLA) Timer Counter Mode Position */
+#define TC_CTRLA_MODE_Msk                   (_U_(0x3) << TC_CTRLA_MODE_Pos)                /**< (TC_CTRLA) Timer Counter Mode Mask */
+#define TC_CTRLA_MODE(value)                (TC_CTRLA_MODE_Msk & ((value) << TC_CTRLA_MODE_Pos))
+#define   TC_CTRLA_MODE_COUNT16_Val         _U_(0x0)                                       /**< (TC_CTRLA) Counter in 16-bit mode  */
+#define   TC_CTRLA_MODE_COUNT8_Val          _U_(0x1)                                       /**< (TC_CTRLA) Counter in 8-bit mode  */
+#define   TC_CTRLA_MODE_COUNT32_Val         _U_(0x2)                                       /**< (TC_CTRLA) Counter in 32-bit mode  */
+#define TC_CTRLA_MODE_COUNT16               (TC_CTRLA_MODE_COUNT16_Val << TC_CTRLA_MODE_Pos)  /**< (TC_CTRLA) Counter in 16-bit mode Position  */
+#define TC_CTRLA_MODE_COUNT8                (TC_CTRLA_MODE_COUNT8_Val << TC_CTRLA_MODE_Pos)  /**< (TC_CTRLA) Counter in 8-bit mode Position  */
+#define TC_CTRLA_MODE_COUNT32               (TC_CTRLA_MODE_COUNT32_Val << TC_CTRLA_MODE_Pos)  /**< (TC_CTRLA) Counter in 32-bit mode Position  */
+#define TC_CTRLA_PRESCSYNC_Pos              4                                              /**< (TC_CTRLA) Prescaler and Counter Synchronization Position */
+#define TC_CTRLA_PRESCSYNC_Msk              (_U_(0x3) << TC_CTRLA_PRESCSYNC_Pos)           /**< (TC_CTRLA) Prescaler and Counter Synchronization Mask */
+#define TC_CTRLA_PRESCSYNC(value)           (TC_CTRLA_PRESCSYNC_Msk & ((value) << TC_CTRLA_PRESCSYNC_Pos))
+#define   TC_CTRLA_PRESCSYNC_GCLK_Val       _U_(0x0)                                       /**< (TC_CTRLA) Reload or reset the counter on next generic clock  */
+#define   TC_CTRLA_PRESCSYNC_PRESC_Val      _U_(0x1)                                       /**< (TC_CTRLA) Reload or reset the counter on next prescaler clock  */
+#define   TC_CTRLA_PRESCSYNC_RESYNC_Val     _U_(0x2)                                       /**< (TC_CTRLA) Reload or reset the counter on next generic clock and reset the prescaler counter  */
+#define TC_CTRLA_PRESCSYNC_GCLK             (TC_CTRLA_PRESCSYNC_GCLK_Val << TC_CTRLA_PRESCSYNC_Pos)  /**< (TC_CTRLA) Reload or reset the counter on next generic clock Position  */
+#define TC_CTRLA_PRESCSYNC_PRESC            (TC_CTRLA_PRESCSYNC_PRESC_Val << TC_CTRLA_PRESCSYNC_Pos)  /**< (TC_CTRLA) Reload or reset the counter on next prescaler clock Position  */
+#define TC_CTRLA_PRESCSYNC_RESYNC           (TC_CTRLA_PRESCSYNC_RESYNC_Val << TC_CTRLA_PRESCSYNC_Pos)  /**< (TC_CTRLA) Reload or reset the counter on next generic clock and reset the prescaler counter Position  */
+#define TC_CTRLA_RUNSTDBY_Pos               6                                              /**< (TC_CTRLA) Run during Standby Position */
+#define TC_CTRLA_RUNSTDBY_Msk               (_U_(0x1) << TC_CTRLA_RUNSTDBY_Pos)            /**< (TC_CTRLA) Run during Standby Mask */
+#define TC_CTRLA_RUNSTDBY                   TC_CTRLA_RUNSTDBY_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_RUNSTDBY_Msk instead */
+#define TC_CTRLA_ONDEMAND_Pos               7                                              /**< (TC_CTRLA) Clock On Demand Position */
+#define TC_CTRLA_ONDEMAND_Msk               (_U_(0x1) << TC_CTRLA_ONDEMAND_Pos)            /**< (TC_CTRLA) Clock On Demand Mask */
+#define TC_CTRLA_ONDEMAND                   TC_CTRLA_ONDEMAND_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_ONDEMAND_Msk instead */
+#define TC_CTRLA_PRESCALER_Pos              8                                              /**< (TC_CTRLA) Prescaler Position */
+#define TC_CTRLA_PRESCALER_Msk              (_U_(0x7) << TC_CTRLA_PRESCALER_Pos)           /**< (TC_CTRLA) Prescaler Mask */
+#define TC_CTRLA_PRESCALER(value)           (TC_CTRLA_PRESCALER_Msk & ((value) << TC_CTRLA_PRESCALER_Pos))
+#define   TC_CTRLA_PRESCALER_DIV1_Val       _U_(0x0)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC  */
+#define   TC_CTRLA_PRESCALER_DIV2_Val       _U_(0x1)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/2  */
+#define   TC_CTRLA_PRESCALER_DIV4_Val       _U_(0x2)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/4  */
+#define   TC_CTRLA_PRESCALER_DIV8_Val       _U_(0x3)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/8  */
+#define   TC_CTRLA_PRESCALER_DIV16_Val      _U_(0x4)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/16  */
+#define   TC_CTRLA_PRESCALER_DIV64_Val      _U_(0x5)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/64  */
+#define   TC_CTRLA_PRESCALER_DIV256_Val     _U_(0x6)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/256  */
+#define   TC_CTRLA_PRESCALER_DIV1024_Val    _U_(0x7)                                       /**< (TC_CTRLA) Prescaler: GCLK_TC/1024  */
+#define TC_CTRLA_PRESCALER_DIV1             (TC_CTRLA_PRESCALER_DIV1_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC Position  */
+#define TC_CTRLA_PRESCALER_DIV2             (TC_CTRLA_PRESCALER_DIV2_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/2 Position  */
+#define TC_CTRLA_PRESCALER_DIV4             (TC_CTRLA_PRESCALER_DIV4_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/4 Position  */
+#define TC_CTRLA_PRESCALER_DIV8             (TC_CTRLA_PRESCALER_DIV8_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/8 Position  */
+#define TC_CTRLA_PRESCALER_DIV16            (TC_CTRLA_PRESCALER_DIV16_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/16 Position  */
+#define TC_CTRLA_PRESCALER_DIV64            (TC_CTRLA_PRESCALER_DIV64_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/64 Position  */
+#define TC_CTRLA_PRESCALER_DIV256           (TC_CTRLA_PRESCALER_DIV256_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/256 Position  */
+#define TC_CTRLA_PRESCALER_DIV1024          (TC_CTRLA_PRESCALER_DIV1024_Val << TC_CTRLA_PRESCALER_Pos)  /**< (TC_CTRLA) Prescaler: GCLK_TC/1024 Position  */
+#define TC_CTRLA_ALOCK_Pos                  11                                             /**< (TC_CTRLA) Auto Lock Position */
+#define TC_CTRLA_ALOCK_Msk                  (_U_(0x1) << TC_CTRLA_ALOCK_Pos)               /**< (TC_CTRLA) Auto Lock Mask */
+#define TC_CTRLA_ALOCK                      TC_CTRLA_ALOCK_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_ALOCK_Msk instead */
+#define TC_CTRLA_CAPTEN0_Pos                16                                             /**< (TC_CTRLA) Capture Channel 0 Enable Position */
+#define TC_CTRLA_CAPTEN0_Msk                (_U_(0x1) << TC_CTRLA_CAPTEN0_Pos)             /**< (TC_CTRLA) Capture Channel 0 Enable Mask */
+#define TC_CTRLA_CAPTEN0                    TC_CTRLA_CAPTEN0_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_CAPTEN0_Msk instead */
+#define TC_CTRLA_CAPTEN1_Pos                17                                             /**< (TC_CTRLA) Capture Channel 1 Enable Position */
+#define TC_CTRLA_CAPTEN1_Msk                (_U_(0x1) << TC_CTRLA_CAPTEN1_Pos)             /**< (TC_CTRLA) Capture Channel 1 Enable Mask */
+#define TC_CTRLA_CAPTEN1                    TC_CTRLA_CAPTEN1_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_CAPTEN1_Msk instead */
+#define TC_CTRLA_COPEN0_Pos                 20                                             /**< (TC_CTRLA) Capture On Pin 0 Enable Position */
+#define TC_CTRLA_COPEN0_Msk                 (_U_(0x1) << TC_CTRLA_COPEN0_Pos)              /**< (TC_CTRLA) Capture On Pin 0 Enable Mask */
+#define TC_CTRLA_COPEN0                     TC_CTRLA_COPEN0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_COPEN0_Msk instead */
+#define TC_CTRLA_COPEN1_Pos                 21                                             /**< (TC_CTRLA) Capture On Pin 1 Enable Position */
+#define TC_CTRLA_COPEN1_Msk                 (_U_(0x1) << TC_CTRLA_COPEN1_Pos)              /**< (TC_CTRLA) Capture On Pin 1 Enable Mask */
+#define TC_CTRLA_COPEN1                     TC_CTRLA_COPEN1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLA_COPEN1_Msk instead */
+#define TC_CTRLA_CAPTMODE0_Pos              24                                             /**< (TC_CTRLA) Capture Mode Channel 0 Position */
+#define TC_CTRLA_CAPTMODE0_Msk              (_U_(0x3) << TC_CTRLA_CAPTMODE0_Pos)           /**< (TC_CTRLA) Capture Mode Channel 0 Mask */
+#define TC_CTRLA_CAPTMODE0(value)           (TC_CTRLA_CAPTMODE0_Msk & ((value) << TC_CTRLA_CAPTMODE0_Pos))
+#define   TC_CTRLA_CAPTMODE0_DEFAULT_Val    _U_(0x0)                                       /**< (TC_CTRLA) Default capture  */
+#define   TC_CTRLA_CAPTMODE0_CAPTMIN_Val    _U_(0x1)                                       /**< (TC_CTRLA) Minimum capture  */
+#define   TC_CTRLA_CAPTMODE0_CAPTMAX_Val    _U_(0x2)                                       /**< (TC_CTRLA) Maximum capture  */
+#define TC_CTRLA_CAPTMODE0_DEFAULT          (TC_CTRLA_CAPTMODE0_DEFAULT_Val << TC_CTRLA_CAPTMODE0_Pos)  /**< (TC_CTRLA) Default capture Position  */
+#define TC_CTRLA_CAPTMODE0_CAPTMIN          (TC_CTRLA_CAPTMODE0_CAPTMIN_Val << TC_CTRLA_CAPTMODE0_Pos)  /**< (TC_CTRLA) Minimum capture Position  */
+#define TC_CTRLA_CAPTMODE0_CAPTMAX          (TC_CTRLA_CAPTMODE0_CAPTMAX_Val << TC_CTRLA_CAPTMODE0_Pos)  /**< (TC_CTRLA) Maximum capture Position  */
+#define TC_CTRLA_CAPTMODE1_Pos              27                                             /**< (TC_CTRLA) Capture mode Channel 1 Position */
+#define TC_CTRLA_CAPTMODE1_Msk              (_U_(0x3) << TC_CTRLA_CAPTMODE1_Pos)           /**< (TC_CTRLA) Capture mode Channel 1 Mask */
+#define TC_CTRLA_CAPTMODE1(value)           (TC_CTRLA_CAPTMODE1_Msk & ((value) << TC_CTRLA_CAPTMODE1_Pos))
+#define   TC_CTRLA_CAPTMODE1_DEFAULT_Val    _U_(0x0)                                       /**< (TC_CTRLA) Default capture  */
+#define   TC_CTRLA_CAPTMODE1_CAPTMIN_Val    _U_(0x1)                                       /**< (TC_CTRLA) Minimum capture  */
+#define   TC_CTRLA_CAPTMODE1_CAPTMAX_Val    _U_(0x2)                                       /**< (TC_CTRLA) Maximum capture  */
+#define TC_CTRLA_CAPTMODE1_DEFAULT          (TC_CTRLA_CAPTMODE1_DEFAULT_Val << TC_CTRLA_CAPTMODE1_Pos)  /**< (TC_CTRLA) Default capture Position  */
+#define TC_CTRLA_CAPTMODE1_CAPTMIN          (TC_CTRLA_CAPTMODE1_CAPTMIN_Val << TC_CTRLA_CAPTMODE1_Pos)  /**< (TC_CTRLA) Minimum capture Position  */
+#define TC_CTRLA_CAPTMODE1_CAPTMAX          (TC_CTRLA_CAPTMODE1_CAPTMAX_Val << TC_CTRLA_CAPTMODE1_Pos)  /**< (TC_CTRLA) Maximum capture Position  */
+#define TC_CTRLA_MASK                       _U_(0x1B330FFF)                                /**< \deprecated (TC_CTRLA) Register MASK  (Use TC_CTRLA_Msk instead)  */
+#define TC_CTRLA_Msk                        _U_(0x1B330FFF)                                /**< (TC_CTRLA) Register Mask  */
+
+#define TC_CTRLA_CAPTEN_Pos                 16                                             /**< (TC_CTRLA Position) Capture Channel x Enable */
+#define TC_CTRLA_CAPTEN_Msk                 (_U_(0x3) << TC_CTRLA_CAPTEN_Pos)              /**< (TC_CTRLA Mask) CAPTEN */
+#define TC_CTRLA_CAPTEN(value)              (TC_CTRLA_CAPTEN_Msk & ((value) << TC_CTRLA_CAPTEN_Pos))  
+#define TC_CTRLA_COPEN_Pos                  20                                             /**< (TC_CTRLA Position) Capture On Pin x Enable */
+#define TC_CTRLA_COPEN_Msk                  (_U_(0x3) << TC_CTRLA_COPEN_Pos)               /**< (TC_CTRLA Mask) COPEN */
+#define TC_CTRLA_COPEN(value)               (TC_CTRLA_COPEN_Msk & ((value) << TC_CTRLA_COPEN_Pos))  
+
+/* -------- TC_CTRLBCLR : (TC Offset: 0x04) (R/W 8) Control B Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DIR:1;                     /**< bit:      0  Counter Direction                        */
+    uint8_t  LUPD:1;                    /**< bit:      1  Lock Update                              */
+    uint8_t  ONESHOT:1;                 /**< bit:      2  One-Shot on Counter                      */
+    uint8_t  :2;                        /**< bit:   3..4  Reserved */
+    uint8_t  CMD:3;                     /**< bit:   5..7  Command                                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_CTRLBCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_CTRLBCLR_OFFSET                  (0x04)                                        /**<  (TC_CTRLBCLR) Control B Clear  Offset */
+#define TC_CTRLBCLR_RESETVALUE              _U_(0x00)                                     /**<  (TC_CTRLBCLR) Control B Clear  Reset Value */
+
+#define TC_CTRLBCLR_DIR_Pos                 0                                              /**< (TC_CTRLBCLR) Counter Direction Position */
+#define TC_CTRLBCLR_DIR_Msk                 (_U_(0x1) << TC_CTRLBCLR_DIR_Pos)              /**< (TC_CTRLBCLR) Counter Direction Mask */
+#define TC_CTRLBCLR_DIR                     TC_CTRLBCLR_DIR_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBCLR_DIR_Msk instead */
+#define TC_CTRLBCLR_LUPD_Pos                1                                              /**< (TC_CTRLBCLR) Lock Update Position */
+#define TC_CTRLBCLR_LUPD_Msk                (_U_(0x1) << TC_CTRLBCLR_LUPD_Pos)             /**< (TC_CTRLBCLR) Lock Update Mask */
+#define TC_CTRLBCLR_LUPD                    TC_CTRLBCLR_LUPD_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBCLR_LUPD_Msk instead */
+#define TC_CTRLBCLR_ONESHOT_Pos             2                                              /**< (TC_CTRLBCLR) One-Shot on Counter Position */
+#define TC_CTRLBCLR_ONESHOT_Msk             (_U_(0x1) << TC_CTRLBCLR_ONESHOT_Pos)          /**< (TC_CTRLBCLR) One-Shot on Counter Mask */
+#define TC_CTRLBCLR_ONESHOT                 TC_CTRLBCLR_ONESHOT_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBCLR_ONESHOT_Msk instead */
+#define TC_CTRLBCLR_CMD_Pos                 5                                              /**< (TC_CTRLBCLR) Command Position */
+#define TC_CTRLBCLR_CMD_Msk                 (_U_(0x7) << TC_CTRLBCLR_CMD_Pos)              /**< (TC_CTRLBCLR) Command Mask */
+#define TC_CTRLBCLR_CMD(value)              (TC_CTRLBCLR_CMD_Msk & ((value) << TC_CTRLBCLR_CMD_Pos))
+#define   TC_CTRLBCLR_CMD_NONE_Val          _U_(0x0)                                       /**< (TC_CTRLBCLR) No action  */
+#define   TC_CTRLBCLR_CMD_RETRIGGER_Val     _U_(0x1)                                       /**< (TC_CTRLBCLR) Force a start, restart or retrigger  */
+#define   TC_CTRLBCLR_CMD_STOP_Val          _U_(0x2)                                       /**< (TC_CTRLBCLR) Force a stop  */
+#define   TC_CTRLBCLR_CMD_UPDATE_Val        _U_(0x3)                                       /**< (TC_CTRLBCLR) Force update of double-buffered register  */
+#define   TC_CTRLBCLR_CMD_READSYNC_Val      _U_(0x4)                                       /**< (TC_CTRLBCLR) Force a read synchronization of COUNT  */
+#define   TC_CTRLBCLR_CMD_DMAOS_Val         _U_(0x5)                                       /**< (TC_CTRLBCLR) One-shot DMA trigger  */
+#define TC_CTRLBCLR_CMD_NONE                (TC_CTRLBCLR_CMD_NONE_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) No action Position  */
+#define TC_CTRLBCLR_CMD_RETRIGGER           (TC_CTRLBCLR_CMD_RETRIGGER_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) Force a start, restart or retrigger Position  */
+#define TC_CTRLBCLR_CMD_STOP                (TC_CTRLBCLR_CMD_STOP_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) Force a stop Position  */
+#define TC_CTRLBCLR_CMD_UPDATE              (TC_CTRLBCLR_CMD_UPDATE_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) Force update of double-buffered register Position  */
+#define TC_CTRLBCLR_CMD_READSYNC            (TC_CTRLBCLR_CMD_READSYNC_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) Force a read synchronization of COUNT Position  */
+#define TC_CTRLBCLR_CMD_DMAOS               (TC_CTRLBCLR_CMD_DMAOS_Val << TC_CTRLBCLR_CMD_Pos)  /**< (TC_CTRLBCLR) One-shot DMA trigger Position  */
+#define TC_CTRLBCLR_MASK                    _U_(0xE7)                                      /**< \deprecated (TC_CTRLBCLR) Register MASK  (Use TC_CTRLBCLR_Msk instead)  */
+#define TC_CTRLBCLR_Msk                     _U_(0xE7)                                      /**< (TC_CTRLBCLR) Register Mask  */
+
+
+/* -------- TC_CTRLBSET : (TC Offset: 0x05) (R/W 8) Control B Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DIR:1;                     /**< bit:      0  Counter Direction                        */
+    uint8_t  LUPD:1;                    /**< bit:      1  Lock Update                              */
+    uint8_t  ONESHOT:1;                 /**< bit:      2  One-Shot on Counter                      */
+    uint8_t  :2;                        /**< bit:   3..4  Reserved */
+    uint8_t  CMD:3;                     /**< bit:   5..7  Command                                  */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_CTRLBSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_CTRLBSET_OFFSET                  (0x05)                                        /**<  (TC_CTRLBSET) Control B Set  Offset */
+#define TC_CTRLBSET_RESETVALUE              _U_(0x00)                                     /**<  (TC_CTRLBSET) Control B Set  Reset Value */
+
+#define TC_CTRLBSET_DIR_Pos                 0                                              /**< (TC_CTRLBSET) Counter Direction Position */
+#define TC_CTRLBSET_DIR_Msk                 (_U_(0x1) << TC_CTRLBSET_DIR_Pos)              /**< (TC_CTRLBSET) Counter Direction Mask */
+#define TC_CTRLBSET_DIR                     TC_CTRLBSET_DIR_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBSET_DIR_Msk instead */
+#define TC_CTRLBSET_LUPD_Pos                1                                              /**< (TC_CTRLBSET) Lock Update Position */
+#define TC_CTRLBSET_LUPD_Msk                (_U_(0x1) << TC_CTRLBSET_LUPD_Pos)             /**< (TC_CTRLBSET) Lock Update Mask */
+#define TC_CTRLBSET_LUPD                    TC_CTRLBSET_LUPD_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBSET_LUPD_Msk instead */
+#define TC_CTRLBSET_ONESHOT_Pos             2                                              /**< (TC_CTRLBSET) One-Shot on Counter Position */
+#define TC_CTRLBSET_ONESHOT_Msk             (_U_(0x1) << TC_CTRLBSET_ONESHOT_Pos)          /**< (TC_CTRLBSET) One-Shot on Counter Mask */
+#define TC_CTRLBSET_ONESHOT                 TC_CTRLBSET_ONESHOT_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_CTRLBSET_ONESHOT_Msk instead */
+#define TC_CTRLBSET_CMD_Pos                 5                                              /**< (TC_CTRLBSET) Command Position */
+#define TC_CTRLBSET_CMD_Msk                 (_U_(0x7) << TC_CTRLBSET_CMD_Pos)              /**< (TC_CTRLBSET) Command Mask */
+#define TC_CTRLBSET_CMD(value)              (TC_CTRLBSET_CMD_Msk & ((value) << TC_CTRLBSET_CMD_Pos))
+#define   TC_CTRLBSET_CMD_NONE_Val          _U_(0x0)                                       /**< (TC_CTRLBSET) No action  */
+#define   TC_CTRLBSET_CMD_RETRIGGER_Val     _U_(0x1)                                       /**< (TC_CTRLBSET) Force a start, restart or retrigger  */
+#define   TC_CTRLBSET_CMD_STOP_Val          _U_(0x2)                                       /**< (TC_CTRLBSET) Force a stop  */
+#define   TC_CTRLBSET_CMD_UPDATE_Val        _U_(0x3)                                       /**< (TC_CTRLBSET) Force update of double-buffered register  */
+#define   TC_CTRLBSET_CMD_READSYNC_Val      _U_(0x4)                                       /**< (TC_CTRLBSET) Force a read synchronization of COUNT  */
+#define   TC_CTRLBSET_CMD_DMAOS_Val         _U_(0x5)                                       /**< (TC_CTRLBSET) One-shot DMA trigger  */
+#define TC_CTRLBSET_CMD_NONE                (TC_CTRLBSET_CMD_NONE_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) No action Position  */
+#define TC_CTRLBSET_CMD_RETRIGGER           (TC_CTRLBSET_CMD_RETRIGGER_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) Force a start, restart or retrigger Position  */
+#define TC_CTRLBSET_CMD_STOP                (TC_CTRLBSET_CMD_STOP_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) Force a stop Position  */
+#define TC_CTRLBSET_CMD_UPDATE              (TC_CTRLBSET_CMD_UPDATE_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) Force update of double-buffered register Position  */
+#define TC_CTRLBSET_CMD_READSYNC            (TC_CTRLBSET_CMD_READSYNC_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) Force a read synchronization of COUNT Position  */
+#define TC_CTRLBSET_CMD_DMAOS               (TC_CTRLBSET_CMD_DMAOS_Val << TC_CTRLBSET_CMD_Pos)  /**< (TC_CTRLBSET) One-shot DMA trigger Position  */
+#define TC_CTRLBSET_MASK                    _U_(0xE7)                                      /**< \deprecated (TC_CTRLBSET) Register MASK  (Use TC_CTRLBSET_Msk instead)  */
+#define TC_CTRLBSET_Msk                     _U_(0xE7)                                      /**< (TC_CTRLBSET) Register Mask  */
+
+
+/* -------- TC_EVCTRL : (TC Offset: 0x06) (R/W 16) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t EVACT:3;                   /**< bit:   0..2  Event Action                             */
+    uint16_t :1;                        /**< bit:      3  Reserved */
+    uint16_t TCINV:1;                   /**< bit:      4  TC Event Input Polarity                  */
+    uint16_t TCEI:1;                    /**< bit:      5  TC Event Enable                          */
+    uint16_t :2;                        /**< bit:   6..7  Reserved */
+    uint16_t OVFEO:1;                   /**< bit:      8  Event Output Enable                      */
+    uint16_t :3;                        /**< bit:  9..11  Reserved */
+    uint16_t MCEO0:1;                   /**< bit:     12  MC Event Output Enable 0                 */
+    uint16_t MCEO1:1;                   /**< bit:     13  MC Event Output Enable 1                 */
+    uint16_t :2;                        /**< bit: 14..15  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint16_t :12;                       /**< bit:  0..11  Reserved */
+    uint16_t MCEO:2;                    /**< bit: 12..13  MC Event Output Enable x                 */
+    uint16_t :2;                        /**< bit: 14..15 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_EVCTRL_OFFSET                    (0x06)                                        /**<  (TC_EVCTRL) Event Control  Offset */
+#define TC_EVCTRL_RESETVALUE                _U_(0x00)                                     /**<  (TC_EVCTRL) Event Control  Reset Value */
+
+#define TC_EVCTRL_EVACT_Pos                 0                                              /**< (TC_EVCTRL) Event Action Position */
+#define TC_EVCTRL_EVACT_Msk                 (_U_(0x7) << TC_EVCTRL_EVACT_Pos)              /**< (TC_EVCTRL) Event Action Mask */
+#define TC_EVCTRL_EVACT(value)              (TC_EVCTRL_EVACT_Msk & ((value) << TC_EVCTRL_EVACT_Pos))
+#define   TC_EVCTRL_EVACT_OFF_Val           _U_(0x0)                                       /**< (TC_EVCTRL) Event action disabled  */
+#define   TC_EVCTRL_EVACT_RETRIGGER_Val     _U_(0x1)                                       /**< (TC_EVCTRL) Start, restart or retrigger TC on event  */
+#define   TC_EVCTRL_EVACT_COUNT_Val         _U_(0x2)                                       /**< (TC_EVCTRL) Count on event  */
+#define   TC_EVCTRL_EVACT_START_Val         _U_(0x3)                                       /**< (TC_EVCTRL) Start TC on event  */
+#define   TC_EVCTRL_EVACT_STAMP_Val         _U_(0x4)                                       /**< (TC_EVCTRL) Time stamp capture  */
+#define   TC_EVCTRL_EVACT_PPW_Val           _U_(0x5)                                       /**< (TC_EVCTRL) Period catured in CC0, pulse width in CC1  */
+#define   TC_EVCTRL_EVACT_PWP_Val           _U_(0x6)                                       /**< (TC_EVCTRL) Period catured in CC1, pulse width in CC0  */
+#define   TC_EVCTRL_EVACT_PW_Val            _U_(0x7)                                       /**< (TC_EVCTRL) Pulse width capture  */
+#define TC_EVCTRL_EVACT_OFF                 (TC_EVCTRL_EVACT_OFF_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Event action disabled Position  */
+#define TC_EVCTRL_EVACT_RETRIGGER           (TC_EVCTRL_EVACT_RETRIGGER_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Start, restart or retrigger TC on event Position  */
+#define TC_EVCTRL_EVACT_COUNT               (TC_EVCTRL_EVACT_COUNT_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Count on event Position  */
+#define TC_EVCTRL_EVACT_START               (TC_EVCTRL_EVACT_START_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Start TC on event Position  */
+#define TC_EVCTRL_EVACT_STAMP               (TC_EVCTRL_EVACT_STAMP_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Time stamp capture Position  */
+#define TC_EVCTRL_EVACT_PPW                 (TC_EVCTRL_EVACT_PPW_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Period catured in CC0, pulse width in CC1 Position  */
+#define TC_EVCTRL_EVACT_PWP                 (TC_EVCTRL_EVACT_PWP_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Period catured in CC1, pulse width in CC0 Position  */
+#define TC_EVCTRL_EVACT_PW                  (TC_EVCTRL_EVACT_PW_Val << TC_EVCTRL_EVACT_Pos)  /**< (TC_EVCTRL) Pulse width capture Position  */
+#define TC_EVCTRL_TCINV_Pos                 4                                              /**< (TC_EVCTRL) TC Event Input Polarity Position */
+#define TC_EVCTRL_TCINV_Msk                 (_U_(0x1) << TC_EVCTRL_TCINV_Pos)              /**< (TC_EVCTRL) TC Event Input Polarity Mask */
+#define TC_EVCTRL_TCINV                     TC_EVCTRL_TCINV_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_EVCTRL_TCINV_Msk instead */
+#define TC_EVCTRL_TCEI_Pos                  5                                              /**< (TC_EVCTRL) TC Event Enable Position */
+#define TC_EVCTRL_TCEI_Msk                  (_U_(0x1) << TC_EVCTRL_TCEI_Pos)               /**< (TC_EVCTRL) TC Event Enable Mask */
+#define TC_EVCTRL_TCEI                      TC_EVCTRL_TCEI_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_EVCTRL_TCEI_Msk instead */
+#define TC_EVCTRL_OVFEO_Pos                 8                                              /**< (TC_EVCTRL) Event Output Enable Position */
+#define TC_EVCTRL_OVFEO_Msk                 (_U_(0x1) << TC_EVCTRL_OVFEO_Pos)              /**< (TC_EVCTRL) Event Output Enable Mask */
+#define TC_EVCTRL_OVFEO                     TC_EVCTRL_OVFEO_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_EVCTRL_OVFEO_Msk instead */
+#define TC_EVCTRL_MCEO0_Pos                 12                                             /**< (TC_EVCTRL) MC Event Output Enable 0 Position */
+#define TC_EVCTRL_MCEO0_Msk                 (_U_(0x1) << TC_EVCTRL_MCEO0_Pos)              /**< (TC_EVCTRL) MC Event Output Enable 0 Mask */
+#define TC_EVCTRL_MCEO0                     TC_EVCTRL_MCEO0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_EVCTRL_MCEO0_Msk instead */
+#define TC_EVCTRL_MCEO1_Pos                 13                                             /**< (TC_EVCTRL) MC Event Output Enable 1 Position */
+#define TC_EVCTRL_MCEO1_Msk                 (_U_(0x1) << TC_EVCTRL_MCEO1_Pos)              /**< (TC_EVCTRL) MC Event Output Enable 1 Mask */
+#define TC_EVCTRL_MCEO1                     TC_EVCTRL_MCEO1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_EVCTRL_MCEO1_Msk instead */
+#define TC_EVCTRL_MASK                      _U_(0x3137)                                    /**< \deprecated (TC_EVCTRL) Register MASK  (Use TC_EVCTRL_Msk instead)  */
+#define TC_EVCTRL_Msk                       _U_(0x3137)                                    /**< (TC_EVCTRL) Register Mask  */
+
+#define TC_EVCTRL_MCEO_Pos                  12                                             /**< (TC_EVCTRL Position) MC Event Output Enable x */
+#define TC_EVCTRL_MCEO_Msk                  (_U_(0x3) << TC_EVCTRL_MCEO_Pos)               /**< (TC_EVCTRL Mask) MCEO */
+#define TC_EVCTRL_MCEO(value)               (TC_EVCTRL_MCEO_Msk & ((value) << TC_EVCTRL_MCEO_Pos))  
+
+/* -------- TC_INTENCLR : (TC Offset: 0x08) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  OVF:1;                     /**< bit:      0  OVF Interrupt Disable                    */
+    uint8_t  ERR:1;                     /**< bit:      1  ERR Interrupt Disable                    */
+    uint8_t  :2;                        /**< bit:   2..3  Reserved */
+    uint8_t  MC0:1;                     /**< bit:      4  MC Interrupt Disable 0                   */
+    uint8_t  MC1:1;                     /**< bit:      5  MC Interrupt Disable 1                   */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  :4;                        /**< bit:   0..3  Reserved */
+    uint8_t  MC:2;                      /**< bit:   4..5  MC Interrupt Disable x                   */
+    uint8_t  :2;                        /**< bit:   6..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_INTENCLR_OFFSET                  (0x08)                                        /**<  (TC_INTENCLR) Interrupt Enable Clear  Offset */
+#define TC_INTENCLR_RESETVALUE              _U_(0x00)                                     /**<  (TC_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define TC_INTENCLR_OVF_Pos                 0                                              /**< (TC_INTENCLR) OVF Interrupt Disable Position */
+#define TC_INTENCLR_OVF_Msk                 (_U_(0x1) << TC_INTENCLR_OVF_Pos)              /**< (TC_INTENCLR) OVF Interrupt Disable Mask */
+#define TC_INTENCLR_OVF                     TC_INTENCLR_OVF_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENCLR_OVF_Msk instead */
+#define TC_INTENCLR_ERR_Pos                 1                                              /**< (TC_INTENCLR) ERR Interrupt Disable Position */
+#define TC_INTENCLR_ERR_Msk                 (_U_(0x1) << TC_INTENCLR_ERR_Pos)              /**< (TC_INTENCLR) ERR Interrupt Disable Mask */
+#define TC_INTENCLR_ERR                     TC_INTENCLR_ERR_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENCLR_ERR_Msk instead */
+#define TC_INTENCLR_MC0_Pos                 4                                              /**< (TC_INTENCLR) MC Interrupt Disable 0 Position */
+#define TC_INTENCLR_MC0_Msk                 (_U_(0x1) << TC_INTENCLR_MC0_Pos)              /**< (TC_INTENCLR) MC Interrupt Disable 0 Mask */
+#define TC_INTENCLR_MC0                     TC_INTENCLR_MC0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENCLR_MC0_Msk instead */
+#define TC_INTENCLR_MC1_Pos                 5                                              /**< (TC_INTENCLR) MC Interrupt Disable 1 Position */
+#define TC_INTENCLR_MC1_Msk                 (_U_(0x1) << TC_INTENCLR_MC1_Pos)              /**< (TC_INTENCLR) MC Interrupt Disable 1 Mask */
+#define TC_INTENCLR_MC1                     TC_INTENCLR_MC1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENCLR_MC1_Msk instead */
+#define TC_INTENCLR_MASK                    _U_(0x33)                                      /**< \deprecated (TC_INTENCLR) Register MASK  (Use TC_INTENCLR_Msk instead)  */
+#define TC_INTENCLR_Msk                     _U_(0x33)                                      /**< (TC_INTENCLR) Register Mask  */
+
+#define TC_INTENCLR_MC_Pos                  4                                              /**< (TC_INTENCLR Position) MC Interrupt Disable x */
+#define TC_INTENCLR_MC_Msk                  (_U_(0x3) << TC_INTENCLR_MC_Pos)               /**< (TC_INTENCLR Mask) MC */
+#define TC_INTENCLR_MC(value)               (TC_INTENCLR_MC_Msk & ((value) << TC_INTENCLR_MC_Pos))  
+
+/* -------- TC_INTENSET : (TC Offset: 0x09) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  OVF:1;                     /**< bit:      0  OVF Interrupt Enable                     */
+    uint8_t  ERR:1;                     /**< bit:      1  ERR Interrupt Enable                     */
+    uint8_t  :2;                        /**< bit:   2..3  Reserved */
+    uint8_t  MC0:1;                     /**< bit:      4  MC Interrupt Enable 0                    */
+    uint8_t  MC1:1;                     /**< bit:      5  MC Interrupt Enable 1                    */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  :4;                        /**< bit:   0..3  Reserved */
+    uint8_t  MC:2;                      /**< bit:   4..5  MC Interrupt Enable x                    */
+    uint8_t  :2;                        /**< bit:   6..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_INTENSET_OFFSET                  (0x09)                                        /**<  (TC_INTENSET) Interrupt Enable Set  Offset */
+#define TC_INTENSET_RESETVALUE              _U_(0x00)                                     /**<  (TC_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define TC_INTENSET_OVF_Pos                 0                                              /**< (TC_INTENSET) OVF Interrupt Enable Position */
+#define TC_INTENSET_OVF_Msk                 (_U_(0x1) << TC_INTENSET_OVF_Pos)              /**< (TC_INTENSET) OVF Interrupt Enable Mask */
+#define TC_INTENSET_OVF                     TC_INTENSET_OVF_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENSET_OVF_Msk instead */
+#define TC_INTENSET_ERR_Pos                 1                                              /**< (TC_INTENSET) ERR Interrupt Enable Position */
+#define TC_INTENSET_ERR_Msk                 (_U_(0x1) << TC_INTENSET_ERR_Pos)              /**< (TC_INTENSET) ERR Interrupt Enable Mask */
+#define TC_INTENSET_ERR                     TC_INTENSET_ERR_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENSET_ERR_Msk instead */
+#define TC_INTENSET_MC0_Pos                 4                                              /**< (TC_INTENSET) MC Interrupt Enable 0 Position */
+#define TC_INTENSET_MC0_Msk                 (_U_(0x1) << TC_INTENSET_MC0_Pos)              /**< (TC_INTENSET) MC Interrupt Enable 0 Mask */
+#define TC_INTENSET_MC0                     TC_INTENSET_MC0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENSET_MC0_Msk instead */
+#define TC_INTENSET_MC1_Pos                 5                                              /**< (TC_INTENSET) MC Interrupt Enable 1 Position */
+#define TC_INTENSET_MC1_Msk                 (_U_(0x1) << TC_INTENSET_MC1_Pos)              /**< (TC_INTENSET) MC Interrupt Enable 1 Mask */
+#define TC_INTENSET_MC1                     TC_INTENSET_MC1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTENSET_MC1_Msk instead */
+#define TC_INTENSET_MASK                    _U_(0x33)                                      /**< \deprecated (TC_INTENSET) Register MASK  (Use TC_INTENSET_Msk instead)  */
+#define TC_INTENSET_Msk                     _U_(0x33)                                      /**< (TC_INTENSET) Register Mask  */
+
+#define TC_INTENSET_MC_Pos                  4                                              /**< (TC_INTENSET Position) MC Interrupt Enable x */
+#define TC_INTENSET_MC_Msk                  (_U_(0x3) << TC_INTENSET_MC_Pos)               /**< (TC_INTENSET Mask) MC */
+#define TC_INTENSET_MC(value)               (TC_INTENSET_MC_Msk & ((value) << TC_INTENSET_MC_Pos))  
+
+/* -------- TC_INTFLAG : (TC Offset: 0x0a) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t OVF:1;                     /**< bit:      0  OVF Interrupt Flag                       */
+    __I uint8_t ERR:1;                     /**< bit:      1  ERR Interrupt Flag                       */
+    __I uint8_t :2;                        /**< bit:   2..3  Reserved */
+    __I uint8_t MC0:1;                     /**< bit:      4  MC Interrupt Flag 0                      */
+    __I uint8_t MC1:1;                     /**< bit:      5  MC Interrupt Flag 1                      */
+    __I uint8_t :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    __I uint8_t :4;                        /**< bit:   0..3  Reserved */
+    __I uint8_t MC:2;                      /**< bit:   4..5  MC Interrupt Flag x                      */
+    __I uint8_t :2;                        /**< bit:   6..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_INTFLAG_OFFSET                   (0x0A)                                        /**<  (TC_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define TC_INTFLAG_RESETVALUE               _U_(0x00)                                     /**<  (TC_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define TC_INTFLAG_OVF_Pos                  0                                              /**< (TC_INTFLAG) OVF Interrupt Flag Position */
+#define TC_INTFLAG_OVF_Msk                  (_U_(0x1) << TC_INTFLAG_OVF_Pos)               /**< (TC_INTFLAG) OVF Interrupt Flag Mask */
+#define TC_INTFLAG_OVF                      TC_INTFLAG_OVF_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTFLAG_OVF_Msk instead */
+#define TC_INTFLAG_ERR_Pos                  1                                              /**< (TC_INTFLAG) ERR Interrupt Flag Position */
+#define TC_INTFLAG_ERR_Msk                  (_U_(0x1) << TC_INTFLAG_ERR_Pos)               /**< (TC_INTFLAG) ERR Interrupt Flag Mask */
+#define TC_INTFLAG_ERR                      TC_INTFLAG_ERR_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTFLAG_ERR_Msk instead */
+#define TC_INTFLAG_MC0_Pos                  4                                              /**< (TC_INTFLAG) MC Interrupt Flag 0 Position */
+#define TC_INTFLAG_MC0_Msk                  (_U_(0x1) << TC_INTFLAG_MC0_Pos)               /**< (TC_INTFLAG) MC Interrupt Flag 0 Mask */
+#define TC_INTFLAG_MC0                      TC_INTFLAG_MC0_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTFLAG_MC0_Msk instead */
+#define TC_INTFLAG_MC1_Pos                  5                                              /**< (TC_INTFLAG) MC Interrupt Flag 1 Position */
+#define TC_INTFLAG_MC1_Msk                  (_U_(0x1) << TC_INTFLAG_MC1_Pos)               /**< (TC_INTFLAG) MC Interrupt Flag 1 Mask */
+#define TC_INTFLAG_MC1                      TC_INTFLAG_MC1_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_INTFLAG_MC1_Msk instead */
+#define TC_INTFLAG_MASK                     _U_(0x33)                                      /**< \deprecated (TC_INTFLAG) Register MASK  (Use TC_INTFLAG_Msk instead)  */
+#define TC_INTFLAG_Msk                      _U_(0x33)                                      /**< (TC_INTFLAG) Register Mask  */
+
+#define TC_INTFLAG_MC_Pos                   4                                              /**< (TC_INTFLAG Position) MC Interrupt Flag x */
+#define TC_INTFLAG_MC_Msk                   (_U_(0x3) << TC_INTFLAG_MC_Pos)                /**< (TC_INTFLAG Mask) MC */
+#define TC_INTFLAG_MC(value)                (TC_INTFLAG_MC_Msk & ((value) << TC_INTFLAG_MC_Pos))  
+
+/* -------- TC_STATUS : (TC Offset: 0x0b) (R/W 8) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  STOP:1;                    /**< bit:      0  Stop Status Flag                         */
+    uint8_t  SLAVE:1;                   /**< bit:      1  Slave Status Flag                        */
+    uint8_t  :1;                        /**< bit:      2  Reserved */
+    uint8_t  PERBUFV:1;                 /**< bit:      3  Synchronization Busy Status              */
+    uint8_t  CCBUFV0:1;                 /**< bit:      4  Compare channel buffer 0 valid           */
+    uint8_t  CCBUFV1:1;                 /**< bit:      5  Compare channel buffer 1 valid           */
+    uint8_t  :2;                        /**< bit:   6..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  :4;                        /**< bit:   0..3  Reserved */
+    uint8_t  CCBUFV:2;                  /**< bit:   4..5  Compare channel buffer x valid           */
+    uint8_t  :2;                        /**< bit:   6..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_STATUS_OFFSET                    (0x0B)                                        /**<  (TC_STATUS) Status  Offset */
+#define TC_STATUS_RESETVALUE                _U_(0x01)                                     /**<  (TC_STATUS) Status  Reset Value */
+
+#define TC_STATUS_STOP_Pos                  0                                              /**< (TC_STATUS) Stop Status Flag Position */
+#define TC_STATUS_STOP_Msk                  (_U_(0x1) << TC_STATUS_STOP_Pos)               /**< (TC_STATUS) Stop Status Flag Mask */
+#define TC_STATUS_STOP                      TC_STATUS_STOP_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_STATUS_STOP_Msk instead */
+#define TC_STATUS_SLAVE_Pos                 1                                              /**< (TC_STATUS) Slave Status Flag Position */
+#define TC_STATUS_SLAVE_Msk                 (_U_(0x1) << TC_STATUS_SLAVE_Pos)              /**< (TC_STATUS) Slave Status Flag Mask */
+#define TC_STATUS_SLAVE                     TC_STATUS_SLAVE_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_STATUS_SLAVE_Msk instead */
+#define TC_STATUS_PERBUFV_Pos               3                                              /**< (TC_STATUS) Synchronization Busy Status Position */
+#define TC_STATUS_PERBUFV_Msk               (_U_(0x1) << TC_STATUS_PERBUFV_Pos)            /**< (TC_STATUS) Synchronization Busy Status Mask */
+#define TC_STATUS_PERBUFV                   TC_STATUS_PERBUFV_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_STATUS_PERBUFV_Msk instead */
+#define TC_STATUS_CCBUFV0_Pos               4                                              /**< (TC_STATUS) Compare channel buffer 0 valid Position */
+#define TC_STATUS_CCBUFV0_Msk               (_U_(0x1) << TC_STATUS_CCBUFV0_Pos)            /**< (TC_STATUS) Compare channel buffer 0 valid Mask */
+#define TC_STATUS_CCBUFV0                   TC_STATUS_CCBUFV0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_STATUS_CCBUFV0_Msk instead */
+#define TC_STATUS_CCBUFV1_Pos               5                                              /**< (TC_STATUS) Compare channel buffer 1 valid Position */
+#define TC_STATUS_CCBUFV1_Msk               (_U_(0x1) << TC_STATUS_CCBUFV1_Pos)            /**< (TC_STATUS) Compare channel buffer 1 valid Mask */
+#define TC_STATUS_CCBUFV1                   TC_STATUS_CCBUFV1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_STATUS_CCBUFV1_Msk instead */
+#define TC_STATUS_MASK                      _U_(0x3B)                                      /**< \deprecated (TC_STATUS) Register MASK  (Use TC_STATUS_Msk instead)  */
+#define TC_STATUS_Msk                       _U_(0x3B)                                      /**< (TC_STATUS) Register Mask  */
+
+#define TC_STATUS_CCBUFV_Pos                4                                              /**< (TC_STATUS Position) Compare channel buffer x valid */
+#define TC_STATUS_CCBUFV_Msk                (_U_(0x3) << TC_STATUS_CCBUFV_Pos)             /**< (TC_STATUS Mask) CCBUFV */
+#define TC_STATUS_CCBUFV(value)             (TC_STATUS_CCBUFV_Msk & ((value) << TC_STATUS_CCBUFV_Pos))  
+
+/* -------- TC_WAVE : (TC Offset: 0x0c) (R/W 8) Waveform Generation Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  WAVEGEN:2;                 /**< bit:   0..1  Waveform Generation Mode                 */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_WAVE_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_WAVE_OFFSET                      (0x0C)                                        /**<  (TC_WAVE) Waveform Generation Control  Offset */
+#define TC_WAVE_RESETVALUE                  _U_(0x00)                                     /**<  (TC_WAVE) Waveform Generation Control  Reset Value */
+
+#define TC_WAVE_WAVEGEN_Pos                 0                                              /**< (TC_WAVE) Waveform Generation Mode Position */
+#define TC_WAVE_WAVEGEN_Msk                 (_U_(0x3) << TC_WAVE_WAVEGEN_Pos)              /**< (TC_WAVE) Waveform Generation Mode Mask */
+#define TC_WAVE_WAVEGEN(value)              (TC_WAVE_WAVEGEN_Msk & ((value) << TC_WAVE_WAVEGEN_Pos))
+#define   TC_WAVE_WAVEGEN_NFRQ_Val          _U_(0x0)                                       /**< (TC_WAVE) Normal frequency  */
+#define   TC_WAVE_WAVEGEN_MFRQ_Val          _U_(0x1)                                       /**< (TC_WAVE) Match frequency  */
+#define   TC_WAVE_WAVEGEN_NPWM_Val          _U_(0x2)                                       /**< (TC_WAVE) Normal PWM  */
+#define   TC_WAVE_WAVEGEN_MPWM_Val          _U_(0x3)                                       /**< (TC_WAVE) Match PWM  */
+#define TC_WAVE_WAVEGEN_NFRQ                (TC_WAVE_WAVEGEN_NFRQ_Val << TC_WAVE_WAVEGEN_Pos)  /**< (TC_WAVE) Normal frequency Position  */
+#define TC_WAVE_WAVEGEN_MFRQ                (TC_WAVE_WAVEGEN_MFRQ_Val << TC_WAVE_WAVEGEN_Pos)  /**< (TC_WAVE) Match frequency Position  */
+#define TC_WAVE_WAVEGEN_NPWM                (TC_WAVE_WAVEGEN_NPWM_Val << TC_WAVE_WAVEGEN_Pos)  /**< (TC_WAVE) Normal PWM Position  */
+#define TC_WAVE_WAVEGEN_MPWM                (TC_WAVE_WAVEGEN_MPWM_Val << TC_WAVE_WAVEGEN_Pos)  /**< (TC_WAVE) Match PWM Position  */
+#define TC_WAVE_MASK                        _U_(0x03)                                      /**< \deprecated (TC_WAVE) Register MASK  (Use TC_WAVE_Msk instead)  */
+#define TC_WAVE_Msk                         _U_(0x03)                                      /**< (TC_WAVE) Register Mask  */
+
+
+/* -------- TC_DRVCTRL : (TC Offset: 0x0d) (R/W 8) Control C -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  INVEN0:1;                  /**< bit:      0  Output Waveform Invert Enable 0          */
+    uint8_t  INVEN1:1;                  /**< bit:      1  Output Waveform Invert Enable 1          */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint8_t  INVEN:2;                   /**< bit:   0..1  Output Waveform Invert Enable x          */
+    uint8_t  :6;                        /**< bit:   2..7 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_DRVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_DRVCTRL_OFFSET                   (0x0D)                                        /**<  (TC_DRVCTRL) Control C  Offset */
+#define TC_DRVCTRL_RESETVALUE               _U_(0x00)                                     /**<  (TC_DRVCTRL) Control C  Reset Value */
+
+#define TC_DRVCTRL_INVEN0_Pos               0                                              /**< (TC_DRVCTRL) Output Waveform Invert Enable 0 Position */
+#define TC_DRVCTRL_INVEN0_Msk               (_U_(0x1) << TC_DRVCTRL_INVEN0_Pos)            /**< (TC_DRVCTRL) Output Waveform Invert Enable 0 Mask */
+#define TC_DRVCTRL_INVEN0                   TC_DRVCTRL_INVEN0_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_DRVCTRL_INVEN0_Msk instead */
+#define TC_DRVCTRL_INVEN1_Pos               1                                              /**< (TC_DRVCTRL) Output Waveform Invert Enable 1 Position */
+#define TC_DRVCTRL_INVEN1_Msk               (_U_(0x1) << TC_DRVCTRL_INVEN1_Pos)            /**< (TC_DRVCTRL) Output Waveform Invert Enable 1 Mask */
+#define TC_DRVCTRL_INVEN1                   TC_DRVCTRL_INVEN1_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_DRVCTRL_INVEN1_Msk instead */
+#define TC_DRVCTRL_MASK                     _U_(0x03)                                      /**< \deprecated (TC_DRVCTRL) Register MASK  (Use TC_DRVCTRL_Msk instead)  */
+#define TC_DRVCTRL_Msk                      _U_(0x03)                                      /**< (TC_DRVCTRL) Register Mask  */
+
+#define TC_DRVCTRL_INVEN_Pos                0                                              /**< (TC_DRVCTRL Position) Output Waveform Invert Enable x */
+#define TC_DRVCTRL_INVEN_Msk                (_U_(0x3) << TC_DRVCTRL_INVEN_Pos)             /**< (TC_DRVCTRL Mask) INVEN */
+#define TC_DRVCTRL_INVEN(value)             (TC_DRVCTRL_INVEN_Msk & ((value) << TC_DRVCTRL_INVEN_Pos))  
+
+/* -------- TC_DBGCTRL : (TC Offset: 0x0f) (R/W 8) Debug Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DBGRUN:1;                  /**< bit:      0  Run During Debug                         */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_DBGCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_DBGCTRL_OFFSET                   (0x0F)                                        /**<  (TC_DBGCTRL) Debug Control  Offset */
+#define TC_DBGCTRL_RESETVALUE               _U_(0x00)                                     /**<  (TC_DBGCTRL) Debug Control  Reset Value */
+
+#define TC_DBGCTRL_DBGRUN_Pos               0                                              /**< (TC_DBGCTRL) Run During Debug Position */
+#define TC_DBGCTRL_DBGRUN_Msk               (_U_(0x1) << TC_DBGCTRL_DBGRUN_Pos)            /**< (TC_DBGCTRL) Run During Debug Mask */
+#define TC_DBGCTRL_DBGRUN                   TC_DBGCTRL_DBGRUN_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_DBGCTRL_DBGRUN_Msk instead */
+#define TC_DBGCTRL_MASK                     _U_(0x01)                                      /**< \deprecated (TC_DBGCTRL) Register MASK  (Use TC_DBGCTRL_Msk instead)  */
+#define TC_DBGCTRL_Msk                      _U_(0x01)                                      /**< (TC_DBGCTRL) Register Mask  */
+
+
+/* -------- TC_SYNCBUSY : (TC Offset: 0x10) (R/ 32) Synchronization Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  swrst                                    */
+    uint32_t ENABLE:1;                  /**< bit:      1  enable                                   */
+    uint32_t CTRLB:1;                   /**< bit:      2  CTRLB                                    */
+    uint32_t STATUS:1;                  /**< bit:      3  STATUS                                   */
+    uint32_t COUNT:1;                   /**< bit:      4  Counter                                  */
+    uint32_t PER:1;                     /**< bit:      5  Period                                   */
+    uint32_t CC0:1;                     /**< bit:      6  Compare Channel 0                        */
+    uint32_t CC1:1;                     /**< bit:      7  Compare Channel 1                        */
+    uint32_t :24;                       /**< bit:  8..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  struct {
+    uint32_t :6;                        /**< bit:   0..5  Reserved */
+    uint32_t CC:2;                      /**< bit:   6..7  Compare Channel x                        */
+    uint32_t :24;                       /**< bit:  8..31 Reserved */
+  } vec;                                /**< Structure used for vec  access  */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_SYNCBUSY_OFFSET                  (0x10)                                        /**<  (TC_SYNCBUSY) Synchronization Status  Offset */
+#define TC_SYNCBUSY_RESETVALUE              _U_(0x00)                                     /**<  (TC_SYNCBUSY) Synchronization Status  Reset Value */
+
+#define TC_SYNCBUSY_SWRST_Pos               0                                              /**< (TC_SYNCBUSY) swrst Position */
+#define TC_SYNCBUSY_SWRST_Msk               (_U_(0x1) << TC_SYNCBUSY_SWRST_Pos)            /**< (TC_SYNCBUSY) swrst Mask */
+#define TC_SYNCBUSY_SWRST                   TC_SYNCBUSY_SWRST_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_SWRST_Msk instead */
+#define TC_SYNCBUSY_ENABLE_Pos              1                                              /**< (TC_SYNCBUSY) enable Position */
+#define TC_SYNCBUSY_ENABLE_Msk              (_U_(0x1) << TC_SYNCBUSY_ENABLE_Pos)           /**< (TC_SYNCBUSY) enable Mask */
+#define TC_SYNCBUSY_ENABLE                  TC_SYNCBUSY_ENABLE_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_ENABLE_Msk instead */
+#define TC_SYNCBUSY_CTRLB_Pos               2                                              /**< (TC_SYNCBUSY) CTRLB Position */
+#define TC_SYNCBUSY_CTRLB_Msk               (_U_(0x1) << TC_SYNCBUSY_CTRLB_Pos)            /**< (TC_SYNCBUSY) CTRLB Mask */
+#define TC_SYNCBUSY_CTRLB                   TC_SYNCBUSY_CTRLB_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_CTRLB_Msk instead */
+#define TC_SYNCBUSY_STATUS_Pos              3                                              /**< (TC_SYNCBUSY) STATUS Position */
+#define TC_SYNCBUSY_STATUS_Msk              (_U_(0x1) << TC_SYNCBUSY_STATUS_Pos)           /**< (TC_SYNCBUSY) STATUS Mask */
+#define TC_SYNCBUSY_STATUS                  TC_SYNCBUSY_STATUS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_STATUS_Msk instead */
+#define TC_SYNCBUSY_COUNT_Pos               4                                              /**< (TC_SYNCBUSY) Counter Position */
+#define TC_SYNCBUSY_COUNT_Msk               (_U_(0x1) << TC_SYNCBUSY_COUNT_Pos)            /**< (TC_SYNCBUSY) Counter Mask */
+#define TC_SYNCBUSY_COUNT                   TC_SYNCBUSY_COUNT_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_COUNT_Msk instead */
+#define TC_SYNCBUSY_PER_Pos                 5                                              /**< (TC_SYNCBUSY) Period Position */
+#define TC_SYNCBUSY_PER_Msk                 (_U_(0x1) << TC_SYNCBUSY_PER_Pos)              /**< (TC_SYNCBUSY) Period Mask */
+#define TC_SYNCBUSY_PER                     TC_SYNCBUSY_PER_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_PER_Msk instead */
+#define TC_SYNCBUSY_CC0_Pos                 6                                              /**< (TC_SYNCBUSY) Compare Channel 0 Position */
+#define TC_SYNCBUSY_CC0_Msk                 (_U_(0x1) << TC_SYNCBUSY_CC0_Pos)              /**< (TC_SYNCBUSY) Compare Channel 0 Mask */
+#define TC_SYNCBUSY_CC0                     TC_SYNCBUSY_CC0_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_CC0_Msk instead */
+#define TC_SYNCBUSY_CC1_Pos                 7                                              /**< (TC_SYNCBUSY) Compare Channel 1 Position */
+#define TC_SYNCBUSY_CC1_Msk                 (_U_(0x1) << TC_SYNCBUSY_CC1_Pos)              /**< (TC_SYNCBUSY) Compare Channel 1 Mask */
+#define TC_SYNCBUSY_CC1                     TC_SYNCBUSY_CC1_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TC_SYNCBUSY_CC1_Msk instead */
+#define TC_SYNCBUSY_MASK                    _U_(0xFF)                                      /**< \deprecated (TC_SYNCBUSY) Register MASK  (Use TC_SYNCBUSY_Msk instead)  */
+#define TC_SYNCBUSY_Msk                     _U_(0xFF)                                      /**< (TC_SYNCBUSY) Register Mask  */
+
+#define TC_SYNCBUSY_CC_Pos                  6                                              /**< (TC_SYNCBUSY Position) Compare Channel x */
+#define TC_SYNCBUSY_CC_Msk                  (_U_(0x3) << TC_SYNCBUSY_CC_Pos)               /**< (TC_SYNCBUSY Mask) CC */
+#define TC_SYNCBUSY_CC(value)               (TC_SYNCBUSY_CC_Msk & ((value) << TC_SYNCBUSY_CC_Pos))  
+
+/* -------- TC_COUNT8_COUNT : (TC Offset: 0x14) (R/W 8) COUNT8 Count -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  COUNT:8;                   /**< bit:   0..7  Counter Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_COUNT8_COUNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT8_COUNT_OFFSET              (0x14)                                        /**<  (TC_COUNT8_COUNT) COUNT8 Count  Offset */
+#define TC_COUNT8_COUNT_RESETVALUE          _U_(0x00)                                     /**<  (TC_COUNT8_COUNT) COUNT8 Count  Reset Value */
+
+#define TC_COUNT8_COUNT_COUNT_Pos           0                                              /**< (TC_COUNT8_COUNT) Counter Value Position */
+#define TC_COUNT8_COUNT_COUNT_Msk           (_U_(0xFF) << TC_COUNT8_COUNT_COUNT_Pos)       /**< (TC_COUNT8_COUNT) Counter Value Mask */
+#define TC_COUNT8_COUNT_COUNT(value)        (TC_COUNT8_COUNT_COUNT_Msk & ((value) << TC_COUNT8_COUNT_COUNT_Pos))
+#define TC_COUNT8_COUNT_MASK                _U_(0xFF)                                      /**< \deprecated (TC_COUNT8_COUNT) Register MASK  (Use TC_COUNT8_COUNT_Msk instead)  */
+#define TC_COUNT8_COUNT_Msk                 _U_(0xFF)                                      /**< (TC_COUNT8_COUNT) Register Mask  */
+
+
+/* -------- TC_COUNT16_COUNT : (TC Offset: 0x14) (R/W 16) COUNT16 Count -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t COUNT:16;                  /**< bit:  0..15  Counter Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_COUNT16_COUNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT16_COUNT_OFFSET             (0x14)                                        /**<  (TC_COUNT16_COUNT) COUNT16 Count  Offset */
+#define TC_COUNT16_COUNT_RESETVALUE         _U_(0x00)                                     /**<  (TC_COUNT16_COUNT) COUNT16 Count  Reset Value */
+
+#define TC_COUNT16_COUNT_COUNT_Pos          0                                              /**< (TC_COUNT16_COUNT) Counter Value Position */
+#define TC_COUNT16_COUNT_COUNT_Msk          (_U_(0xFFFF) << TC_COUNT16_COUNT_COUNT_Pos)    /**< (TC_COUNT16_COUNT) Counter Value Mask */
+#define TC_COUNT16_COUNT_COUNT(value)       (TC_COUNT16_COUNT_COUNT_Msk & ((value) << TC_COUNT16_COUNT_COUNT_Pos))
+#define TC_COUNT16_COUNT_MASK               _U_(0xFFFF)                                    /**< \deprecated (TC_COUNT16_COUNT) Register MASK  (Use TC_COUNT16_COUNT_Msk instead)  */
+#define TC_COUNT16_COUNT_Msk                _U_(0xFFFF)                                    /**< (TC_COUNT16_COUNT) Register Mask  */
+
+
+/* -------- TC_COUNT32_COUNT : (TC Offset: 0x14) (R/W 32) COUNT32 Count -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t COUNT:32;                  /**< bit:  0..31  Counter Value                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_COUNT32_COUNT_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT32_COUNT_OFFSET             (0x14)                                        /**<  (TC_COUNT32_COUNT) COUNT32 Count  Offset */
+#define TC_COUNT32_COUNT_RESETVALUE         _U_(0x00)                                     /**<  (TC_COUNT32_COUNT) COUNT32 Count  Reset Value */
+
+#define TC_COUNT32_COUNT_COUNT_Pos          0                                              /**< (TC_COUNT32_COUNT) Counter Value Position */
+#define TC_COUNT32_COUNT_COUNT_Msk          (_U_(0xFFFFFFFF) << TC_COUNT32_COUNT_COUNT_Pos)  /**< (TC_COUNT32_COUNT) Counter Value Mask */
+#define TC_COUNT32_COUNT_COUNT(value)       (TC_COUNT32_COUNT_COUNT_Msk & ((value) << TC_COUNT32_COUNT_COUNT_Pos))
+#define TC_COUNT32_COUNT_MASK               _U_(0xFFFFFFFF)                                /**< \deprecated (TC_COUNT32_COUNT) Register MASK  (Use TC_COUNT32_COUNT_Msk instead)  */
+#define TC_COUNT32_COUNT_Msk                _U_(0xFFFFFFFF)                                /**< (TC_COUNT32_COUNT) Register Mask  */
+
+
+/* -------- TC_COUNT32_PER : (TC Offset: 0x18) (R/W 32) COUNT32 Period -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PER:32;                    /**< bit:  0..31  Period Value                             */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_COUNT32_PER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT32_PER_OFFSET               (0x18)                                        /**<  (TC_COUNT32_PER) COUNT32 Period  Offset */
+#define TC_COUNT32_PER_RESETVALUE           _U_(0xFFFFFFFF)                               /**<  (TC_COUNT32_PER) COUNT32 Period  Reset Value */
+
+#define TC_COUNT32_PER_PER_Pos              0                                              /**< (TC_COUNT32_PER) Period Value Position */
+#define TC_COUNT32_PER_PER_Msk              (_U_(0xFFFFFFFF) << TC_COUNT32_PER_PER_Pos)    /**< (TC_COUNT32_PER) Period Value Mask */
+#define TC_COUNT32_PER_PER(value)           (TC_COUNT32_PER_PER_Msk & ((value) << TC_COUNT32_PER_PER_Pos))
+#define TC_COUNT32_PER_MASK                 _U_(0xFFFFFFFF)                                /**< \deprecated (TC_COUNT32_PER) Register MASK  (Use TC_COUNT32_PER_Msk instead)  */
+#define TC_COUNT32_PER_Msk                  _U_(0xFFFFFFFF)                                /**< (TC_COUNT32_PER) Register Mask  */
+
+
+/* -------- TC_COUNT16_PER : (TC Offset: 0x1a) (R/W 16) COUNT16 Period -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PER:16;                    /**< bit:  0..15  Period Value                             */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_COUNT16_PER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT16_PER_OFFSET               (0x1A)                                        /**<  (TC_COUNT16_PER) COUNT16 Period  Offset */
+#define TC_COUNT16_PER_RESETVALUE           _U_(0xFFFF)                                   /**<  (TC_COUNT16_PER) COUNT16 Period  Reset Value */
+
+#define TC_COUNT16_PER_PER_Pos              0                                              /**< (TC_COUNT16_PER) Period Value Position */
+#define TC_COUNT16_PER_PER_Msk              (_U_(0xFFFF) << TC_COUNT16_PER_PER_Pos)        /**< (TC_COUNT16_PER) Period Value Mask */
+#define TC_COUNT16_PER_PER(value)           (TC_COUNT16_PER_PER_Msk & ((value) << TC_COUNT16_PER_PER_Pos))
+#define TC_COUNT16_PER_MASK                 _U_(0xFFFF)                                    /**< \deprecated (TC_COUNT16_PER) Register MASK  (Use TC_COUNT16_PER_Msk instead)  */
+#define TC_COUNT16_PER_Msk                  _U_(0xFFFF)                                    /**< (TC_COUNT16_PER) Register Mask  */
+
+
+/* -------- TC_COUNT8_PER : (TC Offset: 0x1b) (R/W 8) COUNT8 Period -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PER:8;                     /**< bit:   0..7  Period Value                             */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_COUNT8_PER_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT8_PER_OFFSET                (0x1B)                                        /**<  (TC_COUNT8_PER) COUNT8 Period  Offset */
+#define TC_COUNT8_PER_RESETVALUE            _U_(0xFF)                                     /**<  (TC_COUNT8_PER) COUNT8 Period  Reset Value */
+
+#define TC_COUNT8_PER_PER_Pos               0                                              /**< (TC_COUNT8_PER) Period Value Position */
+#define TC_COUNT8_PER_PER_Msk               (_U_(0xFF) << TC_COUNT8_PER_PER_Pos)           /**< (TC_COUNT8_PER) Period Value Mask */
+#define TC_COUNT8_PER_PER(value)            (TC_COUNT8_PER_PER_Msk & ((value) << TC_COUNT8_PER_PER_Pos))
+#define TC_COUNT8_PER_MASK                  _U_(0xFF)                                      /**< \deprecated (TC_COUNT8_PER) Register MASK  (Use TC_COUNT8_PER_Msk instead)  */
+#define TC_COUNT8_PER_Msk                   _U_(0xFF)                                      /**< (TC_COUNT8_PER) Register Mask  */
+
+
+/* -------- TC_COUNT8_CC : (TC Offset: 0x1c) (R/W 8) COUNT8 Compare and Capture -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CC:8;                      /**< bit:   0..7  Counter/Compare Value                    */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_COUNT8_CC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT8_CC_OFFSET                 (0x1C)                                        /**<  (TC_COUNT8_CC) COUNT8 Compare and Capture  Offset */
+#define TC_COUNT8_CC_RESETVALUE             _U_(0x00)                                     /**<  (TC_COUNT8_CC) COUNT8 Compare and Capture  Reset Value */
+
+#define TC_COUNT8_CC_CC_Pos                 0                                              /**< (TC_COUNT8_CC) Counter/Compare Value Position */
+#define TC_COUNT8_CC_CC_Msk                 (_U_(0xFF) << TC_COUNT8_CC_CC_Pos)             /**< (TC_COUNT8_CC) Counter/Compare Value Mask */
+#define TC_COUNT8_CC_CC(value)              (TC_COUNT8_CC_CC_Msk & ((value) << TC_COUNT8_CC_CC_Pos))
+#define TC_COUNT8_CC_MASK                   _U_(0xFF)                                      /**< \deprecated (TC_COUNT8_CC) Register MASK  (Use TC_COUNT8_CC_Msk instead)  */
+#define TC_COUNT8_CC_Msk                    _U_(0xFF)                                      /**< (TC_COUNT8_CC) Register Mask  */
+
+
+/* -------- TC_COUNT16_CC : (TC Offset: 0x1c) (R/W 16) COUNT16 Compare and Capture -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t CC:16;                     /**< bit:  0..15  Counter/Compare Value                    */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_COUNT16_CC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT16_CC_OFFSET                (0x1C)                                        /**<  (TC_COUNT16_CC) COUNT16 Compare and Capture  Offset */
+#define TC_COUNT16_CC_RESETVALUE            _U_(0x00)                                     /**<  (TC_COUNT16_CC) COUNT16 Compare and Capture  Reset Value */
+
+#define TC_COUNT16_CC_CC_Pos                0                                              /**< (TC_COUNT16_CC) Counter/Compare Value Position */
+#define TC_COUNT16_CC_CC_Msk                (_U_(0xFFFF) << TC_COUNT16_CC_CC_Pos)          /**< (TC_COUNT16_CC) Counter/Compare Value Mask */
+#define TC_COUNT16_CC_CC(value)             (TC_COUNT16_CC_CC_Msk & ((value) << TC_COUNT16_CC_CC_Pos))
+#define TC_COUNT16_CC_MASK                  _U_(0xFFFF)                                    /**< \deprecated (TC_COUNT16_CC) Register MASK  (Use TC_COUNT16_CC_Msk instead)  */
+#define TC_COUNT16_CC_Msk                   _U_(0xFFFF)                                    /**< (TC_COUNT16_CC) Register Mask  */
+
+
+/* -------- TC_COUNT32_CC : (TC Offset: 0x1c) (R/W 32) COUNT32 Compare and Capture -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CC:32;                     /**< bit:  0..31  Counter/Compare Value                    */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_COUNT32_CC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT32_CC_OFFSET                (0x1C)                                        /**<  (TC_COUNT32_CC) COUNT32 Compare and Capture  Offset */
+#define TC_COUNT32_CC_RESETVALUE            _U_(0x00)                                     /**<  (TC_COUNT32_CC) COUNT32 Compare and Capture  Reset Value */
+
+#define TC_COUNT32_CC_CC_Pos                0                                              /**< (TC_COUNT32_CC) Counter/Compare Value Position */
+#define TC_COUNT32_CC_CC_Msk                (_U_(0xFFFFFFFF) << TC_COUNT32_CC_CC_Pos)      /**< (TC_COUNT32_CC) Counter/Compare Value Mask */
+#define TC_COUNT32_CC_CC(value)             (TC_COUNT32_CC_CC_Msk & ((value) << TC_COUNT32_CC_CC_Pos))
+#define TC_COUNT32_CC_MASK                  _U_(0xFFFFFFFF)                                /**< \deprecated (TC_COUNT32_CC) Register MASK  (Use TC_COUNT32_CC_Msk instead)  */
+#define TC_COUNT32_CC_Msk                   _U_(0xFFFFFFFF)                                /**< (TC_COUNT32_CC) Register Mask  */
+
+
+/* -------- TC_COUNT32_PERBUF : (TC Offset: 0x2c) (R/W 32) COUNT32 Period Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t PERBUF:32;                 /**< bit:  0..31  Period Buffer Value                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_COUNT32_PERBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT32_PERBUF_OFFSET            (0x2C)                                        /**<  (TC_COUNT32_PERBUF) COUNT32 Period Buffer  Offset */
+#define TC_COUNT32_PERBUF_RESETVALUE        _U_(0xFFFFFFFF)                               /**<  (TC_COUNT32_PERBUF) COUNT32 Period Buffer  Reset Value */
+
+#define TC_COUNT32_PERBUF_PERBUF_Pos        0                                              /**< (TC_COUNT32_PERBUF) Period Buffer Value Position */
+#define TC_COUNT32_PERBUF_PERBUF_Msk        (_U_(0xFFFFFFFF) << TC_COUNT32_PERBUF_PERBUF_Pos)  /**< (TC_COUNT32_PERBUF) Period Buffer Value Mask */
+#define TC_COUNT32_PERBUF_PERBUF(value)     (TC_COUNT32_PERBUF_PERBUF_Msk & ((value) << TC_COUNT32_PERBUF_PERBUF_Pos))
+#define TC_COUNT32_PERBUF_MASK              _U_(0xFFFFFFFF)                                /**< \deprecated (TC_COUNT32_PERBUF) Register MASK  (Use TC_COUNT32_PERBUF_Msk instead)  */
+#define TC_COUNT32_PERBUF_Msk               _U_(0xFFFFFFFF)                                /**< (TC_COUNT32_PERBUF) Register Mask  */
+
+
+/* -------- TC_COUNT16_PERBUF : (TC Offset: 0x2e) (R/W 16) COUNT16 Period Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t PERBUF:16;                 /**< bit:  0..15  Period Buffer Value                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_COUNT16_PERBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT16_PERBUF_OFFSET            (0x2E)                                        /**<  (TC_COUNT16_PERBUF) COUNT16 Period Buffer  Offset */
+#define TC_COUNT16_PERBUF_RESETVALUE        _U_(0xFFFF)                                   /**<  (TC_COUNT16_PERBUF) COUNT16 Period Buffer  Reset Value */
+
+#define TC_COUNT16_PERBUF_PERBUF_Pos        0                                              /**< (TC_COUNT16_PERBUF) Period Buffer Value Position */
+#define TC_COUNT16_PERBUF_PERBUF_Msk        (_U_(0xFFFF) << TC_COUNT16_PERBUF_PERBUF_Pos)  /**< (TC_COUNT16_PERBUF) Period Buffer Value Mask */
+#define TC_COUNT16_PERBUF_PERBUF(value)     (TC_COUNT16_PERBUF_PERBUF_Msk & ((value) << TC_COUNT16_PERBUF_PERBUF_Pos))
+#define TC_COUNT16_PERBUF_MASK              _U_(0xFFFF)                                    /**< \deprecated (TC_COUNT16_PERBUF) Register MASK  (Use TC_COUNT16_PERBUF_Msk instead)  */
+#define TC_COUNT16_PERBUF_Msk               _U_(0xFFFF)                                    /**< (TC_COUNT16_PERBUF) Register Mask  */
+
+
+/* -------- TC_COUNT8_PERBUF : (TC Offset: 0x2f) (R/W 8) COUNT8 Period Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PERBUF:8;                  /**< bit:   0..7  Period Buffer Value                      */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_COUNT8_PERBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT8_PERBUF_OFFSET             (0x2F)                                        /**<  (TC_COUNT8_PERBUF) COUNT8 Period Buffer  Offset */
+#define TC_COUNT8_PERBUF_RESETVALUE         _U_(0xFF)                                     /**<  (TC_COUNT8_PERBUF) COUNT8 Period Buffer  Reset Value */
+
+#define TC_COUNT8_PERBUF_PERBUF_Pos         0                                              /**< (TC_COUNT8_PERBUF) Period Buffer Value Position */
+#define TC_COUNT8_PERBUF_PERBUF_Msk         (_U_(0xFF) << TC_COUNT8_PERBUF_PERBUF_Pos)     /**< (TC_COUNT8_PERBUF) Period Buffer Value Mask */
+#define TC_COUNT8_PERBUF_PERBUF(value)      (TC_COUNT8_PERBUF_PERBUF_Msk & ((value) << TC_COUNT8_PERBUF_PERBUF_Pos))
+#define TC_COUNT8_PERBUF_MASK               _U_(0xFF)                                      /**< \deprecated (TC_COUNT8_PERBUF) Register MASK  (Use TC_COUNT8_PERBUF_Msk instead)  */
+#define TC_COUNT8_PERBUF_Msk                _U_(0xFF)                                      /**< (TC_COUNT8_PERBUF) Register Mask  */
+
+
+/* -------- TC_COUNT8_CCBUF : (TC Offset: 0x30) (R/W 8) COUNT8 Compare and Capture Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CCBUF:8;                   /**< bit:   0..7  Counter/Compare Buffer Value             */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TC_COUNT8_CCBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT8_CCBUF_OFFSET              (0x30)                                        /**<  (TC_COUNT8_CCBUF) COUNT8 Compare and Capture Buffer  Offset */
+#define TC_COUNT8_CCBUF_RESETVALUE          _U_(0x00)                                     /**<  (TC_COUNT8_CCBUF) COUNT8 Compare and Capture Buffer  Reset Value */
+
+#define TC_COUNT8_CCBUF_CCBUF_Pos           0                                              /**< (TC_COUNT8_CCBUF) Counter/Compare Buffer Value Position */
+#define TC_COUNT8_CCBUF_CCBUF_Msk           (_U_(0xFF) << TC_COUNT8_CCBUF_CCBUF_Pos)       /**< (TC_COUNT8_CCBUF) Counter/Compare Buffer Value Mask */
+#define TC_COUNT8_CCBUF_CCBUF(value)        (TC_COUNT8_CCBUF_CCBUF_Msk & ((value) << TC_COUNT8_CCBUF_CCBUF_Pos))
+#define TC_COUNT8_CCBUF_MASK                _U_(0xFF)                                      /**< \deprecated (TC_COUNT8_CCBUF) Register MASK  (Use TC_COUNT8_CCBUF_Msk instead)  */
+#define TC_COUNT8_CCBUF_Msk                 _U_(0xFF)                                      /**< (TC_COUNT8_CCBUF) Register Mask  */
+
+
+/* -------- TC_COUNT16_CCBUF : (TC Offset: 0x30) (R/W 16) COUNT16 Compare and Capture Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint16_t CCBUF:16;                  /**< bit:  0..15  Counter/Compare Buffer Value             */
+  } bit;                                /**< Structure used for bit  access */
+  uint16_t reg;                         /**< Type used for register access */
+} TC_COUNT16_CCBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT16_CCBUF_OFFSET             (0x30)                                        /**<  (TC_COUNT16_CCBUF) COUNT16 Compare and Capture Buffer  Offset */
+#define TC_COUNT16_CCBUF_RESETVALUE         _U_(0x00)                                     /**<  (TC_COUNT16_CCBUF) COUNT16 Compare and Capture Buffer  Reset Value */
+
+#define TC_COUNT16_CCBUF_CCBUF_Pos          0                                              /**< (TC_COUNT16_CCBUF) Counter/Compare Buffer Value Position */
+#define TC_COUNT16_CCBUF_CCBUF_Msk          (_U_(0xFFFF) << TC_COUNT16_CCBUF_CCBUF_Pos)    /**< (TC_COUNT16_CCBUF) Counter/Compare Buffer Value Mask */
+#define TC_COUNT16_CCBUF_CCBUF(value)       (TC_COUNT16_CCBUF_CCBUF_Msk & ((value) << TC_COUNT16_CCBUF_CCBUF_Pos))
+#define TC_COUNT16_CCBUF_MASK               _U_(0xFFFF)                                    /**< \deprecated (TC_COUNT16_CCBUF) Register MASK  (Use TC_COUNT16_CCBUF_Msk instead)  */
+#define TC_COUNT16_CCBUF_Msk                _U_(0xFFFF)                                    /**< (TC_COUNT16_CCBUF) Register Mask  */
+
+
+/* -------- TC_COUNT32_CCBUF : (TC Offset: 0x30) (R/W 32) COUNT32 Compare and Capture Buffer -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t CCBUF:32;                  /**< bit:  0..31  Counter/Compare Buffer Value             */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TC_COUNT32_CCBUF_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TC_COUNT32_CCBUF_OFFSET             (0x30)                                        /**<  (TC_COUNT32_CCBUF) COUNT32 Compare and Capture Buffer  Offset */
+#define TC_COUNT32_CCBUF_RESETVALUE         _U_(0x00)                                     /**<  (TC_COUNT32_CCBUF) COUNT32 Compare and Capture Buffer  Reset Value */
+
+#define TC_COUNT32_CCBUF_CCBUF_Pos          0                                              /**< (TC_COUNT32_CCBUF) Counter/Compare Buffer Value Position */
+#define TC_COUNT32_CCBUF_CCBUF_Msk          (_U_(0xFFFFFFFF) << TC_COUNT32_CCBUF_CCBUF_Pos)  /**< (TC_COUNT32_CCBUF) Counter/Compare Buffer Value Mask */
+#define TC_COUNT32_CCBUF_CCBUF(value)       (TC_COUNT32_CCBUF_CCBUF_Msk & ((value) << TC_COUNT32_CCBUF_CCBUF_Pos))
+#define TC_COUNT32_CCBUF_MASK               _U_(0xFFFFFFFF)                                /**< \deprecated (TC_COUNT32_CCBUF) Register MASK  (Use TC_COUNT32_CCBUF_Msk instead)  */
+#define TC_COUNT32_CCBUF_Msk                _U_(0xFFFFFFFF)                                /**< (TC_COUNT32_CCBUF) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief TC hardware registers */
+typedef struct {  /* Basic Timer Counter */
+  __IO TC_CTRLA_Type                  CTRLA;          /**< Offset: 0x00 (R/W  32) Control A */
+  __IO TC_CTRLBCLR_Type               CTRLBCLR;       /**< Offset: 0x04 (R/W   8) Control B Clear */
+  __IO TC_CTRLBSET_Type               CTRLBSET;       /**< Offset: 0x05 (R/W   8) Control B Set */
+  __IO TC_EVCTRL_Type                 EVCTRL;         /**< Offset: 0x06 (R/W  16) Event Control */
+  __IO TC_INTENCLR_Type               INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt Enable Clear */
+  __IO TC_INTENSET_Type               INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt Enable Set */
+  __IO TC_INTFLAG_Type                INTFLAG;        /**< Offset: 0x0A (R/W   8) Interrupt Flag Status and Clear */
+  __IO TC_STATUS_Type                 STATUS;         /**< Offset: 0x0B (R/W   8) Status */
+  __IO TC_WAVE_Type                   WAVE;           /**< Offset: 0x0C (R/W   8) Waveform Generation Control */
+  __IO TC_DRVCTRL_Type                DRVCTRL;        /**< Offset: 0x0D (R/W   8) Control C */
+  __I  uint8_t                        Reserved1[1];
+  __IO TC_DBGCTRL_Type                DBGCTRL;        /**< Offset: 0x0F (R/W   8) Debug Control */
+  __I  TC_SYNCBUSY_Type               SYNCBUSY;       /**< Offset: 0x10 (R/   32) Synchronization Status */
+  __IO TC_COUNT8_COUNT_Type           COUNT;          /**< Offset: 0x14 (R/W   8) COUNT8 Count */
+  __I  uint8_t                        Reserved2[6];
+  __IO TC_COUNT8_PER_Type             PER;            /**< Offset: 0x1B (R/W   8) COUNT8 Period */
+  __IO TC_COUNT8_CC_Type              CC[2];          /**< Offset: 0x1C (R/W   8) COUNT8 Compare and Capture */
+  __I  uint8_t                        Reserved3[17];
+  __IO TC_COUNT8_PERBUF_Type          PERBUF;         /**< Offset: 0x2F (R/W   8) COUNT8 Period Buffer */
+  __IO TC_COUNT8_CCBUF_Type           CCBUF[2];       /**< Offset: 0x30 (R/W   8) COUNT8 Compare and Capture Buffer */
+} TcCount8;
+
+/** \brief TC hardware registers */
+typedef struct {  /* Basic Timer Counter */
+  __IO TC_CTRLA_Type                  CTRLA;          /**< Offset: 0x00 (R/W  32) Control A */
+  __IO TC_CTRLBCLR_Type               CTRLBCLR;       /**< Offset: 0x04 (R/W   8) Control B Clear */
+  __IO TC_CTRLBSET_Type               CTRLBSET;       /**< Offset: 0x05 (R/W   8) Control B Set */
+  __IO TC_EVCTRL_Type                 EVCTRL;         /**< Offset: 0x06 (R/W  16) Event Control */
+  __IO TC_INTENCLR_Type               INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt Enable Clear */
+  __IO TC_INTENSET_Type               INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt Enable Set */
+  __IO TC_INTFLAG_Type                INTFLAG;        /**< Offset: 0x0A (R/W   8) Interrupt Flag Status and Clear */
+  __IO TC_STATUS_Type                 STATUS;         /**< Offset: 0x0B (R/W   8) Status */
+  __IO TC_WAVE_Type                   WAVE;           /**< Offset: 0x0C (R/W   8) Waveform Generation Control */
+  __IO TC_DRVCTRL_Type                DRVCTRL;        /**< Offset: 0x0D (R/W   8) Control C */
+  __I  uint8_t                        Reserved1[1];
+  __IO TC_DBGCTRL_Type                DBGCTRL;        /**< Offset: 0x0F (R/W   8) Debug Control */
+  __I  TC_SYNCBUSY_Type               SYNCBUSY;       /**< Offset: 0x10 (R/   32) Synchronization Status */
+  __IO TC_COUNT16_COUNT_Type          COUNT;          /**< Offset: 0x14 (R/W  16) COUNT16 Count */
+  __I  uint8_t                        Reserved2[4];
+  __IO TC_COUNT16_PER_Type            PER;            /**< Offset: 0x1A (R/W  16) COUNT16 Period */
+  __IO TC_COUNT16_CC_Type             CC[2];          /**< Offset: 0x1C (R/W  16) COUNT16 Compare and Capture */
+  __I  uint8_t                        Reserved3[14];
+  __IO TC_COUNT16_PERBUF_Type         PERBUF;         /**< Offset: 0x2E (R/W  16) COUNT16 Period Buffer */
+  __IO TC_COUNT16_CCBUF_Type          CCBUF[2];       /**< Offset: 0x30 (R/W  16) COUNT16 Compare and Capture Buffer */
+} TcCount16;
+
+/** \brief TC hardware registers */
+typedef struct {  /* Basic Timer Counter */
+  __IO TC_CTRLA_Type                  CTRLA;          /**< Offset: 0x00 (R/W  32) Control A */
+  __IO TC_CTRLBCLR_Type               CTRLBCLR;       /**< Offset: 0x04 (R/W   8) Control B Clear */
+  __IO TC_CTRLBSET_Type               CTRLBSET;       /**< Offset: 0x05 (R/W   8) Control B Set */
+  __IO TC_EVCTRL_Type                 EVCTRL;         /**< Offset: 0x06 (R/W  16) Event Control */
+  __IO TC_INTENCLR_Type               INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt Enable Clear */
+  __IO TC_INTENSET_Type               INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt Enable Set */
+  __IO TC_INTFLAG_Type                INTFLAG;        /**< Offset: 0x0A (R/W   8) Interrupt Flag Status and Clear */
+  __IO TC_STATUS_Type                 STATUS;         /**< Offset: 0x0B (R/W   8) Status */
+  __IO TC_WAVE_Type                   WAVE;           /**< Offset: 0x0C (R/W   8) Waveform Generation Control */
+  __IO TC_DRVCTRL_Type                DRVCTRL;        /**< Offset: 0x0D (R/W   8) Control C */
+  __I  uint8_t                        Reserved1[1];
+  __IO TC_DBGCTRL_Type                DBGCTRL;        /**< Offset: 0x0F (R/W   8) Debug Control */
+  __I  TC_SYNCBUSY_Type               SYNCBUSY;       /**< Offset: 0x10 (R/   32) Synchronization Status */
+  __IO TC_COUNT32_COUNT_Type          COUNT;          /**< Offset: 0x14 (R/W  32) COUNT32 Count */
+  __IO TC_COUNT32_PER_Type            PER;            /**< Offset: 0x18 (R/W  32) COUNT32 Period */
+  __IO TC_COUNT32_CC_Type             CC[2];          /**< Offset: 0x1C (R/W  32) COUNT32 Compare and Capture */
+  __I  uint8_t                        Reserved2[8];
+  __IO TC_COUNT32_PERBUF_Type         PERBUF;         /**< Offset: 0x2C (R/W  32) COUNT32 Period Buffer */
+  __IO TC_COUNT32_CCBUF_Type          CCBUF[2];       /**< Offset: 0x30 (R/W  32) COUNT32 Compare and Capture Buffer */
+} TcCount32;
+
+/** \brief TC hardware registers */
+typedef union {  /* Basic Timer Counter */
+       TcCount8                       COUNT8;         /**< 8-bit Counter Mode */
+       TcCount16                      COUNT16;        /**< 16-bit Counter Mode */
+       TcCount32                      COUNT32;        /**< 32-bit Counter Mode */
+} Tc;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Basic Timer Counter */
+
+#endif /* _SAML11_TC_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/tram.h b/cpu/sam0_common/include/vendor/saml11/include/component/tram.h
new file mode 100644
index 0000000000..361341387f
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/tram.h
@@ -0,0 +1,316 @@
+/**
+ * \file
+ *
+ * \brief Component description for TRAM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_TRAM_COMPONENT_H_
+#define _SAML11_TRAM_COMPONENT_H_
+#define _SAML11_TRAM_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 TrustRAM
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR TRAM */
+/* ========================================================================== */
+
+#define TRAM_U2801                      /**< (TRAM) Module ID */
+#define REV_TRAM 0x100                  /**< (TRAM) Module revision */
+
+/* -------- TRAM_CTRLA : (TRAM Offset: 0x00) (R/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  SWRST:1;                   /**< bit:      0  Software Reset                           */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint8_t  :2;                        /**< bit:   2..3  Reserved */
+    uint8_t  TAMPERS:1;                 /**< bit:      4  Tamper Erase                             */
+    uint8_t  :1;                        /**< bit:      5  Reserved */
+    uint8_t  DRP:1;                     /**< bit:      6  Data Remanence Prevention                */
+    uint8_t  SILACC:1;                  /**< bit:      7  Silent Access                            */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_CTRLA_OFFSET                   (0x00)                                        /**<  (TRAM_CTRLA) Control  Offset */
+#define TRAM_CTRLA_RESETVALUE               _U_(0x00)                                     /**<  (TRAM_CTRLA) Control  Reset Value */
+
+#define TRAM_CTRLA_SWRST_Pos                0                                              /**< (TRAM_CTRLA) Software Reset Position */
+#define TRAM_CTRLA_SWRST_Msk                (_U_(0x1) << TRAM_CTRLA_SWRST_Pos)             /**< (TRAM_CTRLA) Software Reset Mask */
+#define TRAM_CTRLA_SWRST                    TRAM_CTRLA_SWRST_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_CTRLA_SWRST_Msk instead */
+#define TRAM_CTRLA_ENABLE_Pos               1                                              /**< (TRAM_CTRLA) Enable Position */
+#define TRAM_CTRLA_ENABLE_Msk               (_U_(0x1) << TRAM_CTRLA_ENABLE_Pos)            /**< (TRAM_CTRLA) Enable Mask */
+#define TRAM_CTRLA_ENABLE                   TRAM_CTRLA_ENABLE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_CTRLA_ENABLE_Msk instead */
+#define TRAM_CTRLA_TAMPERS_Pos              4                                              /**< (TRAM_CTRLA) Tamper Erase Position */
+#define TRAM_CTRLA_TAMPERS_Msk              (_U_(0x1) << TRAM_CTRLA_TAMPERS_Pos)           /**< (TRAM_CTRLA) Tamper Erase Mask */
+#define TRAM_CTRLA_TAMPERS                  TRAM_CTRLA_TAMPERS_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_CTRLA_TAMPERS_Msk instead */
+#define TRAM_CTRLA_DRP_Pos                  6                                              /**< (TRAM_CTRLA) Data Remanence Prevention Position */
+#define TRAM_CTRLA_DRP_Msk                  (_U_(0x1) << TRAM_CTRLA_DRP_Pos)               /**< (TRAM_CTRLA) Data Remanence Prevention Mask */
+#define TRAM_CTRLA_DRP                      TRAM_CTRLA_DRP_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_CTRLA_DRP_Msk instead */
+#define TRAM_CTRLA_SILACC_Pos               7                                              /**< (TRAM_CTRLA) Silent Access Position */
+#define TRAM_CTRLA_SILACC_Msk               (_U_(0x1) << TRAM_CTRLA_SILACC_Pos)            /**< (TRAM_CTRLA) Silent Access Mask */
+#define TRAM_CTRLA_SILACC                   TRAM_CTRLA_SILACC_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_CTRLA_SILACC_Msk instead */
+#define TRAM_CTRLA_MASK                     _U_(0xD3)                                      /**< \deprecated (TRAM_CTRLA) Register MASK  (Use TRAM_CTRLA_Msk instead)  */
+#define TRAM_CTRLA_Msk                      _U_(0xD3)                                      /**< (TRAM_CTRLA) Register Mask  */
+
+
+/* -------- TRAM_INTENCLR : (TRAM Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ERR:1;                     /**< bit:      0  TrustRAM Readout Error Interrupt Enable  */
+    uint8_t  DRP:1;                     /**< bit:      1  Data Remanence Prevention Ended Interrupt Enable */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_INTENCLR_OFFSET                (0x04)                                        /**<  (TRAM_INTENCLR) Interrupt Enable Clear  Offset */
+#define TRAM_INTENCLR_RESETVALUE            _U_(0x00)                                     /**<  (TRAM_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define TRAM_INTENCLR_ERR_Pos               0                                              /**< (TRAM_INTENCLR) TrustRAM Readout Error Interrupt Enable Position */
+#define TRAM_INTENCLR_ERR_Msk               (_U_(0x1) << TRAM_INTENCLR_ERR_Pos)            /**< (TRAM_INTENCLR) TrustRAM Readout Error Interrupt Enable Mask */
+#define TRAM_INTENCLR_ERR                   TRAM_INTENCLR_ERR_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTENCLR_ERR_Msk instead */
+#define TRAM_INTENCLR_DRP_Pos               1                                              /**< (TRAM_INTENCLR) Data Remanence Prevention Ended Interrupt Enable Position */
+#define TRAM_INTENCLR_DRP_Msk               (_U_(0x1) << TRAM_INTENCLR_DRP_Pos)            /**< (TRAM_INTENCLR) Data Remanence Prevention Ended Interrupt Enable Mask */
+#define TRAM_INTENCLR_DRP                   TRAM_INTENCLR_DRP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTENCLR_DRP_Msk instead */
+#define TRAM_INTENCLR_MASK                  _U_(0x03)                                      /**< \deprecated (TRAM_INTENCLR) Register MASK  (Use TRAM_INTENCLR_Msk instead)  */
+#define TRAM_INTENCLR_Msk                   _U_(0x03)                                      /**< (TRAM_INTENCLR) Register Mask  */
+
+
+/* -------- TRAM_INTENSET : (TRAM Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  ERR:1;                     /**< bit:      0  TrustRAM Readout Error Interrupt Enable  */
+    uint8_t  DRP:1;                     /**< bit:      1  Data Remanence Prevention Ended Interrupt Enable */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_INTENSET_OFFSET                (0x05)                                        /**<  (TRAM_INTENSET) Interrupt Enable Set  Offset */
+#define TRAM_INTENSET_RESETVALUE            _U_(0x00)                                     /**<  (TRAM_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define TRAM_INTENSET_ERR_Pos               0                                              /**< (TRAM_INTENSET) TrustRAM Readout Error Interrupt Enable Position */
+#define TRAM_INTENSET_ERR_Msk               (_U_(0x1) << TRAM_INTENSET_ERR_Pos)            /**< (TRAM_INTENSET) TrustRAM Readout Error Interrupt Enable Mask */
+#define TRAM_INTENSET_ERR                   TRAM_INTENSET_ERR_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTENSET_ERR_Msk instead */
+#define TRAM_INTENSET_DRP_Pos               1                                              /**< (TRAM_INTENSET) Data Remanence Prevention Ended Interrupt Enable Position */
+#define TRAM_INTENSET_DRP_Msk               (_U_(0x1) << TRAM_INTENSET_DRP_Pos)            /**< (TRAM_INTENSET) Data Remanence Prevention Ended Interrupt Enable Mask */
+#define TRAM_INTENSET_DRP                   TRAM_INTENSET_DRP_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTENSET_DRP_Msk instead */
+#define TRAM_INTENSET_MASK                  _U_(0x03)                                      /**< \deprecated (TRAM_INTENSET) Register MASK  (Use TRAM_INTENSET_Msk instead)  */
+#define TRAM_INTENSET_Msk                   _U_(0x03)                                      /**< (TRAM_INTENSET) Register Mask  */
+
+
+/* -------- TRAM_INTFLAG : (TRAM Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t ERR:1;                     /**< bit:      0  TrustRAM Readout Error                   */
+    __I uint8_t DRP:1;                     /**< bit:      1  Data Remanence Prevention Ended          */
+    __I uint8_t :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_INTFLAG_OFFSET                 (0x06)                                        /**<  (TRAM_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define TRAM_INTFLAG_RESETVALUE             _U_(0x00)                                     /**<  (TRAM_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define TRAM_INTFLAG_ERR_Pos                0                                              /**< (TRAM_INTFLAG) TrustRAM Readout Error Position */
+#define TRAM_INTFLAG_ERR_Msk                (_U_(0x1) << TRAM_INTFLAG_ERR_Pos)             /**< (TRAM_INTFLAG) TrustRAM Readout Error Mask */
+#define TRAM_INTFLAG_ERR                    TRAM_INTFLAG_ERR_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTFLAG_ERR_Msk instead */
+#define TRAM_INTFLAG_DRP_Pos                1                                              /**< (TRAM_INTFLAG) Data Remanence Prevention Ended Position */
+#define TRAM_INTFLAG_DRP_Msk                (_U_(0x1) << TRAM_INTFLAG_DRP_Pos)             /**< (TRAM_INTFLAG) Data Remanence Prevention Ended Mask */
+#define TRAM_INTFLAG_DRP                    TRAM_INTFLAG_DRP_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_INTFLAG_DRP_Msk instead */
+#define TRAM_INTFLAG_MASK                   _U_(0x03)                                      /**< \deprecated (TRAM_INTFLAG) Register MASK  (Use TRAM_INTFLAG_Msk instead)  */
+#define TRAM_INTFLAG_Msk                    _U_(0x03)                                      /**< (TRAM_INTFLAG) Register Mask  */
+
+
+/* -------- TRAM_STATUS : (TRAM Offset: 0x07) (R/ 8) Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  RAMINV:1;                  /**< bit:      0  RAM Inversion Bit                        */
+    uint8_t  DRP:1;                     /**< bit:      1  Data Remanence Prevention Ongoing        */
+    uint8_t  :6;                        /**< bit:   2..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_STATUS_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_STATUS_OFFSET                  (0x07)                                        /**<  (TRAM_STATUS) Status  Offset */
+#define TRAM_STATUS_RESETVALUE              _U_(0x00)                                     /**<  (TRAM_STATUS) Status  Reset Value */
+
+#define TRAM_STATUS_RAMINV_Pos              0                                              /**< (TRAM_STATUS) RAM Inversion Bit Position */
+#define TRAM_STATUS_RAMINV_Msk              (_U_(0x1) << TRAM_STATUS_RAMINV_Pos)           /**< (TRAM_STATUS) RAM Inversion Bit Mask */
+#define TRAM_STATUS_RAMINV                  TRAM_STATUS_RAMINV_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_STATUS_RAMINV_Msk instead */
+#define TRAM_STATUS_DRP_Pos                 1                                              /**< (TRAM_STATUS) Data Remanence Prevention Ongoing Position */
+#define TRAM_STATUS_DRP_Msk                 (_U_(0x1) << TRAM_STATUS_DRP_Pos)              /**< (TRAM_STATUS) Data Remanence Prevention Ongoing Mask */
+#define TRAM_STATUS_DRP                     TRAM_STATUS_DRP_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_STATUS_DRP_Msk instead */
+#define TRAM_STATUS_MASK                    _U_(0x03)                                      /**< \deprecated (TRAM_STATUS) Register MASK  (Use TRAM_STATUS_Msk instead)  */
+#define TRAM_STATUS_Msk                     _U_(0x03)                                      /**< (TRAM_STATUS) Register Mask  */
+
+
+/* -------- TRAM_SYNCBUSY : (TRAM Offset: 0x08) (R/ 32) Synchronization Busy Status -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t SWRST:1;                   /**< bit:      0  Software Reset Busy                      */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Busy                              */
+    uint32_t :30;                       /**< bit:  2..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TRAM_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_SYNCBUSY_OFFSET                (0x08)                                        /**<  (TRAM_SYNCBUSY) Synchronization Busy Status  Offset */
+#define TRAM_SYNCBUSY_RESETVALUE            _U_(0x00)                                     /**<  (TRAM_SYNCBUSY) Synchronization Busy Status  Reset Value */
+
+#define TRAM_SYNCBUSY_SWRST_Pos             0                                              /**< (TRAM_SYNCBUSY) Software Reset Busy Position */
+#define TRAM_SYNCBUSY_SWRST_Msk             (_U_(0x1) << TRAM_SYNCBUSY_SWRST_Pos)          /**< (TRAM_SYNCBUSY) Software Reset Busy Mask */
+#define TRAM_SYNCBUSY_SWRST                 TRAM_SYNCBUSY_SWRST_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_SYNCBUSY_SWRST_Msk instead */
+#define TRAM_SYNCBUSY_ENABLE_Pos            1                                              /**< (TRAM_SYNCBUSY) Enable Busy Position */
+#define TRAM_SYNCBUSY_ENABLE_Msk            (_U_(0x1) << TRAM_SYNCBUSY_ENABLE_Pos)         /**< (TRAM_SYNCBUSY) Enable Busy Mask */
+#define TRAM_SYNCBUSY_ENABLE                TRAM_SYNCBUSY_ENABLE_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_SYNCBUSY_ENABLE_Msk instead */
+#define TRAM_SYNCBUSY_MASK                  _U_(0x03)                                      /**< \deprecated (TRAM_SYNCBUSY) Register MASK  (Use TRAM_SYNCBUSY_Msk instead)  */
+#define TRAM_SYNCBUSY_Msk                   _U_(0x03)                                      /**< (TRAM_SYNCBUSY) Register Mask  */
+
+
+/* -------- TRAM_DSCC : (TRAM Offset: 0x0c) (/W 32) Data Scramble Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DSCKEY:30;                 /**< bit:  0..29  Data Scramble Key                        */
+    uint32_t :1;                        /**< bit:     30  Reserved */
+    uint32_t DSCEN:1;                   /**< bit:     31  Data Scramble Enable                     */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TRAM_DSCC_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_DSCC_OFFSET                    (0x0C)                                        /**<  (TRAM_DSCC) Data Scramble Control  Offset */
+#define TRAM_DSCC_RESETVALUE                _U_(0x00)                                     /**<  (TRAM_DSCC) Data Scramble Control  Reset Value */
+
+#define TRAM_DSCC_DSCKEY_Pos                0                                              /**< (TRAM_DSCC) Data Scramble Key Position */
+#define TRAM_DSCC_DSCKEY_Msk                (_U_(0x3FFFFFFF) << TRAM_DSCC_DSCKEY_Pos)      /**< (TRAM_DSCC) Data Scramble Key Mask */
+#define TRAM_DSCC_DSCKEY(value)             (TRAM_DSCC_DSCKEY_Msk & ((value) << TRAM_DSCC_DSCKEY_Pos))
+#define TRAM_DSCC_DSCEN_Pos                 31                                             /**< (TRAM_DSCC) Data Scramble Enable Position */
+#define TRAM_DSCC_DSCEN_Msk                 (_U_(0x1) << TRAM_DSCC_DSCEN_Pos)              /**< (TRAM_DSCC) Data Scramble Enable Mask */
+#define TRAM_DSCC_DSCEN                     TRAM_DSCC_DSCEN_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRAM_DSCC_DSCEN_Msk instead */
+#define TRAM_DSCC_MASK                      _U_(0xBFFFFFFF)                                /**< \deprecated (TRAM_DSCC) Register MASK  (Use TRAM_DSCC_Msk instead)  */
+#define TRAM_DSCC_Msk                       _U_(0xBFFFFFFF)                                /**< (TRAM_DSCC) Register Mask  */
+
+
+/* -------- TRAM_PERMW : (TRAM Offset: 0x10) (/W 8) Permutation Write -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATA:3;                    /**< bit:   0..2  Permutation Scrambler Data Input         */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_PERMW_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_PERMW_OFFSET                   (0x10)                                        /**<  (TRAM_PERMW) Permutation Write  Offset */
+#define TRAM_PERMW_RESETVALUE               _U_(0x00)                                     /**<  (TRAM_PERMW) Permutation Write  Reset Value */
+
+#define TRAM_PERMW_DATA_Pos                 0                                              /**< (TRAM_PERMW) Permutation Scrambler Data Input Position */
+#define TRAM_PERMW_DATA_Msk                 (_U_(0x7) << TRAM_PERMW_DATA_Pos)              /**< (TRAM_PERMW) Permutation Scrambler Data Input Mask */
+#define TRAM_PERMW_DATA(value)              (TRAM_PERMW_DATA_Msk & ((value) << TRAM_PERMW_DATA_Pos))
+#define TRAM_PERMW_MASK                     _U_(0x07)                                      /**< \deprecated (TRAM_PERMW) Register MASK  (Use TRAM_PERMW_Msk instead)  */
+#define TRAM_PERMW_Msk                      _U_(0x07)                                      /**< (TRAM_PERMW) Register Mask  */
+
+
+/* -------- TRAM_PERMR : (TRAM Offset: 0x11) (R/ 8) Permutation Read -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATA:3;                    /**< bit:   0..2  Permutation Scrambler Data Output        */
+    uint8_t  :5;                        /**< bit:   3..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRAM_PERMR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_PERMR_OFFSET                   (0x11)                                        /**<  (TRAM_PERMR) Permutation Read  Offset */
+#define TRAM_PERMR_RESETVALUE               _U_(0x00)                                     /**<  (TRAM_PERMR) Permutation Read  Reset Value */
+
+#define TRAM_PERMR_DATA_Pos                 0                                              /**< (TRAM_PERMR) Permutation Scrambler Data Output Position */
+#define TRAM_PERMR_DATA_Msk                 (_U_(0x7) << TRAM_PERMR_DATA_Pos)              /**< (TRAM_PERMR) Permutation Scrambler Data Output Mask */
+#define TRAM_PERMR_DATA(value)              (TRAM_PERMR_DATA_Msk & ((value) << TRAM_PERMR_DATA_Pos))
+#define TRAM_PERMR_MASK                     _U_(0x07)                                      /**< \deprecated (TRAM_PERMR) Register MASK  (Use TRAM_PERMR_Msk instead)  */
+#define TRAM_PERMR_Msk                      _U_(0x07)                                      /**< (TRAM_PERMR) Register Mask  */
+
+
+/* -------- TRAM_RAM : (TRAM Offset: 0x100) (R/W 32) TrustRAM -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:32;                   /**< bit:  0..31  Trust RAM Data                           */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TRAM_RAM_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRAM_RAM_OFFSET                     (0x100)                                       /**<  (TRAM_RAM) TrustRAM  Offset */
+#define TRAM_RAM_RESETVALUE                 _U_(0x00)                                     /**<  (TRAM_RAM) TrustRAM  Reset Value */
+
+#define TRAM_RAM_DATA_Pos                   0                                              /**< (TRAM_RAM) Trust RAM Data Position */
+#define TRAM_RAM_DATA_Msk                   (_U_(0xFFFFFFFF) << TRAM_RAM_DATA_Pos)         /**< (TRAM_RAM) Trust RAM Data Mask */
+#define TRAM_RAM_DATA(value)                (TRAM_RAM_DATA_Msk & ((value) << TRAM_RAM_DATA_Pos))
+#define TRAM_RAM_MASK                       _U_(0xFFFFFFFF)                                /**< \deprecated (TRAM_RAM) Register MASK  (Use TRAM_RAM_Msk instead)  */
+#define TRAM_RAM_Msk                        _U_(0xFFFFFFFF)                                /**< (TRAM_RAM) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief TRAM hardware registers */
+typedef struct {  /* TrustRAM */
+  __IO TRAM_CTRLA_Type                CTRLA;          /**< Offset: 0x00 (R/W   8) Control */
+  __I  uint8_t                        Reserved1[3];
+  __IO TRAM_INTENCLR_Type             INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO TRAM_INTENSET_Type             INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO TRAM_INTFLAG_Type              INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  TRAM_STATUS_Type               STATUS;         /**< Offset: 0x07 (R/    8) Status */
+  __I  TRAM_SYNCBUSY_Type             SYNCBUSY;       /**< Offset: 0x08 (R/   32) Synchronization Busy Status */
+  __O  TRAM_DSCC_Type                 DSCC;           /**< Offset: 0x0C ( /W  32) Data Scramble Control */
+  __O  TRAM_PERMW_Type                PERMW;          /**< Offset: 0x10 ( /W   8) Permutation Write */
+  __I  TRAM_PERMR_Type                PERMR;          /**< Offset: 0x11 (R/    8) Permutation Read */
+  __I  uint8_t                        Reserved2[238];
+  __IO TRAM_RAM_Type                  RAM[64];        /**< Offset: 0x100 (R/W  32) TrustRAM */
+} Tram;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of TrustRAM */
+
+#endif /* _SAML11_TRAM_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/trng.h b/cpu/sam0_common/include/vendor/saml11/include/component/trng.h
new file mode 100644
index 0000000000..e327cf2182
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/trng.h
@@ -0,0 +1,194 @@
+/**
+ * \file
+ *
+ * \brief Component description for TRNG
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_TRNG_COMPONENT_H_
+#define _SAML11_TRNG_COMPONENT_H_
+#define _SAML11_TRNG_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 True Random Generator
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR TRNG */
+/* ========================================================================== */
+
+#define TRNG_U2242                      /**< (TRNG) Module ID */
+#define REV_TRNG 0x120                  /**< (TRNG) Module revision */
+
+/* -------- TRNG_CTRLA : (TRNG Offset: 0x00) (R/W 8) Control A -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :1;                        /**< bit:      0  Reserved */
+    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 */
+} TRNG_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_CTRLA_OFFSET                   (0x00)                                        /**<  (TRNG_CTRLA) Control A  Offset */
+#define TRNG_CTRLA_RESETVALUE               _U_(0x00)                                     /**<  (TRNG_CTRLA) Control A  Reset Value */
+
+#define TRNG_CTRLA_ENABLE_Pos               1                                              /**< (TRNG_CTRLA) Enable Position */
+#define TRNG_CTRLA_ENABLE_Msk               (_U_(0x1) << TRNG_CTRLA_ENABLE_Pos)            /**< (TRNG_CTRLA) Enable Mask */
+#define TRNG_CTRLA_ENABLE                   TRNG_CTRLA_ENABLE_Msk                          /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_CTRLA_ENABLE_Msk instead */
+#define TRNG_CTRLA_RUNSTDBY_Pos             6                                              /**< (TRNG_CTRLA) Run in Standby Position */
+#define TRNG_CTRLA_RUNSTDBY_Msk             (_U_(0x1) << TRNG_CTRLA_RUNSTDBY_Pos)          /**< (TRNG_CTRLA) Run in Standby Mask */
+#define TRNG_CTRLA_RUNSTDBY                 TRNG_CTRLA_RUNSTDBY_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_CTRLA_RUNSTDBY_Msk instead */
+#define TRNG_CTRLA_MASK                     _U_(0x42)                                      /**< \deprecated (TRNG_CTRLA) Register MASK  (Use TRNG_CTRLA_Msk instead)  */
+#define TRNG_CTRLA_Msk                      _U_(0x42)                                      /**< (TRNG_CTRLA) Register Mask  */
+
+
+/* -------- TRNG_EVCTRL : (TRNG Offset: 0x04) (R/W 8) Event Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATARDYEO:1;               /**< bit:      0  Data Ready Event Output                  */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRNG_EVCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_EVCTRL_OFFSET                  (0x04)                                        /**<  (TRNG_EVCTRL) Event Control  Offset */
+#define TRNG_EVCTRL_RESETVALUE              _U_(0x00)                                     /**<  (TRNG_EVCTRL) Event Control  Reset Value */
+
+#define TRNG_EVCTRL_DATARDYEO_Pos           0                                              /**< (TRNG_EVCTRL) Data Ready Event Output Position */
+#define TRNG_EVCTRL_DATARDYEO_Msk           (_U_(0x1) << TRNG_EVCTRL_DATARDYEO_Pos)        /**< (TRNG_EVCTRL) Data Ready Event Output Mask */
+#define TRNG_EVCTRL_DATARDYEO               TRNG_EVCTRL_DATARDYEO_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_EVCTRL_DATARDYEO_Msk instead */
+#define TRNG_EVCTRL_MASK                    _U_(0x01)                                      /**< \deprecated (TRNG_EVCTRL) Register MASK  (Use TRNG_EVCTRL_Msk instead)  */
+#define TRNG_EVCTRL_Msk                     _U_(0x01)                                      /**< (TRNG_EVCTRL) Register Mask  */
+
+
+/* -------- TRNG_INTENCLR : (TRNG Offset: 0x08) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATARDY:1;                 /**< bit:      0  Data Ready Interrupt Enable              */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRNG_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_INTENCLR_OFFSET                (0x08)                                        /**<  (TRNG_INTENCLR) Interrupt Enable Clear  Offset */
+#define TRNG_INTENCLR_RESETVALUE            _U_(0x00)                                     /**<  (TRNG_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define TRNG_INTENCLR_DATARDY_Pos           0                                              /**< (TRNG_INTENCLR) Data Ready Interrupt Enable Position */
+#define TRNG_INTENCLR_DATARDY_Msk           (_U_(0x1) << TRNG_INTENCLR_DATARDY_Pos)        /**< (TRNG_INTENCLR) Data Ready Interrupt Enable Mask */
+#define TRNG_INTENCLR_DATARDY               TRNG_INTENCLR_DATARDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_INTENCLR_DATARDY_Msk instead */
+#define TRNG_INTENCLR_MASK                  _U_(0x01)                                      /**< \deprecated (TRNG_INTENCLR) Register MASK  (Use TRNG_INTENCLR_Msk instead)  */
+#define TRNG_INTENCLR_Msk                   _U_(0x01)                                      /**< (TRNG_INTENCLR) Register Mask  */
+
+
+/* -------- TRNG_INTENSET : (TRNG Offset: 0x09) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  DATARDY:1;                 /**< bit:      0  Data Ready Interrupt Enable              */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRNG_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_INTENSET_OFFSET                (0x09)                                        /**<  (TRNG_INTENSET) Interrupt Enable Set  Offset */
+#define TRNG_INTENSET_RESETVALUE            _U_(0x00)                                     /**<  (TRNG_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define TRNG_INTENSET_DATARDY_Pos           0                                              /**< (TRNG_INTENSET) Data Ready Interrupt Enable Position */
+#define TRNG_INTENSET_DATARDY_Msk           (_U_(0x1) << TRNG_INTENSET_DATARDY_Pos)        /**< (TRNG_INTENSET) Data Ready Interrupt Enable Mask */
+#define TRNG_INTENSET_DATARDY               TRNG_INTENSET_DATARDY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_INTENSET_DATARDY_Msk instead */
+#define TRNG_INTENSET_MASK                  _U_(0x01)                                      /**< \deprecated (TRNG_INTENSET) Register MASK  (Use TRNG_INTENSET_Msk instead)  */
+#define TRNG_INTENSET_Msk                   _U_(0x01)                                      /**< (TRNG_INTENSET) Register Mask  */
+
+
+/* -------- TRNG_INTFLAG : (TRNG Offset: 0x0a) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t DATARDY:1;                 /**< bit:      0  Data Ready Interrupt Flag                */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} TRNG_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_INTFLAG_OFFSET                 (0x0A)                                        /**<  (TRNG_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define TRNG_INTFLAG_RESETVALUE             _U_(0x00)                                     /**<  (TRNG_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define TRNG_INTFLAG_DATARDY_Pos            0                                              /**< (TRNG_INTFLAG) Data Ready Interrupt Flag Position */
+#define TRNG_INTFLAG_DATARDY_Msk            (_U_(0x1) << TRNG_INTFLAG_DATARDY_Pos)         /**< (TRNG_INTFLAG) Data Ready Interrupt Flag Mask */
+#define TRNG_INTFLAG_DATARDY                TRNG_INTFLAG_DATARDY_Msk                       /**< \deprecated Old style mask definition for 1 bit bitfield. Use TRNG_INTFLAG_DATARDY_Msk instead */
+#define TRNG_INTFLAG_MASK                   _U_(0x01)                                      /**< \deprecated (TRNG_INTFLAG) Register MASK  (Use TRNG_INTFLAG_Msk instead)  */
+#define TRNG_INTFLAG_Msk                    _U_(0x01)                                      /**< (TRNG_INTFLAG) Register Mask  */
+
+
+/* -------- TRNG_DATA : (TRNG Offset: 0x20) (R/ 32) Output Data -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t DATA:32;                   /**< bit:  0..31  Output Data                              */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} TRNG_DATA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define TRNG_DATA_OFFSET                    (0x20)                                        /**<  (TRNG_DATA) Output Data  Offset */
+#define TRNG_DATA_RESETVALUE                _U_(0x00)                                     /**<  (TRNG_DATA) Output Data  Reset Value */
+
+#define TRNG_DATA_DATA_Pos                  0                                              /**< (TRNG_DATA) Output Data Position */
+#define TRNG_DATA_DATA_Msk                  (_U_(0xFFFFFFFF) << TRNG_DATA_DATA_Pos)        /**< (TRNG_DATA) Output Data Mask */
+#define TRNG_DATA_DATA(value)               (TRNG_DATA_DATA_Msk & ((value) << TRNG_DATA_DATA_Pos))
+#define TRNG_DATA_MASK                      _U_(0xFFFFFFFF)                                /**< \deprecated (TRNG_DATA) Register MASK  (Use TRNG_DATA_Msk instead)  */
+#define TRNG_DATA_Msk                       _U_(0xFFFFFFFF)                                /**< (TRNG_DATA) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief TRNG hardware registers */
+typedef struct {  /* True Random Generator */
+  __IO TRNG_CTRLA_Type                CTRLA;          /**< Offset: 0x00 (R/W   8) Control A */
+  __I  uint8_t                        Reserved1[3];
+  __IO TRNG_EVCTRL_Type               EVCTRL;         /**< Offset: 0x04 (R/W   8) Event Control */
+  __I  uint8_t                        Reserved2[3];
+  __IO TRNG_INTENCLR_Type             INTENCLR;       /**< Offset: 0x08 (R/W   8) Interrupt Enable Clear */
+  __IO TRNG_INTENSET_Type             INTENSET;       /**< Offset: 0x09 (R/W   8) Interrupt Enable Set */
+  __IO TRNG_INTFLAG_Type              INTFLAG;        /**< Offset: 0x0A (R/W   8) Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved3[21];
+  __I  TRNG_DATA_Type                 DATA;           /**< Offset: 0x20 (R/   32) Output Data */
+} Trng;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of True Random Generator */
+
+#endif /* _SAML11_TRNG_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/component/wdt.h b/cpu/sam0_common/include/vendor/saml11/include/component/wdt.h
new file mode 100644
index 0000000000..0db587c690
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/component/wdt.h
@@ -0,0 +1,338 @@
+/**
+ * \file
+ *
+ * \brief Component description for WDT
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_WDT_COMPONENT_H_
+#define _SAML11_WDT_COMPONENT_H_
+#define _SAML11_WDT_COMPONENT_         /**< \deprecated  Backward compatibility for ASF */
+
+/** \addtogroup SAML_SAML11 Watchdog Timer
+ *  @{
+ */
+/* ========================================================================== */
+/**  SOFTWARE API DEFINITION FOR WDT */
+/* ========================================================================== */
+
+#define WDT_U2251                      /**< (WDT) Module ID */
+#define REV_WDT 0x200                  /**< (WDT) Module revision */
+
+/* -------- WDT_CTRLA : (WDT Offset: 0x00) (R/W 8) Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  :1;                        /**< bit:      0  Reserved */
+    uint8_t  ENABLE:1;                  /**< bit:      1  Enable                                   */
+    uint8_t  WEN:1;                     /**< bit:      2  Watchdog Timer Window Mode Enable        */
+    uint8_t  :3;                        /**< bit:   3..5  Reserved */
+    uint8_t  RUNSTDBY:1;                /**< bit:      6  Run During Standby                       */
+    uint8_t  ALWAYSON:1;                /**< bit:      7  Always-On                                */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_CTRLA_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_CTRLA_OFFSET                    (0x00)                                        /**<  (WDT_CTRLA) Control  Offset */
+#define WDT_CTRLA_RESETVALUE                _U_(0x00)                                     /**<  (WDT_CTRLA) Control  Reset Value */
+
+#define WDT_CTRLA_ENABLE_Pos                1                                              /**< (WDT_CTRLA) Enable Position */
+#define WDT_CTRLA_ENABLE_Msk                (_U_(0x1) << WDT_CTRLA_ENABLE_Pos)             /**< (WDT_CTRLA) Enable Mask */
+#define WDT_CTRLA_ENABLE                    WDT_CTRLA_ENABLE_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_CTRLA_ENABLE_Msk instead */
+#define WDT_CTRLA_WEN_Pos                   2                                              /**< (WDT_CTRLA) Watchdog Timer Window Mode Enable Position */
+#define WDT_CTRLA_WEN_Msk                   (_U_(0x1) << WDT_CTRLA_WEN_Pos)                /**< (WDT_CTRLA) Watchdog Timer Window Mode Enable Mask */
+#define WDT_CTRLA_WEN                       WDT_CTRLA_WEN_Msk                              /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_CTRLA_WEN_Msk instead */
+#define WDT_CTRLA_RUNSTDBY_Pos              6                                              /**< (WDT_CTRLA) Run During Standby Position */
+#define WDT_CTRLA_RUNSTDBY_Msk              (_U_(0x1) << WDT_CTRLA_RUNSTDBY_Pos)           /**< (WDT_CTRLA) Run During Standby Mask */
+#define WDT_CTRLA_RUNSTDBY                  WDT_CTRLA_RUNSTDBY_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_CTRLA_RUNSTDBY_Msk instead */
+#define WDT_CTRLA_ALWAYSON_Pos              7                                              /**< (WDT_CTRLA) Always-On Position */
+#define WDT_CTRLA_ALWAYSON_Msk              (_U_(0x1) << WDT_CTRLA_ALWAYSON_Pos)           /**< (WDT_CTRLA) Always-On Mask */
+#define WDT_CTRLA_ALWAYSON                  WDT_CTRLA_ALWAYSON_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_CTRLA_ALWAYSON_Msk instead */
+#define WDT_CTRLA_MASK                      _U_(0xC6)                                      /**< \deprecated (WDT_CTRLA) Register MASK  (Use WDT_CTRLA_Msk instead)  */
+#define WDT_CTRLA_Msk                       _U_(0xC6)                                      /**< (WDT_CTRLA) Register Mask  */
+
+
+/* -------- WDT_CONFIG : (WDT Offset: 0x01) (R/W 8) Configuration -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  PER:4;                     /**< bit:   0..3  Time-Out Period                          */
+    uint8_t  WINDOW:4;                  /**< bit:   4..7  Window Mode Time-Out Period              */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_CONFIG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_CONFIG_OFFSET                   (0x01)                                        /**<  (WDT_CONFIG) Configuration  Offset */
+#define WDT_CONFIG_RESETVALUE               _U_(0xBB)                                     /**<  (WDT_CONFIG) Configuration  Reset Value */
+
+#define WDT_CONFIG_PER_Pos                  0                                              /**< (WDT_CONFIG) Time-Out Period Position */
+#define WDT_CONFIG_PER_Msk                  (_U_(0xF) << WDT_CONFIG_PER_Pos)               /**< (WDT_CONFIG) Time-Out Period Mask */
+#define WDT_CONFIG_PER(value)               (WDT_CONFIG_PER_Msk & ((value) << WDT_CONFIG_PER_Pos))
+#define   WDT_CONFIG_PER_CYC8_Val           _U_(0x0)                                       /**< (WDT_CONFIG) 8 clock cycles  */
+#define   WDT_CONFIG_PER_CYC16_Val          _U_(0x1)                                       /**< (WDT_CONFIG) 16 clock cycles  */
+#define   WDT_CONFIG_PER_CYC32_Val          _U_(0x2)                                       /**< (WDT_CONFIG) 32 clock cycles  */
+#define   WDT_CONFIG_PER_CYC64_Val          _U_(0x3)                                       /**< (WDT_CONFIG) 64 clock cycles  */
+#define   WDT_CONFIG_PER_CYC128_Val         _U_(0x4)                                       /**< (WDT_CONFIG) 128 clock cycles  */
+#define   WDT_CONFIG_PER_CYC256_Val         _U_(0x5)                                       /**< (WDT_CONFIG) 256 clock cycles  */
+#define   WDT_CONFIG_PER_CYC512_Val         _U_(0x6)                                       /**< (WDT_CONFIG) 512 clock cycles  */
+#define   WDT_CONFIG_PER_CYC1024_Val        _U_(0x7)                                       /**< (WDT_CONFIG) 1024 clock cycles  */
+#define   WDT_CONFIG_PER_CYC2048_Val        _U_(0x8)                                       /**< (WDT_CONFIG) 2048 clock cycles  */
+#define   WDT_CONFIG_PER_CYC4096_Val        _U_(0x9)                                       /**< (WDT_CONFIG) 4096 clock cycles  */
+#define   WDT_CONFIG_PER_CYC8192_Val        _U_(0xA)                                       /**< (WDT_CONFIG) 8192 clock cycles  */
+#define   WDT_CONFIG_PER_CYC16384_Val       _U_(0xB)                                       /**< (WDT_CONFIG) 16384 clock cycles  */
+#define WDT_CONFIG_PER_CYC8                 (WDT_CONFIG_PER_CYC8_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 8 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC16                (WDT_CONFIG_PER_CYC16_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 16 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC32                (WDT_CONFIG_PER_CYC32_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 32 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC64                (WDT_CONFIG_PER_CYC64_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 64 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC128               (WDT_CONFIG_PER_CYC128_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 128 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC256               (WDT_CONFIG_PER_CYC256_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 256 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC512               (WDT_CONFIG_PER_CYC512_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 512 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC1024              (WDT_CONFIG_PER_CYC1024_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 1024 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC2048              (WDT_CONFIG_PER_CYC2048_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 2048 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC4096              (WDT_CONFIG_PER_CYC4096_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 4096 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC8192              (WDT_CONFIG_PER_CYC8192_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 8192 clock cycles Position  */
+#define WDT_CONFIG_PER_CYC16384             (WDT_CONFIG_PER_CYC16384_Val << WDT_CONFIG_PER_Pos)  /**< (WDT_CONFIG) 16384 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_Pos               4                                              /**< (WDT_CONFIG) Window Mode Time-Out Period Position */
+#define WDT_CONFIG_WINDOW_Msk               (_U_(0xF) << WDT_CONFIG_WINDOW_Pos)            /**< (WDT_CONFIG) Window Mode Time-Out Period Mask */
+#define WDT_CONFIG_WINDOW(value)            (WDT_CONFIG_WINDOW_Msk & ((value) << WDT_CONFIG_WINDOW_Pos))
+#define   WDT_CONFIG_WINDOW_CYC8_Val        _U_(0x0)                                       /**< (WDT_CONFIG) 8 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC16_Val       _U_(0x1)                                       /**< (WDT_CONFIG) 16 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC32_Val       _U_(0x2)                                       /**< (WDT_CONFIG) 32 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC64_Val       _U_(0x3)                                       /**< (WDT_CONFIG) 64 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC128_Val      _U_(0x4)                                       /**< (WDT_CONFIG) 128 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC256_Val      _U_(0x5)                                       /**< (WDT_CONFIG) 256 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC512_Val      _U_(0x6)                                       /**< (WDT_CONFIG) 512 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC1024_Val     _U_(0x7)                                       /**< (WDT_CONFIG) 1024 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC2048_Val     _U_(0x8)                                       /**< (WDT_CONFIG) 2048 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC4096_Val     _U_(0x9)                                       /**< (WDT_CONFIG) 4096 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC8192_Val     _U_(0xA)                                       /**< (WDT_CONFIG) 8192 clock cycles  */
+#define   WDT_CONFIG_WINDOW_CYC16384_Val    _U_(0xB)                                       /**< (WDT_CONFIG) 16384 clock cycles  */
+#define WDT_CONFIG_WINDOW_CYC8              (WDT_CONFIG_WINDOW_CYC8_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 8 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC16             (WDT_CONFIG_WINDOW_CYC16_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 16 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC32             (WDT_CONFIG_WINDOW_CYC32_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 32 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC64             (WDT_CONFIG_WINDOW_CYC64_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 64 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC128            (WDT_CONFIG_WINDOW_CYC128_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 128 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC256            (WDT_CONFIG_WINDOW_CYC256_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 256 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC512            (WDT_CONFIG_WINDOW_CYC512_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 512 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC1024           (WDT_CONFIG_WINDOW_CYC1024_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 1024 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC2048           (WDT_CONFIG_WINDOW_CYC2048_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 2048 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC4096           (WDT_CONFIG_WINDOW_CYC4096_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 4096 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC8192           (WDT_CONFIG_WINDOW_CYC8192_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 8192 clock cycles Position  */
+#define WDT_CONFIG_WINDOW_CYC16384          (WDT_CONFIG_WINDOW_CYC16384_Val << WDT_CONFIG_WINDOW_Pos)  /**< (WDT_CONFIG) 16384 clock cycles Position  */
+#define WDT_CONFIG_MASK                     _U_(0xFF)                                      /**< \deprecated (WDT_CONFIG) Register MASK  (Use WDT_CONFIG_Msk instead)  */
+#define WDT_CONFIG_Msk                      _U_(0xFF)                                      /**< (WDT_CONFIG) Register Mask  */
+
+
+/* -------- WDT_EWCTRL : (WDT Offset: 0x02) (R/W 8) Early Warning Interrupt Control -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  EWOFFSET:4;                /**< bit:   0..3  Early Warning Interrupt Time Offset      */
+    uint8_t  :4;                        /**< bit:   4..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_EWCTRL_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_EWCTRL_OFFSET                   (0x02)                                        /**<  (WDT_EWCTRL) Early Warning Interrupt Control  Offset */
+#define WDT_EWCTRL_RESETVALUE               _U_(0x0B)                                     /**<  (WDT_EWCTRL) Early Warning Interrupt Control  Reset Value */
+
+#define WDT_EWCTRL_EWOFFSET_Pos             0                                              /**< (WDT_EWCTRL) Early Warning Interrupt Time Offset Position */
+#define WDT_EWCTRL_EWOFFSET_Msk             (_U_(0xF) << WDT_EWCTRL_EWOFFSET_Pos)          /**< (WDT_EWCTRL) Early Warning Interrupt Time Offset Mask */
+#define WDT_EWCTRL_EWOFFSET(value)          (WDT_EWCTRL_EWOFFSET_Msk & ((value) << WDT_EWCTRL_EWOFFSET_Pos))
+#define   WDT_EWCTRL_EWOFFSET_CYC8_Val      _U_(0x0)                                       /**< (WDT_EWCTRL) 8 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC16_Val     _U_(0x1)                                       /**< (WDT_EWCTRL) 16 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC32_Val     _U_(0x2)                                       /**< (WDT_EWCTRL) 32 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC64_Val     _U_(0x3)                                       /**< (WDT_EWCTRL) 64 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC128_Val    _U_(0x4)                                       /**< (WDT_EWCTRL) 128 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC256_Val    _U_(0x5)                                       /**< (WDT_EWCTRL) 256 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC512_Val    _U_(0x6)                                       /**< (WDT_EWCTRL) 512 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC1024_Val   _U_(0x7)                                       /**< (WDT_EWCTRL) 1024 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC2048_Val   _U_(0x8)                                       /**< (WDT_EWCTRL) 2048 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC4096_Val   _U_(0x9)                                       /**< (WDT_EWCTRL) 4096 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC8192_Val   _U_(0xA)                                       /**< (WDT_EWCTRL) 8192 clock cycles  */
+#define   WDT_EWCTRL_EWOFFSET_CYC16384_Val  _U_(0xB)                                       /**< (WDT_EWCTRL) 16384 clock cycles  */
+#define WDT_EWCTRL_EWOFFSET_CYC8            (WDT_EWCTRL_EWOFFSET_CYC8_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 8 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC16           (WDT_EWCTRL_EWOFFSET_CYC16_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 16 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC32           (WDT_EWCTRL_EWOFFSET_CYC32_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 32 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC64           (WDT_EWCTRL_EWOFFSET_CYC64_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 64 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC128          (WDT_EWCTRL_EWOFFSET_CYC128_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 128 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC256          (WDT_EWCTRL_EWOFFSET_CYC256_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 256 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC512          (WDT_EWCTRL_EWOFFSET_CYC512_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 512 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC1024         (WDT_EWCTRL_EWOFFSET_CYC1024_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 1024 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC2048         (WDT_EWCTRL_EWOFFSET_CYC2048_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 2048 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC4096         (WDT_EWCTRL_EWOFFSET_CYC4096_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 4096 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC8192         (WDT_EWCTRL_EWOFFSET_CYC8192_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 8192 clock cycles Position  */
+#define WDT_EWCTRL_EWOFFSET_CYC16384        (WDT_EWCTRL_EWOFFSET_CYC16384_Val << WDT_EWCTRL_EWOFFSET_Pos)  /**< (WDT_EWCTRL) 16384 clock cycles Position  */
+#define WDT_EWCTRL_MASK                     _U_(0x0F)                                      /**< \deprecated (WDT_EWCTRL) Register MASK  (Use WDT_EWCTRL_Msk instead)  */
+#define WDT_EWCTRL_Msk                      _U_(0x0F)                                      /**< (WDT_EWCTRL) Register Mask  */
+
+
+/* -------- WDT_INTENCLR : (WDT Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  EW:1;                      /**< bit:      0  Early Warning Interrupt Enable           */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_INTENCLR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_INTENCLR_OFFSET                 (0x04)                                        /**<  (WDT_INTENCLR) Interrupt Enable Clear  Offset */
+#define WDT_INTENCLR_RESETVALUE             _U_(0x00)                                     /**<  (WDT_INTENCLR) Interrupt Enable Clear  Reset Value */
+
+#define WDT_INTENCLR_EW_Pos                 0                                              /**< (WDT_INTENCLR) Early Warning Interrupt Enable Position */
+#define WDT_INTENCLR_EW_Msk                 (_U_(0x1) << WDT_INTENCLR_EW_Pos)              /**< (WDT_INTENCLR) Early Warning Interrupt Enable Mask */
+#define WDT_INTENCLR_EW                     WDT_INTENCLR_EW_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_INTENCLR_EW_Msk instead */
+#define WDT_INTENCLR_MASK                   _U_(0x01)                                      /**< \deprecated (WDT_INTENCLR) Register MASK  (Use WDT_INTENCLR_Msk instead)  */
+#define WDT_INTENCLR_Msk                    _U_(0x01)                                      /**< (WDT_INTENCLR) Register Mask  */
+
+
+/* -------- WDT_INTENSET : (WDT Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  EW:1;                      /**< bit:      0  Early Warning Interrupt Enable           */
+    uint8_t  :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_INTENSET_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_INTENSET_OFFSET                 (0x05)                                        /**<  (WDT_INTENSET) Interrupt Enable Set  Offset */
+#define WDT_INTENSET_RESETVALUE             _U_(0x00)                                     /**<  (WDT_INTENSET) Interrupt Enable Set  Reset Value */
+
+#define WDT_INTENSET_EW_Pos                 0                                              /**< (WDT_INTENSET) Early Warning Interrupt Enable Position */
+#define WDT_INTENSET_EW_Msk                 (_U_(0x1) << WDT_INTENSET_EW_Pos)              /**< (WDT_INTENSET) Early Warning Interrupt Enable Mask */
+#define WDT_INTENSET_EW                     WDT_INTENSET_EW_Msk                            /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_INTENSET_EW_Msk instead */
+#define WDT_INTENSET_MASK                   _U_(0x01)                                      /**< \deprecated (WDT_INTENSET) Register MASK  (Use WDT_INTENSET_Msk instead)  */
+#define WDT_INTENSET_Msk                    _U_(0x01)                                      /**< (WDT_INTENSET) Register Mask  */
+
+
+/* -------- WDT_INTFLAG : (WDT Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { // __I to avoid read-modify-write on write-to-clear register
+  struct {
+    __I uint8_t EW:1;                      /**< bit:      0  Early Warning                            */
+    __I uint8_t :7;                        /**< bit:   1..7  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_INTFLAG_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_INTFLAG_OFFSET                  (0x06)                                        /**<  (WDT_INTFLAG) Interrupt Flag Status and Clear  Offset */
+#define WDT_INTFLAG_RESETVALUE              _U_(0x00)                                     /**<  (WDT_INTFLAG) Interrupt Flag Status and Clear  Reset Value */
+
+#define WDT_INTFLAG_EW_Pos                  0                                              /**< (WDT_INTFLAG) Early Warning Position */
+#define WDT_INTFLAG_EW_Msk                  (_U_(0x1) << WDT_INTFLAG_EW_Pos)               /**< (WDT_INTFLAG) Early Warning Mask */
+#define WDT_INTFLAG_EW                      WDT_INTFLAG_EW_Msk                             /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_INTFLAG_EW_Msk instead */
+#define WDT_INTFLAG_MASK                    _U_(0x01)                                      /**< \deprecated (WDT_INTFLAG) Register MASK  (Use WDT_INTFLAG_Msk instead)  */
+#define WDT_INTFLAG_Msk                     _U_(0x01)                                      /**< (WDT_INTFLAG) Register Mask  */
+
+
+/* -------- WDT_SYNCBUSY : (WDT Offset: 0x08) (R/ 32) Synchronization Busy -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint32_t :1;                        /**< bit:      0  Reserved */
+    uint32_t ENABLE:1;                  /**< bit:      1  Enable Synchronization Busy              */
+    uint32_t WEN:1;                     /**< bit:      2  Window Enable Synchronization Busy       */
+    uint32_t RUNSTDBY:1;                /**< bit:      3  Run During Standby Synchronization Busy  */
+    uint32_t ALWAYSON:1;                /**< bit:      4  Always-On Synchronization Busy           */
+    uint32_t CLEAR:1;                   /**< bit:      5  Clear Synchronization Busy               */
+    uint32_t :26;                       /**< bit:  6..31  Reserved */
+  } bit;                                /**< Structure used for bit  access */
+  uint32_t reg;                         /**< Type used for register access */
+} WDT_SYNCBUSY_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_SYNCBUSY_OFFSET                 (0x08)                                        /**<  (WDT_SYNCBUSY) Synchronization Busy  Offset */
+#define WDT_SYNCBUSY_RESETVALUE             _U_(0x00)                                     /**<  (WDT_SYNCBUSY) Synchronization Busy  Reset Value */
+
+#define WDT_SYNCBUSY_ENABLE_Pos             1                                              /**< (WDT_SYNCBUSY) Enable Synchronization Busy Position */
+#define WDT_SYNCBUSY_ENABLE_Msk             (_U_(0x1) << WDT_SYNCBUSY_ENABLE_Pos)          /**< (WDT_SYNCBUSY) Enable Synchronization Busy Mask */
+#define WDT_SYNCBUSY_ENABLE                 WDT_SYNCBUSY_ENABLE_Msk                        /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_SYNCBUSY_ENABLE_Msk instead */
+#define WDT_SYNCBUSY_WEN_Pos                2                                              /**< (WDT_SYNCBUSY) Window Enable Synchronization Busy Position */
+#define WDT_SYNCBUSY_WEN_Msk                (_U_(0x1) << WDT_SYNCBUSY_WEN_Pos)             /**< (WDT_SYNCBUSY) Window Enable Synchronization Busy Mask */
+#define WDT_SYNCBUSY_WEN                    WDT_SYNCBUSY_WEN_Msk                           /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_SYNCBUSY_WEN_Msk instead */
+#define WDT_SYNCBUSY_RUNSTDBY_Pos           3                                              /**< (WDT_SYNCBUSY) Run During Standby Synchronization Busy Position */
+#define WDT_SYNCBUSY_RUNSTDBY_Msk           (_U_(0x1) << WDT_SYNCBUSY_RUNSTDBY_Pos)        /**< (WDT_SYNCBUSY) Run During Standby Synchronization Busy Mask */
+#define WDT_SYNCBUSY_RUNSTDBY               WDT_SYNCBUSY_RUNSTDBY_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_SYNCBUSY_RUNSTDBY_Msk instead */
+#define WDT_SYNCBUSY_ALWAYSON_Pos           4                                              /**< (WDT_SYNCBUSY) Always-On Synchronization Busy Position */
+#define WDT_SYNCBUSY_ALWAYSON_Msk           (_U_(0x1) << WDT_SYNCBUSY_ALWAYSON_Pos)        /**< (WDT_SYNCBUSY) Always-On Synchronization Busy Mask */
+#define WDT_SYNCBUSY_ALWAYSON               WDT_SYNCBUSY_ALWAYSON_Msk                      /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_SYNCBUSY_ALWAYSON_Msk instead */
+#define WDT_SYNCBUSY_CLEAR_Pos              5                                              /**< (WDT_SYNCBUSY) Clear Synchronization Busy Position */
+#define WDT_SYNCBUSY_CLEAR_Msk              (_U_(0x1) << WDT_SYNCBUSY_CLEAR_Pos)           /**< (WDT_SYNCBUSY) Clear Synchronization Busy Mask */
+#define WDT_SYNCBUSY_CLEAR                  WDT_SYNCBUSY_CLEAR_Msk                         /**< \deprecated Old style mask definition for 1 bit bitfield. Use WDT_SYNCBUSY_CLEAR_Msk instead */
+#define WDT_SYNCBUSY_MASK                   _U_(0x3E)                                      /**< \deprecated (WDT_SYNCBUSY) Register MASK  (Use WDT_SYNCBUSY_Msk instead)  */
+#define WDT_SYNCBUSY_Msk                    _U_(0x3E)                                      /**< (WDT_SYNCBUSY) Register Mask  */
+
+
+/* -------- WDT_CLEAR : (WDT Offset: 0x0c) (/W 8) Clear -------- */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef union { 
+  struct {
+    uint8_t  CLEAR:8;                   /**< bit:   0..7  Watchdog Clear                           */
+  } bit;                                /**< Structure used for bit  access */
+  uint8_t  reg;                         /**< Type used for register access */
+} WDT_CLEAR_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#define WDT_CLEAR_OFFSET                    (0x0C)                                        /**<  (WDT_CLEAR) Clear  Offset */
+#define WDT_CLEAR_RESETVALUE                _U_(0x00)                                     /**<  (WDT_CLEAR) Clear  Reset Value */
+
+#define WDT_CLEAR_CLEAR_Pos                 0                                              /**< (WDT_CLEAR) Watchdog Clear Position */
+#define WDT_CLEAR_CLEAR_Msk                 (_U_(0xFF) << WDT_CLEAR_CLEAR_Pos)             /**< (WDT_CLEAR) Watchdog Clear Mask */
+#define WDT_CLEAR_CLEAR(value)              (WDT_CLEAR_CLEAR_Msk & ((value) << WDT_CLEAR_CLEAR_Pos))
+#define   WDT_CLEAR_CLEAR_KEY_Val           _U_(0xA5)                                      /**< (WDT_CLEAR) Clear Key  */
+#define WDT_CLEAR_CLEAR_KEY                 (WDT_CLEAR_CLEAR_KEY_Val << WDT_CLEAR_CLEAR_Pos)  /**< (WDT_CLEAR) Clear Key Position  */
+#define WDT_CLEAR_MASK                      _U_(0xFF)                                      /**< \deprecated (WDT_CLEAR) Register MASK  (Use WDT_CLEAR_Msk instead)  */
+#define WDT_CLEAR_Msk                       _U_(0xFF)                                      /**< (WDT_CLEAR) Register Mask  */
+
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** \brief WDT hardware registers */
+typedef struct {  /* Watchdog Timer */
+  __IO WDT_CTRLA_Type                 CTRLA;          /**< Offset: 0x00 (R/W   8) Control */
+  __IO WDT_CONFIG_Type                CONFIG;         /**< Offset: 0x01 (R/W   8) Configuration */
+  __IO WDT_EWCTRL_Type                EWCTRL;         /**< Offset: 0x02 (R/W   8) Early Warning Interrupt Control */
+  __I  uint8_t                        Reserved1[1];
+  __IO WDT_INTENCLR_Type              INTENCLR;       /**< Offset: 0x04 (R/W   8) Interrupt Enable Clear */
+  __IO WDT_INTENSET_Type              INTENSET;       /**< Offset: 0x05 (R/W   8) Interrupt Enable Set */
+  __IO WDT_INTFLAG_Type               INTFLAG;        /**< Offset: 0x06 (R/W   8) Interrupt Flag Status and Clear */
+  __I  uint8_t                        Reserved2[1];
+  __I  WDT_SYNCBUSY_Type              SYNCBUSY;       /**< Offset: 0x08 (R/   32) Synchronization Busy */
+  __O  WDT_CLEAR_Type                 CLEAR;          /**< Offset: 0x0C ( /W   8) Clear */
+} Wdt;
+
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Watchdog Timer */
+
+#endif /* _SAML11_WDT_COMPONENT_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/ac.h b/cpu/sam0_common/include/vendor/saml11/include/instance/ac.h
new file mode 100644
index 0000000000..3cca73f0b9
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/ac.h
@@ -0,0 +1,83 @@
+/**
+ * \file
+ *
+ * \brief Instance description for AC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_AC_INSTANCE_H_
+#define _SAML11_AC_INSTANCE_H_
+
+/* ========== Register definition for AC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_AC_CTRLA            (0x40003400) /**< (AC) Control A */
+#define REG_AC_CTRLB            (0x40003401) /**< (AC) Control B */
+#define REG_AC_EVCTRL           (0x40003402) /**< (AC) Event Control */
+#define REG_AC_INTENCLR         (0x40003404) /**< (AC) Interrupt Enable Clear */
+#define REG_AC_INTENSET         (0x40003405) /**< (AC) Interrupt Enable Set */
+#define REG_AC_INTFLAG          (0x40003406) /**< (AC) Interrupt Flag Status and Clear */
+#define REG_AC_STATUSA          (0x40003407) /**< (AC) Status A */
+#define REG_AC_STATUSB          (0x40003408) /**< (AC) Status B */
+#define REG_AC_DBGCTRL          (0x40003409) /**< (AC) Debug Control */
+#define REG_AC_WINCTRL          (0x4000340A) /**< (AC) Window Control */
+#define REG_AC_SCALER           (0x4000340C) /**< (AC) Scaler n */
+#define REG_AC_SCALER0          (0x4000340C) /**< (AC) Scaler 0 */
+#define REG_AC_SCALER1          (0x4000340D) /**< (AC) Scaler 1 */
+#define REG_AC_COMPCTRL         (0x40003410) /**< (AC) Comparator Control n */
+#define REG_AC_COMPCTRL0        (0x40003410) /**< (AC) Comparator Control 0 */
+#define REG_AC_COMPCTRL1        (0x40003414) /**< (AC) Comparator Control 1 */
+#define REG_AC_SYNCBUSY         (0x40003420) /**< (AC) Synchronization Busy */
+
+#else
+
+#define REG_AC_CTRLA            (*(__IO uint8_t*)0x40003400U) /**< (AC) Control A */
+#define REG_AC_CTRLB            (*(__O  uint8_t*)0x40003401U) /**< (AC) Control B */
+#define REG_AC_EVCTRL           (*(__IO uint16_t*)0x40003402U) /**< (AC) Event Control */
+#define REG_AC_INTENCLR         (*(__IO uint8_t*)0x40003404U) /**< (AC) Interrupt Enable Clear */
+#define REG_AC_INTENSET         (*(__IO uint8_t*)0x40003405U) /**< (AC) Interrupt Enable Set */
+#define REG_AC_INTFLAG          (*(__IO uint8_t*)0x40003406U) /**< (AC) Interrupt Flag Status and Clear */
+#define REG_AC_STATUSA          (*(__I  uint8_t*)0x40003407U) /**< (AC) Status A */
+#define REG_AC_STATUSB          (*(__I  uint8_t*)0x40003408U) /**< (AC) Status B */
+#define REG_AC_DBGCTRL          (*(__IO uint8_t*)0x40003409U) /**< (AC) Debug Control */
+#define REG_AC_WINCTRL          (*(__IO uint8_t*)0x4000340AU) /**< (AC) Window Control */
+#define REG_AC_SCALER           (*(__IO uint8_t*)0x4000340CU) /**< (AC) Scaler n */
+#define REG_AC_SCALER0          (*(__IO uint8_t*)0x4000340CU) /**< (AC) Scaler 0 */
+#define REG_AC_SCALER1          (*(__IO uint8_t*)0x4000340DU) /**< (AC) Scaler 1 */
+#define REG_AC_COMPCTRL         (*(__IO uint32_t*)0x40003410U) /**< (AC) Comparator Control n */
+#define REG_AC_COMPCTRL0        (*(__IO uint32_t*)0x40003410U) /**< (AC) Comparator Control 0 */
+#define REG_AC_COMPCTRL1        (*(__IO uint32_t*)0x40003414U) /**< (AC) Comparator Control 1 */
+#define REG_AC_SYNCBUSY         (*(__I  uint32_t*)0x40003420U) /**< (AC) Synchronization Busy */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for AC peripheral ========== */
+#define AC_GCLK_ID                               17         /* Index of Generic Clock */
+#define AC_NUM_CMP                               2          /* Number of comparators */
+#define AC_PAIRS                                 1          /* Number of pairs of comparators */
+#define AC_INSTANCE_ID                           13         
+
+#endif /* _SAML11_AC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/adc.h b/cpu/sam0_common/include/vendor/saml11/include/instance/adc.h
new file mode 100644
index 0000000000..0f3ea58d50
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/adc.h
@@ -0,0 +1,95 @@
+/**
+ * \file
+ *
+ * \brief Instance description for ADC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_ADC_INSTANCE_H_
+#define _SAML11_ADC_INSTANCE_H_
+
+/* ========== Register definition for ADC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_ADC_CTRLA           (0x42001C00) /**< (ADC) Control A */
+#define REG_ADC_CTRLB           (0x42001C01) /**< (ADC) Control B */
+#define REG_ADC_REFCTRL         (0x42001C02) /**< (ADC) Reference Control */
+#define REG_ADC_EVCTRL          (0x42001C03) /**< (ADC) Event Control */
+#define REG_ADC_INTENCLR        (0x42001C04) /**< (ADC) Interrupt Enable Clear */
+#define REG_ADC_INTENSET        (0x42001C05) /**< (ADC) Interrupt Enable Set */
+#define REG_ADC_INTFLAG         (0x42001C06) /**< (ADC) Interrupt Flag Status and Clear */
+#define REG_ADC_SEQSTATUS       (0x42001C07) /**< (ADC) Sequence Status */
+#define REG_ADC_INPUTCTRL       (0x42001C08) /**< (ADC) Input Control */
+#define REG_ADC_CTRLC           (0x42001C0A) /**< (ADC) Control C */
+#define REG_ADC_AVGCTRL         (0x42001C0C) /**< (ADC) Average Control */
+#define REG_ADC_SAMPCTRL        (0x42001C0D) /**< (ADC) Sample Time Control */
+#define REG_ADC_WINLT           (0x42001C0E) /**< (ADC) Window Monitor Lower Threshold */
+#define REG_ADC_WINUT           (0x42001C10) /**< (ADC) Window Monitor Upper Threshold */
+#define REG_ADC_GAINCORR        (0x42001C12) /**< (ADC) Gain Correction */
+#define REG_ADC_OFFSETCORR      (0x42001C14) /**< (ADC) Offset Correction */
+#define REG_ADC_SWTRIG          (0x42001C18) /**< (ADC) Software Trigger */
+#define REG_ADC_DBGCTRL         (0x42001C1C) /**< (ADC) Debug Control */
+#define REG_ADC_SYNCBUSY        (0x42001C20) /**< (ADC) Synchronization Busy */
+#define REG_ADC_RESULT          (0x42001C24) /**< (ADC) Result */
+#define REG_ADC_SEQCTRL         (0x42001C28) /**< (ADC) Sequence Control */
+#define REG_ADC_CALIB           (0x42001C2C) /**< (ADC) Calibration */
+
+#else
+
+#define REG_ADC_CTRLA           (*(__IO uint8_t*)0x42001C00U) /**< (ADC) Control A */
+#define REG_ADC_CTRLB           (*(__IO uint8_t*)0x42001C01U) /**< (ADC) Control B */
+#define REG_ADC_REFCTRL         (*(__IO uint8_t*)0x42001C02U) /**< (ADC) Reference Control */
+#define REG_ADC_EVCTRL          (*(__IO uint8_t*)0x42001C03U) /**< (ADC) Event Control */
+#define REG_ADC_INTENCLR        (*(__IO uint8_t*)0x42001C04U) /**< (ADC) Interrupt Enable Clear */
+#define REG_ADC_INTENSET        (*(__IO uint8_t*)0x42001C05U) /**< (ADC) Interrupt Enable Set */
+#define REG_ADC_INTFLAG         (*(__IO uint8_t*)0x42001C06U) /**< (ADC) Interrupt Flag Status and Clear */
+#define REG_ADC_SEQSTATUS       (*(__I  uint8_t*)0x42001C07U) /**< (ADC) Sequence Status */
+#define REG_ADC_INPUTCTRL       (*(__IO uint16_t*)0x42001C08U) /**< (ADC) Input Control */
+#define REG_ADC_CTRLC           (*(__IO uint16_t*)0x42001C0AU) /**< (ADC) Control C */
+#define REG_ADC_AVGCTRL         (*(__IO uint8_t*)0x42001C0CU) /**< (ADC) Average Control */
+#define REG_ADC_SAMPCTRL        (*(__IO uint8_t*)0x42001C0DU) /**< (ADC) Sample Time Control */
+#define REG_ADC_WINLT           (*(__IO uint16_t*)0x42001C0EU) /**< (ADC) Window Monitor Lower Threshold */
+#define REG_ADC_WINUT           (*(__IO uint16_t*)0x42001C10U) /**< (ADC) Window Monitor Upper Threshold */
+#define REG_ADC_GAINCORR        (*(__IO uint16_t*)0x42001C12U) /**< (ADC) Gain Correction */
+#define REG_ADC_OFFSETCORR      (*(__IO uint16_t*)0x42001C14U) /**< (ADC) Offset Correction */
+#define REG_ADC_SWTRIG          (*(__IO uint8_t*)0x42001C18U) /**< (ADC) Software Trigger */
+#define REG_ADC_DBGCTRL         (*(__IO uint8_t*)0x42001C1CU) /**< (ADC) Debug Control */
+#define REG_ADC_SYNCBUSY        (*(__I  uint16_t*)0x42001C20U) /**< (ADC) Synchronization Busy */
+#define REG_ADC_RESULT          (*(__I  uint16_t*)0x42001C24U) /**< (ADC) Result */
+#define REG_ADC_SEQCTRL         (*(__IO uint32_t*)0x42001C28U) /**< (ADC) Sequence Control */
+#define REG_ADC_CALIB           (*(__IO uint16_t*)0x42001C2CU) /**< (ADC) Calibration */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for ADC peripheral ========== */
+#define ADC_DMAC_ID_RESRDY                       19         /* index of DMA RESRDY trigger */
+#define ADC_EXTCHANNEL_MSB                       9          /* Number of external channels */
+#define ADC_GCLK_ID                              16         /* index of Generic Clock */
+#define ADC_INT_CH30                             1          /* Select OPAMP or CTAT on Channel 30 */
+#define ADC_MASTER_SLAVE_MODE                    0          /* ADC Master/Slave Mode */
+#define ADC_INSTANCE_ID                          71         
+
+#endif /* _SAML11_ADC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/ccl.h b/cpu/sam0_common/include/vendor/saml11/include/instance/ccl.h
new file mode 100644
index 0000000000..c8de9e9018
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/ccl.h
@@ -0,0 +1,61 @@
+/**
+ * \file
+ *
+ * \brief Instance description for CCL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_CCL_INSTANCE_H_
+#define _SAML11_CCL_INSTANCE_H_
+
+/* ========== Register definition for CCL peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_CCL_CTRL            (0x42002C00) /**< (CCL) Control */
+#define REG_CCL_SEQCTRL         (0x42002C04) /**< (CCL) SEQ Control x */
+#define REG_CCL_SEQCTRL0        (0x42002C04) /**< (CCL) SEQ Control x 0 */
+#define REG_CCL_LUTCTRL         (0x42002C08) /**< (CCL) LUT Control x */
+#define REG_CCL_LUTCTRL0        (0x42002C08) /**< (CCL) LUT Control x 0 */
+#define REG_CCL_LUTCTRL1        (0x42002C0C) /**< (CCL) LUT Control x 1 */
+
+#else
+
+#define REG_CCL_CTRL            (*(__IO uint8_t*)0x42002C00U) /**< (CCL) Control */
+#define REG_CCL_SEQCTRL         (*(__IO uint8_t*)0x42002C04U) /**< (CCL) SEQ Control x */
+#define REG_CCL_SEQCTRL0        (*(__IO uint8_t*)0x42002C04U) /**< (CCL) SEQ Control x 0 */
+#define REG_CCL_LUTCTRL         (*(__IO uint32_t*)0x42002C08U) /**< (CCL) LUT Control x */
+#define REG_CCL_LUTCTRL0        (*(__IO uint32_t*)0x42002C08U) /**< (CCL) LUT Control x 0 */
+#define REG_CCL_LUTCTRL1        (*(__IO uint32_t*)0x42002C0CU) /**< (CCL) LUT Control x 1 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for CCL peripheral ========== */
+#define CCL_GCLK_ID                              20         /* GCLK index for CCL */
+#define CCL_LUT_NUM                              2          /* Number of LUT in a CCL */
+#define CCL_SEQ_NUM                              1          /* Number of SEQ in a CCL */
+#define CCL_INSTANCE_ID                          75         
+
+#endif /* _SAML11_CCL_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/dac.h b/cpu/sam0_common/include/vendor/saml11/include/instance/dac.h
new file mode 100644
index 0000000000..114f361be1
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/dac.h
@@ -0,0 +1,70 @@
+/**
+ * \file
+ *
+ * \brief Instance description for DAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_DAC_INSTANCE_H_
+#define _SAML11_DAC_INSTANCE_H_
+
+/* ========== Register definition for DAC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_DAC_CTRLA           (0x42002000) /**< (DAC) Control A */
+#define REG_DAC_CTRLB           (0x42002001) /**< (DAC) Control B */
+#define REG_DAC_EVCTRL          (0x42002002) /**< (DAC) Event Control */
+#define REG_DAC_INTENCLR        (0x42002004) /**< (DAC) Interrupt Enable Clear */
+#define REG_DAC_INTENSET        (0x42002005) /**< (DAC) Interrupt Enable Set */
+#define REG_DAC_INTFLAG         (0x42002006) /**< (DAC) Interrupt Flag Status and Clear */
+#define REG_DAC_STATUS          (0x42002007) /**< (DAC) Status */
+#define REG_DAC_DATA            (0x42002008) /**< (DAC) Data */
+#define REG_DAC_DATABUF         (0x4200200C) /**< (DAC) Data Buffer */
+#define REG_DAC_SYNCBUSY        (0x42002010) /**< (DAC) Synchronization Busy */
+#define REG_DAC_DBGCTRL         (0x42002014) /**< (DAC) Debug Control */
+
+#else
+
+#define REG_DAC_CTRLA           (*(__IO uint8_t*)0x42002000U) /**< (DAC) Control A */
+#define REG_DAC_CTRLB           (*(__IO uint8_t*)0x42002001U) /**< (DAC) Control B */
+#define REG_DAC_EVCTRL          (*(__IO uint8_t*)0x42002002U) /**< (DAC) Event Control */
+#define REG_DAC_INTENCLR        (*(__IO uint8_t*)0x42002004U) /**< (DAC) Interrupt Enable Clear */
+#define REG_DAC_INTENSET        (*(__IO uint8_t*)0x42002005U) /**< (DAC) Interrupt Enable Set */
+#define REG_DAC_INTFLAG         (*(__IO uint8_t*)0x42002006U) /**< (DAC) Interrupt Flag Status and Clear */
+#define REG_DAC_STATUS          (*(__I  uint8_t*)0x42002007U) /**< (DAC) Status */
+#define REG_DAC_DATA            (*(__O  uint16_t*)0x42002008U) /**< (DAC) Data */
+#define REG_DAC_DATABUF         (*(__O  uint16_t*)0x4200200CU) /**< (DAC) Data Buffer */
+#define REG_DAC_SYNCBUSY        (*(__I  uint32_t*)0x42002010U) /**< (DAC) Synchronization Busy */
+#define REG_DAC_DBGCTRL         (*(__IO uint8_t*)0x42002014U) /**< (DAC) Debug Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for DAC peripheral ========== */
+#define DAC_DMAC_ID_EMPTY                        20         /* Index of DMA EMPTY trigger */
+#define DAC_GCLK_ID                              18         
+#define DAC_INSTANCE_ID                          72         
+
+#endif /* _SAML11_DAC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/dmac.h b/cpu/sam0_common/include/vendor/saml11/include/instance/dmac.h
new file mode 100644
index 0000000000..6241ec62bc
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/dmac.h
@@ -0,0 +1,103 @@
+/**
+ * \file
+ *
+ * \brief Instance description for DMAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_DMAC_INSTANCE_H_
+#define _SAML11_DMAC_INSTANCE_H_
+
+/* ========== Register definition for DMAC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_DMAC_CTRL           (0x41006000) /**< (DMAC) Control */
+#define REG_DMAC_CRCCTRL        (0x41006002) /**< (DMAC) CRC Control */
+#define REG_DMAC_CRCDATAIN      (0x41006004) /**< (DMAC) CRC Data Input */
+#define REG_DMAC_CRCCHKSUM      (0x41006008) /**< (DMAC) CRC Checksum */
+#define REG_DMAC_CRCSTATUS      (0x4100600C) /**< (DMAC) CRC Status */
+#define REG_DMAC_DBGCTRL        (0x4100600D) /**< (DMAC) Debug Control */
+#define REG_DMAC_QOSCTRL        (0x4100600E) /**< (DMAC) QOS Control */
+#define REG_DMAC_SWTRIGCTRL     (0x41006010) /**< (DMAC) Software Trigger Control */
+#define REG_DMAC_PRICTRL0       (0x41006014) /**< (DMAC) Priority Control 0 */
+#define REG_DMAC_INTPEND        (0x41006020) /**< (DMAC) Interrupt Pending */
+#define REG_DMAC_INTSTATUS      (0x41006024) /**< (DMAC) Interrupt Status */
+#define REG_DMAC_BUSYCH         (0x41006028) /**< (DMAC) Busy Channels */
+#define REG_DMAC_PENDCH         (0x4100602C) /**< (DMAC) Pending Channels */
+#define REG_DMAC_ACTIVE         (0x41006030) /**< (DMAC) Active Channel and Levels */
+#define REG_DMAC_BASEADDR       (0x41006034) /**< (DMAC) Descriptor Memory Section Base Address */
+#define REG_DMAC_WRBADDR        (0x41006038) /**< (DMAC) Write-Back Memory Section Base Address */
+#define REG_DMAC_CHID           (0x4100603F) /**< (DMAC) Channel ID */
+#define REG_DMAC_CHCTRLA        (0x41006040) /**< (DMAC) Channel Control A */
+#define REG_DMAC_CHCTRLB        (0x41006044) /**< (DMAC) Channel Control B */
+#define REG_DMAC_CHINTENCLR     (0x4100604C) /**< (DMAC) Channel Interrupt Enable Clear */
+#define REG_DMAC_CHINTENSET     (0x4100604D) /**< (DMAC) Channel Interrupt Enable Set */
+#define REG_DMAC_CHINTFLAG      (0x4100604E) /**< (DMAC) Channel Interrupt Flag Status and Clear */
+#define REG_DMAC_CHSTATUS       (0x4100604F) /**< (DMAC) Channel Status */
+
+#else
+
+#define REG_DMAC_CTRL           (*(__IO uint16_t*)0x41006000U) /**< (DMAC) Control */
+#define REG_DMAC_CRCCTRL        (*(__IO uint16_t*)0x41006002U) /**< (DMAC) CRC Control */
+#define REG_DMAC_CRCDATAIN      (*(__IO uint32_t*)0x41006004U) /**< (DMAC) CRC Data Input */
+#define REG_DMAC_CRCCHKSUM      (*(__IO uint32_t*)0x41006008U) /**< (DMAC) CRC Checksum */
+#define REG_DMAC_CRCSTATUS      (*(__IO uint8_t*)0x4100600CU) /**< (DMAC) CRC Status */
+#define REG_DMAC_DBGCTRL        (*(__IO uint8_t*)0x4100600DU) /**< (DMAC) Debug Control */
+#define REG_DMAC_QOSCTRL        (*(__IO uint8_t*)0x4100600EU) /**< (DMAC) QOS Control */
+#define REG_DMAC_SWTRIGCTRL     (*(__IO uint32_t*)0x41006010U) /**< (DMAC) Software Trigger Control */
+#define REG_DMAC_PRICTRL0       (*(__IO uint32_t*)0x41006014U) /**< (DMAC) Priority Control 0 */
+#define REG_DMAC_INTPEND        (*(__IO uint16_t*)0x41006020U) /**< (DMAC) Interrupt Pending */
+#define REG_DMAC_INTSTATUS      (*(__I  uint32_t*)0x41006024U) /**< (DMAC) Interrupt Status */
+#define REG_DMAC_BUSYCH         (*(__I  uint32_t*)0x41006028U) /**< (DMAC) Busy Channels */
+#define REG_DMAC_PENDCH         (*(__I  uint32_t*)0x4100602CU) /**< (DMAC) Pending Channels */
+#define REG_DMAC_ACTIVE         (*(__I  uint32_t*)0x41006030U) /**< (DMAC) Active Channel and Levels */
+#define REG_DMAC_BASEADDR       (*(__IO uint32_t*)0x41006034U) /**< (DMAC) Descriptor Memory Section Base Address */
+#define REG_DMAC_WRBADDR        (*(__IO uint32_t*)0x41006038U) /**< (DMAC) Write-Back Memory Section Base Address */
+#define REG_DMAC_CHID           (*(__IO uint8_t*)0x4100603FU) /**< (DMAC) Channel ID */
+#define REG_DMAC_CHCTRLA        (*(__IO uint8_t*)0x41006040U) /**< (DMAC) Channel Control A */
+#define REG_DMAC_CHCTRLB        (*(__IO uint32_t*)0x41006044U) /**< (DMAC) Channel Control B */
+#define REG_DMAC_CHINTENCLR     (*(__IO uint8_t*)0x4100604CU) /**< (DMAC) Channel Interrupt Enable Clear */
+#define REG_DMAC_CHINTENSET     (*(__IO uint8_t*)0x4100604DU) /**< (DMAC) Channel Interrupt Enable Set */
+#define REG_DMAC_CHINTFLAG      (*(__IO uint8_t*)0x4100604EU) /**< (DMAC) Channel Interrupt Flag Status and Clear */
+#define REG_DMAC_CHSTATUS       (*(__I  uint8_t*)0x4100604FU) /**< (DMAC) Channel Status */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for DMAC peripheral ========== */
+#define DMAC_CH_BITS                             3          /* Number of bits to select channel */
+#define DMAC_CH_NUM                              8          /* Number of channels */
+#define DMAC_EVIN_NUM                            4          /* Number of input events */
+#define DMAC_EVOUT_NUM                           4          /* Number of output events */
+#define DMAC_LVL_BITS                            2          /* Number of bit to select level priority */
+#define DMAC_LVL_NUM                             4          /* Enable priority level number */
+#define DMAC_QOSCTRL_D_RESETVALUE                2          /* QOS dmac ahb interface reset value */
+#define DMAC_QOSCTRL_F_RESETVALUE                2          /* QOS dmac fetch interface reset value */
+#define DMAC_QOSCTRL_WRB_RESETVALUE              2          /* QOS dmac write back interface reset value */
+#define DMAC_TRIG_BITS                           5          /* Number of bits to select trigger source */
+#define DMAC_TRIG_NUM                            24         /* Number of peripheral triggers */
+#define DMAC_INSTANCE_ID                         35         
+
+#endif /* _SAML11_DMAC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/dsu.h b/cpu/sam0_common/include/vendor/saml11/include/instance/dsu.h
new file mode 100644
index 0000000000..34356a3557
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/dsu.h
@@ -0,0 +1,116 @@
+/**
+ * \file
+ *
+ * \brief Instance description for DSU
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_DSU_INSTANCE_H_
+#define _SAML11_DSU_INSTANCE_H_
+
+/* ========== Register definition for DSU peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_DSU_CTRL            (0x41002000) /**< (DSU) Control */
+#define REG_DSU_STATUSA         (0x41002001) /**< (DSU) Status A */
+#define REG_DSU_STATUSB         (0x41002002) /**< (DSU) Status B */
+#define REG_DSU_STATUSC         (0x41002003) /**< (DSU) Status C */
+#define REG_DSU_ADDR            (0x41002004) /**< (DSU) Address */
+#define REG_DSU_LENGTH          (0x41002008) /**< (DSU) Length */
+#define REG_DSU_DATA            (0x4100200C) /**< (DSU) Data */
+#define REG_DSU_DCC             (0x41002010) /**< (DSU) Debug Communication Channel n */
+#define REG_DSU_DCC0            (0x41002010) /**< (DSU) Debug Communication Channel 0 */
+#define REG_DSU_DCC1            (0x41002014) /**< (DSU) Debug Communication Channel 1 */
+#define REG_DSU_DID             (0x41002018) /**< (DSU) Device Identification */
+#define REG_DSU_CFG             (0x4100201C) /**< (DSU) Configuration */
+#define REG_DSU_BCC             (0x41002020) /**< (DSU) Boot ROM Communication Channel n */
+#define REG_DSU_BCC0            (0x41002020) /**< (DSU) Boot ROM Communication Channel 0 */
+#define REG_DSU_BCC1            (0x41002024) /**< (DSU) Boot ROM Communication Channel 1 */
+#define REG_DSU_DCFG            (0x410020F0) /**< (DSU) Device Configuration */
+#define REG_DSU_DCFG0           (0x410020F0) /**< (DSU) Device Configuration 0 */
+#define REG_DSU_DCFG1           (0x410020F4) /**< (DSU) Device Configuration 1 */
+#define REG_DSU_ENTRY0          (0x41003000) /**< (DSU) CoreSight ROM Table Entry 0 */
+#define REG_DSU_ENTRY1          (0x41003004) /**< (DSU) CoreSight ROM Table Entry 1 */
+#define REG_DSU_END             (0x41003008) /**< (DSU) CoreSight ROM Table End */
+#define REG_DSU_MEMTYPE         (0x41003FCC) /**< (DSU) CoreSight ROM Table Memory Type */
+#define REG_DSU_PID4            (0x41003FD0) /**< (DSU) Peripheral Identification 4 */
+#define REG_DSU_PID5            (0x41003FD4) /**< (DSU) Peripheral Identification 5 */
+#define REG_DSU_PID6            (0x41003FD8) /**< (DSU) Peripheral Identification 6 */
+#define REG_DSU_PID7            (0x41003FDC) /**< (DSU) Peripheral Identification 7 */
+#define REG_DSU_PID0            (0x41003FE0) /**< (DSU) Peripheral Identification 0 */
+#define REG_DSU_PID1            (0x41003FE4) /**< (DSU) Peripheral Identification 1 */
+#define REG_DSU_PID2            (0x41003FE8) /**< (DSU) Peripheral Identification 2 */
+#define REG_DSU_PID3            (0x41003FEC) /**< (DSU) Peripheral Identification 3 */
+#define REG_DSU_CID0            (0x41003FF0) /**< (DSU) Component Identification 0 */
+#define REG_DSU_CID1            (0x41003FF4) /**< (DSU) Component Identification 1 */
+#define REG_DSU_CID2            (0x41003FF8) /**< (DSU) Component Identification 2 */
+#define REG_DSU_CID3            (0x41003FFC) /**< (DSU) Component Identification 3 */
+
+#else
+
+#define REG_DSU_CTRL            (*(__O  uint8_t*)0x41002000U) /**< (DSU) Control */
+#define REG_DSU_STATUSA         (*(__IO uint8_t*)0x41002001U) /**< (DSU) Status A */
+#define REG_DSU_STATUSB         (*(__I  uint8_t*)0x41002002U) /**< (DSU) Status B */
+#define REG_DSU_STATUSC         (*(__I  uint8_t*)0x41002003U) /**< (DSU) Status C */
+#define REG_DSU_ADDR            (*(__IO uint32_t*)0x41002004U) /**< (DSU) Address */
+#define REG_DSU_LENGTH          (*(__IO uint32_t*)0x41002008U) /**< (DSU) Length */
+#define REG_DSU_DATA            (*(__IO uint32_t*)0x4100200CU) /**< (DSU) Data */
+#define REG_DSU_DCC             (*(__IO uint32_t*)0x41002010U) /**< (DSU) Debug Communication Channel n */
+#define REG_DSU_DCC0            (*(__IO uint32_t*)0x41002010U) /**< (DSU) Debug Communication Channel 0 */
+#define REG_DSU_DCC1            (*(__IO uint32_t*)0x41002014U) /**< (DSU) Debug Communication Channel 1 */
+#define REG_DSU_DID             (*(__I  uint32_t*)0x41002018U) /**< (DSU) Device Identification */
+#define REG_DSU_CFG             (*(__IO uint32_t*)0x4100201CU) /**< (DSU) Configuration */
+#define REG_DSU_BCC             (*(__IO uint32_t*)0x41002020U) /**< (DSU) Boot ROM Communication Channel n */
+#define REG_DSU_BCC0            (*(__IO uint32_t*)0x41002020U) /**< (DSU) Boot ROM Communication Channel 0 */
+#define REG_DSU_BCC1            (*(__IO uint32_t*)0x41002024U) /**< (DSU) Boot ROM Communication Channel 1 */
+#define REG_DSU_DCFG            (*(__IO uint32_t*)0x410020F0U) /**< (DSU) Device Configuration */
+#define REG_DSU_DCFG0           (*(__IO uint32_t*)0x410020F0U) /**< (DSU) Device Configuration 0 */
+#define REG_DSU_DCFG1           (*(__IO uint32_t*)0x410020F4U) /**< (DSU) Device Configuration 1 */
+#define REG_DSU_ENTRY0          (*(__I  uint32_t*)0x41003000U) /**< (DSU) CoreSight ROM Table Entry 0 */
+#define REG_DSU_ENTRY1          (*(__I  uint32_t*)0x41003004U) /**< (DSU) CoreSight ROM Table Entry 1 */
+#define REG_DSU_END             (*(__I  uint32_t*)0x41003008U) /**< (DSU) CoreSight ROM Table End */
+#define REG_DSU_MEMTYPE         (*(__I  uint32_t*)0x41003FCCU) /**< (DSU) CoreSight ROM Table Memory Type */
+#define REG_DSU_PID4            (*(__I  uint32_t*)0x41003FD0U) /**< (DSU) Peripheral Identification 4 */
+#define REG_DSU_PID5            (*(__I  uint32_t*)0x41003FD4U) /**< (DSU) Peripheral Identification 5 */
+#define REG_DSU_PID6            (*(__I  uint32_t*)0x41003FD8U) /**< (DSU) Peripheral Identification 6 */
+#define REG_DSU_PID7            (*(__I  uint32_t*)0x41003FDCU) /**< (DSU) Peripheral Identification 7 */
+#define REG_DSU_PID0            (*(__I  uint32_t*)0x41003FE0U) /**< (DSU) Peripheral Identification 0 */
+#define REG_DSU_PID1            (*(__I  uint32_t*)0x41003FE4U) /**< (DSU) Peripheral Identification 1 */
+#define REG_DSU_PID2            (*(__I  uint32_t*)0x41003FE8U) /**< (DSU) Peripheral Identification 2 */
+#define REG_DSU_PID3            (*(__I  uint32_t*)0x41003FECU) /**< (DSU) Peripheral Identification 3 */
+#define REG_DSU_CID0            (*(__I  uint32_t*)0x41003FF0U) /**< (DSU) Component Identification 0 */
+#define REG_DSU_CID1            (*(__I  uint32_t*)0x41003FF4U) /**< (DSU) Component Identification 1 */
+#define REG_DSU_CID2            (*(__I  uint32_t*)0x41003FF8U) /**< (DSU) Component Identification 2 */
+#define REG_DSU_CID3            (*(__I  uint32_t*)0x41003FFCU) /**< (DSU) Component Identification 3 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for DSU peripheral ========== */
+#define DSU_DMAC_ID_DCC0                         2          /* DMAC ID for DCC0 register */
+#define DSU_DMAC_ID_DCC1                         3          /* DMAC ID for DCC1 register */
+#define DSU_INSTANCE_ID                          33         
+
+#endif /* _SAML11_DSU_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/eic.h b/cpu/sam0_common/include/vendor/saml11/include/instance/eic.h
new file mode 100644
index 0000000000..e7680e9846
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/eic.h
@@ -0,0 +1,84 @@
+/**
+ * \file
+ *
+ * \brief Instance description for EIC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_EIC_INSTANCE_H_
+#define _SAML11_EIC_INSTANCE_H_
+
+/* ========== Register definition for EIC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_EIC_CTRLA           (0x40002800) /**< (EIC) Control A */
+#define REG_EIC_NMICTRL         (0x40002801) /**< (EIC) Non-Maskable Interrupt Control */
+#define REG_EIC_NMIFLAG         (0x40002802) /**< (EIC) Non-Maskable Interrupt Flag Status and Clear */
+#define REG_EIC_SYNCBUSY        (0x40002804) /**< (EIC) Synchronization Busy */
+#define REG_EIC_EVCTRL          (0x40002808) /**< (EIC) Event Control */
+#define REG_EIC_INTENCLR        (0x4000280C) /**< (EIC) Interrupt Enable Clear */
+#define REG_EIC_INTENSET        (0x40002810) /**< (EIC) Interrupt Enable Set */
+#define REG_EIC_INTFLAG         (0x40002814) /**< (EIC) Interrupt Flag Status and Clear */
+#define REG_EIC_ASYNCH          (0x40002818) /**< (EIC) External Interrupt Asynchronous Mode */
+#define REG_EIC_CONFIG          (0x4000281C) /**< (EIC) External Interrupt Sense Configuration */
+#define REG_EIC_CONFIG0         (0x4000281C) /**< (EIC) External Interrupt Sense Configuration 0 */
+#define REG_EIC_DEBOUNCEN       (0x40002830) /**< (EIC) Debouncer Enable */
+#define REG_EIC_DPRESCALER      (0x40002834) /**< (EIC) Debouncer Prescaler */
+#define REG_EIC_PINSTATE        (0x40002838) /**< (EIC) Pin State */
+#define REG_EIC_NSCHK           (0x4000283C) /**< (EIC) Non-secure Interrupt Check Enable */
+#define REG_EIC_NONSEC          (0x40002840) /**< (EIC) Non-secure Interrupt */
+
+#else
+
+#define REG_EIC_CTRLA           (*(__IO uint8_t*)0x40002800U) /**< (EIC) Control A */
+#define REG_EIC_NMICTRL         (*(__IO uint8_t*)0x40002801U) /**< (EIC) Non-Maskable Interrupt Control */
+#define REG_EIC_NMIFLAG         (*(__IO uint16_t*)0x40002802U) /**< (EIC) Non-Maskable Interrupt Flag Status and Clear */
+#define REG_EIC_SYNCBUSY        (*(__I  uint32_t*)0x40002804U) /**< (EIC) Synchronization Busy */
+#define REG_EIC_EVCTRL          (*(__IO uint32_t*)0x40002808U) /**< (EIC) Event Control */
+#define REG_EIC_INTENCLR        (*(__IO uint32_t*)0x4000280CU) /**< (EIC) Interrupt Enable Clear */
+#define REG_EIC_INTENSET        (*(__IO uint32_t*)0x40002810U) /**< (EIC) Interrupt Enable Set */
+#define REG_EIC_INTFLAG         (*(__IO uint32_t*)0x40002814U) /**< (EIC) Interrupt Flag Status and Clear */
+#define REG_EIC_ASYNCH          (*(__IO uint32_t*)0x40002818U) /**< (EIC) External Interrupt Asynchronous Mode */
+#define REG_EIC_CONFIG          (*(__IO uint32_t*)0x4000281CU) /**< (EIC) External Interrupt Sense Configuration */
+#define REG_EIC_CONFIG0         (*(__IO uint32_t*)0x4000281CU) /**< (EIC) External Interrupt Sense Configuration 0 */
+#define REG_EIC_DEBOUNCEN       (*(__IO uint32_t*)0x40002830U) /**< (EIC) Debouncer Enable */
+#define REG_EIC_DPRESCALER      (*(__IO uint32_t*)0x40002834U) /**< (EIC) Debouncer Prescaler */
+#define REG_EIC_PINSTATE        (*(__I  uint32_t*)0x40002838U) /**< (EIC) Pin State */
+#define REG_EIC_NSCHK           (*(__IO uint32_t*)0x4000283CU) /**< (EIC) Non-secure Interrupt Check Enable */
+#define REG_EIC_NONSEC          (*(__IO uint32_t*)0x40002840U) /**< (EIC) Non-secure Interrupt */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for EIC peripheral ========== */
+#define EIC_EXTINT_NUM                           8          /* Number of external interrupts */
+#define EIC_GCLK_ID                              3          /* Generic Clock index */
+#define EIC_NUMBER_OF_CONFIG_REGS                1          /* Number of CONFIG registers */
+#define EIC_NUMBER_OF_DPRESCALER_REGS            1          /* Number of DPRESCALER registers */
+#define EIC_NUMBER_OF_INTERRUPTS                 8          /* Number of external interrupts (obsolete) */
+#define EIC_SECURE_IMPLEMENTED                   1          /* Security Configuration implemented? */
+#define EIC_INSTANCE_ID                          10         
+
+#endif /* _SAML11_EIC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/evsys.h b/cpu/sam0_common/include/vendor/saml11/include/instance/evsys.h
new file mode 100644
index 0000000000..7b2d4af1e9
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/evsys.h
@@ -0,0 +1,221 @@
+/**
+ * \file
+ *
+ * \brief Instance description for EVSYS
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_EVSYS_INSTANCE_H_
+#define _SAML11_EVSYS_INSTANCE_H_
+
+/* ========== Register definition for EVSYS peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_EVSYS_CHANNEL0      (0x42000020) /**< (EVSYS) Channel 0 Control */
+#define REG_EVSYS_CHINTENCLR0   (0x42000024) /**< (EVSYS) Channel 0 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET0   (0x42000025) /**< (EVSYS) Channel 0 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG0    (0x42000026) /**< (EVSYS) Channel 0 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS0     (0x42000027) /**< (EVSYS) Channel 0 Status */
+#define REG_EVSYS_CHANNEL1      (0x42000028) /**< (EVSYS) Channel 1 Control */
+#define REG_EVSYS_CHINTENCLR1   (0x4200002C) /**< (EVSYS) Channel 1 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET1   (0x4200002D) /**< (EVSYS) Channel 1 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG1    (0x4200002E) /**< (EVSYS) Channel 1 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS1     (0x4200002F) /**< (EVSYS) Channel 1 Status */
+#define REG_EVSYS_CHANNEL2      (0x42000030) /**< (EVSYS) Channel 2 Control */
+#define REG_EVSYS_CHINTENCLR2   (0x42000034) /**< (EVSYS) Channel 2 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET2   (0x42000035) /**< (EVSYS) Channel 2 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG2    (0x42000036) /**< (EVSYS) Channel 2 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS2     (0x42000037) /**< (EVSYS) Channel 2 Status */
+#define REG_EVSYS_CHANNEL3      (0x42000038) /**< (EVSYS) Channel 3 Control */
+#define REG_EVSYS_CHINTENCLR3   (0x4200003C) /**< (EVSYS) Channel 3 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET3   (0x4200003D) /**< (EVSYS) Channel 3 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG3    (0x4200003E) /**< (EVSYS) Channel 3 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS3     (0x4200003F) /**< (EVSYS) Channel 3 Status */
+#define REG_EVSYS_CHANNEL4      (0x42000040) /**< (EVSYS) Channel 4 Control */
+#define REG_EVSYS_CHINTENCLR4   (0x42000044) /**< (EVSYS) Channel 4 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET4   (0x42000045) /**< (EVSYS) Channel 4 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG4    (0x42000046) /**< (EVSYS) Channel 4 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS4     (0x42000047) /**< (EVSYS) Channel 4 Status */
+#define REG_EVSYS_CHANNEL5      (0x42000048) /**< (EVSYS) Channel 5 Control */
+#define REG_EVSYS_CHINTENCLR5   (0x4200004C) /**< (EVSYS) Channel 5 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET5   (0x4200004D) /**< (EVSYS) Channel 5 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG5    (0x4200004E) /**< (EVSYS) Channel 5 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS5     (0x4200004F) /**< (EVSYS) Channel 5 Status */
+#define REG_EVSYS_CHANNEL6      (0x42000050) /**< (EVSYS) Channel 6 Control */
+#define REG_EVSYS_CHINTENCLR6   (0x42000054) /**< (EVSYS) Channel 6 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET6   (0x42000055) /**< (EVSYS) Channel 6 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG6    (0x42000056) /**< (EVSYS) Channel 6 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS6     (0x42000057) /**< (EVSYS) Channel 6 Status */
+#define REG_EVSYS_CHANNEL7      (0x42000058) /**< (EVSYS) Channel 7 Control */
+#define REG_EVSYS_CHINTENCLR7   (0x4200005C) /**< (EVSYS) Channel 7 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET7   (0x4200005D) /**< (EVSYS) Channel 7 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG7    (0x4200005E) /**< (EVSYS) Channel 7 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS7     (0x4200005F) /**< (EVSYS) Channel 7 Status */
+#define REG_EVSYS_CTRLA         (0x42000000) /**< (EVSYS) Control */
+#define REG_EVSYS_SWEVT         (0x42000004) /**< (EVSYS) Software Event */
+#define REG_EVSYS_PRICTRL       (0x42000008) /**< (EVSYS) Priority Control */
+#define REG_EVSYS_INTPEND       (0x42000010) /**< (EVSYS) Channel Pending Interrupt */
+#define REG_EVSYS_INTSTATUS     (0x42000014) /**< (EVSYS) Interrupt Status */
+#define REG_EVSYS_BUSYCH        (0x42000018) /**< (EVSYS) Busy Channels */
+#define REG_EVSYS_READYUSR      (0x4200001C) /**< (EVSYS) Ready Users */
+#define REG_EVSYS_USER          (0x42000120) /**< (EVSYS) User Multiplexer n */
+#define REG_EVSYS_USER0         (0x42000120) /**< (EVSYS) User Multiplexer 0 */
+#define REG_EVSYS_USER1         (0x42000121) /**< (EVSYS) User Multiplexer 1 */
+#define REG_EVSYS_USER2         (0x42000122) /**< (EVSYS) User Multiplexer 2 */
+#define REG_EVSYS_USER3         (0x42000123) /**< (EVSYS) User Multiplexer 3 */
+#define REG_EVSYS_USER4         (0x42000124) /**< (EVSYS) User Multiplexer 4 */
+#define REG_EVSYS_USER5         (0x42000125) /**< (EVSYS) User Multiplexer 5 */
+#define REG_EVSYS_USER6         (0x42000126) /**< (EVSYS) User Multiplexer 6 */
+#define REG_EVSYS_USER7         (0x42000127) /**< (EVSYS) User Multiplexer 7 */
+#define REG_EVSYS_USER8         (0x42000128) /**< (EVSYS) User Multiplexer 8 */
+#define REG_EVSYS_USER9         (0x42000129) /**< (EVSYS) User Multiplexer 9 */
+#define REG_EVSYS_USER10        (0x4200012A) /**< (EVSYS) User Multiplexer 10 */
+#define REG_EVSYS_USER11        (0x4200012B) /**< (EVSYS) User Multiplexer 11 */
+#define REG_EVSYS_USER12        (0x4200012C) /**< (EVSYS) User Multiplexer 12 */
+#define REG_EVSYS_USER13        (0x4200012D) /**< (EVSYS) User Multiplexer 13 */
+#define REG_EVSYS_USER14        (0x4200012E) /**< (EVSYS) User Multiplexer 14 */
+#define REG_EVSYS_USER15        (0x4200012F) /**< (EVSYS) User Multiplexer 15 */
+#define REG_EVSYS_USER16        (0x42000130) /**< (EVSYS) User Multiplexer 16 */
+#define REG_EVSYS_USER17        (0x42000131) /**< (EVSYS) User Multiplexer 17 */
+#define REG_EVSYS_USER18        (0x42000132) /**< (EVSYS) User Multiplexer 18 */
+#define REG_EVSYS_USER19        (0x42000133) /**< (EVSYS) User Multiplexer 19 */
+#define REG_EVSYS_USER20        (0x42000134) /**< (EVSYS) User Multiplexer 20 */
+#define REG_EVSYS_USER21        (0x42000135) /**< (EVSYS) User Multiplexer 21 */
+#define REG_EVSYS_USER22        (0x42000136) /**< (EVSYS) User Multiplexer 22 */
+#define REG_EVSYS_INTENCLR      (0x420001D4) /**< (EVSYS) Interrupt Enable Clear */
+#define REG_EVSYS_INTENSET      (0x420001D5) /**< (EVSYS) Interrupt Enable Set */
+#define REG_EVSYS_INTFLAG       (0x420001D6) /**< (EVSYS) Interrupt Flag Status and Clear */
+#define REG_EVSYS_NONSECCHAN    (0x420001D8) /**< (EVSYS) Channels Security Attribution */
+#define REG_EVSYS_NSCHKCHAN     (0x420001DC) /**< (EVSYS) Non-Secure Channels Check */
+#define REG_EVSYS_NONSECUSER    (0x420001E0) /**< (EVSYS) Users Security Attribution */
+#define REG_EVSYS_NONSECUSER0   (0x420001E0) /**< (EVSYS) Users Security Attribution 0 */
+#define REG_EVSYS_NSCHKUSER     (0x420001F0) /**< (EVSYS) Non-Secure Users Check */
+#define REG_EVSYS_NSCHKUSER0    (0x420001F0) /**< (EVSYS) Non-Secure Users Check 0 */
+
+#else
+
+#define REG_EVSYS_CHANNEL0      (*(__IO uint32_t*)0x42000020U) /**< (EVSYS) Channel 0 Control */
+#define REG_EVSYS_CHINTENCLR0   (*(__IO uint8_t*)0x42000024U) /**< (EVSYS) Channel 0 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET0   (*(__IO uint8_t*)0x42000025U) /**< (EVSYS) Channel 0 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG0    (*(__IO uint8_t*)0x42000026U) /**< (EVSYS) Channel 0 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS0     (*(__I  uint8_t*)0x42000027U) /**< (EVSYS) Channel 0 Status */
+#define REG_EVSYS_CHANNEL1      (*(__IO uint32_t*)0x42000028U) /**< (EVSYS) Channel 1 Control */
+#define REG_EVSYS_CHINTENCLR1   (*(__IO uint8_t*)0x4200002CU) /**< (EVSYS) Channel 1 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET1   (*(__IO uint8_t*)0x4200002DU) /**< (EVSYS) Channel 1 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG1    (*(__IO uint8_t*)0x4200002EU) /**< (EVSYS) Channel 1 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS1     (*(__I  uint8_t*)0x4200002FU) /**< (EVSYS) Channel 1 Status */
+#define REG_EVSYS_CHANNEL2      (*(__IO uint32_t*)0x42000030U) /**< (EVSYS) Channel 2 Control */
+#define REG_EVSYS_CHINTENCLR2   (*(__IO uint8_t*)0x42000034U) /**< (EVSYS) Channel 2 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET2   (*(__IO uint8_t*)0x42000035U) /**< (EVSYS) Channel 2 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG2    (*(__IO uint8_t*)0x42000036U) /**< (EVSYS) Channel 2 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS2     (*(__I  uint8_t*)0x42000037U) /**< (EVSYS) Channel 2 Status */
+#define REG_EVSYS_CHANNEL3      (*(__IO uint32_t*)0x42000038U) /**< (EVSYS) Channel 3 Control */
+#define REG_EVSYS_CHINTENCLR3   (*(__IO uint8_t*)0x4200003CU) /**< (EVSYS) Channel 3 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET3   (*(__IO uint8_t*)0x4200003DU) /**< (EVSYS) Channel 3 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG3    (*(__IO uint8_t*)0x4200003EU) /**< (EVSYS) Channel 3 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS3     (*(__I  uint8_t*)0x4200003FU) /**< (EVSYS) Channel 3 Status */
+#define REG_EVSYS_CHANNEL4      (*(__IO uint32_t*)0x42000040U) /**< (EVSYS) Channel 4 Control */
+#define REG_EVSYS_CHINTENCLR4   (*(__IO uint8_t*)0x42000044U) /**< (EVSYS) Channel 4 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET4   (*(__IO uint8_t*)0x42000045U) /**< (EVSYS) Channel 4 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG4    (*(__IO uint8_t*)0x42000046U) /**< (EVSYS) Channel 4 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS4     (*(__I  uint8_t*)0x42000047U) /**< (EVSYS) Channel 4 Status */
+#define REG_EVSYS_CHANNEL5      (*(__IO uint32_t*)0x42000048U) /**< (EVSYS) Channel 5 Control */
+#define REG_EVSYS_CHINTENCLR5   (*(__IO uint8_t*)0x4200004CU) /**< (EVSYS) Channel 5 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET5   (*(__IO uint8_t*)0x4200004DU) /**< (EVSYS) Channel 5 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG5    (*(__IO uint8_t*)0x4200004EU) /**< (EVSYS) Channel 5 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS5     (*(__I  uint8_t*)0x4200004FU) /**< (EVSYS) Channel 5 Status */
+#define REG_EVSYS_CHANNEL6      (*(__IO uint32_t*)0x42000050U) /**< (EVSYS) Channel 6 Control */
+#define REG_EVSYS_CHINTENCLR6   (*(__IO uint8_t*)0x42000054U) /**< (EVSYS) Channel 6 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET6   (*(__IO uint8_t*)0x42000055U) /**< (EVSYS) Channel 6 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG6    (*(__IO uint8_t*)0x42000056U) /**< (EVSYS) Channel 6 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS6     (*(__I  uint8_t*)0x42000057U) /**< (EVSYS) Channel 6 Status */
+#define REG_EVSYS_CHANNEL7      (*(__IO uint32_t*)0x42000058U) /**< (EVSYS) Channel 7 Control */
+#define REG_EVSYS_CHINTENCLR7   (*(__IO uint8_t*)0x4200005CU) /**< (EVSYS) Channel 7 Interrupt Enable Clear */
+#define REG_EVSYS_CHINTENSET7   (*(__IO uint8_t*)0x4200005DU) /**< (EVSYS) Channel 7 Interrupt Enable Set */
+#define REG_EVSYS_CHINTFLAG7    (*(__IO uint8_t*)0x4200005EU) /**< (EVSYS) Channel 7 Interrupt Flag Status and Clear */
+#define REG_EVSYS_CHSTATUS7     (*(__I  uint8_t*)0x4200005FU) /**< (EVSYS) Channel 7 Status */
+#define REG_EVSYS_CTRLA         (*(__O  uint8_t*)0x42000000U) /**< (EVSYS) Control */
+#define REG_EVSYS_SWEVT         (*(__O  uint32_t*)0x42000004U) /**< (EVSYS) Software Event */
+#define REG_EVSYS_PRICTRL       (*(__IO uint8_t*)0x42000008U) /**< (EVSYS) Priority Control */
+#define REG_EVSYS_INTPEND       (*(__IO uint16_t*)0x42000010U) /**< (EVSYS) Channel Pending Interrupt */
+#define REG_EVSYS_INTSTATUS     (*(__I  uint32_t*)0x42000014U) /**< (EVSYS) Interrupt Status */
+#define REG_EVSYS_BUSYCH        (*(__I  uint32_t*)0x42000018U) /**< (EVSYS) Busy Channels */
+#define REG_EVSYS_READYUSR      (*(__I  uint32_t*)0x4200001CU) /**< (EVSYS) Ready Users */
+#define REG_EVSYS_USER          (*(__IO uint8_t*)0x42000120U) /**< (EVSYS) User Multiplexer n */
+#define REG_EVSYS_USER0         (*(__IO uint8_t*)0x42000120U) /**< (EVSYS) User Multiplexer 0 */
+#define REG_EVSYS_USER1         (*(__IO uint8_t*)0x42000121U) /**< (EVSYS) User Multiplexer 1 */
+#define REG_EVSYS_USER2         (*(__IO uint8_t*)0x42000122U) /**< (EVSYS) User Multiplexer 2 */
+#define REG_EVSYS_USER3         (*(__IO uint8_t*)0x42000123U) /**< (EVSYS) User Multiplexer 3 */
+#define REG_EVSYS_USER4         (*(__IO uint8_t*)0x42000124U) /**< (EVSYS) User Multiplexer 4 */
+#define REG_EVSYS_USER5         (*(__IO uint8_t*)0x42000125U) /**< (EVSYS) User Multiplexer 5 */
+#define REG_EVSYS_USER6         (*(__IO uint8_t*)0x42000126U) /**< (EVSYS) User Multiplexer 6 */
+#define REG_EVSYS_USER7         (*(__IO uint8_t*)0x42000127U) /**< (EVSYS) User Multiplexer 7 */
+#define REG_EVSYS_USER8         (*(__IO uint8_t*)0x42000128U) /**< (EVSYS) User Multiplexer 8 */
+#define REG_EVSYS_USER9         (*(__IO uint8_t*)0x42000129U) /**< (EVSYS) User Multiplexer 9 */
+#define REG_EVSYS_USER10        (*(__IO uint8_t*)0x4200012AU) /**< (EVSYS) User Multiplexer 10 */
+#define REG_EVSYS_USER11        (*(__IO uint8_t*)0x4200012BU) /**< (EVSYS) User Multiplexer 11 */
+#define REG_EVSYS_USER12        (*(__IO uint8_t*)0x4200012CU) /**< (EVSYS) User Multiplexer 12 */
+#define REG_EVSYS_USER13        (*(__IO uint8_t*)0x4200012DU) /**< (EVSYS) User Multiplexer 13 */
+#define REG_EVSYS_USER14        (*(__IO uint8_t*)0x4200012EU) /**< (EVSYS) User Multiplexer 14 */
+#define REG_EVSYS_USER15        (*(__IO uint8_t*)0x4200012FU) /**< (EVSYS) User Multiplexer 15 */
+#define REG_EVSYS_USER16        (*(__IO uint8_t*)0x42000130U) /**< (EVSYS) User Multiplexer 16 */
+#define REG_EVSYS_USER17        (*(__IO uint8_t*)0x42000131U) /**< (EVSYS) User Multiplexer 17 */
+#define REG_EVSYS_USER18        (*(__IO uint8_t*)0x42000132U) /**< (EVSYS) User Multiplexer 18 */
+#define REG_EVSYS_USER19        (*(__IO uint8_t*)0x42000133U) /**< (EVSYS) User Multiplexer 19 */
+#define REG_EVSYS_USER20        (*(__IO uint8_t*)0x42000134U) /**< (EVSYS) User Multiplexer 20 */
+#define REG_EVSYS_USER21        (*(__IO uint8_t*)0x42000135U) /**< (EVSYS) User Multiplexer 21 */
+#define REG_EVSYS_USER22        (*(__IO uint8_t*)0x42000136U) /**< (EVSYS) User Multiplexer 22 */
+#define REG_EVSYS_INTENCLR      (*(__IO uint8_t*)0x420001D4U) /**< (EVSYS) Interrupt Enable Clear */
+#define REG_EVSYS_INTENSET      (*(__IO uint8_t*)0x420001D5U) /**< (EVSYS) Interrupt Enable Set */
+#define REG_EVSYS_INTFLAG       (*(__IO uint8_t*)0x420001D6U) /**< (EVSYS) Interrupt Flag Status and Clear */
+#define REG_EVSYS_NONSECCHAN    (*(__IO uint32_t*)0x420001D8U) /**< (EVSYS) Channels Security Attribution */
+#define REG_EVSYS_NSCHKCHAN     (*(__IO uint32_t*)0x420001DCU) /**< (EVSYS) Non-Secure Channels Check */
+#define REG_EVSYS_NONSECUSER    (*(__IO uint32_t*)0x420001E0U) /**< (EVSYS) Users Security Attribution */
+#define REG_EVSYS_NONSECUSER0   (*(__IO uint32_t*)0x420001E0U) /**< (EVSYS) Users Security Attribution 0 */
+#define REG_EVSYS_NSCHKUSER     (*(__IO uint32_t*)0x420001F0U) /**< (EVSYS) Non-Secure Users Check */
+#define REG_EVSYS_NSCHKUSER0    (*(__IO uint32_t*)0x420001F0U) /**< (EVSYS) Non-Secure Users Check 0 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for EVSYS peripheral ========== */
+#define EVSYS_ASYNCHRONOUS_CHANNELS              0x000000F0 /* Mask of Only Asynchronous Channels */
+#define EVSYS_CHANNELS                           8          /* Number of Channels */
+#define EVSYS_CHANNELS_BITS                      3          /* Number of bits to select Channel */
+#define EVSYS_GCLK_ID_0                          6          /* Index of Generic Clock 0 */
+#define EVSYS_GCLK_ID_1                          7          /* Index of Generic Clock 1 */
+#define EVSYS_GCLK_ID_2                          8          /* Index of Generic Clock 2 */
+#define EVSYS_GCLK_ID_3                          9          /* Index of Generic Clock 3 */
+#define EVSYS_GENERATORS                         49         /* Total Number of Event Generators */
+#define EVSYS_GENERATORS_BITS                    6          /* Number of bits to select Event Generator */
+#define EVSYS_SECURE_IMPLEMENTED                 1          /* Secure Channels/Users supported? */
+#define EVSYS_SYNCH_NUM                          4          /* Number of Synchronous Channels */
+#define EVSYS_SYNCH_NUM_BITS                     2          /* Number of bits to select Synchronous Channels */
+#define EVSYS_USERS                              23         /* Total Number of Event Users */
+#define EVSYS_USERS_BITS                         5          /* Number of bits to select Event User */
+#define EVSYS_USERS_GROUPS                       1          /* Number of 32-user groups */
+#define EVSYS_INSTANCE_ID                        64         
+
+#endif /* _SAML11_EVSYS_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/freqm.h b/cpu/sam0_common/include/vendor/saml11/include/instance/freqm.h
new file mode 100644
index 0000000000..39a4073052
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/freqm.h
@@ -0,0 +1,66 @@
+/**
+ * \file
+ *
+ * \brief Instance description for FREQM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_FREQM_INSTANCE_H_
+#define _SAML11_FREQM_INSTANCE_H_
+
+/* ========== Register definition for FREQM peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_FREQM_CTRLA         (0x40002C00) /**< (FREQM) Control A Register */
+#define REG_FREQM_CTRLB         (0x40002C01) /**< (FREQM) Control B Register */
+#define REG_FREQM_CFGA          (0x40002C02) /**< (FREQM) Config A register */
+#define REG_FREQM_INTENCLR      (0x40002C08) /**< (FREQM) Interrupt Enable Clear Register */
+#define REG_FREQM_INTENSET      (0x40002C09) /**< (FREQM) Interrupt Enable Set Register */
+#define REG_FREQM_INTFLAG       (0x40002C0A) /**< (FREQM) Interrupt Flag Register */
+#define REG_FREQM_STATUS        (0x40002C0B) /**< (FREQM) Status Register */
+#define REG_FREQM_SYNCBUSY      (0x40002C0C) /**< (FREQM) Synchronization Busy Register */
+#define REG_FREQM_VALUE         (0x40002C10) /**< (FREQM) Count Value Register */
+
+#else
+
+#define REG_FREQM_CTRLA         (*(__IO uint8_t*)0x40002C00U) /**< (FREQM) Control A Register */
+#define REG_FREQM_CTRLB         (*(__O  uint8_t*)0x40002C01U) /**< (FREQM) Control B Register */
+#define REG_FREQM_CFGA          (*(__IO uint16_t*)0x40002C02U) /**< (FREQM) Config A register */
+#define REG_FREQM_INTENCLR      (*(__IO uint8_t*)0x40002C08U) /**< (FREQM) Interrupt Enable Clear Register */
+#define REG_FREQM_INTENSET      (*(__IO uint8_t*)0x40002C09U) /**< (FREQM) Interrupt Enable Set Register */
+#define REG_FREQM_INTFLAG       (*(__IO uint8_t*)0x40002C0AU) /**< (FREQM) Interrupt Flag Register */
+#define REG_FREQM_STATUS        (*(__IO uint8_t*)0x40002C0BU) /**< (FREQM) Status Register */
+#define REG_FREQM_SYNCBUSY      (*(__I  uint32_t*)0x40002C0CU) /**< (FREQM) Synchronization Busy Register */
+#define REG_FREQM_VALUE         (*(__I  uint32_t*)0x40002C10U) /**< (FREQM) Count Value Register */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for FREQM peripheral ========== */
+#define FREQM_GCLK_ID_MSR                        4          /* Index of measure generic clock */
+#define FREQM_GCLK_ID_REF                        5          /* Index of reference generic clock */
+#define FREQM_INSTANCE_ID                        11         
+
+#endif /* _SAML11_FREQM_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/gclk.h b/cpu/sam0_common/include/vendor/saml11/include/instance/gclk.h
new file mode 100644
index 0000000000..7b1bf99c43
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/gclk.h
@@ -0,0 +1,114 @@
+/**
+ * \file
+ *
+ * \brief Instance description for GCLK
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_GCLK_INSTANCE_H_
+#define _SAML11_GCLK_INSTANCE_H_
+
+/* ========== Register definition for GCLK peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_GCLK_CTRLA          (0x40001C00) /**< (GCLK) Control */
+#define REG_GCLK_SYNCBUSY       (0x40001C04) /**< (GCLK) Synchronization Busy */
+#define REG_GCLK_GENCTRL        (0x40001C20) /**< (GCLK) Generic Clock Generator Control */
+#define REG_GCLK_GENCTRL0       (0x40001C20) /**< (GCLK) Generic Clock Generator Control 0 */
+#define REG_GCLK_GENCTRL1       (0x40001C24) /**< (GCLK) Generic Clock Generator Control 1 */
+#define REG_GCLK_GENCTRL2       (0x40001C28) /**< (GCLK) Generic Clock Generator Control 2 */
+#define REG_GCLK_GENCTRL3       (0x40001C2C) /**< (GCLK) Generic Clock Generator Control 3 */
+#define REG_GCLK_GENCTRL4       (0x40001C30) /**< (GCLK) Generic Clock Generator Control 4 */
+#define REG_GCLK_PCHCTRL        (0x40001C80) /**< (GCLK) Peripheral Clock Control */
+#define REG_GCLK_PCHCTRL0       (0x40001C80) /**< (GCLK) Peripheral Clock Control 0 */
+#define REG_GCLK_PCHCTRL1       (0x40001C84) /**< (GCLK) Peripheral Clock Control 1 */
+#define REG_GCLK_PCHCTRL2       (0x40001C88) /**< (GCLK) Peripheral Clock Control 2 */
+#define REG_GCLK_PCHCTRL3       (0x40001C8C) /**< (GCLK) Peripheral Clock Control 3 */
+#define REG_GCLK_PCHCTRL4       (0x40001C90) /**< (GCLK) Peripheral Clock Control 4 */
+#define REG_GCLK_PCHCTRL5       (0x40001C94) /**< (GCLK) Peripheral Clock Control 5 */
+#define REG_GCLK_PCHCTRL6       (0x40001C98) /**< (GCLK) Peripheral Clock Control 6 */
+#define REG_GCLK_PCHCTRL7       (0x40001C9C) /**< (GCLK) Peripheral Clock Control 7 */
+#define REG_GCLK_PCHCTRL8       (0x40001CA0) /**< (GCLK) Peripheral Clock Control 8 */
+#define REG_GCLK_PCHCTRL9       (0x40001CA4) /**< (GCLK) Peripheral Clock Control 9 */
+#define REG_GCLK_PCHCTRL10      (0x40001CA8) /**< (GCLK) Peripheral Clock Control 10 */
+#define REG_GCLK_PCHCTRL11      (0x40001CAC) /**< (GCLK) Peripheral Clock Control 11 */
+#define REG_GCLK_PCHCTRL12      (0x40001CB0) /**< (GCLK) Peripheral Clock Control 12 */
+#define REG_GCLK_PCHCTRL13      (0x40001CB4) /**< (GCLK) Peripheral Clock Control 13 */
+#define REG_GCLK_PCHCTRL14      (0x40001CB8) /**< (GCLK) Peripheral Clock Control 14 */
+#define REG_GCLK_PCHCTRL15      (0x40001CBC) /**< (GCLK) Peripheral Clock Control 15 */
+#define REG_GCLK_PCHCTRL16      (0x40001CC0) /**< (GCLK) Peripheral Clock Control 16 */
+#define REG_GCLK_PCHCTRL17      (0x40001CC4) /**< (GCLK) Peripheral Clock Control 17 */
+#define REG_GCLK_PCHCTRL18      (0x40001CC8) /**< (GCLK) Peripheral Clock Control 18 */
+#define REG_GCLK_PCHCTRL19      (0x40001CCC) /**< (GCLK) Peripheral Clock Control 19 */
+#define REG_GCLK_PCHCTRL20      (0x40001CD0) /**< (GCLK) Peripheral Clock Control 20 */
+
+#else
+
+#define REG_GCLK_CTRLA          (*(__IO uint8_t*)0x40001C00U) /**< (GCLK) Control */
+#define REG_GCLK_SYNCBUSY       (*(__I  uint32_t*)0x40001C04U) /**< (GCLK) Synchronization Busy */
+#define REG_GCLK_GENCTRL        (*(__IO uint32_t*)0x40001C20U) /**< (GCLK) Generic Clock Generator Control */
+#define REG_GCLK_GENCTRL0       (*(__IO uint32_t*)0x40001C20U) /**< (GCLK) Generic Clock Generator Control 0 */
+#define REG_GCLK_GENCTRL1       (*(__IO uint32_t*)0x40001C24U) /**< (GCLK) Generic Clock Generator Control 1 */
+#define REG_GCLK_GENCTRL2       (*(__IO uint32_t*)0x40001C28U) /**< (GCLK) Generic Clock Generator Control 2 */
+#define REG_GCLK_GENCTRL3       (*(__IO uint32_t*)0x40001C2CU) /**< (GCLK) Generic Clock Generator Control 3 */
+#define REG_GCLK_GENCTRL4       (*(__IO uint32_t*)0x40001C30U) /**< (GCLK) Generic Clock Generator Control 4 */
+#define REG_GCLK_PCHCTRL        (*(__IO uint32_t*)0x40001C80U) /**< (GCLK) Peripheral Clock Control */
+#define REG_GCLK_PCHCTRL0       (*(__IO uint32_t*)0x40001C80U) /**< (GCLK) Peripheral Clock Control 0 */
+#define REG_GCLK_PCHCTRL1       (*(__IO uint32_t*)0x40001C84U) /**< (GCLK) Peripheral Clock Control 1 */
+#define REG_GCLK_PCHCTRL2       (*(__IO uint32_t*)0x40001C88U) /**< (GCLK) Peripheral Clock Control 2 */
+#define REG_GCLK_PCHCTRL3       (*(__IO uint32_t*)0x40001C8CU) /**< (GCLK) Peripheral Clock Control 3 */
+#define REG_GCLK_PCHCTRL4       (*(__IO uint32_t*)0x40001C90U) /**< (GCLK) Peripheral Clock Control 4 */
+#define REG_GCLK_PCHCTRL5       (*(__IO uint32_t*)0x40001C94U) /**< (GCLK) Peripheral Clock Control 5 */
+#define REG_GCLK_PCHCTRL6       (*(__IO uint32_t*)0x40001C98U) /**< (GCLK) Peripheral Clock Control 6 */
+#define REG_GCLK_PCHCTRL7       (*(__IO uint32_t*)0x40001C9CU) /**< (GCLK) Peripheral Clock Control 7 */
+#define REG_GCLK_PCHCTRL8       (*(__IO uint32_t*)0x40001CA0U) /**< (GCLK) Peripheral Clock Control 8 */
+#define REG_GCLK_PCHCTRL9       (*(__IO uint32_t*)0x40001CA4U) /**< (GCLK) Peripheral Clock Control 9 */
+#define REG_GCLK_PCHCTRL10      (*(__IO uint32_t*)0x40001CA8U) /**< (GCLK) Peripheral Clock Control 10 */
+#define REG_GCLK_PCHCTRL11      (*(__IO uint32_t*)0x40001CACU) /**< (GCLK) Peripheral Clock Control 11 */
+#define REG_GCLK_PCHCTRL12      (*(__IO uint32_t*)0x40001CB0U) /**< (GCLK) Peripheral Clock Control 12 */
+#define REG_GCLK_PCHCTRL13      (*(__IO uint32_t*)0x40001CB4U) /**< (GCLK) Peripheral Clock Control 13 */
+#define REG_GCLK_PCHCTRL14      (*(__IO uint32_t*)0x40001CB8U) /**< (GCLK) Peripheral Clock Control 14 */
+#define REG_GCLK_PCHCTRL15      (*(__IO uint32_t*)0x40001CBCU) /**< (GCLK) Peripheral Clock Control 15 */
+#define REG_GCLK_PCHCTRL16      (*(__IO uint32_t*)0x40001CC0U) /**< (GCLK) Peripheral Clock Control 16 */
+#define REG_GCLK_PCHCTRL17      (*(__IO uint32_t*)0x40001CC4U) /**< (GCLK) Peripheral Clock Control 17 */
+#define REG_GCLK_PCHCTRL18      (*(__IO uint32_t*)0x40001CC8U) /**< (GCLK) Peripheral Clock Control 18 */
+#define REG_GCLK_PCHCTRL19      (*(__IO uint32_t*)0x40001CCCU) /**< (GCLK) Peripheral Clock Control 19 */
+#define REG_GCLK_PCHCTRL20      (*(__IO uint32_t*)0x40001CD0U) /**< (GCLK) Peripheral Clock Control 20 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for GCLK peripheral ========== */
+#define GCLK_GENDIV_BITS                         16         
+#define GCLK_GEN_BITS                            3          
+#define GCLK_GEN_NUM                             5          /* Number of Generic Clock Generators */
+#define GCLK_GEN_NUM_MSB                         4          /* Number of Generic Clock Generators - 1 */
+#define GCLK_GEN_SOURCE_NUM_MSB                  7          /* Number of Generic Clock Sources - 1 */
+#define GCLK_NUM                                 21         /* Number of Generic Clock Users */
+#define GCLK_SOURCE_BITS                         3          
+#define GCLK_SOURCE_NUM                          8          /* Number of Generic Clock Sources */
+#define GCLK_INSTANCE_ID                         7          
+
+#endif /* _SAML11_GCLK_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/idau.h b/cpu/sam0_common/include/vendor/saml11/include/instance/idau.h
new file mode 100644
index 0000000000..bb63200256
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/idau.h
@@ -0,0 +1,79 @@
+/**
+ * \file
+ *
+ * \brief Instance description for IDAU
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_IDAU_INSTANCE_H_
+#define _SAML11_IDAU_INSTANCE_H_
+
+/* ========== Register definition for IDAU peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_IDAU_SECCTRL        (0x41000001) /**< (IDAU) SECCTRL */
+#define REG_IDAU_SCFGB          (0x41000004) /**< (IDAU) SCFGB */
+#define REG_IDAU_SCFGA          (0x41000008) /**< (IDAU) SCFGA */
+#define REG_IDAU_SCFGR          (0x4100000C) /**< (IDAU) SCFGR */
+
+#else
+
+#define REG_IDAU_SECCTRL        (*(__IO uint8_t*)0x41000001U) /**< (IDAU) SECCTRL */
+#define REG_IDAU_SCFGB          (*(__IO uint32_t*)0x41000004U) /**< (IDAU) SCFGB */
+#define REG_IDAU_SCFGA          (*(__IO uint32_t*)0x41000008U) /**< (IDAU) SCFGA */
+#define REG_IDAU_SCFGR          (*(__IO uint8_t*)0x4100000CU) /**< (IDAU) SCFGR */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for IDAU peripheral ========== */
+#define IDAU_CRYA_AES_DECRYPT_T                  0x02001908 /* crya_aes_decryp_t function address */
+#define IDAU_CRYA_AES_ENCRYPT_T                  0x02001904 /* crya_aes_encryp_t function address */
+#define IDAU_CRYA_GF_MULT128                     0x0200190C /* crya_gf_mult128 function address */
+#define IDAU_CRYA_SHA_PROCESS                    0x02001900 /* crya_sha_process function address */
+#define IDAU_GRANULARITY_ANSC                    0x20       /* Application Non-Secure Callable region granularity */
+#define IDAU_GRANULARITY_AS                      0x100      /* Application Secure region granularity */
+#define IDAU_GRANULARITY_BNSC                    0x20       /* Boot Flash Non-Secure Callable region granularity */
+#define IDAU_GRANULARITY_BOOTPROT                0x100      /* BOOTPROT region granularity */
+#define IDAU_GRANULARITY_BS                      0x100      /* Boot Flash Secure region granularity */
+#define IDAU_GRANULARITY_DS                      0x100      /* DS region granularity */
+#define IDAU_GRANULARITY_RS                      0x80       /* RAM Secure region granularity */
+#define IDAU_REGION_ANS                          0x06       /* Flash Non-Secure APPLICATION region number */
+#define IDAU_REGION_ANSC                         0x05       /* Flash Non-Secure Callable APPLICATION region number */
+#define IDAU_REGION_AS                           0x04       /* Flash Secure APPLICATION region number */
+#define IDAU_REGION_BNS                          0x03       /* Flash Non-Secure BOOT region number */
+#define IDAU_REGION_BNSC                         0x02       /* Flash Non-Secure Callable BOOT region number */
+#define IDAU_REGION_BOOTROM                      0x09       /* Boot ROM region number */
+#define IDAU_REGION_BS                           0x01       /* Flash Secure BOOT region number */
+#define IDAU_REGION_DNS                          0x08       /* Non-Secure DATA Flash region number */
+#define IDAU_REGION_DS                           0x07       /* Secure DATA Flash region number */
+#define IDAU_REGION_IOBUS                        0x00       /* IOBUS region number (invalid) */
+#define IDAU_REGION_OTHER                        0x00       /* Others region number (invalid) */
+#define IDAU_REGION_PERIPHERALS                  0x00       /* Peripherals region number (invalid) */
+#define IDAU_REGION_RNS                          0x0B       /* Non-Secure SRAM region number */
+#define IDAU_REGION_RS                           0x0A       /* Secure SRAM region number */
+#define IDAU_INSTANCE_ID                         32         
+
+#endif /* _SAML11_IDAU_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/mclk.h b/cpu/sam0_common/include/vendor/saml11/include/instance/mclk.h
new file mode 100644
index 0000000000..cfe629693e
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/mclk.h
@@ -0,0 +1,66 @@
+/**
+ * \file
+ *
+ * \brief Instance description for MCLK
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_MCLK_INSTANCE_H_
+#define _SAML11_MCLK_INSTANCE_H_
+
+/* ========== Register definition for MCLK peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_MCLK_CTRLA          (0x40000800) /**< (MCLK) Control */
+#define REG_MCLK_INTENCLR       (0x40000801) /**< (MCLK) Interrupt Enable Clear */
+#define REG_MCLK_INTENSET       (0x40000802) /**< (MCLK) Interrupt Enable Set */
+#define REG_MCLK_INTFLAG        (0x40000803) /**< (MCLK) Interrupt Flag Status and Clear */
+#define REG_MCLK_CPUDIV         (0x40000804) /**< (MCLK) CPU Clock Division */
+#define REG_MCLK_AHBMASK        (0x40000810) /**< (MCLK) AHB Mask */
+#define REG_MCLK_APBAMASK       (0x40000814) /**< (MCLK) APBA Mask */
+#define REG_MCLK_APBBMASK       (0x40000818) /**< (MCLK) APBB Mask */
+#define REG_MCLK_APBCMASK       (0x4000081C) /**< (MCLK) APBC Mask */
+
+#else
+
+#define REG_MCLK_CTRLA          (*(__IO uint8_t*)0x40000800U) /**< (MCLK) Control */
+#define REG_MCLK_INTENCLR       (*(__IO uint8_t*)0x40000801U) /**< (MCLK) Interrupt Enable Clear */
+#define REG_MCLK_INTENSET       (*(__IO uint8_t*)0x40000802U) /**< (MCLK) Interrupt Enable Set */
+#define REG_MCLK_INTFLAG        (*(__IO uint8_t*)0x40000803U) /**< (MCLK) Interrupt Flag Status and Clear */
+#define REG_MCLK_CPUDIV         (*(__IO uint8_t*)0x40000804U) /**< (MCLK) CPU Clock Division */
+#define REG_MCLK_AHBMASK        (*(__IO uint32_t*)0x40000810U) /**< (MCLK) AHB Mask */
+#define REG_MCLK_APBAMASK       (*(__IO uint32_t*)0x40000814U) /**< (MCLK) APBA Mask */
+#define REG_MCLK_APBBMASK       (*(__IO uint32_t*)0x40000818U) /**< (MCLK) APBB Mask */
+#define REG_MCLK_APBCMASK       (*(__IO uint32_t*)0x4000081CU) /**< (MCLK) APBC Mask */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for MCLK peripheral ========== */
+#define MCLK_MCLK_CLK_APB_NUM                    3          
+#define MCLK_SYSTEM_CLOCK                        4000000    /* System Clock Frequency at Reset */
+#define MCLK_INSTANCE_ID                         2          
+
+#endif /* _SAML11_MCLK_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/nvmctrl.h b/cpu/sam0_common/include/vendor/saml11/include/instance/nvmctrl.h
new file mode 100644
index 0000000000..79332abdf0
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/nvmctrl.h
@@ -0,0 +1,99 @@
+/**
+ * \file
+ *
+ * \brief Instance description for NVMCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_NVMCTRL_INSTANCE_H_
+#define _SAML11_NVMCTRL_INSTANCE_H_
+
+/* ========== Register definition for NVMCTRL peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_NVMCTRL_CTRLA       (0x41004000) /**< (NVMCTRL) Control A */
+#define REG_NVMCTRL_CTRLB       (0x41004004) /**< (NVMCTRL) Control B */
+#define REG_NVMCTRL_CTRLC       (0x41004008) /**< (NVMCTRL) Control C */
+#define REG_NVMCTRL_EVCTRL      (0x4100400A) /**< (NVMCTRL) Event Control */
+#define REG_NVMCTRL_INTENCLR    (0x4100400C) /**< (NVMCTRL) Interrupt Enable Clear */
+#define REG_NVMCTRL_INTENSET    (0x41004010) /**< (NVMCTRL) Interrupt Enable Set */
+#define REG_NVMCTRL_INTFLAG     (0x41004014) /**< (NVMCTRL) Interrupt Flag Status and Clear */
+#define REG_NVMCTRL_STATUS      (0x41004018) /**< (NVMCTRL) Status */
+#define REG_NVMCTRL_ADDR        (0x4100401C) /**< (NVMCTRL) Address */
+#define REG_NVMCTRL_SULCK       (0x41004020) /**< (NVMCTRL) Secure Unlock Register */
+#define REG_NVMCTRL_NSULCK      (0x41004022) /**< (NVMCTRL) Non-Secure Unlock Register */
+#define REG_NVMCTRL_PARAM       (0x41004024) /**< (NVMCTRL) NVM Parameter */
+#define REG_NVMCTRL_DSCC        (0x41004030) /**< (NVMCTRL) Data Scramble Configuration */
+#define REG_NVMCTRL_SECCTRL     (0x41004034) /**< (NVMCTRL) Security Control */
+#define REG_NVMCTRL_SCFGB       (0x41004038) /**< (NVMCTRL) Secure Boot Configuration */
+#define REG_NVMCTRL_SCFGAD      (0x4100403C) /**< (NVMCTRL) Secure Application and Data Configuration */
+#define REG_NVMCTRL_NONSEC      (0x41004040) /**< (NVMCTRL) Non-secure Write Enable */
+#define REG_NVMCTRL_NSCHK       (0x41004044) /**< (NVMCTRL) Non-secure Write Reference Value */
+
+#else
+
+#define REG_NVMCTRL_CTRLA       (*(__O  uint16_t*)0x41004000U) /**< (NVMCTRL) Control A */
+#define REG_NVMCTRL_CTRLB       (*(__IO uint32_t*)0x41004004U) /**< (NVMCTRL) Control B */
+#define REG_NVMCTRL_CTRLC       (*(__IO uint8_t*)0x41004008U) /**< (NVMCTRL) Control C */
+#define REG_NVMCTRL_EVCTRL      (*(__IO uint8_t*)0x4100400AU) /**< (NVMCTRL) Event Control */
+#define REG_NVMCTRL_INTENCLR    (*(__IO uint8_t*)0x4100400CU) /**< (NVMCTRL) Interrupt Enable Clear */
+#define REG_NVMCTRL_INTENSET    (*(__IO uint8_t*)0x41004010U) /**< (NVMCTRL) Interrupt Enable Set */
+#define REG_NVMCTRL_INTFLAG     (*(__IO uint8_t*)0x41004014U) /**< (NVMCTRL) Interrupt Flag Status and Clear */
+#define REG_NVMCTRL_STATUS      (*(__I  uint16_t*)0x41004018U) /**< (NVMCTRL) Status */
+#define REG_NVMCTRL_ADDR        (*(__IO uint32_t*)0x4100401CU) /**< (NVMCTRL) Address */
+#define REG_NVMCTRL_SULCK       (*(__IO uint16_t*)0x41004020U) /**< (NVMCTRL) Secure Unlock Register */
+#define REG_NVMCTRL_NSULCK      (*(__IO uint16_t*)0x41004022U) /**< (NVMCTRL) Non-Secure Unlock Register */
+#define REG_NVMCTRL_PARAM       (*(__IO uint32_t*)0x41004024U) /**< (NVMCTRL) NVM Parameter */
+#define REG_NVMCTRL_DSCC        (*(__O  uint32_t*)0x41004030U) /**< (NVMCTRL) Data Scramble Configuration */
+#define REG_NVMCTRL_SECCTRL     (*(__IO uint32_t*)0x41004034U) /**< (NVMCTRL) Security Control */
+#define REG_NVMCTRL_SCFGB       (*(__IO uint32_t*)0x41004038U) /**< (NVMCTRL) Secure Boot Configuration */
+#define REG_NVMCTRL_SCFGAD      (*(__IO uint32_t*)0x4100403CU) /**< (NVMCTRL) Secure Application and Data Configuration */
+#define REG_NVMCTRL_NONSEC      (*(__IO uint32_t*)0x41004040U) /**< (NVMCTRL) Non-secure Write Enable */
+#define REG_NVMCTRL_NSCHK       (*(__IO uint32_t*)0x41004044U) /**< (NVMCTRL) Non-secure Write Reference Value */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for NVMCTRL peripheral ========== */
+#define NVMCTRL_DATAFLASH_PAGES                  32         
+#define NVMCTRL_PMSB                             3          
+#define NVMCTRL_PSZ_BITS                         6          
+#define NVMCTRL_ROW_PAGES                        4          
+#define NVMCTRL_SECURE_IMPLEMENTED               1          /* Security Configuration implemented? */
+#define NVMCTRL_FLASH_SIZE                       65536      
+#define NVMCTRL_PAGE_SIZE                        64         
+#define NVMCTRL_PAGES                            1024       
+#define NVMCTRL_PAGES_PR_REGION                  64         
+#define NVMCTRL_PSM_0_FRMFW_FWS_1_MAX_FREQ       12000000   
+#define NVMCTRL_PSM_0_FRMLP_FWS_0_MAX_FREQ       18000000   
+#define NVMCTRL_PSM_0_FRMLP_FWS_1_MAX_FREQ       36000000   
+#define NVMCTRL_PSM_0_FRMHS_FWS_0_MAX_FREQ       25000000   
+#define NVMCTRL_PSM_0_FRMHS_FWS_1_MAX_FREQ       50000000   
+#define NVMCTRL_PSM_1_FRMFW_FWS_1_MAX_FREQ       12000000   
+#define NVMCTRL_PSM_1_FRMLP_FWS_0_MAX_FREQ       8000000    
+#define NVMCTRL_PSM_1_FRMLP_FWS_1_MAX_FREQ       12000000   
+#define NVMCTRL_INSTANCE_ID                      34         
+
+#endif /* _SAML11_NVMCTRL_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/opamp.h b/cpu/sam0_common/include/vendor/saml11/include/instance/opamp.h
new file mode 100644
index 0000000000..9527f2e336
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/opamp.h
@@ -0,0 +1,60 @@
+/**
+ * \file
+ *
+ * \brief Instance description for OPAMP
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_OPAMP_INSTANCE_H_
+#define _SAML11_OPAMP_INSTANCE_H_
+
+/* ========== Register definition for OPAMP peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_OPAMP_CTRLA         (0x42003000) /**< (OPAMP) Control A */
+#define REG_OPAMP_STATUS        (0x42003002) /**< (OPAMP) Status */
+#define REG_OPAMP_OPAMPCTRL     (0x42003004) /**< (OPAMP) OPAMP n Control */
+#define REG_OPAMP_OPAMPCTRL0    (0x42003004) /**< (OPAMP) OPAMP 0 Control */
+#define REG_OPAMP_OPAMPCTRL1    (0x42003008) /**< (OPAMP) OPAMP 1 Control */
+#define REG_OPAMP_OPAMPCTRL2    (0x4200300C) /**< (OPAMP) OPAMP 2 Control */
+#define REG_OPAMP_RESCTRL       (0x42003010) /**< (OPAMP) Resister Control */
+
+#else
+
+#define REG_OPAMP_CTRLA         (*(__IO uint8_t*)0x42003000U) /**< (OPAMP) Control A */
+#define REG_OPAMP_STATUS        (*(__I  uint8_t*)0x42003002U) /**< (OPAMP) Status */
+#define REG_OPAMP_OPAMPCTRL     (*(__IO uint32_t*)0x42003004U) /**< (OPAMP) OPAMP n Control */
+#define REG_OPAMP_OPAMPCTRL0    (*(__IO uint32_t*)0x42003004U) /**< (OPAMP) OPAMP 0 Control */
+#define REG_OPAMP_OPAMPCTRL1    (*(__IO uint32_t*)0x42003008U) /**< (OPAMP) OPAMP 1 Control */
+#define REG_OPAMP_OPAMPCTRL2    (*(__IO uint32_t*)0x4200300CU) /**< (OPAMP) OPAMP 2 Control */
+#define REG_OPAMP_RESCTRL       (*(__IO uint8_t*)0x42003010U) /**< (OPAMP) Resister Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for OPAMP peripheral ========== */
+#define OPAMP_INSTANCE_ID                        76         
+
+#endif /* _SAML11_OPAMP_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/osc32kctrl.h b/cpu/sam0_common/include/vendor/saml11/include/instance/osc32kctrl.h
new file mode 100644
index 0000000000..25d2a50597
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/osc32kctrl.h
@@ -0,0 +1,65 @@
+/**
+ * \file
+ *
+ * \brief Instance description for OSC32KCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_OSC32KCTRL_INSTANCE_H_
+#define _SAML11_OSC32KCTRL_INSTANCE_H_
+
+/* ========== Register definition for OSC32KCTRL peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_OSC32KCTRL_INTENCLR (0x40001400) /**< (OSC32KCTRL) Interrupt Enable Clear */
+#define REG_OSC32KCTRL_INTENSET (0x40001404) /**< (OSC32KCTRL) Interrupt Enable Set */
+#define REG_OSC32KCTRL_INTFLAG  (0x40001408) /**< (OSC32KCTRL) Interrupt Flag Status and Clear */
+#define REG_OSC32KCTRL_STATUS   (0x4000140C) /**< (OSC32KCTRL) Power and Clocks Status */
+#define REG_OSC32KCTRL_RTCCTRL  (0x40001410) /**< (OSC32KCTRL) RTC Clock Selection */
+#define REG_OSC32KCTRL_XOSC32K  (0x40001414) /**< (OSC32KCTRL) 32kHz External Crystal Oscillator (XOSC32K) Control */
+#define REG_OSC32KCTRL_CFDCTRL  (0x40001416) /**< (OSC32KCTRL) Clock Failure Detector Control */
+#define REG_OSC32KCTRL_EVCTRL   (0x40001417) /**< (OSC32KCTRL) Event Control */
+#define REG_OSC32KCTRL_OSCULP32K (0x4000141C) /**< (OSC32KCTRL) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control */
+
+#else
+
+#define REG_OSC32KCTRL_INTENCLR (*(__IO uint32_t*)0x40001400U) /**< (OSC32KCTRL) Interrupt Enable Clear */
+#define REG_OSC32KCTRL_INTENSET (*(__IO uint32_t*)0x40001404U) /**< (OSC32KCTRL) Interrupt Enable Set */
+#define REG_OSC32KCTRL_INTFLAG  (*(__IO uint32_t*)0x40001408U) /**< (OSC32KCTRL) Interrupt Flag Status and Clear */
+#define REG_OSC32KCTRL_STATUS   (*(__I  uint32_t*)0x4000140CU) /**< (OSC32KCTRL) Power and Clocks Status */
+#define REG_OSC32KCTRL_RTCCTRL  (*(__IO uint8_t*)0x40001410U) /**< (OSC32KCTRL) RTC Clock Selection */
+#define REG_OSC32KCTRL_XOSC32K  (*(__IO uint16_t*)0x40001414U) /**< (OSC32KCTRL) 32kHz External Crystal Oscillator (XOSC32K) Control */
+#define REG_OSC32KCTRL_CFDCTRL  (*(__IO uint8_t*)0x40001416U) /**< (OSC32KCTRL) Clock Failure Detector Control */
+#define REG_OSC32KCTRL_EVCTRL   (*(__IO uint8_t*)0x40001417U) /**< (OSC32KCTRL) Event Control */
+#define REG_OSC32KCTRL_OSCULP32K (*(__IO uint32_t*)0x4000141CU) /**< (OSC32KCTRL) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for OSC32KCTRL peripheral ========== */
+#define OSC32KCTRL_OSC32K_COARSE_CALIB_MSB       0          
+#define OSC32KCTRL_INSTANCE_ID                   5          
+
+#endif /* _SAML11_OSC32KCTRL_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/oscctrl.h b/cpu/sam0_common/include/vendor/saml11/include/instance/oscctrl.h
new file mode 100644
index 0000000000..79b2d8ec9a
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/oscctrl.h
@@ -0,0 +1,94 @@
+/**
+ * \file
+ *
+ * \brief Instance description for OSCCTRL
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_OSCCTRL_INSTANCE_H_
+#define _SAML11_OSCCTRL_INSTANCE_H_
+
+/* ========== Register definition for OSCCTRL peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_OSCCTRL_EVCTRL      (0x40001000) /**< (OSCCTRL) Event Control */
+#define REG_OSCCTRL_INTENCLR    (0x40001004) /**< (OSCCTRL) Interrupt Enable Clear */
+#define REG_OSCCTRL_INTENSET    (0x40001008) /**< (OSCCTRL) Interrupt Enable Set */
+#define REG_OSCCTRL_INTFLAG     (0x4000100C) /**< (OSCCTRL) Interrupt Flag Status and Clear */
+#define REG_OSCCTRL_STATUS      (0x40001010) /**< (OSCCTRL) Status */
+#define REG_OSCCTRL_XOSCCTRL    (0x40001014) /**< (OSCCTRL) External Multipurpose Crystal Oscillator (XOSC) Control */
+#define REG_OSCCTRL_CFDPRESC    (0x40001016) /**< (OSCCTRL) Clock Failure Detector Prescaler */
+#define REG_OSCCTRL_OSC16MCTRL  (0x40001018) /**< (OSCCTRL) 16MHz Internal Oscillator (OSC16M) Control */
+#define REG_OSCCTRL_DFLLULPCTRL (0x4000101C) /**< (OSCCTRL) DFLLULP Control */
+#define REG_OSCCTRL_DFLLULPDITHER (0x4000101E) /**< (OSCCTRL) DFLLULP Dither Control */
+#define REG_OSCCTRL_DFLLULPRREQ (0x4000101F) /**< (OSCCTRL) DFLLULP Read Request */
+#define REG_OSCCTRL_DFLLULPDLY  (0x40001020) /**< (OSCCTRL) DFLLULP Delay Value */
+#define REG_OSCCTRL_DFLLULPRATIO (0x40001024) /**< (OSCCTRL) DFLLULP Target Ratio */
+#define REG_OSCCTRL_DFLLULPSYNCBUSY (0x40001028) /**< (OSCCTRL) DFLLULP Synchronization Busy */
+#define REG_OSCCTRL_DPLLCTRLA   (0x4000102C) /**< (OSCCTRL) DPLL Control A */
+#define REG_OSCCTRL_DPLLRATIO   (0x40001030) /**< (OSCCTRL) DPLL Ratio Control */
+#define REG_OSCCTRL_DPLLCTRLB   (0x40001034) /**< (OSCCTRL) DPLL Control B */
+#define REG_OSCCTRL_DPLLPRESC   (0x40001038) /**< (OSCCTRL) DPLL Prescaler */
+#define REG_OSCCTRL_DPLLSYNCBUSY (0x4000103C) /**< (OSCCTRL) DPLL Synchronization Busy */
+#define REG_OSCCTRL_DPLLSTATUS  (0x40001040) /**< (OSCCTRL) DPLL Status */
+
+#else
+
+#define REG_OSCCTRL_EVCTRL      (*(__IO uint8_t*)0x40001000U) /**< (OSCCTRL) Event Control */
+#define REG_OSCCTRL_INTENCLR    (*(__IO uint32_t*)0x40001004U) /**< (OSCCTRL) Interrupt Enable Clear */
+#define REG_OSCCTRL_INTENSET    (*(__IO uint32_t*)0x40001008U) /**< (OSCCTRL) Interrupt Enable Set */
+#define REG_OSCCTRL_INTFLAG     (*(__IO uint32_t*)0x4000100CU) /**< (OSCCTRL) Interrupt Flag Status and Clear */
+#define REG_OSCCTRL_STATUS      (*(__I  uint32_t*)0x40001010U) /**< (OSCCTRL) Status */
+#define REG_OSCCTRL_XOSCCTRL    (*(__IO uint16_t*)0x40001014U) /**< (OSCCTRL) External Multipurpose Crystal Oscillator (XOSC) Control */
+#define REG_OSCCTRL_CFDPRESC    (*(__IO uint8_t*)0x40001016U) /**< (OSCCTRL) Clock Failure Detector Prescaler */
+#define REG_OSCCTRL_OSC16MCTRL  (*(__IO uint8_t*)0x40001018U) /**< (OSCCTRL) 16MHz Internal Oscillator (OSC16M) Control */
+#define REG_OSCCTRL_DFLLULPCTRL (*(__IO uint16_t*)0x4000101CU) /**< (OSCCTRL) DFLLULP Control */
+#define REG_OSCCTRL_DFLLULPDITHER (*(__IO uint8_t*)0x4000101EU) /**< (OSCCTRL) DFLLULP Dither Control */
+#define REG_OSCCTRL_DFLLULPRREQ (*(__IO uint8_t*)0x4000101FU) /**< (OSCCTRL) DFLLULP Read Request */
+#define REG_OSCCTRL_DFLLULPDLY  (*(__IO uint32_t*)0x40001020U) /**< (OSCCTRL) DFLLULP Delay Value */
+#define REG_OSCCTRL_DFLLULPRATIO (*(__IO uint32_t*)0x40001024U) /**< (OSCCTRL) DFLLULP Target Ratio */
+#define REG_OSCCTRL_DFLLULPSYNCBUSY (*(__I  uint32_t*)0x40001028U) /**< (OSCCTRL) DFLLULP Synchronization Busy */
+#define REG_OSCCTRL_DPLLCTRLA   (*(__IO uint8_t*)0x4000102CU) /**< (OSCCTRL) DPLL Control A */
+#define REG_OSCCTRL_DPLLRATIO   (*(__IO uint32_t*)0x40001030U) /**< (OSCCTRL) DPLL Ratio Control */
+#define REG_OSCCTRL_DPLLCTRLB   (*(__IO uint32_t*)0x40001034U) /**< (OSCCTRL) DPLL Control B */
+#define REG_OSCCTRL_DPLLPRESC   (*(__IO uint8_t*)0x40001038U) /**< (OSCCTRL) DPLL Prescaler */
+#define REG_OSCCTRL_DPLLSYNCBUSY (*(__I  uint8_t*)0x4000103CU) /**< (OSCCTRL) DPLL Synchronization Busy */
+#define REG_OSCCTRL_DPLLSTATUS  (*(__I  uint8_t*)0x40001040U) /**< (OSCCTRL) DPLL Status */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for OSCCTRL peripheral ========== */
+#define OSCCTRL_GCLK_ID_DFLLULP                  2          /* Index of Generic Clock for DFLLULP */
+#define OSCCTRL_GCLK_ID_DPLL                     0          /* Index of Generic Clock for DPLL */
+#define OSCCTRL_GCLK_ID_DPLL32K                  1          /* Index of Generic Clock for DPLL 32K */
+#define OSCCTRL_CFD_VERSION                      0x112      
+#define OSCCTRL_DFLLULP_VERSION                  0x100      
+#define OSCCTRL_FDPLL_VERSION                    0x213      
+#define OSCCTRL_OSC16M_VERSION                   0x102      
+#define OSCCTRL_XOSC_VERSION                     0x210      
+#define OSCCTRL_INSTANCE_ID                      4          
+
+#endif /* _SAML11_OSCCTRL_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/pac.h b/cpu/sam0_common/include/vendor/saml11/include/instance/pac.h
new file mode 100644
index 0000000000..c98a2cf395
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/pac.h
@@ -0,0 +1,82 @@
+/**
+ * \file
+ *
+ * \brief Instance description for PAC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_PAC_INSTANCE_H_
+#define _SAML11_PAC_INSTANCE_H_
+
+/* ========== Register definition for PAC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_PAC_WRCTRL          (0x40000000) /**< (PAC) Write control */
+#define REG_PAC_EVCTRL          (0x40000004) /**< (PAC) Event control */
+#define REG_PAC_INTENCLR        (0x40000008) /**< (PAC) Interrupt enable clear */
+#define REG_PAC_INTENSET        (0x40000009) /**< (PAC) Interrupt enable set */
+#define REG_PAC_INTFLAGAHB      (0x40000010) /**< (PAC) Bridge interrupt flag status */
+#define REG_PAC_INTFLAGA        (0x40000014) /**< (PAC) Peripheral interrupt flag status - Bridge A */
+#define REG_PAC_INTFLAGB        (0x40000018) /**< (PAC) Peripheral interrupt flag status - Bridge B */
+#define REG_PAC_INTFLAGC        (0x4000001C) /**< (PAC) Peripheral interrupt flag status - Bridge C */
+#define REG_PAC_STATUSA         (0x40000034) /**< (PAC) Peripheral write protection status - Bridge A */
+#define REG_PAC_STATUSB         (0x40000038) /**< (PAC) Peripheral write protection status - Bridge B */
+#define REG_PAC_STATUSC         (0x4000003C) /**< (PAC) Peripheral write protection status - Bridge C */
+#define REG_PAC_NONSECA         (0x40000054) /**< (PAC) Peripheral non-secure status - Bridge A */
+#define REG_PAC_NONSECB         (0x40000058) /**< (PAC) Peripheral non-secure status - Bridge B */
+#define REG_PAC_NONSECC         (0x4000005C) /**< (PAC) Peripheral non-secure status - Bridge C */
+#define REG_PAC_SECLOCKA        (0x40000074) /**< (PAC) Peripheral secure status locked - Bridge A */
+#define REG_PAC_SECLOCKB        (0x40000078) /**< (PAC) Peripheral secure status locked - Bridge B */
+#define REG_PAC_SECLOCKC        (0x4000007C) /**< (PAC) Peripheral secure status locked - Bridge C */
+
+#else
+
+#define REG_PAC_WRCTRL          (*(__IO uint32_t*)0x40000000U) /**< (PAC) Write control */
+#define REG_PAC_EVCTRL          (*(__IO uint8_t*)0x40000004U) /**< (PAC) Event control */
+#define REG_PAC_INTENCLR        (*(__IO uint8_t*)0x40000008U) /**< (PAC) Interrupt enable clear */
+#define REG_PAC_INTENSET        (*(__IO uint8_t*)0x40000009U) /**< (PAC) Interrupt enable set */
+#define REG_PAC_INTFLAGAHB      (*(__IO uint32_t*)0x40000010U) /**< (PAC) Bridge interrupt flag status */
+#define REG_PAC_INTFLAGA        (*(__IO uint32_t*)0x40000014U) /**< (PAC) Peripheral interrupt flag status - Bridge A */
+#define REG_PAC_INTFLAGB        (*(__IO uint32_t*)0x40000018U) /**< (PAC) Peripheral interrupt flag status - Bridge B */
+#define REG_PAC_INTFLAGC        (*(__IO uint32_t*)0x4000001CU) /**< (PAC) Peripheral interrupt flag status - Bridge C */
+#define REG_PAC_STATUSA         (*(__I  uint32_t*)0x40000034U) /**< (PAC) Peripheral write protection status - Bridge A */
+#define REG_PAC_STATUSB         (*(__I  uint32_t*)0x40000038U) /**< (PAC) Peripheral write protection status - Bridge B */
+#define REG_PAC_STATUSC         (*(__I  uint32_t*)0x4000003CU) /**< (PAC) Peripheral write protection status - Bridge C */
+#define REG_PAC_NONSECA         (*(__I  uint32_t*)0x40000054U) /**< (PAC) Peripheral non-secure status - Bridge A */
+#define REG_PAC_NONSECB         (*(__I  uint32_t*)0x40000058U) /**< (PAC) Peripheral non-secure status - Bridge B */
+#define REG_PAC_NONSECC         (*(__I  uint32_t*)0x4000005CU) /**< (PAC) Peripheral non-secure status - Bridge C */
+#define REG_PAC_SECLOCKA        (*(__I  uint32_t*)0x40000074U) /**< (PAC) Peripheral secure status locked - Bridge A */
+#define REG_PAC_SECLOCKB        (*(__I  uint32_t*)0x40000078U) /**< (PAC) Peripheral secure status locked - Bridge B */
+#define REG_PAC_SECLOCKC        (*(__I  uint32_t*)0x4000007CU) /**< (PAC) Peripheral secure status locked - Bridge C */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for PAC peripheral ========== */
+#define PAC_HPB_NUM                              3          /* Number of bridges AHB/APB */
+#define PAC_SECURE_IMPLEMENTED                   1          /* Security Configuration implemented? */
+#define PAC_INSTANCE_ID                          0          
+
+#endif /* _SAML11_PAC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/pm.h b/cpu/sam0_common/include/vendor/saml11/include/instance/pm.h
new file mode 100644
index 0000000000..04ab83a544
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/pm.h
@@ -0,0 +1,62 @@
+/**
+ * \file
+ *
+ * \brief Instance description for PM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_PM_INSTANCE_H_
+#define _SAML11_PM_INSTANCE_H_
+
+/* ========== Register definition for PM peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_PM_SLEEPCFG         (0x40000401) /**< (PM) Sleep Configuration */
+#define REG_PM_PLCFG            (0x40000402) /**< (PM) Performance Level Configuration */
+#define REG_PM_PWCFG            (0x40000403) /**< (PM) Power Configuration */
+#define REG_PM_INTENCLR         (0x40000404) /**< (PM) Interrupt Enable Clear */
+#define REG_PM_INTENSET         (0x40000405) /**< (PM) Interrupt Enable Set */
+#define REG_PM_INTFLAG          (0x40000406) /**< (PM) Interrupt Flag Status and Clear */
+#define REG_PM_STDBYCFG         (0x40000408) /**< (PM) Standby Configuration */
+
+#else
+
+#define REG_PM_SLEEPCFG         (*(__IO uint8_t*)0x40000401U) /**< (PM) Sleep Configuration */
+#define REG_PM_PLCFG            (*(__IO uint8_t*)0x40000402U) /**< (PM) Performance Level Configuration */
+#define REG_PM_PWCFG            (*(__IO uint8_t*)0x40000403U) /**< (PM) Power Configuration */
+#define REG_PM_INTENCLR         (*(__IO uint8_t*)0x40000404U) /**< (PM) Interrupt Enable Clear */
+#define REG_PM_INTENSET         (*(__IO uint8_t*)0x40000405U) /**< (PM) Interrupt Enable Set */
+#define REG_PM_INTFLAG          (*(__IO uint8_t*)0x40000406U) /**< (PM) Interrupt Flag Status and Clear */
+#define REG_PM_STDBYCFG         (*(__IO uint16_t*)0x40000408U) /**< (PM) Standby Configuration */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for PM peripheral ========== */
+#define PM_BIAS_RAM_HS                           1          /* one if RAM HS can be back biased */
+#define PM_PD_NUM                                1          /* Number of switchable Power Domain */
+#define PM_INSTANCE_ID                           1          
+
+#endif /* _SAML11_PM_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/port.h b/cpu/sam0_common/include/vendor/saml11/include/instance/port.h
new file mode 100644
index 0000000000..96452002cf
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/port.h
@@ -0,0 +1,93 @@
+/**
+ * \file
+ *
+ * \brief Instance description for PORT
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_PORT_INSTANCE_H_
+#define _SAML11_PORT_INSTANCE_H_
+
+/* ========== Register definition for PORT peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_PORT_DIR0           (0x40003000) /**< (PORT) Data Direction 0 */
+#define REG_PORT_DIRCLR0        (0x40003004) /**< (PORT) Data Direction Clear 0 */
+#define REG_PORT_DIRSET0        (0x40003008) /**< (PORT) Data Direction Set 0 */
+#define REG_PORT_DIRTGL0        (0x4000300C) /**< (PORT) Data Direction Toggle 0 */
+#define REG_PORT_OUT0           (0x40003010) /**< (PORT) Data Output Value 0 */
+#define REG_PORT_OUTCLR0        (0x40003014) /**< (PORT) Data Output Value Clear 0 */
+#define REG_PORT_OUTSET0        (0x40003018) /**< (PORT) Data Output Value Set 0 */
+#define REG_PORT_OUTTGL0        (0x4000301C) /**< (PORT) Data Output Value Toggle 0 */
+#define REG_PORT_IN0            (0x40003020) /**< (PORT) Data Input Value 0 */
+#define REG_PORT_CTRL0          (0x40003024) /**< (PORT) Control 0 */
+#define REG_PORT_WRCONFIG0      (0x40003028) /**< (PORT) Write Configuration 0 */
+#define REG_PORT_EVCTRL0        (0x4000302C) /**< (PORT) Event Input Control 0 */
+#define REG_PORT_PMUX0          (0x40003030) /**< (PORT) Peripheral Multiplexing 0 */
+#define REG_PORT_PINCFG0        (0x40003040) /**< (PORT) Pin Configuration 0 */
+#define REG_PORT_INTENCLR0      (0x40003060) /**< (PORT) Interrupt Enable Clear 0 */
+#define REG_PORT_INTENSET0      (0x40003064) /**< (PORT) Interrupt Enable Set 0 */
+#define REG_PORT_INTFLAG0       (0x40003068) /**< (PORT) Interrupt Flag Status and Clear 0 */
+#define REG_PORT_NONSEC0        (0x4000306C) /**< (PORT) Security Attribution 0 */
+#define REG_PORT_NSCHK0         (0x40003070) /**< (PORT) Security Attribution Check 0 */
+
+#else
+
+#define REG_PORT_DIR0           (*(__IO uint32_t*)0x40003000U) /**< (PORT) Data Direction 0 */
+#define REG_PORT_DIRCLR0        (*(__IO uint32_t*)0x40003004U) /**< (PORT) Data Direction Clear 0 */
+#define REG_PORT_DIRSET0        (*(__IO uint32_t*)0x40003008U) /**< (PORT) Data Direction Set 0 */
+#define REG_PORT_DIRTGL0        (*(__IO uint32_t*)0x4000300CU) /**< (PORT) Data Direction Toggle 0 */
+#define REG_PORT_OUT0           (*(__IO uint32_t*)0x40003010U) /**< (PORT) Data Output Value 0 */
+#define REG_PORT_OUTCLR0        (*(__IO uint32_t*)0x40003014U) /**< (PORT) Data Output Value Clear 0 */
+#define REG_PORT_OUTSET0        (*(__IO uint32_t*)0x40003018U) /**< (PORT) Data Output Value Set 0 */
+#define REG_PORT_OUTTGL0        (*(__IO uint32_t*)0x4000301CU) /**< (PORT) Data Output Value Toggle 0 */
+#define REG_PORT_IN0            (*(__I  uint32_t*)0x40003020U) /**< (PORT) Data Input Value 0 */
+#define REG_PORT_CTRL0          (*(__IO uint32_t*)0x40003024U) /**< (PORT) Control 0 */
+#define REG_PORT_WRCONFIG0      (*(__O  uint32_t*)0x40003028U) /**< (PORT) Write Configuration 0 */
+#define REG_PORT_EVCTRL0        (*(__IO uint32_t*)0x4000302CU) /**< (PORT) Event Input Control 0 */
+#define REG_PORT_PMUX0          (*(__IO uint8_t*)0x40003030U) /**< (PORT) Peripheral Multiplexing 0 */
+#define REG_PORT_PINCFG0        (*(__IO uint8_t*)0x40003040U) /**< (PORT) Pin Configuration 0 */
+#define REG_PORT_INTENCLR0      (*(__IO uint32_t*)0x40003060U) /**< (PORT) Interrupt Enable Clear 0 */
+#define REG_PORT_INTENSET0      (*(__IO uint32_t*)0x40003064U) /**< (PORT) Interrupt Enable Set 0 */
+#define REG_PORT_INTFLAG0       (*(__IO uint32_t*)0x40003068U) /**< (PORT) Interrupt Flag Status and Clear 0 */
+#define REG_PORT_NONSEC0        (*(__IO uint32_t*)0x4000306CU) /**< (PORT) Security Attribution 0 */
+#define REG_PORT_NSCHK0         (*(__IO uint32_t*)0x40003070U) /**< (PORT) Security Attribution Check 0 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for PORT peripheral ========== */
+#define PORT_BITS                                32         
+#define PORT_DRVSTR                              1          /* DRVSTR supported */
+#define PORT_EV_NUM                              4          
+#define PORT_GROUPS                              1          
+#define PORT_MSB                                 31         
+#define PORT_ODRAIN                              0          /* ODRAIN supported */
+#define PORT_PPP_IMPLEMENTED                     0          /* IOBUS2 implemented? */
+#define PORT_SECURE_IMPLEMENTED                  1          /* Secure I/Os supported? */
+#define PORT_SLEWLIM                             0          /* SLEWLIM supported */
+#define PORT_INSTANCE_ID                         12         
+
+#endif /* _SAML11_PORT_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/ptc.h b/cpu/sam0_common/include/vendor/saml11/include/instance/ptc.h
new file mode 100644
index 0000000000..f082e03bc7
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/ptc.h
@@ -0,0 +1,54 @@
+/**
+ * \file
+ *
+ * \brief Instance description for PTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_PTC_INSTANCE_H_
+#define _SAML11_PTC_INSTANCE_H_
+
+/* ========== Register definition for PTC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+
+
+#else
+
+
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for PTC peripheral ========== */
+#define PTC_DMAC_ID_EOC                          21         /* Index of DMA EOC trigger */
+#define PTC_DMAC_ID_SEQ                          22         /* Index of DMA SEQ trigger */
+#define PTC_DMAC_ID_WCOMP                        23         /* Index of DMA WCOMP trigger */
+#define PTC_GCLK_ID                              19         /* Index of Generic Clock */
+#define PTC_LINES_MSB                            19         
+#define PTC_LINES_NUM                            20         /* Number of PTC lines */
+#define PTC_INSTANCE_ID                          73         
+
+#endif /* _SAML11_PTC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/rstc.h b/cpu/sam0_common/include/vendor/saml11/include/instance/rstc.h
new file mode 100644
index 0000000000..1c9ec931eb
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/rstc.h
@@ -0,0 +1,50 @@
+/**
+ * \file
+ *
+ * \brief Instance description for RSTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_RSTC_INSTANCE_H_
+#define _SAML11_RSTC_INSTANCE_H_
+
+/* ========== Register definition for RSTC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_RSTC_RCAUSE         (0x40000C00) /**< (RSTC) Reset Cause */
+
+#else
+
+#define REG_RSTC_RCAUSE         (*(__I  uint8_t*)0x40000C00U) /**< (RSTC) Reset Cause */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for RSTC peripheral ========== */
+#define RSTC_BACKUP_IMPLEMENTED                  0          
+#define RSTC_NUMBER_OF_EXTWAKE                   0          /* number of external wakeup line */
+#define RSTC_INSTANCE_ID                         3          
+
+#endif /* _SAML11_RSTC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/rtc.h b/cpu/sam0_common/include/vendor/saml11/include/instance/rtc.h
new file mode 100644
index 0000000000..0f53eff541
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/rtc.h
@@ -0,0 +1,140 @@
+/**
+ * \file
+ *
+ * \brief Instance description for RTC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_RTC_INSTANCE_H_
+#define _SAML11_RTC_INSTANCE_H_
+
+/* ========== Register definition for RTC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_RTC_DBGCTRL         (0x4000240E) /**< (RTC) Debug Control */
+#define REG_RTC_FREQCORR        (0x40002414) /**< (RTC) Frequency Correction */
+#define REG_RTC_GP              (0x40002440) /**< (RTC) General Purpose */
+#define REG_RTC_GP0             (0x40002440) /**< (RTC) General Purpose 0 */
+#define REG_RTC_GP1             (0x40002444) /**< (RTC) General Purpose 1 */
+#define REG_RTC_TAMPCTRL        (0x40002460) /**< (RTC) Tamper Control */
+#define REG_RTC_TAMPID          (0x40002468) /**< (RTC) Tamper ID */
+#define REG_RTC_TAMPCTRLB       (0x4000246C) /**< (RTC) Tamper Control B */
+#define REG_RTC_MODE0_CTRLA     (0x40002400) /**< (RTC) MODE0 Control A */
+#define REG_RTC_MODE0_CTRLB     (0x40002402) /**< (RTC) MODE0 Control B */
+#define REG_RTC_MODE0_EVCTRL    (0x40002404) /**< (RTC) MODE0 Event Control */
+#define REG_RTC_MODE0_INTENCLR  (0x40002408) /**< (RTC) MODE0 Interrupt Enable Clear */
+#define REG_RTC_MODE0_INTENSET  (0x4000240A) /**< (RTC) MODE0 Interrupt Enable Set */
+#define REG_RTC_MODE0_INTFLAG   (0x4000240C) /**< (RTC) MODE0 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE0_SYNCBUSY  (0x40002410) /**< (RTC) MODE0 Synchronization Busy Status */
+#define REG_RTC_MODE0_COUNT     (0x40002418) /**< (RTC) MODE0 Counter Value */
+#define REG_RTC_MODE0_COMP      (0x40002420) /**< (RTC) MODE0 Compare n Value */
+#define REG_RTC_MODE0_COMP0     (0x40002420) /**< (RTC) MODE0 Compare 0 Value */
+#define REG_RTC_MODE0_TIMESTAMP (0x40002464) /**< (RTC) MODE0 Timestamp */
+#define REG_RTC_MODE1_CTRLA     (0x40002400) /**< (RTC) MODE1 Control A */
+#define REG_RTC_MODE1_CTRLB     (0x40002402) /**< (RTC) MODE1 Control B */
+#define REG_RTC_MODE1_EVCTRL    (0x40002404) /**< (RTC) MODE1 Event Control */
+#define REG_RTC_MODE1_INTENCLR  (0x40002408) /**< (RTC) MODE1 Interrupt Enable Clear */
+#define REG_RTC_MODE1_INTENSET  (0x4000240A) /**< (RTC) MODE1 Interrupt Enable Set */
+#define REG_RTC_MODE1_INTFLAG   (0x4000240C) /**< (RTC) MODE1 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE1_SYNCBUSY  (0x40002410) /**< (RTC) MODE1 Synchronization Busy Status */
+#define REG_RTC_MODE1_COUNT     (0x40002418) /**< (RTC) MODE1 Counter Value */
+#define REG_RTC_MODE1_PER       (0x4000241C) /**< (RTC) MODE1 Counter Period */
+#define REG_RTC_MODE1_COMP      (0x40002420) /**< (RTC) MODE1 Compare n Value */
+#define REG_RTC_MODE1_COMP0     (0x40002420) /**< (RTC) MODE1 Compare 0 Value */
+#define REG_RTC_MODE1_COMP1     (0x40002422) /**< (RTC) MODE1 Compare 1 Value */
+#define REG_RTC_MODE1_TIMESTAMP (0x40002464) /**< (RTC) MODE1 Timestamp */
+#define REG_RTC_MODE2_ALARM0    (0x40002420) /**< (RTC) MODE2_ALARM Alarm 0 Value */
+#define REG_RTC_MODE2_MASK0     (0x40002424) /**< (RTC) MODE2_ALARM Alarm 0 Mask */
+#define REG_RTC_MODE2_CTRLA     (0x40002400) /**< (RTC) MODE2 Control A */
+#define REG_RTC_MODE2_CTRLB     (0x40002402) /**< (RTC) MODE2 Control B */
+#define REG_RTC_MODE2_EVCTRL    (0x40002404) /**< (RTC) MODE2 Event Control */
+#define REG_RTC_MODE2_INTENCLR  (0x40002408) /**< (RTC) MODE2 Interrupt Enable Clear */
+#define REG_RTC_MODE2_INTENSET  (0x4000240A) /**< (RTC) MODE2 Interrupt Enable Set */
+#define REG_RTC_MODE2_INTFLAG   (0x4000240C) /**< (RTC) MODE2 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE2_SYNCBUSY  (0x40002410) /**< (RTC) MODE2 Synchronization Busy Status */
+#define REG_RTC_MODE2_CLOCK     (0x40002418) /**< (RTC) MODE2 Clock Value */
+#define REG_RTC_MODE2_TIMESTAMP (0x40002464) /**< (RTC) MODE2 Timestamp */
+
+#else
+
+#define REG_RTC_DBGCTRL         (*(__IO uint8_t*)0x4000240EU) /**< (RTC) Debug Control */
+#define REG_RTC_FREQCORR        (*(__IO uint8_t*)0x40002414U) /**< (RTC) Frequency Correction */
+#define REG_RTC_GP              (*(__IO uint32_t*)0x40002440U) /**< (RTC) General Purpose */
+#define REG_RTC_GP0             (*(__IO uint32_t*)0x40002440U) /**< (RTC) General Purpose 0 */
+#define REG_RTC_GP1             (*(__IO uint32_t*)0x40002444U) /**< (RTC) General Purpose 1 */
+#define REG_RTC_TAMPCTRL        (*(__IO uint32_t*)0x40002460U) /**< (RTC) Tamper Control */
+#define REG_RTC_TAMPID          (*(__IO uint32_t*)0x40002468U) /**< (RTC) Tamper ID */
+#define REG_RTC_TAMPCTRLB       (*(__IO uint32_t*)0x4000246CU) /**< (RTC) Tamper Control B */
+#define REG_RTC_MODE0_CTRLA     (*(__IO uint16_t*)0x40002400U) /**< (RTC) MODE0 Control A */
+#define REG_RTC_MODE0_CTRLB     (*(__IO uint16_t*)0x40002402U) /**< (RTC) MODE0 Control B */
+#define REG_RTC_MODE0_EVCTRL    (*(__IO uint32_t*)0x40002404U) /**< (RTC) MODE0 Event Control */
+#define REG_RTC_MODE0_INTENCLR  (*(__IO uint16_t*)0x40002408U) /**< (RTC) MODE0 Interrupt Enable Clear */
+#define REG_RTC_MODE0_INTENSET  (*(__IO uint16_t*)0x4000240AU) /**< (RTC) MODE0 Interrupt Enable Set */
+#define REG_RTC_MODE0_INTFLAG   (*(__IO uint16_t*)0x4000240CU) /**< (RTC) MODE0 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE0_SYNCBUSY  (*(__I  uint32_t*)0x40002410U) /**< (RTC) MODE0 Synchronization Busy Status */
+#define REG_RTC_MODE0_COUNT     (*(__IO uint32_t*)0x40002418U) /**< (RTC) MODE0 Counter Value */
+#define REG_RTC_MODE0_COMP      (*(__IO uint32_t*)0x40002420U) /**< (RTC) MODE0 Compare n Value */
+#define REG_RTC_MODE0_COMP0     (*(__IO uint32_t*)0x40002420U) /**< (RTC) MODE0 Compare 0 Value */
+#define REG_RTC_MODE0_TIMESTAMP (*(__I  uint32_t*)0x40002464U) /**< (RTC) MODE0 Timestamp */
+#define REG_RTC_MODE1_CTRLA     (*(__IO uint16_t*)0x40002400U) /**< (RTC) MODE1 Control A */
+#define REG_RTC_MODE1_CTRLB     (*(__IO uint16_t*)0x40002402U) /**< (RTC) MODE1 Control B */
+#define REG_RTC_MODE1_EVCTRL    (*(__IO uint32_t*)0x40002404U) /**< (RTC) MODE1 Event Control */
+#define REG_RTC_MODE1_INTENCLR  (*(__IO uint16_t*)0x40002408U) /**< (RTC) MODE1 Interrupt Enable Clear */
+#define REG_RTC_MODE1_INTENSET  (*(__IO uint16_t*)0x4000240AU) /**< (RTC) MODE1 Interrupt Enable Set */
+#define REG_RTC_MODE1_INTFLAG   (*(__IO uint16_t*)0x4000240CU) /**< (RTC) MODE1 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE1_SYNCBUSY  (*(__I  uint32_t*)0x40002410U) /**< (RTC) MODE1 Synchronization Busy Status */
+#define REG_RTC_MODE1_COUNT     (*(__IO uint16_t*)0x40002418U) /**< (RTC) MODE1 Counter Value */
+#define REG_RTC_MODE1_PER       (*(__IO uint16_t*)0x4000241CU) /**< (RTC) MODE1 Counter Period */
+#define REG_RTC_MODE1_COMP      (*(__IO uint16_t*)0x40002420U) /**< (RTC) MODE1 Compare n Value */
+#define REG_RTC_MODE1_COMP0     (*(__IO uint16_t*)0x40002420U) /**< (RTC) MODE1 Compare 0 Value */
+#define REG_RTC_MODE1_COMP1     (*(__IO uint16_t*)0x40002422U) /**< (RTC) MODE1 Compare 1 Value */
+#define REG_RTC_MODE1_TIMESTAMP (*(__I  uint32_t*)0x40002464U) /**< (RTC) MODE1 Timestamp */
+#define REG_RTC_MODE2_ALARM0    (*(__IO uint32_t*)0x40002420U) /**< (RTC) MODE2_ALARM Alarm 0 Value */
+#define REG_RTC_MODE2_MASK0     (*(__IO uint8_t*)0x40002424U) /**< (RTC) MODE2_ALARM Alarm 0 Mask */
+#define REG_RTC_MODE2_CTRLA     (*(__IO uint16_t*)0x40002400U) /**< (RTC) MODE2 Control A */
+#define REG_RTC_MODE2_CTRLB     (*(__IO uint16_t*)0x40002402U) /**< (RTC) MODE2 Control B */
+#define REG_RTC_MODE2_EVCTRL    (*(__IO uint32_t*)0x40002404U) /**< (RTC) MODE2 Event Control */
+#define REG_RTC_MODE2_INTENCLR  (*(__IO uint16_t*)0x40002408U) /**< (RTC) MODE2 Interrupt Enable Clear */
+#define REG_RTC_MODE2_INTENSET  (*(__IO uint16_t*)0x4000240AU) /**< (RTC) MODE2 Interrupt Enable Set */
+#define REG_RTC_MODE2_INTFLAG   (*(__IO uint16_t*)0x4000240CU) /**< (RTC) MODE2 Interrupt Flag Status and Clear */
+#define REG_RTC_MODE2_SYNCBUSY  (*(__I  uint32_t*)0x40002410U) /**< (RTC) MODE2 Synchronization Busy Status */
+#define REG_RTC_MODE2_CLOCK     (*(__IO uint32_t*)0x40002418U) /**< (RTC) MODE2 Clock Value */
+#define REG_RTC_MODE2_TIMESTAMP (*(__I  uint32_t*)0x40002464U) /**< (RTC) MODE2 Timestamp */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for RTC peripheral ========== */
+#define RTC_DMAC_ID_TIMESTAMP                    1          /* DMA RTC timestamp trigger */
+#define RTC_GPR_NUM                              2          /* Number of General-Purpose Registers */
+#define RTC_NUM_OF_ALARMS                        1          /* Number of Alarms */
+#define RTC_NUM_OF_BKREGS                        0          /* Number of Backup Registers */
+#define RTC_NUM_OF_COMP16                        2          /* Number of 16-bit Comparators */
+#define RTC_NUM_OF_COMP32                        1          /* Number of 32-bit Comparators */
+#define RTC_NUM_OF_TAMPERS                       4          /* Number of Tamper Inputs */
+#define RTC_PER_NUM                              8          /* Number of Periodic Intervals */
+#define RTC_INSTANCE_ID                          9          
+
+#endif /* _SAML11_RTC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/sercom0.h b/cpu/sam0_common/include/vendor/saml11/include/instance/sercom0.h
new file mode 100644
index 0000000000..3b6f6aa5c1
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/sercom0.h
@@ -0,0 +1,150 @@
+/**
+ * \file
+ *
+ * \brief Instance description for SERCOM0
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_SERCOM0_INSTANCE_H_
+#define _SAML11_SERCOM0_INSTANCE_H_
+
+/* ========== Register definition for SERCOM0 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_SERCOM0_I2CM_CTRLA  (0x42000400) /**< (SERCOM0) I2CM Control A */
+#define REG_SERCOM0_I2CM_CTRLB  (0x42000404) /**< (SERCOM0) I2CM Control B */
+#define REG_SERCOM0_I2CM_BAUD   (0x4200040C) /**< (SERCOM0) I2CM Baud Rate */
+#define REG_SERCOM0_I2CM_INTENCLR (0x42000414) /**< (SERCOM0) I2CM Interrupt Enable Clear */
+#define REG_SERCOM0_I2CM_INTENSET (0x42000416) /**< (SERCOM0) I2CM Interrupt Enable Set */
+#define REG_SERCOM0_I2CM_INTFLAG (0x42000418) /**< (SERCOM0) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM0_I2CM_STATUS (0x4200041A) /**< (SERCOM0) I2CM Status */
+#define REG_SERCOM0_I2CM_SYNCBUSY (0x4200041C) /**< (SERCOM0) I2CM Synchronization Busy */
+#define REG_SERCOM0_I2CM_ADDR   (0x42000424) /**< (SERCOM0) I2CM Address */
+#define REG_SERCOM0_I2CM_DATA   (0x42000428) /**< (SERCOM0) I2CM Data */
+#define REG_SERCOM0_I2CM_DBGCTRL (0x42000430) /**< (SERCOM0) I2CM Debug Control */
+#define REG_SERCOM0_I2CS_CTRLA  (0x42000400) /**< (SERCOM0) I2CS Control A */
+#define REG_SERCOM0_I2CS_CTRLB  (0x42000404) /**< (SERCOM0) I2CS Control B */
+#define REG_SERCOM0_I2CS_INTENCLR (0x42000414) /**< (SERCOM0) I2CS Interrupt Enable Clear */
+#define REG_SERCOM0_I2CS_INTENSET (0x42000416) /**< (SERCOM0) I2CS Interrupt Enable Set */
+#define REG_SERCOM0_I2CS_INTFLAG (0x42000418) /**< (SERCOM0) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM0_I2CS_STATUS (0x4200041A) /**< (SERCOM0) I2CS Status */
+#define REG_SERCOM0_I2CS_SYNCBUSY (0x4200041C) /**< (SERCOM0) I2CS Synchronization Busy */
+#define REG_SERCOM0_I2CS_ADDR   (0x42000424) /**< (SERCOM0) I2CS Address */
+#define REG_SERCOM0_I2CS_DATA   (0x42000428) /**< (SERCOM0) I2CS Data */
+#define REG_SERCOM0_SPI_CTRLA   (0x42000400) /**< (SERCOM0) SPI Control A */
+#define REG_SERCOM0_SPI_CTRLB   (0x42000404) /**< (SERCOM0) SPI Control B */
+#define REG_SERCOM0_SPI_BAUD    (0x4200040C) /**< (SERCOM0) SPI Baud Rate */
+#define REG_SERCOM0_SPI_INTENCLR (0x42000414) /**< (SERCOM0) SPI Interrupt Enable Clear */
+#define REG_SERCOM0_SPI_INTENSET (0x42000416) /**< (SERCOM0) SPI Interrupt Enable Set */
+#define REG_SERCOM0_SPI_INTFLAG (0x42000418) /**< (SERCOM0) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM0_SPI_STATUS  (0x4200041A) /**< (SERCOM0) SPI Status */
+#define REG_SERCOM0_SPI_SYNCBUSY (0x4200041C) /**< (SERCOM0) SPI Synchronization Busy */
+#define REG_SERCOM0_SPI_ADDR    (0x42000424) /**< (SERCOM0) SPI Address */
+#define REG_SERCOM0_SPI_DATA    (0x42000428) /**< (SERCOM0) SPI Data */
+#define REG_SERCOM0_SPI_DBGCTRL (0x42000430) /**< (SERCOM0) SPI Debug Control */
+#define REG_SERCOM0_USART_CTRLA (0x42000400) /**< (SERCOM0) USART Control A */
+#define REG_SERCOM0_USART_CTRLB (0x42000404) /**< (SERCOM0) USART Control B */
+#define REG_SERCOM0_USART_CTRLC (0x42000408) /**< (SERCOM0) USART Control C */
+#define REG_SERCOM0_USART_BAUD  (0x4200040C) /**< (SERCOM0) USART Baud Rate */
+#define REG_SERCOM0_USART_RXPL  (0x4200040E) /**< (SERCOM0) USART Receive Pulse Length */
+#define REG_SERCOM0_USART_INTENCLR (0x42000414) /**< (SERCOM0) USART Interrupt Enable Clear */
+#define REG_SERCOM0_USART_INTENSET (0x42000416) /**< (SERCOM0) USART Interrupt Enable Set */
+#define REG_SERCOM0_USART_INTFLAG (0x42000418) /**< (SERCOM0) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM0_USART_STATUS (0x4200041A) /**< (SERCOM0) USART Status */
+#define REG_SERCOM0_USART_SYNCBUSY (0x4200041C) /**< (SERCOM0) USART Synchronization Busy */
+#define REG_SERCOM0_USART_RXERRCNT (0x42000420) /**< (SERCOM0) USART Receive Error Count */
+#define REG_SERCOM0_USART_DATA  (0x42000428) /**< (SERCOM0) USART Data */
+#define REG_SERCOM0_USART_DBGCTRL (0x42000430) /**< (SERCOM0) USART Debug Control */
+
+#else
+
+#define REG_SERCOM0_I2CM_CTRLA  (*(__IO uint32_t*)0x42000400U) /**< (SERCOM0) I2CM Control A */
+#define REG_SERCOM0_I2CM_CTRLB  (*(__IO uint32_t*)0x42000404U) /**< (SERCOM0) I2CM Control B */
+#define REG_SERCOM0_I2CM_BAUD   (*(__IO uint32_t*)0x4200040CU) /**< (SERCOM0) I2CM Baud Rate */
+#define REG_SERCOM0_I2CM_INTENCLR (*(__IO uint8_t*)0x42000414U) /**< (SERCOM0) I2CM Interrupt Enable Clear */
+#define REG_SERCOM0_I2CM_INTENSET (*(__IO uint8_t*)0x42000416U) /**< (SERCOM0) I2CM Interrupt Enable Set */
+#define REG_SERCOM0_I2CM_INTFLAG (*(__IO uint8_t*)0x42000418U) /**< (SERCOM0) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM0_I2CM_STATUS (*(__IO uint16_t*)0x4200041AU) /**< (SERCOM0) I2CM Status */
+#define REG_SERCOM0_I2CM_SYNCBUSY (*(__I  uint32_t*)0x4200041CU) /**< (SERCOM0) I2CM Synchronization Busy */
+#define REG_SERCOM0_I2CM_ADDR   (*(__IO uint32_t*)0x42000424U) /**< (SERCOM0) I2CM Address */
+#define REG_SERCOM0_I2CM_DATA   (*(__IO uint8_t*)0x42000428U) /**< (SERCOM0) I2CM Data */
+#define REG_SERCOM0_I2CM_DBGCTRL (*(__IO uint8_t*)0x42000430U) /**< (SERCOM0) I2CM Debug Control */
+#define REG_SERCOM0_I2CS_CTRLA  (*(__IO uint32_t*)0x42000400U) /**< (SERCOM0) I2CS Control A */
+#define REG_SERCOM0_I2CS_CTRLB  (*(__IO uint32_t*)0x42000404U) /**< (SERCOM0) I2CS Control B */
+#define REG_SERCOM0_I2CS_INTENCLR (*(__IO uint8_t*)0x42000414U) /**< (SERCOM0) I2CS Interrupt Enable Clear */
+#define REG_SERCOM0_I2CS_INTENSET (*(__IO uint8_t*)0x42000416U) /**< (SERCOM0) I2CS Interrupt Enable Set */
+#define REG_SERCOM0_I2CS_INTFLAG (*(__IO uint8_t*)0x42000418U) /**< (SERCOM0) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM0_I2CS_STATUS (*(__IO uint16_t*)0x4200041AU) /**< (SERCOM0) I2CS Status */
+#define REG_SERCOM0_I2CS_SYNCBUSY (*(__I  uint32_t*)0x4200041CU) /**< (SERCOM0) I2CS Synchronization Busy */
+#define REG_SERCOM0_I2CS_ADDR   (*(__IO uint32_t*)0x42000424U) /**< (SERCOM0) I2CS Address */
+#define REG_SERCOM0_I2CS_DATA   (*(__IO uint8_t*)0x42000428U) /**< (SERCOM0) I2CS Data */
+#define REG_SERCOM0_SPI_CTRLA   (*(__IO uint32_t*)0x42000400U) /**< (SERCOM0) SPI Control A */
+#define REG_SERCOM0_SPI_CTRLB   (*(__IO uint32_t*)0x42000404U) /**< (SERCOM0) SPI Control B */
+#define REG_SERCOM0_SPI_BAUD    (*(__IO uint8_t*)0x4200040CU) /**< (SERCOM0) SPI Baud Rate */
+#define REG_SERCOM0_SPI_INTENCLR (*(__IO uint8_t*)0x42000414U) /**< (SERCOM0) SPI Interrupt Enable Clear */
+#define REG_SERCOM0_SPI_INTENSET (*(__IO uint8_t*)0x42000416U) /**< (SERCOM0) SPI Interrupt Enable Set */
+#define REG_SERCOM0_SPI_INTFLAG (*(__IO uint8_t*)0x42000418U) /**< (SERCOM0) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM0_SPI_STATUS  (*(__IO uint16_t*)0x4200041AU) /**< (SERCOM0) SPI Status */
+#define REG_SERCOM0_SPI_SYNCBUSY (*(__I  uint32_t*)0x4200041CU) /**< (SERCOM0) SPI Synchronization Busy */
+#define REG_SERCOM0_SPI_ADDR    (*(__IO uint32_t*)0x42000424U) /**< (SERCOM0) SPI Address */
+#define REG_SERCOM0_SPI_DATA    (*(__IO uint32_t*)0x42000428U) /**< (SERCOM0) SPI Data */
+#define REG_SERCOM0_SPI_DBGCTRL (*(__IO uint8_t*)0x42000430U) /**< (SERCOM0) SPI Debug Control */
+#define REG_SERCOM0_USART_CTRLA (*(__IO uint32_t*)0x42000400U) /**< (SERCOM0) USART Control A */
+#define REG_SERCOM0_USART_CTRLB (*(__IO uint32_t*)0x42000404U) /**< (SERCOM0) USART Control B */
+#define REG_SERCOM0_USART_CTRLC (*(__IO uint32_t*)0x42000408U) /**< (SERCOM0) USART Control C */
+#define REG_SERCOM0_USART_BAUD  (*(__IO uint16_t*)0x4200040CU) /**< (SERCOM0) USART Baud Rate */
+#define REG_SERCOM0_USART_RXPL  (*(__IO uint8_t*)0x4200040EU) /**< (SERCOM0) USART Receive Pulse Length */
+#define REG_SERCOM0_USART_INTENCLR (*(__IO uint8_t*)0x42000414U) /**< (SERCOM0) USART Interrupt Enable Clear */
+#define REG_SERCOM0_USART_INTENSET (*(__IO uint8_t*)0x42000416U) /**< (SERCOM0) USART Interrupt Enable Set */
+#define REG_SERCOM0_USART_INTFLAG (*(__IO uint8_t*)0x42000418U) /**< (SERCOM0) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM0_USART_STATUS (*(__IO uint16_t*)0x4200041AU) /**< (SERCOM0) USART Status */
+#define REG_SERCOM0_USART_SYNCBUSY (*(__I  uint32_t*)0x4200041CU) /**< (SERCOM0) USART Synchronization Busy */
+#define REG_SERCOM0_USART_RXERRCNT (*(__I  uint8_t*)0x42000420U) /**< (SERCOM0) USART Receive Error Count */
+#define REG_SERCOM0_USART_DATA  (*(__IO uint16_t*)0x42000428U) /**< (SERCOM0) USART Data */
+#define REG_SERCOM0_USART_DBGCTRL (*(__IO uint8_t*)0x42000430U) /**< (SERCOM0) USART Debug Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for SERCOM0 peripheral ========== */
+#define SERCOM0_DMAC_ID_RX                       4          /* Index of DMA RX trigger */
+#define SERCOM0_DMAC_ID_TX                       5          /* Index of DMA TX trigger */
+#define SERCOM0_FIFO_DEPTH_POWER                 1          /* Rx Fifo depth = 2^FIFO_DEPTH_POWER */
+#define SERCOM0_GCLK_ID_CORE                     11         
+#define SERCOM0_GCLK_ID_SLOW                     10         
+#define SERCOM0_INT_MSB                          6          
+#define SERCOM0_PMSB                             3          
+#define SERCOM0_SPI                              1          /* SPI mode implemented? */
+#define SERCOM0_TWIM                             1          /* TWI Master mode implemented? */
+#define SERCOM0_TWIS                             1          /* TWI Slave mode implemented? */
+#define SERCOM0_TWI_HSMODE                       1          /* TWI HighSpeed mode implemented? */
+#define SERCOM0_USART                            1          /* USART mode implemented? */
+#define SERCOM0_USART_AUTOBAUD                   0          /* USART AUTOBAUD mode implemented? */
+#define SERCOM0_USART_ISO7816                    0          /* USART ISO7816 mode implemented? */
+#define SERCOM0_USART_LIN_MASTER                 0          /* USART LIN Master mode implemented? */
+#define SERCOM0_USART_RS485                      0          /* USART RS485 mode implemented? */
+#define SERCOM0_INSTANCE_ID                      65         
+
+#endif /* _SAML11_SERCOM0_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/sercom1.h b/cpu/sam0_common/include/vendor/saml11/include/instance/sercom1.h
new file mode 100644
index 0000000000..86547511f9
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/sercom1.h
@@ -0,0 +1,150 @@
+/**
+ * \file
+ *
+ * \brief Instance description for SERCOM1
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_SERCOM1_INSTANCE_H_
+#define _SAML11_SERCOM1_INSTANCE_H_
+
+/* ========== Register definition for SERCOM1 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_SERCOM1_I2CM_CTRLA  (0x42000800) /**< (SERCOM1) I2CM Control A */
+#define REG_SERCOM1_I2CM_CTRLB  (0x42000804) /**< (SERCOM1) I2CM Control B */
+#define REG_SERCOM1_I2CM_BAUD   (0x4200080C) /**< (SERCOM1) I2CM Baud Rate */
+#define REG_SERCOM1_I2CM_INTENCLR (0x42000814) /**< (SERCOM1) I2CM Interrupt Enable Clear */
+#define REG_SERCOM1_I2CM_INTENSET (0x42000816) /**< (SERCOM1) I2CM Interrupt Enable Set */
+#define REG_SERCOM1_I2CM_INTFLAG (0x42000818) /**< (SERCOM1) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM1_I2CM_STATUS (0x4200081A) /**< (SERCOM1) I2CM Status */
+#define REG_SERCOM1_I2CM_SYNCBUSY (0x4200081C) /**< (SERCOM1) I2CM Synchronization Busy */
+#define REG_SERCOM1_I2CM_ADDR   (0x42000824) /**< (SERCOM1) I2CM Address */
+#define REG_SERCOM1_I2CM_DATA   (0x42000828) /**< (SERCOM1) I2CM Data */
+#define REG_SERCOM1_I2CM_DBGCTRL (0x42000830) /**< (SERCOM1) I2CM Debug Control */
+#define REG_SERCOM1_I2CS_CTRLA  (0x42000800) /**< (SERCOM1) I2CS Control A */
+#define REG_SERCOM1_I2CS_CTRLB  (0x42000804) /**< (SERCOM1) I2CS Control B */
+#define REG_SERCOM1_I2CS_INTENCLR (0x42000814) /**< (SERCOM1) I2CS Interrupt Enable Clear */
+#define REG_SERCOM1_I2CS_INTENSET (0x42000816) /**< (SERCOM1) I2CS Interrupt Enable Set */
+#define REG_SERCOM1_I2CS_INTFLAG (0x42000818) /**< (SERCOM1) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM1_I2CS_STATUS (0x4200081A) /**< (SERCOM1) I2CS Status */
+#define REG_SERCOM1_I2CS_SYNCBUSY (0x4200081C) /**< (SERCOM1) I2CS Synchronization Busy */
+#define REG_SERCOM1_I2CS_ADDR   (0x42000824) /**< (SERCOM1) I2CS Address */
+#define REG_SERCOM1_I2CS_DATA   (0x42000828) /**< (SERCOM1) I2CS Data */
+#define REG_SERCOM1_SPI_CTRLA   (0x42000800) /**< (SERCOM1) SPI Control A */
+#define REG_SERCOM1_SPI_CTRLB   (0x42000804) /**< (SERCOM1) SPI Control B */
+#define REG_SERCOM1_SPI_BAUD    (0x4200080C) /**< (SERCOM1) SPI Baud Rate */
+#define REG_SERCOM1_SPI_INTENCLR (0x42000814) /**< (SERCOM1) SPI Interrupt Enable Clear */
+#define REG_SERCOM1_SPI_INTENSET (0x42000816) /**< (SERCOM1) SPI Interrupt Enable Set */
+#define REG_SERCOM1_SPI_INTFLAG (0x42000818) /**< (SERCOM1) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM1_SPI_STATUS  (0x4200081A) /**< (SERCOM1) SPI Status */
+#define REG_SERCOM1_SPI_SYNCBUSY (0x4200081C) /**< (SERCOM1) SPI Synchronization Busy */
+#define REG_SERCOM1_SPI_ADDR    (0x42000824) /**< (SERCOM1) SPI Address */
+#define REG_SERCOM1_SPI_DATA    (0x42000828) /**< (SERCOM1) SPI Data */
+#define REG_SERCOM1_SPI_DBGCTRL (0x42000830) /**< (SERCOM1) SPI Debug Control */
+#define REG_SERCOM1_USART_CTRLA (0x42000800) /**< (SERCOM1) USART Control A */
+#define REG_SERCOM1_USART_CTRLB (0x42000804) /**< (SERCOM1) USART Control B */
+#define REG_SERCOM1_USART_CTRLC (0x42000808) /**< (SERCOM1) USART Control C */
+#define REG_SERCOM1_USART_BAUD  (0x4200080C) /**< (SERCOM1) USART Baud Rate */
+#define REG_SERCOM1_USART_RXPL  (0x4200080E) /**< (SERCOM1) USART Receive Pulse Length */
+#define REG_SERCOM1_USART_INTENCLR (0x42000814) /**< (SERCOM1) USART Interrupt Enable Clear */
+#define REG_SERCOM1_USART_INTENSET (0x42000816) /**< (SERCOM1) USART Interrupt Enable Set */
+#define REG_SERCOM1_USART_INTFLAG (0x42000818) /**< (SERCOM1) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM1_USART_STATUS (0x4200081A) /**< (SERCOM1) USART Status */
+#define REG_SERCOM1_USART_SYNCBUSY (0x4200081C) /**< (SERCOM1) USART Synchronization Busy */
+#define REG_SERCOM1_USART_RXERRCNT (0x42000820) /**< (SERCOM1) USART Receive Error Count */
+#define REG_SERCOM1_USART_DATA  (0x42000828) /**< (SERCOM1) USART Data */
+#define REG_SERCOM1_USART_DBGCTRL (0x42000830) /**< (SERCOM1) USART Debug Control */
+
+#else
+
+#define REG_SERCOM1_I2CM_CTRLA  (*(__IO uint32_t*)0x42000800U) /**< (SERCOM1) I2CM Control A */
+#define REG_SERCOM1_I2CM_CTRLB  (*(__IO uint32_t*)0x42000804U) /**< (SERCOM1) I2CM Control B */
+#define REG_SERCOM1_I2CM_BAUD   (*(__IO uint32_t*)0x4200080CU) /**< (SERCOM1) I2CM Baud Rate */
+#define REG_SERCOM1_I2CM_INTENCLR (*(__IO uint8_t*)0x42000814U) /**< (SERCOM1) I2CM Interrupt Enable Clear */
+#define REG_SERCOM1_I2CM_INTENSET (*(__IO uint8_t*)0x42000816U) /**< (SERCOM1) I2CM Interrupt Enable Set */
+#define REG_SERCOM1_I2CM_INTFLAG (*(__IO uint8_t*)0x42000818U) /**< (SERCOM1) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM1_I2CM_STATUS (*(__IO uint16_t*)0x4200081AU) /**< (SERCOM1) I2CM Status */
+#define REG_SERCOM1_I2CM_SYNCBUSY (*(__I  uint32_t*)0x4200081CU) /**< (SERCOM1) I2CM Synchronization Busy */
+#define REG_SERCOM1_I2CM_ADDR   (*(__IO uint32_t*)0x42000824U) /**< (SERCOM1) I2CM Address */
+#define REG_SERCOM1_I2CM_DATA   (*(__IO uint8_t*)0x42000828U) /**< (SERCOM1) I2CM Data */
+#define REG_SERCOM1_I2CM_DBGCTRL (*(__IO uint8_t*)0x42000830U) /**< (SERCOM1) I2CM Debug Control */
+#define REG_SERCOM1_I2CS_CTRLA  (*(__IO uint32_t*)0x42000800U) /**< (SERCOM1) I2CS Control A */
+#define REG_SERCOM1_I2CS_CTRLB  (*(__IO uint32_t*)0x42000804U) /**< (SERCOM1) I2CS Control B */
+#define REG_SERCOM1_I2CS_INTENCLR (*(__IO uint8_t*)0x42000814U) /**< (SERCOM1) I2CS Interrupt Enable Clear */
+#define REG_SERCOM1_I2CS_INTENSET (*(__IO uint8_t*)0x42000816U) /**< (SERCOM1) I2CS Interrupt Enable Set */
+#define REG_SERCOM1_I2CS_INTFLAG (*(__IO uint8_t*)0x42000818U) /**< (SERCOM1) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM1_I2CS_STATUS (*(__IO uint16_t*)0x4200081AU) /**< (SERCOM1) I2CS Status */
+#define REG_SERCOM1_I2CS_SYNCBUSY (*(__I  uint32_t*)0x4200081CU) /**< (SERCOM1) I2CS Synchronization Busy */
+#define REG_SERCOM1_I2CS_ADDR   (*(__IO uint32_t*)0x42000824U) /**< (SERCOM1) I2CS Address */
+#define REG_SERCOM1_I2CS_DATA   (*(__IO uint8_t*)0x42000828U) /**< (SERCOM1) I2CS Data */
+#define REG_SERCOM1_SPI_CTRLA   (*(__IO uint32_t*)0x42000800U) /**< (SERCOM1) SPI Control A */
+#define REG_SERCOM1_SPI_CTRLB   (*(__IO uint32_t*)0x42000804U) /**< (SERCOM1) SPI Control B */
+#define REG_SERCOM1_SPI_BAUD    (*(__IO uint8_t*)0x4200080CU) /**< (SERCOM1) SPI Baud Rate */
+#define REG_SERCOM1_SPI_INTENCLR (*(__IO uint8_t*)0x42000814U) /**< (SERCOM1) SPI Interrupt Enable Clear */
+#define REG_SERCOM1_SPI_INTENSET (*(__IO uint8_t*)0x42000816U) /**< (SERCOM1) SPI Interrupt Enable Set */
+#define REG_SERCOM1_SPI_INTFLAG (*(__IO uint8_t*)0x42000818U) /**< (SERCOM1) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM1_SPI_STATUS  (*(__IO uint16_t*)0x4200081AU) /**< (SERCOM1) SPI Status */
+#define REG_SERCOM1_SPI_SYNCBUSY (*(__I  uint32_t*)0x4200081CU) /**< (SERCOM1) SPI Synchronization Busy */
+#define REG_SERCOM1_SPI_ADDR    (*(__IO uint32_t*)0x42000824U) /**< (SERCOM1) SPI Address */
+#define REG_SERCOM1_SPI_DATA    (*(__IO uint32_t*)0x42000828U) /**< (SERCOM1) SPI Data */
+#define REG_SERCOM1_SPI_DBGCTRL (*(__IO uint8_t*)0x42000830U) /**< (SERCOM1) SPI Debug Control */
+#define REG_SERCOM1_USART_CTRLA (*(__IO uint32_t*)0x42000800U) /**< (SERCOM1) USART Control A */
+#define REG_SERCOM1_USART_CTRLB (*(__IO uint32_t*)0x42000804U) /**< (SERCOM1) USART Control B */
+#define REG_SERCOM1_USART_CTRLC (*(__IO uint32_t*)0x42000808U) /**< (SERCOM1) USART Control C */
+#define REG_SERCOM1_USART_BAUD  (*(__IO uint16_t*)0x4200080CU) /**< (SERCOM1) USART Baud Rate */
+#define REG_SERCOM1_USART_RXPL  (*(__IO uint8_t*)0x4200080EU) /**< (SERCOM1) USART Receive Pulse Length */
+#define REG_SERCOM1_USART_INTENCLR (*(__IO uint8_t*)0x42000814U) /**< (SERCOM1) USART Interrupt Enable Clear */
+#define REG_SERCOM1_USART_INTENSET (*(__IO uint8_t*)0x42000816U) /**< (SERCOM1) USART Interrupt Enable Set */
+#define REG_SERCOM1_USART_INTFLAG (*(__IO uint8_t*)0x42000818U) /**< (SERCOM1) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM1_USART_STATUS (*(__IO uint16_t*)0x4200081AU) /**< (SERCOM1) USART Status */
+#define REG_SERCOM1_USART_SYNCBUSY (*(__I  uint32_t*)0x4200081CU) /**< (SERCOM1) USART Synchronization Busy */
+#define REG_SERCOM1_USART_RXERRCNT (*(__I  uint8_t*)0x42000820U) /**< (SERCOM1) USART Receive Error Count */
+#define REG_SERCOM1_USART_DATA  (*(__IO uint16_t*)0x42000828U) /**< (SERCOM1) USART Data */
+#define REG_SERCOM1_USART_DBGCTRL (*(__IO uint8_t*)0x42000830U) /**< (SERCOM1) USART Debug Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for SERCOM1 peripheral ========== */
+#define SERCOM1_DMAC_ID_RX                       6          /* Index of DMA RX trigger */
+#define SERCOM1_DMAC_ID_TX                       7          /* Index of DMA TX trigger */
+#define SERCOM1_FIFO_DEPTH_POWER                 2          /* Rx Fifo depth = 2^FIFO_DEPTH_POWER */
+#define SERCOM1_GCLK_ID_CORE                     12         
+#define SERCOM1_GCLK_ID_SLOW                     10         
+#define SERCOM1_INT_MSB                          6          
+#define SERCOM1_PMSB                             3          
+#define SERCOM1_SPI                              1          /* SPI mode implemented? */
+#define SERCOM1_TWIM                             1          /* TWI Master mode implemented? */
+#define SERCOM1_TWIS                             1          /* TWI Slave mode implemented? */
+#define SERCOM1_TWI_HSMODE                       0          /* TWI HighSpeed mode implemented? */
+#define SERCOM1_USART                            1          /* USART mode implemented? */
+#define SERCOM1_USART_AUTOBAUD                   0          /* USART AUTOBAUD mode implemented? */
+#define SERCOM1_USART_ISO7816                    0          /* USART ISO7816 mode implemented? */
+#define SERCOM1_USART_LIN_MASTER                 0          /* USART LIN Master mode implemented? */
+#define SERCOM1_USART_RS485                      0          /* USART RS485 mode implemented? */
+#define SERCOM1_INSTANCE_ID                      66         
+
+#endif /* _SAML11_SERCOM1_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/sercom2.h b/cpu/sam0_common/include/vendor/saml11/include/instance/sercom2.h
new file mode 100644
index 0000000000..5a695e83f0
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/sercom2.h
@@ -0,0 +1,150 @@
+/**
+ * \file
+ *
+ * \brief Instance description for SERCOM2
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_SERCOM2_INSTANCE_H_
+#define _SAML11_SERCOM2_INSTANCE_H_
+
+/* ========== Register definition for SERCOM2 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_SERCOM2_I2CM_CTRLA  (0x42000C00) /**< (SERCOM2) I2CM Control A */
+#define REG_SERCOM2_I2CM_CTRLB  (0x42000C04) /**< (SERCOM2) I2CM Control B */
+#define REG_SERCOM2_I2CM_BAUD   (0x42000C0C) /**< (SERCOM2) I2CM Baud Rate */
+#define REG_SERCOM2_I2CM_INTENCLR (0x42000C14) /**< (SERCOM2) I2CM Interrupt Enable Clear */
+#define REG_SERCOM2_I2CM_INTENSET (0x42000C16) /**< (SERCOM2) I2CM Interrupt Enable Set */
+#define REG_SERCOM2_I2CM_INTFLAG (0x42000C18) /**< (SERCOM2) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM2_I2CM_STATUS (0x42000C1A) /**< (SERCOM2) I2CM Status */
+#define REG_SERCOM2_I2CM_SYNCBUSY (0x42000C1C) /**< (SERCOM2) I2CM Synchronization Busy */
+#define REG_SERCOM2_I2CM_ADDR   (0x42000C24) /**< (SERCOM2) I2CM Address */
+#define REG_SERCOM2_I2CM_DATA   (0x42000C28) /**< (SERCOM2) I2CM Data */
+#define REG_SERCOM2_I2CM_DBGCTRL (0x42000C30) /**< (SERCOM2) I2CM Debug Control */
+#define REG_SERCOM2_I2CS_CTRLA  (0x42000C00) /**< (SERCOM2) I2CS Control A */
+#define REG_SERCOM2_I2CS_CTRLB  (0x42000C04) /**< (SERCOM2) I2CS Control B */
+#define REG_SERCOM2_I2CS_INTENCLR (0x42000C14) /**< (SERCOM2) I2CS Interrupt Enable Clear */
+#define REG_SERCOM2_I2CS_INTENSET (0x42000C16) /**< (SERCOM2) I2CS Interrupt Enable Set */
+#define REG_SERCOM2_I2CS_INTFLAG (0x42000C18) /**< (SERCOM2) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM2_I2CS_STATUS (0x42000C1A) /**< (SERCOM2) I2CS Status */
+#define REG_SERCOM2_I2CS_SYNCBUSY (0x42000C1C) /**< (SERCOM2) I2CS Synchronization Busy */
+#define REG_SERCOM2_I2CS_ADDR   (0x42000C24) /**< (SERCOM2) I2CS Address */
+#define REG_SERCOM2_I2CS_DATA   (0x42000C28) /**< (SERCOM2) I2CS Data */
+#define REG_SERCOM2_SPI_CTRLA   (0x42000C00) /**< (SERCOM2) SPI Control A */
+#define REG_SERCOM2_SPI_CTRLB   (0x42000C04) /**< (SERCOM2) SPI Control B */
+#define REG_SERCOM2_SPI_BAUD    (0x42000C0C) /**< (SERCOM2) SPI Baud Rate */
+#define REG_SERCOM2_SPI_INTENCLR (0x42000C14) /**< (SERCOM2) SPI Interrupt Enable Clear */
+#define REG_SERCOM2_SPI_INTENSET (0x42000C16) /**< (SERCOM2) SPI Interrupt Enable Set */
+#define REG_SERCOM2_SPI_INTFLAG (0x42000C18) /**< (SERCOM2) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM2_SPI_STATUS  (0x42000C1A) /**< (SERCOM2) SPI Status */
+#define REG_SERCOM2_SPI_SYNCBUSY (0x42000C1C) /**< (SERCOM2) SPI Synchronization Busy */
+#define REG_SERCOM2_SPI_ADDR    (0x42000C24) /**< (SERCOM2) SPI Address */
+#define REG_SERCOM2_SPI_DATA    (0x42000C28) /**< (SERCOM2) SPI Data */
+#define REG_SERCOM2_SPI_DBGCTRL (0x42000C30) /**< (SERCOM2) SPI Debug Control */
+#define REG_SERCOM2_USART_CTRLA (0x42000C00) /**< (SERCOM2) USART Control A */
+#define REG_SERCOM2_USART_CTRLB (0x42000C04) /**< (SERCOM2) USART Control B */
+#define REG_SERCOM2_USART_CTRLC (0x42000C08) /**< (SERCOM2) USART Control C */
+#define REG_SERCOM2_USART_BAUD  (0x42000C0C) /**< (SERCOM2) USART Baud Rate */
+#define REG_SERCOM2_USART_RXPL  (0x42000C0E) /**< (SERCOM2) USART Receive Pulse Length */
+#define REG_SERCOM2_USART_INTENCLR (0x42000C14) /**< (SERCOM2) USART Interrupt Enable Clear */
+#define REG_SERCOM2_USART_INTENSET (0x42000C16) /**< (SERCOM2) USART Interrupt Enable Set */
+#define REG_SERCOM2_USART_INTFLAG (0x42000C18) /**< (SERCOM2) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM2_USART_STATUS (0x42000C1A) /**< (SERCOM2) USART Status */
+#define REG_SERCOM2_USART_SYNCBUSY (0x42000C1C) /**< (SERCOM2) USART Synchronization Busy */
+#define REG_SERCOM2_USART_RXERRCNT (0x42000C20) /**< (SERCOM2) USART Receive Error Count */
+#define REG_SERCOM2_USART_DATA  (0x42000C28) /**< (SERCOM2) USART Data */
+#define REG_SERCOM2_USART_DBGCTRL (0x42000C30) /**< (SERCOM2) USART Debug Control */
+
+#else
+
+#define REG_SERCOM2_I2CM_CTRLA  (*(__IO uint32_t*)0x42000C00U) /**< (SERCOM2) I2CM Control A */
+#define REG_SERCOM2_I2CM_CTRLB  (*(__IO uint32_t*)0x42000C04U) /**< (SERCOM2) I2CM Control B */
+#define REG_SERCOM2_I2CM_BAUD   (*(__IO uint32_t*)0x42000C0CU) /**< (SERCOM2) I2CM Baud Rate */
+#define REG_SERCOM2_I2CM_INTENCLR (*(__IO uint8_t*)0x42000C14U) /**< (SERCOM2) I2CM Interrupt Enable Clear */
+#define REG_SERCOM2_I2CM_INTENSET (*(__IO uint8_t*)0x42000C16U) /**< (SERCOM2) I2CM Interrupt Enable Set */
+#define REG_SERCOM2_I2CM_INTFLAG (*(__IO uint8_t*)0x42000C18U) /**< (SERCOM2) I2CM Interrupt Flag Status and Clear */
+#define REG_SERCOM2_I2CM_STATUS (*(__IO uint16_t*)0x42000C1AU) /**< (SERCOM2) I2CM Status */
+#define REG_SERCOM2_I2CM_SYNCBUSY (*(__I  uint32_t*)0x42000C1CU) /**< (SERCOM2) I2CM Synchronization Busy */
+#define REG_SERCOM2_I2CM_ADDR   (*(__IO uint32_t*)0x42000C24U) /**< (SERCOM2) I2CM Address */
+#define REG_SERCOM2_I2CM_DATA   (*(__IO uint8_t*)0x42000C28U) /**< (SERCOM2) I2CM Data */
+#define REG_SERCOM2_I2CM_DBGCTRL (*(__IO uint8_t*)0x42000C30U) /**< (SERCOM2) I2CM Debug Control */
+#define REG_SERCOM2_I2CS_CTRLA  (*(__IO uint32_t*)0x42000C00U) /**< (SERCOM2) I2CS Control A */
+#define REG_SERCOM2_I2CS_CTRLB  (*(__IO uint32_t*)0x42000C04U) /**< (SERCOM2) I2CS Control B */
+#define REG_SERCOM2_I2CS_INTENCLR (*(__IO uint8_t*)0x42000C14U) /**< (SERCOM2) I2CS Interrupt Enable Clear */
+#define REG_SERCOM2_I2CS_INTENSET (*(__IO uint8_t*)0x42000C16U) /**< (SERCOM2) I2CS Interrupt Enable Set */
+#define REG_SERCOM2_I2CS_INTFLAG (*(__IO uint8_t*)0x42000C18U) /**< (SERCOM2) I2CS Interrupt Flag Status and Clear */
+#define REG_SERCOM2_I2CS_STATUS (*(__IO uint16_t*)0x42000C1AU) /**< (SERCOM2) I2CS Status */
+#define REG_SERCOM2_I2CS_SYNCBUSY (*(__I  uint32_t*)0x42000C1CU) /**< (SERCOM2) I2CS Synchronization Busy */
+#define REG_SERCOM2_I2CS_ADDR   (*(__IO uint32_t*)0x42000C24U) /**< (SERCOM2) I2CS Address */
+#define REG_SERCOM2_I2CS_DATA   (*(__IO uint8_t*)0x42000C28U) /**< (SERCOM2) I2CS Data */
+#define REG_SERCOM2_SPI_CTRLA   (*(__IO uint32_t*)0x42000C00U) /**< (SERCOM2) SPI Control A */
+#define REG_SERCOM2_SPI_CTRLB   (*(__IO uint32_t*)0x42000C04U) /**< (SERCOM2) SPI Control B */
+#define REG_SERCOM2_SPI_BAUD    (*(__IO uint8_t*)0x42000C0CU) /**< (SERCOM2) SPI Baud Rate */
+#define REG_SERCOM2_SPI_INTENCLR (*(__IO uint8_t*)0x42000C14U) /**< (SERCOM2) SPI Interrupt Enable Clear */
+#define REG_SERCOM2_SPI_INTENSET (*(__IO uint8_t*)0x42000C16U) /**< (SERCOM2) SPI Interrupt Enable Set */
+#define REG_SERCOM2_SPI_INTFLAG (*(__IO uint8_t*)0x42000C18U) /**< (SERCOM2) SPI Interrupt Flag Status and Clear */
+#define REG_SERCOM2_SPI_STATUS  (*(__IO uint16_t*)0x42000C1AU) /**< (SERCOM2) SPI Status */
+#define REG_SERCOM2_SPI_SYNCBUSY (*(__I  uint32_t*)0x42000C1CU) /**< (SERCOM2) SPI Synchronization Busy */
+#define REG_SERCOM2_SPI_ADDR    (*(__IO uint32_t*)0x42000C24U) /**< (SERCOM2) SPI Address */
+#define REG_SERCOM2_SPI_DATA    (*(__IO uint32_t*)0x42000C28U) /**< (SERCOM2) SPI Data */
+#define REG_SERCOM2_SPI_DBGCTRL (*(__IO uint8_t*)0x42000C30U) /**< (SERCOM2) SPI Debug Control */
+#define REG_SERCOM2_USART_CTRLA (*(__IO uint32_t*)0x42000C00U) /**< (SERCOM2) USART Control A */
+#define REG_SERCOM2_USART_CTRLB (*(__IO uint32_t*)0x42000C04U) /**< (SERCOM2) USART Control B */
+#define REG_SERCOM2_USART_CTRLC (*(__IO uint32_t*)0x42000C08U) /**< (SERCOM2) USART Control C */
+#define REG_SERCOM2_USART_BAUD  (*(__IO uint16_t*)0x42000C0CU) /**< (SERCOM2) USART Baud Rate */
+#define REG_SERCOM2_USART_RXPL  (*(__IO uint8_t*)0x42000C0EU) /**< (SERCOM2) USART Receive Pulse Length */
+#define REG_SERCOM2_USART_INTENCLR (*(__IO uint8_t*)0x42000C14U) /**< (SERCOM2) USART Interrupt Enable Clear */
+#define REG_SERCOM2_USART_INTENSET (*(__IO uint8_t*)0x42000C16U) /**< (SERCOM2) USART Interrupt Enable Set */
+#define REG_SERCOM2_USART_INTFLAG (*(__IO uint8_t*)0x42000C18U) /**< (SERCOM2) USART Interrupt Flag Status and Clear */
+#define REG_SERCOM2_USART_STATUS (*(__IO uint16_t*)0x42000C1AU) /**< (SERCOM2) USART Status */
+#define REG_SERCOM2_USART_SYNCBUSY (*(__I  uint32_t*)0x42000C1CU) /**< (SERCOM2) USART Synchronization Busy */
+#define REG_SERCOM2_USART_RXERRCNT (*(__I  uint8_t*)0x42000C20U) /**< (SERCOM2) USART Receive Error Count */
+#define REG_SERCOM2_USART_DATA  (*(__IO uint16_t*)0x42000C28U) /**< (SERCOM2) USART Data */
+#define REG_SERCOM2_USART_DBGCTRL (*(__IO uint8_t*)0x42000C30U) /**< (SERCOM2) USART Debug Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for SERCOM2 peripheral ========== */
+#define SERCOM2_DMAC_ID_RX                       8          /* Index of DMA RX trigger */
+#define SERCOM2_DMAC_ID_TX                       9          /* Index of DMA TX trigger */
+#define SERCOM2_FIFO_DEPTH_POWER                 1          /* Rx Fifo depth = 2^FIFO_DEPTH_POWER */
+#define SERCOM2_GCLK_ID_CORE                     13         
+#define SERCOM2_GCLK_ID_SLOW                     10         
+#define SERCOM2_INT_MSB                          6          
+#define SERCOM2_PMSB                             3          
+#define SERCOM2_SPI                              1          /* SPI mode implemented? */
+#define SERCOM2_TWIM                             0          /* TWI Master mode implemented? */
+#define SERCOM2_TWIS                             0          /* TWI Slave mode implemented? */
+#define SERCOM2_TWI_HSMODE                       0          /* TWI HighSpeed mode implemented? */
+#define SERCOM2_USART                            1          /* USART mode implemented? */
+#define SERCOM2_USART_AUTOBAUD                   1          /* USART AUTOBAUD mode implemented? */
+#define SERCOM2_USART_ISO7816                    1          /* USART ISO7816 mode implemented? */
+#define SERCOM2_USART_LIN_MASTER                 0          /* USART LIN Master mode implemented? */
+#define SERCOM2_USART_RS485                      1          /* USART RS485 mode implemented? */
+#define SERCOM2_INSTANCE_ID                      67         
+
+#endif /* _SAML11_SERCOM2_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/supc.h b/cpu/sam0_common/include/vendor/saml11/include/instance/supc.h
new file mode 100644
index 0000000000..444ce414d4
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/supc.h
@@ -0,0 +1,68 @@
+/**
+ * \file
+ *
+ * \brief Instance description for SUPC
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_SUPC_INSTANCE_H_
+#define _SAML11_SUPC_INSTANCE_H_
+
+/* ========== Register definition for SUPC peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_SUPC_INTENCLR       (0x40001800) /**< (SUPC) Interrupt Enable Clear */
+#define REG_SUPC_INTENSET       (0x40001804) /**< (SUPC) Interrupt Enable Set */
+#define REG_SUPC_INTFLAG        (0x40001808) /**< (SUPC) Interrupt Flag Status and Clear */
+#define REG_SUPC_STATUS         (0x4000180C) /**< (SUPC) Power and Clocks Status */
+#define REG_SUPC_BOD33          (0x40001810) /**< (SUPC) BOD33 Control */
+#define REG_SUPC_BOD12          (0x40001814) /**< (SUPC) BOD12 Control */
+#define REG_SUPC_VREG           (0x40001818) /**< (SUPC) VREG Control */
+#define REG_SUPC_VREF           (0x4000181C) /**< (SUPC) VREF Control */
+#define REG_SUPC_EVCTRL         (0x4000182C) /**< (SUPC) Event Control */
+#define REG_SUPC_VREGSUSP       (0x40001830) /**< (SUPC) VREG Suspend Control */
+
+#else
+
+#define REG_SUPC_INTENCLR       (*(__IO uint32_t*)0x40001800U) /**< (SUPC) Interrupt Enable Clear */
+#define REG_SUPC_INTENSET       (*(__IO uint32_t*)0x40001804U) /**< (SUPC) Interrupt Enable Set */
+#define REG_SUPC_INTFLAG        (*(__IO uint32_t*)0x40001808U) /**< (SUPC) Interrupt Flag Status and Clear */
+#define REG_SUPC_STATUS         (*(__I  uint32_t*)0x4000180CU) /**< (SUPC) Power and Clocks Status */
+#define REG_SUPC_BOD33          (*(__IO uint32_t*)0x40001810U) /**< (SUPC) BOD33 Control */
+#define REG_SUPC_BOD12          (*(__IO uint32_t*)0x40001814U) /**< (SUPC) BOD12 Control */
+#define REG_SUPC_VREG           (*(__IO uint32_t*)0x40001818U) /**< (SUPC) VREG Control */
+#define REG_SUPC_VREF           (*(__IO uint32_t*)0x4000181CU) /**< (SUPC) VREF Control */
+#define REG_SUPC_EVCTRL         (*(__IO uint32_t*)0x4000182CU) /**< (SUPC) Event Control */
+#define REG_SUPC_VREGSUSP       (*(__IO uint32_t*)0x40001830U) /**< (SUPC) VREG Suspend Control */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for SUPC peripheral ========== */
+#define SUPC_BOD12_CALIB_MSB                     5          
+#define SUPC_BOD33_CALIB_MSB                     5          
+#define SUPC_INSTANCE_ID                         6          
+
+#endif /* _SAML11_SUPC_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/tc0.h b/cpu/sam0_common/include/vendor/saml11/include/instance/tc0.h
new file mode 100644
index 0000000000..bdfc179f96
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/tc0.h
@@ -0,0 +1,130 @@
+/**
+ * \file
+ *
+ * \brief Instance description for TC0
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_TC0_INSTANCE_H_
+#define _SAML11_TC0_INSTANCE_H_
+
+/* ========== Register definition for TC0 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_TC0_CTRLA           (0x42001000) /**< (TC0) Control A */
+#define REG_TC0_CTRLBCLR        (0x42001004) /**< (TC0) Control B Clear */
+#define REG_TC0_CTRLBSET        (0x42001005) /**< (TC0) Control B Set */
+#define REG_TC0_EVCTRL          (0x42001006) /**< (TC0) Event Control */
+#define REG_TC0_INTENCLR        (0x42001008) /**< (TC0) Interrupt Enable Clear */
+#define REG_TC0_INTENSET        (0x42001009) /**< (TC0) Interrupt Enable Set */
+#define REG_TC0_INTFLAG         (0x4200100A) /**< (TC0) Interrupt Flag Status and Clear */
+#define REG_TC0_STATUS          (0x4200100B) /**< (TC0) Status */
+#define REG_TC0_WAVE            (0x4200100C) /**< (TC0) Waveform Generation Control */
+#define REG_TC0_DRVCTRL         (0x4200100D) /**< (TC0) Control C */
+#define REG_TC0_DBGCTRL         (0x4200100F) /**< (TC0) Debug Control */
+#define REG_TC0_SYNCBUSY        (0x42001010) /**< (TC0) Synchronization Status */
+#define REG_TC0_COUNT8_COUNT    (0x42001014) /**< (TC0) COUNT8 Count */
+#define REG_TC0_COUNT8_PER      (0x4200101B) /**< (TC0) COUNT8 Period */
+#define REG_TC0_COUNT8_CC       (0x4200101C) /**< (TC0) COUNT8 Compare and Capture */
+#define REG_TC0_COUNT8_CC0      (0x4200101C) /**< (TC0) COUNT8 Compare and Capture 0 */
+#define REG_TC0_COUNT8_CC1      (0x4200101D) /**< (TC0) COUNT8 Compare and Capture 1 */
+#define REG_TC0_COUNT8_PERBUF   (0x4200102F) /**< (TC0) COUNT8 Period Buffer */
+#define REG_TC0_COUNT8_CCBUF    (0x42001030) /**< (TC0) COUNT8 Compare and Capture Buffer */
+#define REG_TC0_COUNT8_CCBUF0   (0x42001030) /**< (TC0) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT8_CCBUF1   (0x42001031) /**< (TC0) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC0_COUNT16_COUNT   (0x42001014) /**< (TC0) COUNT16 Count */
+#define REG_TC0_COUNT16_PER     (0x4200101A) /**< (TC0) COUNT16 Period */
+#define REG_TC0_COUNT16_CC      (0x4200101C) /**< (TC0) COUNT16 Compare and Capture */
+#define REG_TC0_COUNT16_CC0     (0x4200101C) /**< (TC0) COUNT16 Compare and Capture 0 */
+#define REG_TC0_COUNT16_CC1     (0x4200101E) /**< (TC0) COUNT16 Compare and Capture 1 */
+#define REG_TC0_COUNT16_PERBUF  (0x4200102E) /**< (TC0) COUNT16 Period Buffer */
+#define REG_TC0_COUNT16_CCBUF   (0x42001030) /**< (TC0) COUNT16 Compare and Capture Buffer */
+#define REG_TC0_COUNT16_CCBUF0  (0x42001030) /**< (TC0) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT16_CCBUF1  (0x42001032) /**< (TC0) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC0_COUNT32_COUNT   (0x42001014) /**< (TC0) COUNT32 Count */
+#define REG_TC0_COUNT32_PER     (0x42001018) /**< (TC0) COUNT32 Period */
+#define REG_TC0_COUNT32_CC      (0x4200101C) /**< (TC0) COUNT32 Compare and Capture */
+#define REG_TC0_COUNT32_CC0     (0x4200101C) /**< (TC0) COUNT32 Compare and Capture 0 */
+#define REG_TC0_COUNT32_CC1     (0x42001020) /**< (TC0) COUNT32 Compare and Capture 1 */
+#define REG_TC0_COUNT32_PERBUF  (0x4200102C) /**< (TC0) COUNT32 Period Buffer */
+#define REG_TC0_COUNT32_CCBUF   (0x42001030) /**< (TC0) COUNT32 Compare and Capture Buffer */
+#define REG_TC0_COUNT32_CCBUF0  (0x42001030) /**< (TC0) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT32_CCBUF1  (0x42001034) /**< (TC0) COUNT32 Compare and Capture Buffer 1 */
+
+#else
+
+#define REG_TC0_CTRLA           (*(__IO uint32_t*)0x42001000U) /**< (TC0) Control A */
+#define REG_TC0_CTRLBCLR        (*(__IO uint8_t*)0x42001004U) /**< (TC0) Control B Clear */
+#define REG_TC0_CTRLBSET        (*(__IO uint8_t*)0x42001005U) /**< (TC0) Control B Set */
+#define REG_TC0_EVCTRL          (*(__IO uint16_t*)0x42001006U) /**< (TC0) Event Control */
+#define REG_TC0_INTENCLR        (*(__IO uint8_t*)0x42001008U) /**< (TC0) Interrupt Enable Clear */
+#define REG_TC0_INTENSET        (*(__IO uint8_t*)0x42001009U) /**< (TC0) Interrupt Enable Set */
+#define REG_TC0_INTFLAG         (*(__IO uint8_t*)0x4200100AU) /**< (TC0) Interrupt Flag Status and Clear */
+#define REG_TC0_STATUS          (*(__IO uint8_t*)0x4200100BU) /**< (TC0) Status */
+#define REG_TC0_WAVE            (*(__IO uint8_t*)0x4200100CU) /**< (TC0) Waveform Generation Control */
+#define REG_TC0_DRVCTRL         (*(__IO uint8_t*)0x4200100DU) /**< (TC0) Control C */
+#define REG_TC0_DBGCTRL         (*(__IO uint8_t*)0x4200100FU) /**< (TC0) Debug Control */
+#define REG_TC0_SYNCBUSY        (*(__I  uint32_t*)0x42001010U) /**< (TC0) Synchronization Status */
+#define REG_TC0_COUNT8_COUNT    (*(__IO uint8_t*)0x42001014U) /**< (TC0) COUNT8 Count */
+#define REG_TC0_COUNT8_PER      (*(__IO uint8_t*)0x4200101BU) /**< (TC0) COUNT8 Period */
+#define REG_TC0_COUNT8_CC       (*(__IO uint8_t*)0x4200101CU) /**< (TC0) COUNT8 Compare and Capture */
+#define REG_TC0_COUNT8_CC0      (*(__IO uint8_t*)0x4200101CU) /**< (TC0) COUNT8 Compare and Capture 0 */
+#define REG_TC0_COUNT8_CC1      (*(__IO uint8_t*)0x4200101DU) /**< (TC0) COUNT8 Compare and Capture 1 */
+#define REG_TC0_COUNT8_PERBUF   (*(__IO uint8_t*)0x4200102FU) /**< (TC0) COUNT8 Period Buffer */
+#define REG_TC0_COUNT8_CCBUF    (*(__IO uint8_t*)0x42001030U) /**< (TC0) COUNT8 Compare and Capture Buffer */
+#define REG_TC0_COUNT8_CCBUF0   (*(__IO uint8_t*)0x42001030U) /**< (TC0) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT8_CCBUF1   (*(__IO uint8_t*)0x42001031U) /**< (TC0) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC0_COUNT16_COUNT   (*(__IO uint16_t*)0x42001014U) /**< (TC0) COUNT16 Count */
+#define REG_TC0_COUNT16_PER     (*(__IO uint16_t*)0x4200101AU) /**< (TC0) COUNT16 Period */
+#define REG_TC0_COUNT16_CC      (*(__IO uint16_t*)0x4200101CU) /**< (TC0) COUNT16 Compare and Capture */
+#define REG_TC0_COUNT16_CC0     (*(__IO uint16_t*)0x4200101CU) /**< (TC0) COUNT16 Compare and Capture 0 */
+#define REG_TC0_COUNT16_CC1     (*(__IO uint16_t*)0x4200101EU) /**< (TC0) COUNT16 Compare and Capture 1 */
+#define REG_TC0_COUNT16_PERBUF  (*(__IO uint16_t*)0x4200102EU) /**< (TC0) COUNT16 Period Buffer */
+#define REG_TC0_COUNT16_CCBUF   (*(__IO uint16_t*)0x42001030U) /**< (TC0) COUNT16 Compare and Capture Buffer */
+#define REG_TC0_COUNT16_CCBUF0  (*(__IO uint16_t*)0x42001030U) /**< (TC0) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT16_CCBUF1  (*(__IO uint16_t*)0x42001032U) /**< (TC0) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC0_COUNT32_COUNT   (*(__IO uint32_t*)0x42001014U) /**< (TC0) COUNT32 Count */
+#define REG_TC0_COUNT32_PER     (*(__IO uint32_t*)0x42001018U) /**< (TC0) COUNT32 Period */
+#define REG_TC0_COUNT32_CC      (*(__IO uint32_t*)0x4200101CU) /**< (TC0) COUNT32 Compare and Capture */
+#define REG_TC0_COUNT32_CC0     (*(__IO uint32_t*)0x4200101CU) /**< (TC0) COUNT32 Compare and Capture 0 */
+#define REG_TC0_COUNT32_CC1     (*(__IO uint32_t*)0x42001020U) /**< (TC0) COUNT32 Compare and Capture 1 */
+#define REG_TC0_COUNT32_PERBUF  (*(__IO uint32_t*)0x4200102CU) /**< (TC0) COUNT32 Period Buffer */
+#define REG_TC0_COUNT32_CCBUF   (*(__IO uint32_t*)0x42001030U) /**< (TC0) COUNT32 Compare and Capture Buffer */
+#define REG_TC0_COUNT32_CCBUF0  (*(__IO uint32_t*)0x42001030U) /**< (TC0) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC0_COUNT32_CCBUF1  (*(__IO uint32_t*)0x42001034U) /**< (TC0) COUNT32 Compare and Capture Buffer 1 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for TC0 peripheral ========== */
+#define TC0_CC_NUM                               2          
+#define TC0_DMAC_ID_OVF                          10         /* Indexes of DMA Overflow trigger */
+#define TC0_EXT                                  1          /* Coding of implemented extended features (keep 0 value) */
+#define TC0_GCLK_ID                              14         /* Index of Generic Clock */
+#define TC0_MASTER_SLAVE_MODE                    1          /* TC type 0 : NA, 1 : Master, 2 : Slave */
+#define TC0_OW_NUM                               2          /* Number of Output Waveforms */
+#define TC0_INSTANCE_ID                          68         
+
+#endif /* _SAML11_TC0_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/tc1.h b/cpu/sam0_common/include/vendor/saml11/include/instance/tc1.h
new file mode 100644
index 0000000000..4847c20f0d
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/tc1.h
@@ -0,0 +1,130 @@
+/**
+ * \file
+ *
+ * \brief Instance description for TC1
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_TC1_INSTANCE_H_
+#define _SAML11_TC1_INSTANCE_H_
+
+/* ========== Register definition for TC1 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_TC1_CTRLA           (0x42001400) /**< (TC1) Control A */
+#define REG_TC1_CTRLBCLR        (0x42001404) /**< (TC1) Control B Clear */
+#define REG_TC1_CTRLBSET        (0x42001405) /**< (TC1) Control B Set */
+#define REG_TC1_EVCTRL          (0x42001406) /**< (TC1) Event Control */
+#define REG_TC1_INTENCLR        (0x42001408) /**< (TC1) Interrupt Enable Clear */
+#define REG_TC1_INTENSET        (0x42001409) /**< (TC1) Interrupt Enable Set */
+#define REG_TC1_INTFLAG         (0x4200140A) /**< (TC1) Interrupt Flag Status and Clear */
+#define REG_TC1_STATUS          (0x4200140B) /**< (TC1) Status */
+#define REG_TC1_WAVE            (0x4200140C) /**< (TC1) Waveform Generation Control */
+#define REG_TC1_DRVCTRL         (0x4200140D) /**< (TC1) Control C */
+#define REG_TC1_DBGCTRL         (0x4200140F) /**< (TC1) Debug Control */
+#define REG_TC1_SYNCBUSY        (0x42001410) /**< (TC1) Synchronization Status */
+#define REG_TC1_COUNT8_COUNT    (0x42001414) /**< (TC1) COUNT8 Count */
+#define REG_TC1_COUNT8_PER      (0x4200141B) /**< (TC1) COUNT8 Period */
+#define REG_TC1_COUNT8_CC       (0x4200141C) /**< (TC1) COUNT8 Compare and Capture */
+#define REG_TC1_COUNT8_CC0      (0x4200141C) /**< (TC1) COUNT8 Compare and Capture 0 */
+#define REG_TC1_COUNT8_CC1      (0x4200141D) /**< (TC1) COUNT8 Compare and Capture 1 */
+#define REG_TC1_COUNT8_PERBUF   (0x4200142F) /**< (TC1) COUNT8 Period Buffer */
+#define REG_TC1_COUNT8_CCBUF    (0x42001430) /**< (TC1) COUNT8 Compare and Capture Buffer */
+#define REG_TC1_COUNT8_CCBUF0   (0x42001430) /**< (TC1) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT8_CCBUF1   (0x42001431) /**< (TC1) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC1_COUNT16_COUNT   (0x42001414) /**< (TC1) COUNT16 Count */
+#define REG_TC1_COUNT16_PER     (0x4200141A) /**< (TC1) COUNT16 Period */
+#define REG_TC1_COUNT16_CC      (0x4200141C) /**< (TC1) COUNT16 Compare and Capture */
+#define REG_TC1_COUNT16_CC0     (0x4200141C) /**< (TC1) COUNT16 Compare and Capture 0 */
+#define REG_TC1_COUNT16_CC1     (0x4200141E) /**< (TC1) COUNT16 Compare and Capture 1 */
+#define REG_TC1_COUNT16_PERBUF  (0x4200142E) /**< (TC1) COUNT16 Period Buffer */
+#define REG_TC1_COUNT16_CCBUF   (0x42001430) /**< (TC1) COUNT16 Compare and Capture Buffer */
+#define REG_TC1_COUNT16_CCBUF0  (0x42001430) /**< (TC1) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT16_CCBUF1  (0x42001432) /**< (TC1) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC1_COUNT32_COUNT   (0x42001414) /**< (TC1) COUNT32 Count */
+#define REG_TC1_COUNT32_PER     (0x42001418) /**< (TC1) COUNT32 Period */
+#define REG_TC1_COUNT32_CC      (0x4200141C) /**< (TC1) COUNT32 Compare and Capture */
+#define REG_TC1_COUNT32_CC0     (0x4200141C) /**< (TC1) COUNT32 Compare and Capture 0 */
+#define REG_TC1_COUNT32_CC1     (0x42001420) /**< (TC1) COUNT32 Compare and Capture 1 */
+#define REG_TC1_COUNT32_PERBUF  (0x4200142C) /**< (TC1) COUNT32 Period Buffer */
+#define REG_TC1_COUNT32_CCBUF   (0x42001430) /**< (TC1) COUNT32 Compare and Capture Buffer */
+#define REG_TC1_COUNT32_CCBUF0  (0x42001430) /**< (TC1) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT32_CCBUF1  (0x42001434) /**< (TC1) COUNT32 Compare and Capture Buffer 1 */
+
+#else
+
+#define REG_TC1_CTRLA           (*(__IO uint32_t*)0x42001400U) /**< (TC1) Control A */
+#define REG_TC1_CTRLBCLR        (*(__IO uint8_t*)0x42001404U) /**< (TC1) Control B Clear */
+#define REG_TC1_CTRLBSET        (*(__IO uint8_t*)0x42001405U) /**< (TC1) Control B Set */
+#define REG_TC1_EVCTRL          (*(__IO uint16_t*)0x42001406U) /**< (TC1) Event Control */
+#define REG_TC1_INTENCLR        (*(__IO uint8_t*)0x42001408U) /**< (TC1) Interrupt Enable Clear */
+#define REG_TC1_INTENSET        (*(__IO uint8_t*)0x42001409U) /**< (TC1) Interrupt Enable Set */
+#define REG_TC1_INTFLAG         (*(__IO uint8_t*)0x4200140AU) /**< (TC1) Interrupt Flag Status and Clear */
+#define REG_TC1_STATUS          (*(__IO uint8_t*)0x4200140BU) /**< (TC1) Status */
+#define REG_TC1_WAVE            (*(__IO uint8_t*)0x4200140CU) /**< (TC1) Waveform Generation Control */
+#define REG_TC1_DRVCTRL         (*(__IO uint8_t*)0x4200140DU) /**< (TC1) Control C */
+#define REG_TC1_DBGCTRL         (*(__IO uint8_t*)0x4200140FU) /**< (TC1) Debug Control */
+#define REG_TC1_SYNCBUSY        (*(__I  uint32_t*)0x42001410U) /**< (TC1) Synchronization Status */
+#define REG_TC1_COUNT8_COUNT    (*(__IO uint8_t*)0x42001414U) /**< (TC1) COUNT8 Count */
+#define REG_TC1_COUNT8_PER      (*(__IO uint8_t*)0x4200141BU) /**< (TC1) COUNT8 Period */
+#define REG_TC1_COUNT8_CC       (*(__IO uint8_t*)0x4200141CU) /**< (TC1) COUNT8 Compare and Capture */
+#define REG_TC1_COUNT8_CC0      (*(__IO uint8_t*)0x4200141CU) /**< (TC1) COUNT8 Compare and Capture 0 */
+#define REG_TC1_COUNT8_CC1      (*(__IO uint8_t*)0x4200141DU) /**< (TC1) COUNT8 Compare and Capture 1 */
+#define REG_TC1_COUNT8_PERBUF   (*(__IO uint8_t*)0x4200142FU) /**< (TC1) COUNT8 Period Buffer */
+#define REG_TC1_COUNT8_CCBUF    (*(__IO uint8_t*)0x42001430U) /**< (TC1) COUNT8 Compare and Capture Buffer */
+#define REG_TC1_COUNT8_CCBUF0   (*(__IO uint8_t*)0x42001430U) /**< (TC1) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT8_CCBUF1   (*(__IO uint8_t*)0x42001431U) /**< (TC1) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC1_COUNT16_COUNT   (*(__IO uint16_t*)0x42001414U) /**< (TC1) COUNT16 Count */
+#define REG_TC1_COUNT16_PER     (*(__IO uint16_t*)0x4200141AU) /**< (TC1) COUNT16 Period */
+#define REG_TC1_COUNT16_CC      (*(__IO uint16_t*)0x4200141CU) /**< (TC1) COUNT16 Compare and Capture */
+#define REG_TC1_COUNT16_CC0     (*(__IO uint16_t*)0x4200141CU) /**< (TC1) COUNT16 Compare and Capture 0 */
+#define REG_TC1_COUNT16_CC1     (*(__IO uint16_t*)0x4200141EU) /**< (TC1) COUNT16 Compare and Capture 1 */
+#define REG_TC1_COUNT16_PERBUF  (*(__IO uint16_t*)0x4200142EU) /**< (TC1) COUNT16 Period Buffer */
+#define REG_TC1_COUNT16_CCBUF   (*(__IO uint16_t*)0x42001430U) /**< (TC1) COUNT16 Compare and Capture Buffer */
+#define REG_TC1_COUNT16_CCBUF0  (*(__IO uint16_t*)0x42001430U) /**< (TC1) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT16_CCBUF1  (*(__IO uint16_t*)0x42001432U) /**< (TC1) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC1_COUNT32_COUNT   (*(__IO uint32_t*)0x42001414U) /**< (TC1) COUNT32 Count */
+#define REG_TC1_COUNT32_PER     (*(__IO uint32_t*)0x42001418U) /**< (TC1) COUNT32 Period */
+#define REG_TC1_COUNT32_CC      (*(__IO uint32_t*)0x4200141CU) /**< (TC1) COUNT32 Compare and Capture */
+#define REG_TC1_COUNT32_CC0     (*(__IO uint32_t*)0x4200141CU) /**< (TC1) COUNT32 Compare and Capture 0 */
+#define REG_TC1_COUNT32_CC1     (*(__IO uint32_t*)0x42001420U) /**< (TC1) COUNT32 Compare and Capture 1 */
+#define REG_TC1_COUNT32_PERBUF  (*(__IO uint32_t*)0x4200142CU) /**< (TC1) COUNT32 Period Buffer */
+#define REG_TC1_COUNT32_CCBUF   (*(__IO uint32_t*)0x42001430U) /**< (TC1) COUNT32 Compare and Capture Buffer */
+#define REG_TC1_COUNT32_CCBUF0  (*(__IO uint32_t*)0x42001430U) /**< (TC1) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC1_COUNT32_CCBUF1  (*(__IO uint32_t*)0x42001434U) /**< (TC1) COUNT32 Compare and Capture Buffer 1 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for TC1 peripheral ========== */
+#define TC1_CC_NUM                               2          
+#define TC1_DMAC_ID_OVF                          13         /* Indexes of DMA Overflow trigger */
+#define TC1_EXT                                  1          /* Coding of implemented extended features (keep 0 value) */
+#define TC1_GCLK_ID                              14         /* Index of Generic Clock */
+#define TC1_MASTER_SLAVE_MODE                    2          /* TC type 0 : NA, 1 : Master, 2 : Slave */
+#define TC1_OW_NUM                               2          /* Number of Output Waveforms */
+#define TC1_INSTANCE_ID                          69         
+
+#endif /* _SAML11_TC1_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/tc2.h b/cpu/sam0_common/include/vendor/saml11/include/instance/tc2.h
new file mode 100644
index 0000000000..2f578306bc
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/tc2.h
@@ -0,0 +1,130 @@
+/**
+ * \file
+ *
+ * \brief Instance description for TC2
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_TC2_INSTANCE_H_
+#define _SAML11_TC2_INSTANCE_H_
+
+/* ========== Register definition for TC2 peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_TC2_CTRLA           (0x42001800) /**< (TC2) Control A */
+#define REG_TC2_CTRLBCLR        (0x42001804) /**< (TC2) Control B Clear */
+#define REG_TC2_CTRLBSET        (0x42001805) /**< (TC2) Control B Set */
+#define REG_TC2_EVCTRL          (0x42001806) /**< (TC2) Event Control */
+#define REG_TC2_INTENCLR        (0x42001808) /**< (TC2) Interrupt Enable Clear */
+#define REG_TC2_INTENSET        (0x42001809) /**< (TC2) Interrupt Enable Set */
+#define REG_TC2_INTFLAG         (0x4200180A) /**< (TC2) Interrupt Flag Status and Clear */
+#define REG_TC2_STATUS          (0x4200180B) /**< (TC2) Status */
+#define REG_TC2_WAVE            (0x4200180C) /**< (TC2) Waveform Generation Control */
+#define REG_TC2_DRVCTRL         (0x4200180D) /**< (TC2) Control C */
+#define REG_TC2_DBGCTRL         (0x4200180F) /**< (TC2) Debug Control */
+#define REG_TC2_SYNCBUSY        (0x42001810) /**< (TC2) Synchronization Status */
+#define REG_TC2_COUNT8_COUNT    (0x42001814) /**< (TC2) COUNT8 Count */
+#define REG_TC2_COUNT8_PER      (0x4200181B) /**< (TC2) COUNT8 Period */
+#define REG_TC2_COUNT8_CC       (0x4200181C) /**< (TC2) COUNT8 Compare and Capture */
+#define REG_TC2_COUNT8_CC0      (0x4200181C) /**< (TC2) COUNT8 Compare and Capture 0 */
+#define REG_TC2_COUNT8_CC1      (0x4200181D) /**< (TC2) COUNT8 Compare and Capture 1 */
+#define REG_TC2_COUNT8_PERBUF   (0x4200182F) /**< (TC2) COUNT8 Period Buffer */
+#define REG_TC2_COUNT8_CCBUF    (0x42001830) /**< (TC2) COUNT8 Compare and Capture Buffer */
+#define REG_TC2_COUNT8_CCBUF0   (0x42001830) /**< (TC2) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT8_CCBUF1   (0x42001831) /**< (TC2) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC2_COUNT16_COUNT   (0x42001814) /**< (TC2) COUNT16 Count */
+#define REG_TC2_COUNT16_PER     (0x4200181A) /**< (TC2) COUNT16 Period */
+#define REG_TC2_COUNT16_CC      (0x4200181C) /**< (TC2) COUNT16 Compare and Capture */
+#define REG_TC2_COUNT16_CC0     (0x4200181C) /**< (TC2) COUNT16 Compare and Capture 0 */
+#define REG_TC2_COUNT16_CC1     (0x4200181E) /**< (TC2) COUNT16 Compare and Capture 1 */
+#define REG_TC2_COUNT16_PERBUF  (0x4200182E) /**< (TC2) COUNT16 Period Buffer */
+#define REG_TC2_COUNT16_CCBUF   (0x42001830) /**< (TC2) COUNT16 Compare and Capture Buffer */
+#define REG_TC2_COUNT16_CCBUF0  (0x42001830) /**< (TC2) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT16_CCBUF1  (0x42001832) /**< (TC2) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC2_COUNT32_COUNT   (0x42001814) /**< (TC2) COUNT32 Count */
+#define REG_TC2_COUNT32_PER     (0x42001818) /**< (TC2) COUNT32 Period */
+#define REG_TC2_COUNT32_CC      (0x4200181C) /**< (TC2) COUNT32 Compare and Capture */
+#define REG_TC2_COUNT32_CC0     (0x4200181C) /**< (TC2) COUNT32 Compare and Capture 0 */
+#define REG_TC2_COUNT32_CC1     (0x42001820) /**< (TC2) COUNT32 Compare and Capture 1 */
+#define REG_TC2_COUNT32_PERBUF  (0x4200182C) /**< (TC2) COUNT32 Period Buffer */
+#define REG_TC2_COUNT32_CCBUF   (0x42001830) /**< (TC2) COUNT32 Compare and Capture Buffer */
+#define REG_TC2_COUNT32_CCBUF0  (0x42001830) /**< (TC2) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT32_CCBUF1  (0x42001834) /**< (TC2) COUNT32 Compare and Capture Buffer 1 */
+
+#else
+
+#define REG_TC2_CTRLA           (*(__IO uint32_t*)0x42001800U) /**< (TC2) Control A */
+#define REG_TC2_CTRLBCLR        (*(__IO uint8_t*)0x42001804U) /**< (TC2) Control B Clear */
+#define REG_TC2_CTRLBSET        (*(__IO uint8_t*)0x42001805U) /**< (TC2) Control B Set */
+#define REG_TC2_EVCTRL          (*(__IO uint16_t*)0x42001806U) /**< (TC2) Event Control */
+#define REG_TC2_INTENCLR        (*(__IO uint8_t*)0x42001808U) /**< (TC2) Interrupt Enable Clear */
+#define REG_TC2_INTENSET        (*(__IO uint8_t*)0x42001809U) /**< (TC2) Interrupt Enable Set */
+#define REG_TC2_INTFLAG         (*(__IO uint8_t*)0x4200180AU) /**< (TC2) Interrupt Flag Status and Clear */
+#define REG_TC2_STATUS          (*(__IO uint8_t*)0x4200180BU) /**< (TC2) Status */
+#define REG_TC2_WAVE            (*(__IO uint8_t*)0x4200180CU) /**< (TC2) Waveform Generation Control */
+#define REG_TC2_DRVCTRL         (*(__IO uint8_t*)0x4200180DU) /**< (TC2) Control C */
+#define REG_TC2_DBGCTRL         (*(__IO uint8_t*)0x4200180FU) /**< (TC2) Debug Control */
+#define REG_TC2_SYNCBUSY        (*(__I  uint32_t*)0x42001810U) /**< (TC2) Synchronization Status */
+#define REG_TC2_COUNT8_COUNT    (*(__IO uint8_t*)0x42001814U) /**< (TC2) COUNT8 Count */
+#define REG_TC2_COUNT8_PER      (*(__IO uint8_t*)0x4200181BU) /**< (TC2) COUNT8 Period */
+#define REG_TC2_COUNT8_CC       (*(__IO uint8_t*)0x4200181CU) /**< (TC2) COUNT8 Compare and Capture */
+#define REG_TC2_COUNT8_CC0      (*(__IO uint8_t*)0x4200181CU) /**< (TC2) COUNT8 Compare and Capture 0 */
+#define REG_TC2_COUNT8_CC1      (*(__IO uint8_t*)0x4200181DU) /**< (TC2) COUNT8 Compare and Capture 1 */
+#define REG_TC2_COUNT8_PERBUF   (*(__IO uint8_t*)0x4200182FU) /**< (TC2) COUNT8 Period Buffer */
+#define REG_TC2_COUNT8_CCBUF    (*(__IO uint8_t*)0x42001830U) /**< (TC2) COUNT8 Compare and Capture Buffer */
+#define REG_TC2_COUNT8_CCBUF0   (*(__IO uint8_t*)0x42001830U) /**< (TC2) COUNT8 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT8_CCBUF1   (*(__IO uint8_t*)0x42001831U) /**< (TC2) COUNT8 Compare and Capture Buffer 1 */
+#define REG_TC2_COUNT16_COUNT   (*(__IO uint16_t*)0x42001814U) /**< (TC2) COUNT16 Count */
+#define REG_TC2_COUNT16_PER     (*(__IO uint16_t*)0x4200181AU) /**< (TC2) COUNT16 Period */
+#define REG_TC2_COUNT16_CC      (*(__IO uint16_t*)0x4200181CU) /**< (TC2) COUNT16 Compare and Capture */
+#define REG_TC2_COUNT16_CC0     (*(__IO uint16_t*)0x4200181CU) /**< (TC2) COUNT16 Compare and Capture 0 */
+#define REG_TC2_COUNT16_CC1     (*(__IO uint16_t*)0x4200181EU) /**< (TC2) COUNT16 Compare and Capture 1 */
+#define REG_TC2_COUNT16_PERBUF  (*(__IO uint16_t*)0x4200182EU) /**< (TC2) COUNT16 Period Buffer */
+#define REG_TC2_COUNT16_CCBUF   (*(__IO uint16_t*)0x42001830U) /**< (TC2) COUNT16 Compare and Capture Buffer */
+#define REG_TC2_COUNT16_CCBUF0  (*(__IO uint16_t*)0x42001830U) /**< (TC2) COUNT16 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT16_CCBUF1  (*(__IO uint16_t*)0x42001832U) /**< (TC2) COUNT16 Compare and Capture Buffer 1 */
+#define REG_TC2_COUNT32_COUNT   (*(__IO uint32_t*)0x42001814U) /**< (TC2) COUNT32 Count */
+#define REG_TC2_COUNT32_PER     (*(__IO uint32_t*)0x42001818U) /**< (TC2) COUNT32 Period */
+#define REG_TC2_COUNT32_CC      (*(__IO uint32_t*)0x4200181CU) /**< (TC2) COUNT32 Compare and Capture */
+#define REG_TC2_COUNT32_CC0     (*(__IO uint32_t*)0x4200181CU) /**< (TC2) COUNT32 Compare and Capture 0 */
+#define REG_TC2_COUNT32_CC1     (*(__IO uint32_t*)0x42001820U) /**< (TC2) COUNT32 Compare and Capture 1 */
+#define REG_TC2_COUNT32_PERBUF  (*(__IO uint32_t*)0x4200182CU) /**< (TC2) COUNT32 Period Buffer */
+#define REG_TC2_COUNT32_CCBUF   (*(__IO uint32_t*)0x42001830U) /**< (TC2) COUNT32 Compare and Capture Buffer */
+#define REG_TC2_COUNT32_CCBUF0  (*(__IO uint32_t*)0x42001830U) /**< (TC2) COUNT32 Compare and Capture Buffer 0 */
+#define REG_TC2_COUNT32_CCBUF1  (*(__IO uint32_t*)0x42001834U) /**< (TC2) COUNT32 Compare and Capture Buffer 1 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for TC2 peripheral ========== */
+#define TC2_CC_NUM                               2          
+#define TC2_DMAC_ID_OVF                          16         /* Indexes of DMA Overflow trigger */
+#define TC2_EXT                                  1          /* Coding of implemented extended features (keep 0 value) */
+#define TC2_GCLK_ID                              15         /* Index of Generic Clock */
+#define TC2_MASTER_SLAVE_MODE                    0          /* TC type 0 : NA, 1 : Master, 2 : Slave */
+#define TC2_OW_NUM                               2          /* Number of Output Waveforms */
+#define TC2_INSTANCE_ID                          70         
+
+#endif /* _SAML11_TC2_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/tram.h b/cpu/sam0_common/include/vendor/saml11/include/instance/tram.h
new file mode 100644
index 0000000000..675475df32
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/tram.h
@@ -0,0 +1,194 @@
+/**
+ * \file
+ *
+ * \brief Instance description for TRAM
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_TRAM_INSTANCE_H_
+#define _SAML11_TRAM_INSTANCE_H_
+
+/* ========== Register definition for TRAM peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_TRAM_CTRLA          (0x42003400) /**< (TRAM) Control */
+#define REG_TRAM_INTENCLR       (0x42003404) /**< (TRAM) Interrupt Enable Clear */
+#define REG_TRAM_INTENSET       (0x42003405) /**< (TRAM) Interrupt Enable Set */
+#define REG_TRAM_INTFLAG        (0x42003406) /**< (TRAM) Interrupt Flag Status and Clear */
+#define REG_TRAM_STATUS         (0x42003407) /**< (TRAM) Status */
+#define REG_TRAM_SYNCBUSY       (0x42003408) /**< (TRAM) Synchronization Busy Status */
+#define REG_TRAM_DSCC           (0x4200340C) /**< (TRAM) Data Scramble Control */
+#define REG_TRAM_PERMW          (0x42003410) /**< (TRAM) Permutation Write */
+#define REG_TRAM_PERMR          (0x42003411) /**< (TRAM) Permutation Read */
+#define REG_TRAM_RAM            (0x42003500) /**< (TRAM) TrustRAM */
+#define REG_TRAM_RAM0           (0x42003500) /**< (TRAM) TrustRAM 0 */
+#define REG_TRAM_RAM1           (0x42003504) /**< (TRAM) TrustRAM 1 */
+#define REG_TRAM_RAM2           (0x42003508) /**< (TRAM) TrustRAM 2 */
+#define REG_TRAM_RAM3           (0x4200350C) /**< (TRAM) TrustRAM 3 */
+#define REG_TRAM_RAM4           (0x42003510) /**< (TRAM) TrustRAM 4 */
+#define REG_TRAM_RAM5           (0x42003514) /**< (TRAM) TrustRAM 5 */
+#define REG_TRAM_RAM6           (0x42003518) /**< (TRAM) TrustRAM 6 */
+#define REG_TRAM_RAM7           (0x4200351C) /**< (TRAM) TrustRAM 7 */
+#define REG_TRAM_RAM8           (0x42003520) /**< (TRAM) TrustRAM 8 */
+#define REG_TRAM_RAM9           (0x42003524) /**< (TRAM) TrustRAM 9 */
+#define REG_TRAM_RAM10          (0x42003528) /**< (TRAM) TrustRAM 10 */
+#define REG_TRAM_RAM11          (0x4200352C) /**< (TRAM) TrustRAM 11 */
+#define REG_TRAM_RAM12          (0x42003530) /**< (TRAM) TrustRAM 12 */
+#define REG_TRAM_RAM13          (0x42003534) /**< (TRAM) TrustRAM 13 */
+#define REG_TRAM_RAM14          (0x42003538) /**< (TRAM) TrustRAM 14 */
+#define REG_TRAM_RAM15          (0x4200353C) /**< (TRAM) TrustRAM 15 */
+#define REG_TRAM_RAM16          (0x42003540) /**< (TRAM) TrustRAM 16 */
+#define REG_TRAM_RAM17          (0x42003544) /**< (TRAM) TrustRAM 17 */
+#define REG_TRAM_RAM18          (0x42003548) /**< (TRAM) TrustRAM 18 */
+#define REG_TRAM_RAM19          (0x4200354C) /**< (TRAM) TrustRAM 19 */
+#define REG_TRAM_RAM20          (0x42003550) /**< (TRAM) TrustRAM 20 */
+#define REG_TRAM_RAM21          (0x42003554) /**< (TRAM) TrustRAM 21 */
+#define REG_TRAM_RAM22          (0x42003558) /**< (TRAM) TrustRAM 22 */
+#define REG_TRAM_RAM23          (0x4200355C) /**< (TRAM) TrustRAM 23 */
+#define REG_TRAM_RAM24          (0x42003560) /**< (TRAM) TrustRAM 24 */
+#define REG_TRAM_RAM25          (0x42003564) /**< (TRAM) TrustRAM 25 */
+#define REG_TRAM_RAM26          (0x42003568) /**< (TRAM) TrustRAM 26 */
+#define REG_TRAM_RAM27          (0x4200356C) /**< (TRAM) TrustRAM 27 */
+#define REG_TRAM_RAM28          (0x42003570) /**< (TRAM) TrustRAM 28 */
+#define REG_TRAM_RAM29          (0x42003574) /**< (TRAM) TrustRAM 29 */
+#define REG_TRAM_RAM30          (0x42003578) /**< (TRAM) TrustRAM 30 */
+#define REG_TRAM_RAM31          (0x4200357C) /**< (TRAM) TrustRAM 31 */
+#define REG_TRAM_RAM32          (0x42003580) /**< (TRAM) TrustRAM 32 */
+#define REG_TRAM_RAM33          (0x42003584) /**< (TRAM) TrustRAM 33 */
+#define REG_TRAM_RAM34          (0x42003588) /**< (TRAM) TrustRAM 34 */
+#define REG_TRAM_RAM35          (0x4200358C) /**< (TRAM) TrustRAM 35 */
+#define REG_TRAM_RAM36          (0x42003590) /**< (TRAM) TrustRAM 36 */
+#define REG_TRAM_RAM37          (0x42003594) /**< (TRAM) TrustRAM 37 */
+#define REG_TRAM_RAM38          (0x42003598) /**< (TRAM) TrustRAM 38 */
+#define REG_TRAM_RAM39          (0x4200359C) /**< (TRAM) TrustRAM 39 */
+#define REG_TRAM_RAM40          (0x420035A0) /**< (TRAM) TrustRAM 40 */
+#define REG_TRAM_RAM41          (0x420035A4) /**< (TRAM) TrustRAM 41 */
+#define REG_TRAM_RAM42          (0x420035A8) /**< (TRAM) TrustRAM 42 */
+#define REG_TRAM_RAM43          (0x420035AC) /**< (TRAM) TrustRAM 43 */
+#define REG_TRAM_RAM44          (0x420035B0) /**< (TRAM) TrustRAM 44 */
+#define REG_TRAM_RAM45          (0x420035B4) /**< (TRAM) TrustRAM 45 */
+#define REG_TRAM_RAM46          (0x420035B8) /**< (TRAM) TrustRAM 46 */
+#define REG_TRAM_RAM47          (0x420035BC) /**< (TRAM) TrustRAM 47 */
+#define REG_TRAM_RAM48          (0x420035C0) /**< (TRAM) TrustRAM 48 */
+#define REG_TRAM_RAM49          (0x420035C4) /**< (TRAM) TrustRAM 49 */
+#define REG_TRAM_RAM50          (0x420035C8) /**< (TRAM) TrustRAM 50 */
+#define REG_TRAM_RAM51          (0x420035CC) /**< (TRAM) TrustRAM 51 */
+#define REG_TRAM_RAM52          (0x420035D0) /**< (TRAM) TrustRAM 52 */
+#define REG_TRAM_RAM53          (0x420035D4) /**< (TRAM) TrustRAM 53 */
+#define REG_TRAM_RAM54          (0x420035D8) /**< (TRAM) TrustRAM 54 */
+#define REG_TRAM_RAM55          (0x420035DC) /**< (TRAM) TrustRAM 55 */
+#define REG_TRAM_RAM56          (0x420035E0) /**< (TRAM) TrustRAM 56 */
+#define REG_TRAM_RAM57          (0x420035E4) /**< (TRAM) TrustRAM 57 */
+#define REG_TRAM_RAM58          (0x420035E8) /**< (TRAM) TrustRAM 58 */
+#define REG_TRAM_RAM59          (0x420035EC) /**< (TRAM) TrustRAM 59 */
+#define REG_TRAM_RAM60          (0x420035F0) /**< (TRAM) TrustRAM 60 */
+#define REG_TRAM_RAM61          (0x420035F4) /**< (TRAM) TrustRAM 61 */
+#define REG_TRAM_RAM62          (0x420035F8) /**< (TRAM) TrustRAM 62 */
+#define REG_TRAM_RAM63          (0x420035FC) /**< (TRAM) TrustRAM 63 */
+
+#else
+
+#define REG_TRAM_CTRLA          (*(__IO uint8_t*)0x42003400U) /**< (TRAM) Control */
+#define REG_TRAM_INTENCLR       (*(__IO uint8_t*)0x42003404U) /**< (TRAM) Interrupt Enable Clear */
+#define REG_TRAM_INTENSET       (*(__IO uint8_t*)0x42003405U) /**< (TRAM) Interrupt Enable Set */
+#define REG_TRAM_INTFLAG        (*(__IO uint8_t*)0x42003406U) /**< (TRAM) Interrupt Flag Status and Clear */
+#define REG_TRAM_STATUS         (*(__I  uint8_t*)0x42003407U) /**< (TRAM) Status */
+#define REG_TRAM_SYNCBUSY       (*(__I  uint32_t*)0x42003408U) /**< (TRAM) Synchronization Busy Status */
+#define REG_TRAM_DSCC           (*(__O  uint32_t*)0x4200340CU) /**< (TRAM) Data Scramble Control */
+#define REG_TRAM_PERMW          (*(__O  uint8_t*)0x42003410U) /**< (TRAM) Permutation Write */
+#define REG_TRAM_PERMR          (*(__I  uint8_t*)0x42003411U) /**< (TRAM) Permutation Read */
+#define REG_TRAM_RAM            (*(__IO uint32_t*)0x42003500U) /**< (TRAM) TrustRAM */
+#define REG_TRAM_RAM0           (*(__IO uint32_t*)0x42003500U) /**< (TRAM) TrustRAM 0 */
+#define REG_TRAM_RAM1           (*(__IO uint32_t*)0x42003504U) /**< (TRAM) TrustRAM 1 */
+#define REG_TRAM_RAM2           (*(__IO uint32_t*)0x42003508U) /**< (TRAM) TrustRAM 2 */
+#define REG_TRAM_RAM3           (*(__IO uint32_t*)0x4200350CU) /**< (TRAM) TrustRAM 3 */
+#define REG_TRAM_RAM4           (*(__IO uint32_t*)0x42003510U) /**< (TRAM) TrustRAM 4 */
+#define REG_TRAM_RAM5           (*(__IO uint32_t*)0x42003514U) /**< (TRAM) TrustRAM 5 */
+#define REG_TRAM_RAM6           (*(__IO uint32_t*)0x42003518U) /**< (TRAM) TrustRAM 6 */
+#define REG_TRAM_RAM7           (*(__IO uint32_t*)0x4200351CU) /**< (TRAM) TrustRAM 7 */
+#define REG_TRAM_RAM8           (*(__IO uint32_t*)0x42003520U) /**< (TRAM) TrustRAM 8 */
+#define REG_TRAM_RAM9           (*(__IO uint32_t*)0x42003524U) /**< (TRAM) TrustRAM 9 */
+#define REG_TRAM_RAM10          (*(__IO uint32_t*)0x42003528U) /**< (TRAM) TrustRAM 10 */
+#define REG_TRAM_RAM11          (*(__IO uint32_t*)0x4200352CU) /**< (TRAM) TrustRAM 11 */
+#define REG_TRAM_RAM12          (*(__IO uint32_t*)0x42003530U) /**< (TRAM) TrustRAM 12 */
+#define REG_TRAM_RAM13          (*(__IO uint32_t*)0x42003534U) /**< (TRAM) TrustRAM 13 */
+#define REG_TRAM_RAM14          (*(__IO uint32_t*)0x42003538U) /**< (TRAM) TrustRAM 14 */
+#define REG_TRAM_RAM15          (*(__IO uint32_t*)0x4200353CU) /**< (TRAM) TrustRAM 15 */
+#define REG_TRAM_RAM16          (*(__IO uint32_t*)0x42003540U) /**< (TRAM) TrustRAM 16 */
+#define REG_TRAM_RAM17          (*(__IO uint32_t*)0x42003544U) /**< (TRAM) TrustRAM 17 */
+#define REG_TRAM_RAM18          (*(__IO uint32_t*)0x42003548U) /**< (TRAM) TrustRAM 18 */
+#define REG_TRAM_RAM19          (*(__IO uint32_t*)0x4200354CU) /**< (TRAM) TrustRAM 19 */
+#define REG_TRAM_RAM20          (*(__IO uint32_t*)0x42003550U) /**< (TRAM) TrustRAM 20 */
+#define REG_TRAM_RAM21          (*(__IO uint32_t*)0x42003554U) /**< (TRAM) TrustRAM 21 */
+#define REG_TRAM_RAM22          (*(__IO uint32_t*)0x42003558U) /**< (TRAM) TrustRAM 22 */
+#define REG_TRAM_RAM23          (*(__IO uint32_t*)0x4200355CU) /**< (TRAM) TrustRAM 23 */
+#define REG_TRAM_RAM24          (*(__IO uint32_t*)0x42003560U) /**< (TRAM) TrustRAM 24 */
+#define REG_TRAM_RAM25          (*(__IO uint32_t*)0x42003564U) /**< (TRAM) TrustRAM 25 */
+#define REG_TRAM_RAM26          (*(__IO uint32_t*)0x42003568U) /**< (TRAM) TrustRAM 26 */
+#define REG_TRAM_RAM27          (*(__IO uint32_t*)0x4200356CU) /**< (TRAM) TrustRAM 27 */
+#define REG_TRAM_RAM28          (*(__IO uint32_t*)0x42003570U) /**< (TRAM) TrustRAM 28 */
+#define REG_TRAM_RAM29          (*(__IO uint32_t*)0x42003574U) /**< (TRAM) TrustRAM 29 */
+#define REG_TRAM_RAM30          (*(__IO uint32_t*)0x42003578U) /**< (TRAM) TrustRAM 30 */
+#define REG_TRAM_RAM31          (*(__IO uint32_t*)0x4200357CU) /**< (TRAM) TrustRAM 31 */
+#define REG_TRAM_RAM32          (*(__IO uint32_t*)0x42003580U) /**< (TRAM) TrustRAM 32 */
+#define REG_TRAM_RAM33          (*(__IO uint32_t*)0x42003584U) /**< (TRAM) TrustRAM 33 */
+#define REG_TRAM_RAM34          (*(__IO uint32_t*)0x42003588U) /**< (TRAM) TrustRAM 34 */
+#define REG_TRAM_RAM35          (*(__IO uint32_t*)0x4200358CU) /**< (TRAM) TrustRAM 35 */
+#define REG_TRAM_RAM36          (*(__IO uint32_t*)0x42003590U) /**< (TRAM) TrustRAM 36 */
+#define REG_TRAM_RAM37          (*(__IO uint32_t*)0x42003594U) /**< (TRAM) TrustRAM 37 */
+#define REG_TRAM_RAM38          (*(__IO uint32_t*)0x42003598U) /**< (TRAM) TrustRAM 38 */
+#define REG_TRAM_RAM39          (*(__IO uint32_t*)0x4200359CU) /**< (TRAM) TrustRAM 39 */
+#define REG_TRAM_RAM40          (*(__IO uint32_t*)0x420035A0U) /**< (TRAM) TrustRAM 40 */
+#define REG_TRAM_RAM41          (*(__IO uint32_t*)0x420035A4U) /**< (TRAM) TrustRAM 41 */
+#define REG_TRAM_RAM42          (*(__IO uint32_t*)0x420035A8U) /**< (TRAM) TrustRAM 42 */
+#define REG_TRAM_RAM43          (*(__IO uint32_t*)0x420035ACU) /**< (TRAM) TrustRAM 43 */
+#define REG_TRAM_RAM44          (*(__IO uint32_t*)0x420035B0U) /**< (TRAM) TrustRAM 44 */
+#define REG_TRAM_RAM45          (*(__IO uint32_t*)0x420035B4U) /**< (TRAM) TrustRAM 45 */
+#define REG_TRAM_RAM46          (*(__IO uint32_t*)0x420035B8U) /**< (TRAM) TrustRAM 46 */
+#define REG_TRAM_RAM47          (*(__IO uint32_t*)0x420035BCU) /**< (TRAM) TrustRAM 47 */
+#define REG_TRAM_RAM48          (*(__IO uint32_t*)0x420035C0U) /**< (TRAM) TrustRAM 48 */
+#define REG_TRAM_RAM49          (*(__IO uint32_t*)0x420035C4U) /**< (TRAM) TrustRAM 49 */
+#define REG_TRAM_RAM50          (*(__IO uint32_t*)0x420035C8U) /**< (TRAM) TrustRAM 50 */
+#define REG_TRAM_RAM51          (*(__IO uint32_t*)0x420035CCU) /**< (TRAM) TrustRAM 51 */
+#define REG_TRAM_RAM52          (*(__IO uint32_t*)0x420035D0U) /**< (TRAM) TrustRAM 52 */
+#define REG_TRAM_RAM53          (*(__IO uint32_t*)0x420035D4U) /**< (TRAM) TrustRAM 53 */
+#define REG_TRAM_RAM54          (*(__IO uint32_t*)0x420035D8U) /**< (TRAM) TrustRAM 54 */
+#define REG_TRAM_RAM55          (*(__IO uint32_t*)0x420035DCU) /**< (TRAM) TrustRAM 55 */
+#define REG_TRAM_RAM56          (*(__IO uint32_t*)0x420035E0U) /**< (TRAM) TrustRAM 56 */
+#define REG_TRAM_RAM57          (*(__IO uint32_t*)0x420035E4U) /**< (TRAM) TrustRAM 57 */
+#define REG_TRAM_RAM58          (*(__IO uint32_t*)0x420035E8U) /**< (TRAM) TrustRAM 58 */
+#define REG_TRAM_RAM59          (*(__IO uint32_t*)0x420035ECU) /**< (TRAM) TrustRAM 59 */
+#define REG_TRAM_RAM60          (*(__IO uint32_t*)0x420035F0U) /**< (TRAM) TrustRAM 60 */
+#define REG_TRAM_RAM61          (*(__IO uint32_t*)0x420035F4U) /**< (TRAM) TrustRAM 61 */
+#define REG_TRAM_RAM62          (*(__IO uint32_t*)0x420035F8U) /**< (TRAM) TrustRAM 62 */
+#define REG_TRAM_RAM63          (*(__IO uint32_t*)0x420035FCU) /**< (TRAM) TrustRAM 63 */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for TRAM peripheral ========== */
+#define TRAM_INSTANCE_ID                         77         
+
+#endif /* _SAML11_TRAM_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/trng.h b/cpu/sam0_common/include/vendor/saml11/include/instance/trng.h
new file mode 100644
index 0000000000..96b182f33b
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/trng.h
@@ -0,0 +1,58 @@
+/**
+ * \file
+ *
+ * \brief Instance description for TRNG
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_TRNG_INSTANCE_H_
+#define _SAML11_TRNG_INSTANCE_H_
+
+/* ========== Register definition for TRNG peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_TRNG_CTRLA          (0x42002800) /**< (TRNG) Control A */
+#define REG_TRNG_EVCTRL         (0x42002804) /**< (TRNG) Event Control */
+#define REG_TRNG_INTENCLR       (0x42002808) /**< (TRNG) Interrupt Enable Clear */
+#define REG_TRNG_INTENSET       (0x42002809) /**< (TRNG) Interrupt Enable Set */
+#define REG_TRNG_INTFLAG        (0x4200280A) /**< (TRNG) Interrupt Flag Status and Clear */
+#define REG_TRNG_DATA           (0x42002820) /**< (TRNG) Output Data */
+
+#else
+
+#define REG_TRNG_CTRLA          (*(__IO uint8_t*)0x42002800U) /**< (TRNG) Control A */
+#define REG_TRNG_EVCTRL         (*(__IO uint8_t*)0x42002804U) /**< (TRNG) Event Control */
+#define REG_TRNG_INTENCLR       (*(__IO uint8_t*)0x42002808U) /**< (TRNG) Interrupt Enable Clear */
+#define REG_TRNG_INTENSET       (*(__IO uint8_t*)0x42002809U) /**< (TRNG) Interrupt Enable Set */
+#define REG_TRNG_INTFLAG        (*(__IO uint8_t*)0x4200280AU) /**< (TRNG) Interrupt Flag Status and Clear */
+#define REG_TRNG_DATA           (*(__I  uint32_t*)0x42002820U) /**< (TRNG) Output Data */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for TRNG peripheral ========== */
+#define TRNG_INSTANCE_ID                         74         
+
+#endif /* _SAML11_TRNG_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/instance/wdt.h b/cpu/sam0_common/include/vendor/saml11/include/instance/wdt.h
new file mode 100644
index 0000000000..eecfa17729
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/instance/wdt.h
@@ -0,0 +1,62 @@
+/**
+ * \file
+ *
+ * \brief Instance description for WDT
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11_WDT_INSTANCE_H_
+#define _SAML11_WDT_INSTANCE_H_
+
+/* ========== Register definition for WDT peripheral ========== */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+
+#define REG_WDT_CTRLA           (0x40002000) /**< (WDT) Control */
+#define REG_WDT_CONFIG          (0x40002001) /**< (WDT) Configuration */
+#define REG_WDT_EWCTRL          (0x40002002) /**< (WDT) Early Warning Interrupt Control */
+#define REG_WDT_INTENCLR        (0x40002004) /**< (WDT) Interrupt Enable Clear */
+#define REG_WDT_INTENSET        (0x40002005) /**< (WDT) Interrupt Enable Set */
+#define REG_WDT_INTFLAG         (0x40002006) /**< (WDT) Interrupt Flag Status and Clear */
+#define REG_WDT_SYNCBUSY        (0x40002008) /**< (WDT) Synchronization Busy */
+#define REG_WDT_CLEAR           (0x4000200C) /**< (WDT) Clear */
+
+#else
+
+#define REG_WDT_CTRLA           (*(__IO uint8_t*)0x40002000U) /**< (WDT) Control */
+#define REG_WDT_CONFIG          (*(__IO uint8_t*)0x40002001U) /**< (WDT) Configuration */
+#define REG_WDT_EWCTRL          (*(__IO uint8_t*)0x40002002U) /**< (WDT) Early Warning Interrupt Control */
+#define REG_WDT_INTENCLR        (*(__IO uint8_t*)0x40002004U) /**< (WDT) Interrupt Enable Clear */
+#define REG_WDT_INTENSET        (*(__IO uint8_t*)0x40002005U) /**< (WDT) Interrupt Enable Set */
+#define REG_WDT_INTFLAG         (*(__IO uint8_t*)0x40002006U) /**< (WDT) Interrupt Flag Status and Clear */
+#define REG_WDT_SYNCBUSY        (*(__I  uint32_t*)0x40002008U) /**< (WDT) Synchronization Busy */
+#define REG_WDT_CLEAR           (*(__O  uint8_t*)0x4000200CU) /**< (WDT) Clear */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+/* ========== Instance Parameter definitions for WDT peripheral ========== */
+#define WDT_INSTANCE_ID                          8          
+
+#endif /* _SAML11_WDT_INSTANCE_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/pio/saml11d14a.h b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11d14a.h
new file mode 100644
index 0000000000..b0134e8d3c
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11d14a.h
@@ -0,0 +1,834 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML11D14A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11D14A_PIO_H_
+#define _SAML11D14A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML11D14A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/pio/saml11d15a.h b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11d15a.h
new file mode 100644
index 0000000000..6a420953d3
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11d15a.h
@@ -0,0 +1,834 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML11D15A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11D15A_PIO_H_
+#define _SAML11D15A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML11D15A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/pio/saml11d16a.h b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11d16a.h
new file mode 100644
index 0000000000..bda0f4c774
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11d16a.h
@@ -0,0 +1,834 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML11D16A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11D16A_PIO_H_
+#define _SAML11D16A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML11D16A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/pio/saml11e14a.h b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11e14a.h
new file mode 100644
index 0000000000..30935544ac
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11e14a.h
@@ -0,0 +1,1167 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML11E14A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11E14A_PIO_H_
+#define _SAML11E14A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA06                    (  6)  /**< Pin Number for PA06 */
+#define PIN_PA07                    (  7)  /**< Pin Number for PA07 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA09                    (  9)  /**< Pin Number for PA09 */
+#define PIN_PA10                    ( 10)  /**< Pin Number for PA10 */
+#define PIN_PA11                    ( 11)  /**< Pin Number for PA11 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA24                    ( 24)  /**< Pin Number for PA24 */
+#define PIN_PA25                    ( 25)  /**< Pin Number for PA25 */
+#define PIN_PA27                    ( 27)  /**< Pin Number for PA27 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA06                   (_U_(1) << 6) /**< PORT Mask for PA06 */
+#define PORT_PA07                   (_U_(1) << 7) /**< PORT Mask for PA07 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA09                   (_U_(1) << 9) /**< PORT Mask for PA09 */
+#define PORT_PA10                   (_U_(1) << 10) /**< PORT Mask for PA10 */
+#define PORT_PA11                   (_U_(1) << 11) /**< PORT Mask for PA11 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA24                   (_U_(1) << 24) /**< PORT Mask for PA24 */
+#define PORT_PA25                   (_U_(1) << 25) /**< PORT Mask for PA25 */
+#define PORT_PA27                   (_U_(1) << 27) /**< PORT Mask for PA27 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA06_IDX               (  6)  /**< PORT Index Number for PA06 */
+#define PORT_PA07_IDX               (  7)  /**< PORT Index Number for PA07 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA09_IDX               (  9)  /**< PORT Index Number for PA09 */
+#define PORT_PA10_IDX               ( 10)  /**< PORT Index Number for PA10 */
+#define PORT_PA11_IDX               ( 11)  /**< PORT Index Number for PA11 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA24_IDX               ( 24)  /**< PORT Index Number for PA24 */
+#define PORT_PA25_IDX               ( 25)  /**< PORT Index Number for PA25 */
+#define PORT_PA27_IDX               ( 27)  /**< PORT Index Number for PA27 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA06B_ADC_AIN4                         _L_(6)       /**< ADC signal: AIN4 on PA06 mux B*/
+#define MUX_PA06B_ADC_AIN4                         _L_(1)      
+#define PINMUX_PA06B_ADC_AIN4                      ((PIN_PA06B_ADC_AIN4 << 16) | MUX_PA06B_ADC_AIN4)
+#define PORT_PA06B_ADC_AIN4                        (_UL_(1) << 6)
+
+#define PIN_PA07B_ADC_AIN5                         _L_(7)       /**< ADC signal: AIN5 on PA07 mux B*/
+#define MUX_PA07B_ADC_AIN5                         _L_(1)      
+#define PINMUX_PA07B_ADC_AIN5                      ((PIN_PA07B_ADC_AIN5 << 16) | MUX_PA07B_ADC_AIN5)
+#define PORT_PA07B_ADC_AIN5                        (_UL_(1) << 7)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA09B_ADC_AIN7                         _L_(9)       /**< ADC signal: AIN7 on PA09 mux B*/
+#define MUX_PA09B_ADC_AIN7                         _L_(1)      
+#define PINMUX_PA09B_ADC_AIN7                      ((PIN_PA09B_ADC_AIN7 << 16) | MUX_PA09B_ADC_AIN7)
+#define PORT_PA09B_ADC_AIN7                        (_UL_(1) << 9)
+
+#define PIN_PA10B_ADC_AIN8                         _L_(10)      /**< ADC signal: AIN8 on PA10 mux B*/
+#define MUX_PA10B_ADC_AIN8                         _L_(1)      
+#define PINMUX_PA10B_ADC_AIN8                      ((PIN_PA10B_ADC_AIN8 << 16) | MUX_PA10B_ADC_AIN8)
+#define PORT_PA10B_ADC_AIN8                        (_UL_(1) << 10)
+
+#define PIN_PA11B_ADC_AIN9                         _L_(11)      /**< ADC signal: AIN9 on PA11 mux B*/
+#define MUX_PA11B_ADC_AIN9                         _L_(1)      
+#define PINMUX_PA11B_ADC_AIN9                      ((PIN_PA11B_ADC_AIN9 << 16) | MUX_PA11B_ADC_AIN9)
+#define PORT_PA11B_ADC_AIN9                        (_UL_(1) << 11)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA06I_CCL_IN2                          _L_(6)       /**< CCL signal: IN2 on PA06 mux I*/
+#define MUX_PA06I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA06I_CCL_IN2                       ((PIN_PA06I_CCL_IN2 << 16) | MUX_PA06I_CCL_IN2)
+#define PORT_PA06I_CCL_IN2                         (_UL_(1) << 6)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA09I_CCL_IN4                          _L_(9)       /**< CCL signal: IN4 on PA09 mux I*/
+#define MUX_PA09I_CCL_IN4                          _L_(8)      
+#define PINMUX_PA09I_CCL_IN4                       ((PIN_PA09I_CCL_IN4 << 16) | MUX_PA09I_CCL_IN4)
+#define PORT_PA09I_CCL_IN4                         (_UL_(1) << 9)
+
+#define PIN_PA10I_CCL_IN5                          _L_(10)      /**< CCL signal: IN5 on PA10 mux I*/
+#define MUX_PA10I_CCL_IN5                          _L_(8)      
+#define PINMUX_PA10I_CCL_IN5                       ((PIN_PA10I_CCL_IN5 << 16) | MUX_PA10I_CCL_IN5)
+#define PORT_PA10I_CCL_IN5                         (_UL_(1) << 10)
+
+#define PIN_PA07I_CCL_OUT0                         _L_(7)       /**< CCL signal: OUT0 on PA07 mux I*/
+#define MUX_PA07I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA07I_CCL_OUT0                      ((PIN_PA07I_CCL_OUT0 << 16) | MUX_PA07I_CCL_OUT0)
+#define PORT_PA07I_CCL_OUT0                        (_UL_(1) << 7)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA11I_CCL_OUT1                         _L_(11)      /**< CCL signal: OUT1 on PA11 mux I*/
+#define MUX_PA11I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA11I_CCL_OUT1                      ((PIN_PA11I_CCL_OUT1 << 16) | MUX_PA11I_CCL_OUT1)
+#define PORT_PA11I_CCL_OUT1                        (_UL_(1) << 11)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA09A_EIC_EXTINT0                      _L_(9)       /**< EIC signal: EXTINT0 on PA09 mux A*/
+#define MUX_PA09A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA09A_EIC_EXTINT0                   ((PIN_PA09A_EIC_EXTINT0 << 16) | MUX_PA09A_EIC_EXTINT0)
+#define PORT_PA09A_EIC_EXTINT0                     (_UL_(1) << 9)
+#define PIN_PA09A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA09 External Interrupt Line */
+
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA10A_EIC_EXTINT1                      _L_(10)      /**< EIC signal: EXTINT1 on PA10 mux A*/
+#define MUX_PA10A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA10A_EIC_EXTINT1                   ((PIN_PA10A_EIC_EXTINT1 << 16) | MUX_PA10A_EIC_EXTINT1)
+#define PORT_PA10A_EIC_EXTINT1                     (_UL_(1) << 10)
+#define PIN_PA10A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA10 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA11A_EIC_EXTINT2                      _L_(11)      /**< EIC signal: EXTINT2 on PA11 mux A*/
+#define MUX_PA11A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA11A_EIC_EXTINT2                   ((PIN_PA11A_EIC_EXTINT2 << 16) | MUX_PA11A_EIC_EXTINT2)
+#define PORT_PA11A_EIC_EXTINT2                     (_UL_(1) << 11)
+#define PIN_PA11A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA11 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA24A_EIC_EXTINT3                      _L_(24)      /**< EIC signal: EXTINT3 on PA24 mux A*/
+#define MUX_PA24A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA24A_EIC_EXTINT3                   ((PIN_PA24A_EIC_EXTINT3 << 16) | MUX_PA24A_EIC_EXTINT3)
+#define PORT_PA24A_EIC_EXTINT3                     (_UL_(1) << 24)
+#define PIN_PA24A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA24 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA25A_EIC_EXTINT4                      _L_(25)      /**< EIC signal: EXTINT4 on PA25 mux A*/
+#define MUX_PA25A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA25A_EIC_EXTINT4                   ((PIN_PA25A_EIC_EXTINT4 << 16) | MUX_PA25A_EIC_EXTINT4)
+#define PORT_PA25A_EIC_EXTINT4                     (_UL_(1) << 25)
+#define PIN_PA25A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA25 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA27A_EIC_EXTINT5                      _L_(27)      /**< EIC signal: EXTINT5 on PA27 mux A*/
+#define MUX_PA27A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA27A_EIC_EXTINT5                   ((PIN_PA27A_EIC_EXTINT5 << 16) | MUX_PA27A_EIC_EXTINT5)
+#define PORT_PA27A_EIC_EXTINT5                     (_UL_(1) << 27)
+#define PIN_PA27A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA27 External Interrupt Line */
+
+#define PIN_PA06A_EIC_EXTINT6                      _L_(6)       /**< 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)       /**< EIC signal: PIN_PA06 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA07A_EIC_EXTINT7                      _L_(7)       /**< 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)       /**< EIC signal: PIN_PA07 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA27H_GCLK_IO0                         _L_(27)      /**< GCLK signal: IO0 on PA27 mux H*/
+#define MUX_PA27H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA27H_GCLK_IO0                      ((PIN_PA27H_GCLK_IO0 << 16) | MUX_PA27H_GCLK_IO0)
+#define PORT_PA27H_GCLK_IO0                        (_UL_(1) << 27)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA11H_GCLK_IO3                         _L_(11)      /**< GCLK signal: IO3 on PA11 mux H*/
+#define MUX_PA11H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA11H_GCLK_IO3                      ((PIN_PA11H_GCLK_IO3 << 16) | MUX_PA11H_GCLK_IO3)
+#define PORT_PA11H_GCLK_IO3                        (_UL_(1) << 11)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+#define PIN_PA10H_GCLK_IO4                         _L_(10)      /**< GCLK signal: IO4 on PA10 mux H*/
+#define MUX_PA10H_GCLK_IO4                         _L_(7)      
+#define PINMUX_PA10H_GCLK_IO4                      ((PIN_PA10H_GCLK_IO4 << 16) | MUX_PA10H_GCLK_IO4)
+#define PORT_PA10H_GCLK_IO4                        (_UL_(1) << 10)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA07B_OPAMP_OAOUT0                     _L_(7)       /**< OPAMP signal: OAOUT0 on PA07 mux B*/
+#define MUX_PA07B_OPAMP_OAOUT0                     _L_(1)      
+#define PINMUX_PA07B_OPAMP_OAOUT0                  ((PIN_PA07B_OPAMP_OAOUT0 << 16) | MUX_PA07B_OPAMP_OAOUT0)
+#define PORT_PA07B_OPAMP_OAOUT0                    (_UL_(1) << 7)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA06B_OPAMP_OAPOS0                     _L_(6)       /**< OPAMP signal: OAPOS0 on PA06 mux B*/
+#define MUX_PA06B_OPAMP_OAPOS0                     _L_(1)      
+#define PINMUX_PA06B_OPAMP_OAPOS0                  ((PIN_PA06B_OPAMP_OAPOS0 << 16) | MUX_PA06B_OPAMP_OAPOS0)
+#define PORT_PA06B_OPAMP_OAPOS0                    (_UL_(1) << 6)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA06F_PTC_DRV5                         _L_(6)       /**< PTC signal: DRV5 on PA06 mux F*/
+#define MUX_PA06F_PTC_DRV5                         _L_(5)      
+#define PINMUX_PA06F_PTC_DRV5                      ((PIN_PA06F_PTC_DRV5 << 16) | MUX_PA06F_PTC_DRV5)
+#define PORT_PA06F_PTC_DRV5                        (_UL_(1) << 6)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA09F_PTC_DRV7                         _L_(9)       /**< PTC signal: DRV7 on PA09 mux F*/
+#define MUX_PA09F_PTC_DRV7                         _L_(5)      
+#define PINMUX_PA09F_PTC_DRV7                      ((PIN_PA09F_PTC_DRV7 << 16) | MUX_PA09F_PTC_DRV7)
+#define PORT_PA09F_PTC_DRV7                        (_UL_(1) << 9)
+
+#define PIN_PA10F_PTC_DRV8                         _L_(10)      /**< PTC signal: DRV8 on PA10 mux F*/
+#define MUX_PA10F_PTC_DRV8                         _L_(5)      
+#define PINMUX_PA10F_PTC_DRV8                      ((PIN_PA10F_PTC_DRV8 << 16) | MUX_PA10F_PTC_DRV8)
+#define PORT_PA10F_PTC_DRV8                        (_UL_(1) << 10)
+
+#define PIN_PA11F_PTC_DRV9                         _L_(11)      /**< PTC signal: DRV9 on PA11 mux F*/
+#define MUX_PA11F_PTC_DRV9                         _L_(5)      
+#define PINMUX_PA11F_PTC_DRV9                      ((PIN_PA11F_PTC_DRV9 << 16) | MUX_PA11F_PTC_DRV9)
+#define PORT_PA11F_PTC_DRV9                        (_UL_(1) << 11)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_ECI3                         _L_(6)       /**< PTC signal: ECI3 on PA06 mux B*/
+#define MUX_PA06B_PTC_ECI3                         _L_(1)      
+#define PINMUX_PA06B_PTC_ECI3                      ((PIN_PA06B_PTC_ECI3 << 16) | MUX_PA06B_PTC_ECI3)
+#define PORT_PA06B_PTC_ECI3                        (_UL_(1) << 6)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_X5                           _L_(6)       /**< PTC signal: X5 on PA06 mux B*/
+#define MUX_PA06B_PTC_X5                           _L_(1)      
+#define PINMUX_PA06B_PTC_X5                        ((PIN_PA06B_PTC_X5 << 16) | MUX_PA06B_PTC_X5)
+#define PORT_PA06B_PTC_X5                          (_UL_(1) << 6)
+
+#define PIN_PA06B_PTC_Y5                           _L_(6)       /**< PTC signal: Y5 on PA06 mux B*/
+#define MUX_PA06B_PTC_Y5                           _L_(1)      
+#define PINMUX_PA06B_PTC_Y5                        ((PIN_PA06B_PTC_Y5 << 16) | MUX_PA06B_PTC_Y5)
+#define PORT_PA06B_PTC_Y5                          (_UL_(1) << 6)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA09B_PTC_X7                           _L_(9)       /**< PTC signal: X7 on PA09 mux B*/
+#define MUX_PA09B_PTC_X7                           _L_(1)      
+#define PINMUX_PA09B_PTC_X7                        ((PIN_PA09B_PTC_X7 << 16) | MUX_PA09B_PTC_X7)
+#define PORT_PA09B_PTC_X7                          (_UL_(1) << 9)
+
+#define PIN_PA09B_PTC_Y7                           _L_(9)       /**< PTC signal: Y7 on PA09 mux B*/
+#define MUX_PA09B_PTC_Y7                           _L_(1)      
+#define PINMUX_PA09B_PTC_Y7                        ((PIN_PA09B_PTC_Y7 << 16) | MUX_PA09B_PTC_Y7)
+#define PORT_PA09B_PTC_Y7                          (_UL_(1) << 9)
+
+#define PIN_PA10B_PTC_X8                           _L_(10)      /**< PTC signal: X8 on PA10 mux B*/
+#define MUX_PA10B_PTC_X8                           _L_(1)      
+#define PINMUX_PA10B_PTC_X8                        ((PIN_PA10B_PTC_X8 << 16) | MUX_PA10B_PTC_X8)
+#define PORT_PA10B_PTC_X8                          (_UL_(1) << 10)
+
+#define PIN_PA10B_PTC_Y8                           _L_(10)      /**< PTC signal: Y8 on PA10 mux B*/
+#define MUX_PA10B_PTC_Y8                           _L_(1)      
+#define PINMUX_PA10B_PTC_Y8                        ((PIN_PA10B_PTC_Y8 << 16) | MUX_PA10B_PTC_Y8)
+#define PORT_PA10B_PTC_Y8                          (_UL_(1) << 10)
+
+#define PIN_PA11B_PTC_X9                           _L_(11)      /**< PTC signal: X9 on PA11 mux B*/
+#define MUX_PA11B_PTC_X9                           _L_(1)      
+#define PINMUX_PA11B_PTC_X9                        ((PIN_PA11B_PTC_X9 << 16) | MUX_PA11B_PTC_X9)
+#define PORT_PA11B_PTC_X9                          (_UL_(1) << 11)
+
+#define PIN_PA11B_PTC_Y9                           _L_(11)      /**< PTC signal: Y9 on PA11 mux B*/
+#define MUX_PA11B_PTC_Y9                           _L_(1)      
+#define PINMUX_PA11B_PTC_Y9                        ((PIN_PA11B_PTC_Y9 << 16) | MUX_PA11B_PTC_Y9)
+#define PORT_PA11B_PTC_Y9                          (_UL_(1) << 11)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA09G_RTC_IN1                          _L_(9)       /**< RTC signal: IN1 on PA09 mux G*/
+#define MUX_PA09G_RTC_IN1                          _L_(6)      
+#define PINMUX_PA09G_RTC_IN1                       ((PIN_PA09G_RTC_IN1 << 16) | MUX_PA09G_RTC_IN1)
+#define PORT_PA09G_RTC_IN1                         (_UL_(1) << 9)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA06D_SERCOM0_PAD2                     _L_(6)       /**< 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_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA24C_SERCOM0_PAD2                     _L_(24)      /**< SERCOM0 signal: PAD2 on PA24 mux C*/
+#define MUX_PA24C_SERCOM0_PAD2                     _L_(2)      
+#define PINMUX_PA24C_SERCOM0_PAD2                  ((PIN_PA24C_SERCOM0_PAD2 << 16) | MUX_PA24C_SERCOM0_PAD2)
+#define PORT_PA24C_SERCOM0_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA07D_SERCOM0_PAD3                     _L_(7)       /**< 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_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA25C_SERCOM0_PAD3                     _L_(25)      /**< SERCOM0 signal: PAD3 on PA25 mux C*/
+#define MUX_PA25C_SERCOM0_PAD3                     _L_(2)      
+#define PINMUX_PA25C_SERCOM0_PAD3                  ((PIN_PA25C_SERCOM0_PAD3 << 16) | MUX_PA25C_SERCOM0_PAD3)
+#define PORT_PA25C_SERCOM0_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA09C_SERCOM1_PAD1                     _L_(9)       /**< SERCOM1 signal: PAD1 on PA09 mux C*/
+#define MUX_PA09C_SERCOM1_PAD1                     _L_(2)      
+#define PINMUX_PA09C_SERCOM1_PAD1                  ((PIN_PA09C_SERCOM1_PAD1 << 16) | MUX_PA09C_SERCOM1_PAD1)
+#define PORT_PA09C_SERCOM1_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA10C_SERCOM1_PAD2                     _L_(10)      /**< SERCOM1 signal: PAD2 on PA10 mux C*/
+#define MUX_PA10C_SERCOM1_PAD2                     _L_(2)      
+#define PINMUX_PA10C_SERCOM1_PAD2                  ((PIN_PA10C_SERCOM1_PAD2 << 16) | MUX_PA10C_SERCOM1_PAD2)
+#define PORT_PA10C_SERCOM1_PAD2                    (_UL_(1) << 10)
+
+#define PIN_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA11C_SERCOM1_PAD3                     _L_(11)      /**< SERCOM1 signal: PAD3 on PA11 mux C*/
+#define MUX_PA11C_SERCOM1_PAD3                     _L_(2)      
+#define PINMUX_PA11C_SERCOM1_PAD3                  ((PIN_PA11C_SERCOM1_PAD3 << 16) | MUX_PA11C_SERCOM1_PAD3)
+#define PORT_PA11C_SERCOM1_PAD3                    (_UL_(1) << 11)
+
+#define PIN_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for SERCOM2 peripheral ========== */
+#define PIN_PA08D_SERCOM2_PAD0                     _L_(8)       /**< SERCOM2 signal: PAD0 on PA08 mux D*/
+#define MUX_PA08D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA08D_SERCOM2_PAD0                  ((PIN_PA08D_SERCOM2_PAD0 << 16) | MUX_PA08D_SERCOM2_PAD0)
+#define PORT_PA08D_SERCOM2_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA22D_SERCOM2_PAD0                     _L_(22)      /**< SERCOM2 signal: PAD0 on PA22 mux D*/
+#define MUX_PA22D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA22D_SERCOM2_PAD0                  ((PIN_PA22D_SERCOM2_PAD0 << 16) | MUX_PA22D_SERCOM2_PAD0)
+#define PORT_PA22D_SERCOM2_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA09D_SERCOM2_PAD1                     _L_(9)       /**< SERCOM2 signal: PAD1 on PA09 mux D*/
+#define MUX_PA09D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA09D_SERCOM2_PAD1                  ((PIN_PA09D_SERCOM2_PAD1 << 16) | MUX_PA09D_SERCOM2_PAD1)
+#define PORT_PA09D_SERCOM2_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA23D_SERCOM2_PAD1                     _L_(23)      /**< SERCOM2 signal: PAD1 on PA23 mux D*/
+#define MUX_PA23D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA23D_SERCOM2_PAD1                  ((PIN_PA23D_SERCOM2_PAD1 << 16) | MUX_PA23D_SERCOM2_PAD1)
+#define PORT_PA23D_SERCOM2_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA10D_SERCOM2_PAD2                     _L_(10)      /**< 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_PA24D_SERCOM2_PAD2                     _L_(24)      /**< SERCOM2 signal: PAD2 on PA24 mux D*/
+#define MUX_PA24D_SERCOM2_PAD2                     _L_(3)      
+#define PINMUX_PA24D_SERCOM2_PAD2                  ((PIN_PA24D_SERCOM2_PAD2 << 16) | MUX_PA24D_SERCOM2_PAD2)
+#define PORT_PA24D_SERCOM2_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA14C_SERCOM2_PAD2                     _L_(14)      /**< 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)      /**< 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_PA25D_SERCOM2_PAD3                     _L_(25)      /**< SERCOM2 signal: PAD3 on PA25 mux D*/
+#define MUX_PA25D_SERCOM2_PAD3                     _L_(3)      
+#define PINMUX_PA25D_SERCOM2_PAD3                  ((PIN_PA25D_SERCOM2_PAD3 << 16) | MUX_PA25D_SERCOM2_PAD3)
+#define PORT_PA25D_SERCOM2_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA15C_SERCOM2_PAD3                     _L_(15)      /**< 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 TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA06E_TC1_WO0                          _L_(6)       /**< 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_PA24E_TC1_WO0                          _L_(24)      /**< TC1 signal: WO0 on PA24 mux E*/
+#define MUX_PA24E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA24E_TC1_WO0                       ((PIN_PA24E_TC1_WO0 << 16) | MUX_PA24E_TC1_WO0)
+#define PORT_PA24E_TC1_WO0                         (_UL_(1) << 24)
+
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA07E_TC1_WO1                          _L_(7)       /**< 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_PA25E_TC1_WO1                          _L_(25)      /**< TC1 signal: WO1 on PA25 mux E*/
+#define MUX_PA25E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA25E_TC1_WO1                       ((PIN_PA25E_TC1_WO1 << 16) | MUX_PA25E_TC1_WO1)
+#define PORT_PA25E_TC1_WO1                         (_UL_(1) << 25)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML11E14A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/pio/saml11e15a.h b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11e15a.h
new file mode 100644
index 0000000000..59d3e624cf
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11e15a.h
@@ -0,0 +1,1167 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML11E15A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11E15A_PIO_H_
+#define _SAML11E15A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA06                    (  6)  /**< Pin Number for PA06 */
+#define PIN_PA07                    (  7)  /**< Pin Number for PA07 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA09                    (  9)  /**< Pin Number for PA09 */
+#define PIN_PA10                    ( 10)  /**< Pin Number for PA10 */
+#define PIN_PA11                    ( 11)  /**< Pin Number for PA11 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA24                    ( 24)  /**< Pin Number for PA24 */
+#define PIN_PA25                    ( 25)  /**< Pin Number for PA25 */
+#define PIN_PA27                    ( 27)  /**< Pin Number for PA27 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA06                   (_U_(1) << 6) /**< PORT Mask for PA06 */
+#define PORT_PA07                   (_U_(1) << 7) /**< PORT Mask for PA07 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA09                   (_U_(1) << 9) /**< PORT Mask for PA09 */
+#define PORT_PA10                   (_U_(1) << 10) /**< PORT Mask for PA10 */
+#define PORT_PA11                   (_U_(1) << 11) /**< PORT Mask for PA11 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA24                   (_U_(1) << 24) /**< PORT Mask for PA24 */
+#define PORT_PA25                   (_U_(1) << 25) /**< PORT Mask for PA25 */
+#define PORT_PA27                   (_U_(1) << 27) /**< PORT Mask for PA27 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA06_IDX               (  6)  /**< PORT Index Number for PA06 */
+#define PORT_PA07_IDX               (  7)  /**< PORT Index Number for PA07 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA09_IDX               (  9)  /**< PORT Index Number for PA09 */
+#define PORT_PA10_IDX               ( 10)  /**< PORT Index Number for PA10 */
+#define PORT_PA11_IDX               ( 11)  /**< PORT Index Number for PA11 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA24_IDX               ( 24)  /**< PORT Index Number for PA24 */
+#define PORT_PA25_IDX               ( 25)  /**< PORT Index Number for PA25 */
+#define PORT_PA27_IDX               ( 27)  /**< PORT Index Number for PA27 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA06B_ADC_AIN4                         _L_(6)       /**< ADC signal: AIN4 on PA06 mux B*/
+#define MUX_PA06B_ADC_AIN4                         _L_(1)      
+#define PINMUX_PA06B_ADC_AIN4                      ((PIN_PA06B_ADC_AIN4 << 16) | MUX_PA06B_ADC_AIN4)
+#define PORT_PA06B_ADC_AIN4                        (_UL_(1) << 6)
+
+#define PIN_PA07B_ADC_AIN5                         _L_(7)       /**< ADC signal: AIN5 on PA07 mux B*/
+#define MUX_PA07B_ADC_AIN5                         _L_(1)      
+#define PINMUX_PA07B_ADC_AIN5                      ((PIN_PA07B_ADC_AIN5 << 16) | MUX_PA07B_ADC_AIN5)
+#define PORT_PA07B_ADC_AIN5                        (_UL_(1) << 7)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA09B_ADC_AIN7                         _L_(9)       /**< ADC signal: AIN7 on PA09 mux B*/
+#define MUX_PA09B_ADC_AIN7                         _L_(1)      
+#define PINMUX_PA09B_ADC_AIN7                      ((PIN_PA09B_ADC_AIN7 << 16) | MUX_PA09B_ADC_AIN7)
+#define PORT_PA09B_ADC_AIN7                        (_UL_(1) << 9)
+
+#define PIN_PA10B_ADC_AIN8                         _L_(10)      /**< ADC signal: AIN8 on PA10 mux B*/
+#define MUX_PA10B_ADC_AIN8                         _L_(1)      
+#define PINMUX_PA10B_ADC_AIN8                      ((PIN_PA10B_ADC_AIN8 << 16) | MUX_PA10B_ADC_AIN8)
+#define PORT_PA10B_ADC_AIN8                        (_UL_(1) << 10)
+
+#define PIN_PA11B_ADC_AIN9                         _L_(11)      /**< ADC signal: AIN9 on PA11 mux B*/
+#define MUX_PA11B_ADC_AIN9                         _L_(1)      
+#define PINMUX_PA11B_ADC_AIN9                      ((PIN_PA11B_ADC_AIN9 << 16) | MUX_PA11B_ADC_AIN9)
+#define PORT_PA11B_ADC_AIN9                        (_UL_(1) << 11)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA06I_CCL_IN2                          _L_(6)       /**< CCL signal: IN2 on PA06 mux I*/
+#define MUX_PA06I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA06I_CCL_IN2                       ((PIN_PA06I_CCL_IN2 << 16) | MUX_PA06I_CCL_IN2)
+#define PORT_PA06I_CCL_IN2                         (_UL_(1) << 6)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA09I_CCL_IN4                          _L_(9)       /**< CCL signal: IN4 on PA09 mux I*/
+#define MUX_PA09I_CCL_IN4                          _L_(8)      
+#define PINMUX_PA09I_CCL_IN4                       ((PIN_PA09I_CCL_IN4 << 16) | MUX_PA09I_CCL_IN4)
+#define PORT_PA09I_CCL_IN4                         (_UL_(1) << 9)
+
+#define PIN_PA10I_CCL_IN5                          _L_(10)      /**< CCL signal: IN5 on PA10 mux I*/
+#define MUX_PA10I_CCL_IN5                          _L_(8)      
+#define PINMUX_PA10I_CCL_IN5                       ((PIN_PA10I_CCL_IN5 << 16) | MUX_PA10I_CCL_IN5)
+#define PORT_PA10I_CCL_IN5                         (_UL_(1) << 10)
+
+#define PIN_PA07I_CCL_OUT0                         _L_(7)       /**< CCL signal: OUT0 on PA07 mux I*/
+#define MUX_PA07I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA07I_CCL_OUT0                      ((PIN_PA07I_CCL_OUT0 << 16) | MUX_PA07I_CCL_OUT0)
+#define PORT_PA07I_CCL_OUT0                        (_UL_(1) << 7)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA11I_CCL_OUT1                         _L_(11)      /**< CCL signal: OUT1 on PA11 mux I*/
+#define MUX_PA11I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA11I_CCL_OUT1                      ((PIN_PA11I_CCL_OUT1 << 16) | MUX_PA11I_CCL_OUT1)
+#define PORT_PA11I_CCL_OUT1                        (_UL_(1) << 11)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA09A_EIC_EXTINT0                      _L_(9)       /**< EIC signal: EXTINT0 on PA09 mux A*/
+#define MUX_PA09A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA09A_EIC_EXTINT0                   ((PIN_PA09A_EIC_EXTINT0 << 16) | MUX_PA09A_EIC_EXTINT0)
+#define PORT_PA09A_EIC_EXTINT0                     (_UL_(1) << 9)
+#define PIN_PA09A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA09 External Interrupt Line */
+
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA10A_EIC_EXTINT1                      _L_(10)      /**< EIC signal: EXTINT1 on PA10 mux A*/
+#define MUX_PA10A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA10A_EIC_EXTINT1                   ((PIN_PA10A_EIC_EXTINT1 << 16) | MUX_PA10A_EIC_EXTINT1)
+#define PORT_PA10A_EIC_EXTINT1                     (_UL_(1) << 10)
+#define PIN_PA10A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA10 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA11A_EIC_EXTINT2                      _L_(11)      /**< EIC signal: EXTINT2 on PA11 mux A*/
+#define MUX_PA11A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA11A_EIC_EXTINT2                   ((PIN_PA11A_EIC_EXTINT2 << 16) | MUX_PA11A_EIC_EXTINT2)
+#define PORT_PA11A_EIC_EXTINT2                     (_UL_(1) << 11)
+#define PIN_PA11A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA11 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA24A_EIC_EXTINT3                      _L_(24)      /**< EIC signal: EXTINT3 on PA24 mux A*/
+#define MUX_PA24A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA24A_EIC_EXTINT3                   ((PIN_PA24A_EIC_EXTINT3 << 16) | MUX_PA24A_EIC_EXTINT3)
+#define PORT_PA24A_EIC_EXTINT3                     (_UL_(1) << 24)
+#define PIN_PA24A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA24 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA25A_EIC_EXTINT4                      _L_(25)      /**< EIC signal: EXTINT4 on PA25 mux A*/
+#define MUX_PA25A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA25A_EIC_EXTINT4                   ((PIN_PA25A_EIC_EXTINT4 << 16) | MUX_PA25A_EIC_EXTINT4)
+#define PORT_PA25A_EIC_EXTINT4                     (_UL_(1) << 25)
+#define PIN_PA25A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA25 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA27A_EIC_EXTINT5                      _L_(27)      /**< EIC signal: EXTINT5 on PA27 mux A*/
+#define MUX_PA27A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA27A_EIC_EXTINT5                   ((PIN_PA27A_EIC_EXTINT5 << 16) | MUX_PA27A_EIC_EXTINT5)
+#define PORT_PA27A_EIC_EXTINT5                     (_UL_(1) << 27)
+#define PIN_PA27A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA27 External Interrupt Line */
+
+#define PIN_PA06A_EIC_EXTINT6                      _L_(6)       /**< 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)       /**< EIC signal: PIN_PA06 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA07A_EIC_EXTINT7                      _L_(7)       /**< 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)       /**< EIC signal: PIN_PA07 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA27H_GCLK_IO0                         _L_(27)      /**< GCLK signal: IO0 on PA27 mux H*/
+#define MUX_PA27H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA27H_GCLK_IO0                      ((PIN_PA27H_GCLK_IO0 << 16) | MUX_PA27H_GCLK_IO0)
+#define PORT_PA27H_GCLK_IO0                        (_UL_(1) << 27)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA11H_GCLK_IO3                         _L_(11)      /**< GCLK signal: IO3 on PA11 mux H*/
+#define MUX_PA11H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA11H_GCLK_IO3                      ((PIN_PA11H_GCLK_IO3 << 16) | MUX_PA11H_GCLK_IO3)
+#define PORT_PA11H_GCLK_IO3                        (_UL_(1) << 11)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+#define PIN_PA10H_GCLK_IO4                         _L_(10)      /**< GCLK signal: IO4 on PA10 mux H*/
+#define MUX_PA10H_GCLK_IO4                         _L_(7)      
+#define PINMUX_PA10H_GCLK_IO4                      ((PIN_PA10H_GCLK_IO4 << 16) | MUX_PA10H_GCLK_IO4)
+#define PORT_PA10H_GCLK_IO4                        (_UL_(1) << 10)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA07B_OPAMP_OAOUT0                     _L_(7)       /**< OPAMP signal: OAOUT0 on PA07 mux B*/
+#define MUX_PA07B_OPAMP_OAOUT0                     _L_(1)      
+#define PINMUX_PA07B_OPAMP_OAOUT0                  ((PIN_PA07B_OPAMP_OAOUT0 << 16) | MUX_PA07B_OPAMP_OAOUT0)
+#define PORT_PA07B_OPAMP_OAOUT0                    (_UL_(1) << 7)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA06B_OPAMP_OAPOS0                     _L_(6)       /**< OPAMP signal: OAPOS0 on PA06 mux B*/
+#define MUX_PA06B_OPAMP_OAPOS0                     _L_(1)      
+#define PINMUX_PA06B_OPAMP_OAPOS0                  ((PIN_PA06B_OPAMP_OAPOS0 << 16) | MUX_PA06B_OPAMP_OAPOS0)
+#define PORT_PA06B_OPAMP_OAPOS0                    (_UL_(1) << 6)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA06F_PTC_DRV5                         _L_(6)       /**< PTC signal: DRV5 on PA06 mux F*/
+#define MUX_PA06F_PTC_DRV5                         _L_(5)      
+#define PINMUX_PA06F_PTC_DRV5                      ((PIN_PA06F_PTC_DRV5 << 16) | MUX_PA06F_PTC_DRV5)
+#define PORT_PA06F_PTC_DRV5                        (_UL_(1) << 6)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA09F_PTC_DRV7                         _L_(9)       /**< PTC signal: DRV7 on PA09 mux F*/
+#define MUX_PA09F_PTC_DRV7                         _L_(5)      
+#define PINMUX_PA09F_PTC_DRV7                      ((PIN_PA09F_PTC_DRV7 << 16) | MUX_PA09F_PTC_DRV7)
+#define PORT_PA09F_PTC_DRV7                        (_UL_(1) << 9)
+
+#define PIN_PA10F_PTC_DRV8                         _L_(10)      /**< PTC signal: DRV8 on PA10 mux F*/
+#define MUX_PA10F_PTC_DRV8                         _L_(5)      
+#define PINMUX_PA10F_PTC_DRV8                      ((PIN_PA10F_PTC_DRV8 << 16) | MUX_PA10F_PTC_DRV8)
+#define PORT_PA10F_PTC_DRV8                        (_UL_(1) << 10)
+
+#define PIN_PA11F_PTC_DRV9                         _L_(11)      /**< PTC signal: DRV9 on PA11 mux F*/
+#define MUX_PA11F_PTC_DRV9                         _L_(5)      
+#define PINMUX_PA11F_PTC_DRV9                      ((PIN_PA11F_PTC_DRV9 << 16) | MUX_PA11F_PTC_DRV9)
+#define PORT_PA11F_PTC_DRV9                        (_UL_(1) << 11)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_ECI3                         _L_(6)       /**< PTC signal: ECI3 on PA06 mux B*/
+#define MUX_PA06B_PTC_ECI3                         _L_(1)      
+#define PINMUX_PA06B_PTC_ECI3                      ((PIN_PA06B_PTC_ECI3 << 16) | MUX_PA06B_PTC_ECI3)
+#define PORT_PA06B_PTC_ECI3                        (_UL_(1) << 6)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_X5                           _L_(6)       /**< PTC signal: X5 on PA06 mux B*/
+#define MUX_PA06B_PTC_X5                           _L_(1)      
+#define PINMUX_PA06B_PTC_X5                        ((PIN_PA06B_PTC_X5 << 16) | MUX_PA06B_PTC_X5)
+#define PORT_PA06B_PTC_X5                          (_UL_(1) << 6)
+
+#define PIN_PA06B_PTC_Y5                           _L_(6)       /**< PTC signal: Y5 on PA06 mux B*/
+#define MUX_PA06B_PTC_Y5                           _L_(1)      
+#define PINMUX_PA06B_PTC_Y5                        ((PIN_PA06B_PTC_Y5 << 16) | MUX_PA06B_PTC_Y5)
+#define PORT_PA06B_PTC_Y5                          (_UL_(1) << 6)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA09B_PTC_X7                           _L_(9)       /**< PTC signal: X7 on PA09 mux B*/
+#define MUX_PA09B_PTC_X7                           _L_(1)      
+#define PINMUX_PA09B_PTC_X7                        ((PIN_PA09B_PTC_X7 << 16) | MUX_PA09B_PTC_X7)
+#define PORT_PA09B_PTC_X7                          (_UL_(1) << 9)
+
+#define PIN_PA09B_PTC_Y7                           _L_(9)       /**< PTC signal: Y7 on PA09 mux B*/
+#define MUX_PA09B_PTC_Y7                           _L_(1)      
+#define PINMUX_PA09B_PTC_Y7                        ((PIN_PA09B_PTC_Y7 << 16) | MUX_PA09B_PTC_Y7)
+#define PORT_PA09B_PTC_Y7                          (_UL_(1) << 9)
+
+#define PIN_PA10B_PTC_X8                           _L_(10)      /**< PTC signal: X8 on PA10 mux B*/
+#define MUX_PA10B_PTC_X8                           _L_(1)      
+#define PINMUX_PA10B_PTC_X8                        ((PIN_PA10B_PTC_X8 << 16) | MUX_PA10B_PTC_X8)
+#define PORT_PA10B_PTC_X8                          (_UL_(1) << 10)
+
+#define PIN_PA10B_PTC_Y8                           _L_(10)      /**< PTC signal: Y8 on PA10 mux B*/
+#define MUX_PA10B_PTC_Y8                           _L_(1)      
+#define PINMUX_PA10B_PTC_Y8                        ((PIN_PA10B_PTC_Y8 << 16) | MUX_PA10B_PTC_Y8)
+#define PORT_PA10B_PTC_Y8                          (_UL_(1) << 10)
+
+#define PIN_PA11B_PTC_X9                           _L_(11)      /**< PTC signal: X9 on PA11 mux B*/
+#define MUX_PA11B_PTC_X9                           _L_(1)      
+#define PINMUX_PA11B_PTC_X9                        ((PIN_PA11B_PTC_X9 << 16) | MUX_PA11B_PTC_X9)
+#define PORT_PA11B_PTC_X9                          (_UL_(1) << 11)
+
+#define PIN_PA11B_PTC_Y9                           _L_(11)      /**< PTC signal: Y9 on PA11 mux B*/
+#define MUX_PA11B_PTC_Y9                           _L_(1)      
+#define PINMUX_PA11B_PTC_Y9                        ((PIN_PA11B_PTC_Y9 << 16) | MUX_PA11B_PTC_Y9)
+#define PORT_PA11B_PTC_Y9                          (_UL_(1) << 11)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA09G_RTC_IN1                          _L_(9)       /**< RTC signal: IN1 on PA09 mux G*/
+#define MUX_PA09G_RTC_IN1                          _L_(6)      
+#define PINMUX_PA09G_RTC_IN1                       ((PIN_PA09G_RTC_IN1 << 16) | MUX_PA09G_RTC_IN1)
+#define PORT_PA09G_RTC_IN1                         (_UL_(1) << 9)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA06D_SERCOM0_PAD2                     _L_(6)       /**< 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_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA24C_SERCOM0_PAD2                     _L_(24)      /**< SERCOM0 signal: PAD2 on PA24 mux C*/
+#define MUX_PA24C_SERCOM0_PAD2                     _L_(2)      
+#define PINMUX_PA24C_SERCOM0_PAD2                  ((PIN_PA24C_SERCOM0_PAD2 << 16) | MUX_PA24C_SERCOM0_PAD2)
+#define PORT_PA24C_SERCOM0_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA07D_SERCOM0_PAD3                     _L_(7)       /**< 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_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA25C_SERCOM0_PAD3                     _L_(25)      /**< SERCOM0 signal: PAD3 on PA25 mux C*/
+#define MUX_PA25C_SERCOM0_PAD3                     _L_(2)      
+#define PINMUX_PA25C_SERCOM0_PAD3                  ((PIN_PA25C_SERCOM0_PAD3 << 16) | MUX_PA25C_SERCOM0_PAD3)
+#define PORT_PA25C_SERCOM0_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA09C_SERCOM1_PAD1                     _L_(9)       /**< SERCOM1 signal: PAD1 on PA09 mux C*/
+#define MUX_PA09C_SERCOM1_PAD1                     _L_(2)      
+#define PINMUX_PA09C_SERCOM1_PAD1                  ((PIN_PA09C_SERCOM1_PAD1 << 16) | MUX_PA09C_SERCOM1_PAD1)
+#define PORT_PA09C_SERCOM1_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA10C_SERCOM1_PAD2                     _L_(10)      /**< SERCOM1 signal: PAD2 on PA10 mux C*/
+#define MUX_PA10C_SERCOM1_PAD2                     _L_(2)      
+#define PINMUX_PA10C_SERCOM1_PAD2                  ((PIN_PA10C_SERCOM1_PAD2 << 16) | MUX_PA10C_SERCOM1_PAD2)
+#define PORT_PA10C_SERCOM1_PAD2                    (_UL_(1) << 10)
+
+#define PIN_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA11C_SERCOM1_PAD3                     _L_(11)      /**< SERCOM1 signal: PAD3 on PA11 mux C*/
+#define MUX_PA11C_SERCOM1_PAD3                     _L_(2)      
+#define PINMUX_PA11C_SERCOM1_PAD3                  ((PIN_PA11C_SERCOM1_PAD3 << 16) | MUX_PA11C_SERCOM1_PAD3)
+#define PORT_PA11C_SERCOM1_PAD3                    (_UL_(1) << 11)
+
+#define PIN_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for SERCOM2 peripheral ========== */
+#define PIN_PA08D_SERCOM2_PAD0                     _L_(8)       /**< SERCOM2 signal: PAD0 on PA08 mux D*/
+#define MUX_PA08D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA08D_SERCOM2_PAD0                  ((PIN_PA08D_SERCOM2_PAD0 << 16) | MUX_PA08D_SERCOM2_PAD0)
+#define PORT_PA08D_SERCOM2_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA22D_SERCOM2_PAD0                     _L_(22)      /**< SERCOM2 signal: PAD0 on PA22 mux D*/
+#define MUX_PA22D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA22D_SERCOM2_PAD0                  ((PIN_PA22D_SERCOM2_PAD0 << 16) | MUX_PA22D_SERCOM2_PAD0)
+#define PORT_PA22D_SERCOM2_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA09D_SERCOM2_PAD1                     _L_(9)       /**< SERCOM2 signal: PAD1 on PA09 mux D*/
+#define MUX_PA09D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA09D_SERCOM2_PAD1                  ((PIN_PA09D_SERCOM2_PAD1 << 16) | MUX_PA09D_SERCOM2_PAD1)
+#define PORT_PA09D_SERCOM2_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA23D_SERCOM2_PAD1                     _L_(23)      /**< SERCOM2 signal: PAD1 on PA23 mux D*/
+#define MUX_PA23D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA23D_SERCOM2_PAD1                  ((PIN_PA23D_SERCOM2_PAD1 << 16) | MUX_PA23D_SERCOM2_PAD1)
+#define PORT_PA23D_SERCOM2_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA10D_SERCOM2_PAD2                     _L_(10)      /**< 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_PA24D_SERCOM2_PAD2                     _L_(24)      /**< SERCOM2 signal: PAD2 on PA24 mux D*/
+#define MUX_PA24D_SERCOM2_PAD2                     _L_(3)      
+#define PINMUX_PA24D_SERCOM2_PAD2                  ((PIN_PA24D_SERCOM2_PAD2 << 16) | MUX_PA24D_SERCOM2_PAD2)
+#define PORT_PA24D_SERCOM2_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA14C_SERCOM2_PAD2                     _L_(14)      /**< 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)      /**< 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_PA25D_SERCOM2_PAD3                     _L_(25)      /**< SERCOM2 signal: PAD3 on PA25 mux D*/
+#define MUX_PA25D_SERCOM2_PAD3                     _L_(3)      
+#define PINMUX_PA25D_SERCOM2_PAD3                  ((PIN_PA25D_SERCOM2_PAD3 << 16) | MUX_PA25D_SERCOM2_PAD3)
+#define PORT_PA25D_SERCOM2_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA15C_SERCOM2_PAD3                     _L_(15)      /**< 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 TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA06E_TC1_WO0                          _L_(6)       /**< 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_PA24E_TC1_WO0                          _L_(24)      /**< TC1 signal: WO0 on PA24 mux E*/
+#define MUX_PA24E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA24E_TC1_WO0                       ((PIN_PA24E_TC1_WO0 << 16) | MUX_PA24E_TC1_WO0)
+#define PORT_PA24E_TC1_WO0                         (_UL_(1) << 24)
+
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA07E_TC1_WO1                          _L_(7)       /**< 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_PA25E_TC1_WO1                          _L_(25)      /**< TC1 signal: WO1 on PA25 mux E*/
+#define MUX_PA25E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA25E_TC1_WO1                       ((PIN_PA25E_TC1_WO1 << 16) | MUX_PA25E_TC1_WO1)
+#define PORT_PA25E_TC1_WO1                         (_UL_(1) << 25)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML11E15A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/pio/saml11e16a.h b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11e16a.h
new file mode 100644
index 0000000000..d95b2247b9
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/pio/saml11e16a.h
@@ -0,0 +1,1167 @@
+/**
+ * \file
+ *
+ * \brief Peripheral I/O description for SAML11E16A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11E16A_PIO_H_
+#define _SAML11E16A_PIO_H_
+
+/* ========== Peripheral I/O pin numbers ========== */
+#define PIN_PA00                    (  0)  /**< Pin Number for PA00 */
+#define PIN_PA01                    (  1)  /**< Pin Number for PA01 */
+#define PIN_PA02                    (  2)  /**< Pin Number for PA02 */
+#define PIN_PA03                    (  3)  /**< Pin Number for PA03 */
+#define PIN_PA04                    (  4)  /**< Pin Number for PA04 */
+#define PIN_PA05                    (  5)  /**< Pin Number for PA05 */
+#define PIN_PA06                    (  6)  /**< Pin Number for PA06 */
+#define PIN_PA07                    (  7)  /**< Pin Number for PA07 */
+#define PIN_PA08                    (  8)  /**< Pin Number for PA08 */
+#define PIN_PA09                    (  9)  /**< Pin Number for PA09 */
+#define PIN_PA10                    ( 10)  /**< Pin Number for PA10 */
+#define PIN_PA11                    ( 11)  /**< Pin Number for PA11 */
+#define PIN_PA14                    ( 14)  /**< Pin Number for PA14 */
+#define PIN_PA15                    ( 15)  /**< Pin Number for PA15 */
+#define PIN_PA16                    ( 16)  /**< Pin Number for PA16 */
+#define PIN_PA17                    ( 17)  /**< Pin Number for PA17 */
+#define PIN_PA18                    ( 18)  /**< Pin Number for PA18 */
+#define PIN_PA19                    ( 19)  /**< Pin Number for PA19 */
+#define PIN_PA22                    ( 22)  /**< Pin Number for PA22 */
+#define PIN_PA23                    ( 23)  /**< Pin Number for PA23 */
+#define PIN_PA24                    ( 24)  /**< Pin Number for PA24 */
+#define PIN_PA25                    ( 25)  /**< Pin Number for PA25 */
+#define PIN_PA27                    ( 27)  /**< Pin Number for PA27 */
+#define PIN_PA30                    ( 30)  /**< Pin Number for PA30 */
+#define PIN_PA31                    ( 31)  /**< Pin Number for PA31 */
+
+
+/* ========== Peripheral I/O masks ========== */
+#define PORT_PA00                   (_U_(1) << 0) /**< PORT Mask for PA00 */
+#define PORT_PA01                   (_U_(1) << 1) /**< PORT Mask for PA01 */
+#define PORT_PA02                   (_U_(1) << 2) /**< PORT Mask for PA02 */
+#define PORT_PA03                   (_U_(1) << 3) /**< PORT Mask for PA03 */
+#define PORT_PA04                   (_U_(1) << 4) /**< PORT Mask for PA04 */
+#define PORT_PA05                   (_U_(1) << 5) /**< PORT Mask for PA05 */
+#define PORT_PA06                   (_U_(1) << 6) /**< PORT Mask for PA06 */
+#define PORT_PA07                   (_U_(1) << 7) /**< PORT Mask for PA07 */
+#define PORT_PA08                   (_U_(1) << 8) /**< PORT Mask for PA08 */
+#define PORT_PA09                   (_U_(1) << 9) /**< PORT Mask for PA09 */
+#define PORT_PA10                   (_U_(1) << 10) /**< PORT Mask for PA10 */
+#define PORT_PA11                   (_U_(1) << 11) /**< PORT Mask for PA11 */
+#define PORT_PA14                   (_U_(1) << 14) /**< PORT Mask for PA14 */
+#define PORT_PA15                   (_U_(1) << 15) /**< PORT Mask for PA15 */
+#define PORT_PA16                   (_U_(1) << 16) /**< PORT Mask for PA16 */
+#define PORT_PA17                   (_U_(1) << 17) /**< PORT Mask for PA17 */
+#define PORT_PA18                   (_U_(1) << 18) /**< PORT Mask for PA18 */
+#define PORT_PA19                   (_U_(1) << 19) /**< PORT Mask for PA19 */
+#define PORT_PA22                   (_U_(1) << 22) /**< PORT Mask for PA22 */
+#define PORT_PA23                   (_U_(1) << 23) /**< PORT Mask for PA23 */
+#define PORT_PA24                   (_U_(1) << 24) /**< PORT Mask for PA24 */
+#define PORT_PA25                   (_U_(1) << 25) /**< PORT Mask for PA25 */
+#define PORT_PA27                   (_U_(1) << 27) /**< PORT Mask for PA27 */
+#define PORT_PA30                   (_U_(1) << 30) /**< PORT Mask for PA30 */
+#define PORT_PA31                   (_U_(1) << 31) /**< PORT Mask for PA31 */
+
+
+/* ========== Peripheral I/O indexes ========== */
+#define PORT_PA00_IDX               (  0)  /**< PORT Index Number for PA00 */
+#define PORT_PA01_IDX               (  1)  /**< PORT Index Number for PA01 */
+#define PORT_PA02_IDX               (  2)  /**< PORT Index Number for PA02 */
+#define PORT_PA03_IDX               (  3)  /**< PORT Index Number for PA03 */
+#define PORT_PA04_IDX               (  4)  /**< PORT Index Number for PA04 */
+#define PORT_PA05_IDX               (  5)  /**< PORT Index Number for PA05 */
+#define PORT_PA06_IDX               (  6)  /**< PORT Index Number for PA06 */
+#define PORT_PA07_IDX               (  7)  /**< PORT Index Number for PA07 */
+#define PORT_PA08_IDX               (  8)  /**< PORT Index Number for PA08 */
+#define PORT_PA09_IDX               (  9)  /**< PORT Index Number for PA09 */
+#define PORT_PA10_IDX               ( 10)  /**< PORT Index Number for PA10 */
+#define PORT_PA11_IDX               ( 11)  /**< PORT Index Number for PA11 */
+#define PORT_PA14_IDX               ( 14)  /**< PORT Index Number for PA14 */
+#define PORT_PA15_IDX               ( 15)  /**< PORT Index Number for PA15 */
+#define PORT_PA16_IDX               ( 16)  /**< PORT Index Number for PA16 */
+#define PORT_PA17_IDX               ( 17)  /**< PORT Index Number for PA17 */
+#define PORT_PA18_IDX               ( 18)  /**< PORT Index Number for PA18 */
+#define PORT_PA19_IDX               ( 19)  /**< PORT Index Number for PA19 */
+#define PORT_PA22_IDX               ( 22)  /**< PORT Index Number for PA22 */
+#define PORT_PA23_IDX               ( 23)  /**< PORT Index Number for PA23 */
+#define PORT_PA24_IDX               ( 24)  /**< PORT Index Number for PA24 */
+#define PORT_PA25_IDX               ( 25)  /**< PORT Index Number for PA25 */
+#define PORT_PA27_IDX               ( 27)  /**< PORT Index Number for PA27 */
+#define PORT_PA30_IDX               ( 30)  /**< PORT Index Number for PA30 */
+#define PORT_PA31_IDX               ( 31)  /**< PORT Index Number for PA31 */
+
+/* ========== PORT definition for AC peripheral ========== */
+#define PIN_PA04B_AC_AIN0                          _L_(4)       /**< 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)       /**< 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)       /**< 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)       /**< 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_PA18H_AC_CMP0                          _L_(18)      /**< AC signal: CMP0 on PA18 mux H*/
+#define MUX_PA18H_AC_CMP0                          _L_(7)      
+#define PINMUX_PA18H_AC_CMP0                       ((PIN_PA18H_AC_CMP0 << 16) | MUX_PA18H_AC_CMP0)
+#define PORT_PA18H_AC_CMP0                         (_UL_(1) << 18)
+
+#define PIN_PA19H_AC_CMP1                          _L_(19)      /**< AC signal: CMP1 on PA19 mux H*/
+#define MUX_PA19H_AC_CMP1                          _L_(7)      
+#define PINMUX_PA19H_AC_CMP1                       ((PIN_PA19H_AC_CMP1 << 16) | MUX_PA19H_AC_CMP1)
+#define PORT_PA19H_AC_CMP1                         (_UL_(1) << 19)
+
+/* ========== PORT definition for ADC peripheral ========== */
+#define PIN_PA02B_ADC_AIN0                         _L_(2)       /**< ADC signal: AIN0 on PA02 mux B*/
+#define MUX_PA02B_ADC_AIN0                         _L_(1)      
+#define PINMUX_PA02B_ADC_AIN0                      ((PIN_PA02B_ADC_AIN0 << 16) | MUX_PA02B_ADC_AIN0)
+#define PORT_PA02B_ADC_AIN0                        (_UL_(1) << 2)
+
+#define PIN_PA03B_ADC_AIN1                         _L_(3)       /**< ADC signal: AIN1 on PA03 mux B*/
+#define MUX_PA03B_ADC_AIN1                         _L_(1)      
+#define PINMUX_PA03B_ADC_AIN1                      ((PIN_PA03B_ADC_AIN1 << 16) | MUX_PA03B_ADC_AIN1)
+#define PORT_PA03B_ADC_AIN1                        (_UL_(1) << 3)
+
+#define PIN_PA04B_ADC_AIN2                         _L_(4)       /**< ADC signal: AIN2 on PA04 mux B*/
+#define MUX_PA04B_ADC_AIN2                         _L_(1)      
+#define PINMUX_PA04B_ADC_AIN2                      ((PIN_PA04B_ADC_AIN2 << 16) | MUX_PA04B_ADC_AIN2)
+#define PORT_PA04B_ADC_AIN2                        (_UL_(1) << 4)
+
+#define PIN_PA05B_ADC_AIN3                         _L_(5)       /**< ADC signal: AIN3 on PA05 mux B*/
+#define MUX_PA05B_ADC_AIN3                         _L_(1)      
+#define PINMUX_PA05B_ADC_AIN3                      ((PIN_PA05B_ADC_AIN3 << 16) | MUX_PA05B_ADC_AIN3)
+#define PORT_PA05B_ADC_AIN3                        (_UL_(1) << 5)
+
+#define PIN_PA06B_ADC_AIN4                         _L_(6)       /**< ADC signal: AIN4 on PA06 mux B*/
+#define MUX_PA06B_ADC_AIN4                         _L_(1)      
+#define PINMUX_PA06B_ADC_AIN4                      ((PIN_PA06B_ADC_AIN4 << 16) | MUX_PA06B_ADC_AIN4)
+#define PORT_PA06B_ADC_AIN4                        (_UL_(1) << 6)
+
+#define PIN_PA07B_ADC_AIN5                         _L_(7)       /**< ADC signal: AIN5 on PA07 mux B*/
+#define MUX_PA07B_ADC_AIN5                         _L_(1)      
+#define PINMUX_PA07B_ADC_AIN5                      ((PIN_PA07B_ADC_AIN5 << 16) | MUX_PA07B_ADC_AIN5)
+#define PORT_PA07B_ADC_AIN5                        (_UL_(1) << 7)
+
+#define PIN_PA08B_ADC_AIN6                         _L_(8)       /**< ADC signal: AIN6 on PA08 mux B*/
+#define MUX_PA08B_ADC_AIN6                         _L_(1)      
+#define PINMUX_PA08B_ADC_AIN6                      ((PIN_PA08B_ADC_AIN6 << 16) | MUX_PA08B_ADC_AIN6)
+#define PORT_PA08B_ADC_AIN6                        (_UL_(1) << 8)
+
+#define PIN_PA09B_ADC_AIN7                         _L_(9)       /**< ADC signal: AIN7 on PA09 mux B*/
+#define MUX_PA09B_ADC_AIN7                         _L_(1)      
+#define PINMUX_PA09B_ADC_AIN7                      ((PIN_PA09B_ADC_AIN7 << 16) | MUX_PA09B_ADC_AIN7)
+#define PORT_PA09B_ADC_AIN7                        (_UL_(1) << 9)
+
+#define PIN_PA10B_ADC_AIN8                         _L_(10)      /**< ADC signal: AIN8 on PA10 mux B*/
+#define MUX_PA10B_ADC_AIN8                         _L_(1)      
+#define PINMUX_PA10B_ADC_AIN8                      ((PIN_PA10B_ADC_AIN8 << 16) | MUX_PA10B_ADC_AIN8)
+#define PORT_PA10B_ADC_AIN8                        (_UL_(1) << 10)
+
+#define PIN_PA11B_ADC_AIN9                         _L_(11)      /**< ADC signal: AIN9 on PA11 mux B*/
+#define MUX_PA11B_ADC_AIN9                         _L_(1)      
+#define PINMUX_PA11B_ADC_AIN9                      ((PIN_PA11B_ADC_AIN9 << 16) | MUX_PA11B_ADC_AIN9)
+#define PORT_PA11B_ADC_AIN9                        (_UL_(1) << 11)
+
+#define PIN_PA04B_ADC_VREFP                        _L_(4)       /**< ADC signal: VREFP on PA04 mux B*/
+#define MUX_PA04B_ADC_VREFP                        _L_(1)      
+#define PINMUX_PA04B_ADC_VREFP                     ((PIN_PA04B_ADC_VREFP << 16) | MUX_PA04B_ADC_VREFP)
+#define PORT_PA04B_ADC_VREFP                       (_UL_(1) << 4)
+
+/* ========== PORT definition for CCL peripheral ========== */
+#define PIN_PA04I_CCL_IN0                          _L_(4)       /**< CCL signal: IN0 on PA04 mux I*/
+#define MUX_PA04I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA04I_CCL_IN0                       ((PIN_PA04I_CCL_IN0 << 16) | MUX_PA04I_CCL_IN0)
+#define PORT_PA04I_CCL_IN0                         (_UL_(1) << 4)
+
+#define PIN_PA16I_CCL_IN0                          _L_(16)      /**< CCL signal: IN0 on PA16 mux I*/
+#define MUX_PA16I_CCL_IN0                          _L_(8)      
+#define PINMUX_PA16I_CCL_IN0                       ((PIN_PA16I_CCL_IN0 << 16) | MUX_PA16I_CCL_IN0)
+#define PORT_PA16I_CCL_IN0                         (_UL_(1) << 16)
+
+#define PIN_PA05I_CCL_IN1                          _L_(5)       /**< CCL signal: IN1 on PA05 mux I*/
+#define MUX_PA05I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA05I_CCL_IN1                       ((PIN_PA05I_CCL_IN1 << 16) | MUX_PA05I_CCL_IN1)
+#define PORT_PA05I_CCL_IN1                         (_UL_(1) << 5)
+
+#define PIN_PA17I_CCL_IN1                          _L_(17)      /**< CCL signal: IN1 on PA17 mux I*/
+#define MUX_PA17I_CCL_IN1                          _L_(8)      
+#define PINMUX_PA17I_CCL_IN1                       ((PIN_PA17I_CCL_IN1 << 16) | MUX_PA17I_CCL_IN1)
+#define PORT_PA17I_CCL_IN1                         (_UL_(1) << 17)
+
+#define PIN_PA06I_CCL_IN2                          _L_(6)       /**< CCL signal: IN2 on PA06 mux I*/
+#define MUX_PA06I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA06I_CCL_IN2                       ((PIN_PA06I_CCL_IN2 << 16) | MUX_PA06I_CCL_IN2)
+#define PORT_PA06I_CCL_IN2                         (_UL_(1) << 6)
+
+#define PIN_PA18I_CCL_IN2                          _L_(18)      /**< CCL signal: IN2 on PA18 mux I*/
+#define MUX_PA18I_CCL_IN2                          _L_(8)      
+#define PINMUX_PA18I_CCL_IN2                       ((PIN_PA18I_CCL_IN2 << 16) | MUX_PA18I_CCL_IN2)
+#define PORT_PA18I_CCL_IN2                         (_UL_(1) << 18)
+
+#define PIN_PA08I_CCL_IN3                          _L_(8)       /**< CCL signal: IN3 on PA08 mux I*/
+#define MUX_PA08I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA08I_CCL_IN3                       ((PIN_PA08I_CCL_IN3 << 16) | MUX_PA08I_CCL_IN3)
+#define PORT_PA08I_CCL_IN3                         (_UL_(1) << 8)
+
+#define PIN_PA30I_CCL_IN3                          _L_(30)      /**< CCL signal: IN3 on PA30 mux I*/
+#define MUX_PA30I_CCL_IN3                          _L_(8)      
+#define PINMUX_PA30I_CCL_IN3                       ((PIN_PA30I_CCL_IN3 << 16) | MUX_PA30I_CCL_IN3)
+#define PORT_PA30I_CCL_IN3                         (_UL_(1) << 30)
+
+#define PIN_PA09I_CCL_IN4                          _L_(9)       /**< CCL signal: IN4 on PA09 mux I*/
+#define MUX_PA09I_CCL_IN4                          _L_(8)      
+#define PINMUX_PA09I_CCL_IN4                       ((PIN_PA09I_CCL_IN4 << 16) | MUX_PA09I_CCL_IN4)
+#define PORT_PA09I_CCL_IN4                         (_UL_(1) << 9)
+
+#define PIN_PA10I_CCL_IN5                          _L_(10)      /**< CCL signal: IN5 on PA10 mux I*/
+#define MUX_PA10I_CCL_IN5                          _L_(8)      
+#define PINMUX_PA10I_CCL_IN5                       ((PIN_PA10I_CCL_IN5 << 16) | MUX_PA10I_CCL_IN5)
+#define PORT_PA10I_CCL_IN5                         (_UL_(1) << 10)
+
+#define PIN_PA07I_CCL_OUT0                         _L_(7)       /**< CCL signal: OUT0 on PA07 mux I*/
+#define MUX_PA07I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA07I_CCL_OUT0                      ((PIN_PA07I_CCL_OUT0 << 16) | MUX_PA07I_CCL_OUT0)
+#define PORT_PA07I_CCL_OUT0                        (_UL_(1) << 7)
+
+#define PIN_PA19I_CCL_OUT0                         _L_(19)      /**< CCL signal: OUT0 on PA19 mux I*/
+#define MUX_PA19I_CCL_OUT0                         _L_(8)      
+#define PINMUX_PA19I_CCL_OUT0                      ((PIN_PA19I_CCL_OUT0 << 16) | MUX_PA19I_CCL_OUT0)
+#define PORT_PA19I_CCL_OUT0                        (_UL_(1) << 19)
+
+#define PIN_PA11I_CCL_OUT1                         _L_(11)      /**< CCL signal: OUT1 on PA11 mux I*/
+#define MUX_PA11I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA11I_CCL_OUT1                      ((PIN_PA11I_CCL_OUT1 << 16) | MUX_PA11I_CCL_OUT1)
+#define PORT_PA11I_CCL_OUT1                        (_UL_(1) << 11)
+
+#define PIN_PA31I_CCL_OUT1                         _L_(31)      /**< CCL signal: OUT1 on PA31 mux I*/
+#define MUX_PA31I_CCL_OUT1                         _L_(8)      
+#define PINMUX_PA31I_CCL_OUT1                      ((PIN_PA31I_CCL_OUT1 << 16) | MUX_PA31I_CCL_OUT1)
+#define PORT_PA31I_CCL_OUT1                        (_UL_(1) << 31)
+
+/* ========== PORT definition for DAC peripheral ========== */
+#define PIN_PA02B_DAC_VOUT                         _L_(2)       /**< DAC signal: VOUT on PA02 mux B*/
+#define MUX_PA02B_DAC_VOUT                         _L_(1)      
+#define PINMUX_PA02B_DAC_VOUT                      ((PIN_PA02B_DAC_VOUT << 16) | MUX_PA02B_DAC_VOUT)
+#define PORT_PA02B_DAC_VOUT                        (_UL_(1) << 2)
+
+#define PIN_PA03B_DAC_VREFP                        _L_(3)       /**< DAC signal: VREFP on PA03 mux B*/
+#define MUX_PA03B_DAC_VREFP                        _L_(1)      
+#define PINMUX_PA03B_DAC_VREFP                     ((PIN_PA03B_DAC_VREFP << 16) | MUX_PA03B_DAC_VREFP)
+#define PORT_PA03B_DAC_VREFP                       (_UL_(1) << 3)
+
+/* ========== PORT definition for EIC peripheral ========== */
+#define PIN_PA09A_EIC_EXTINT0                      _L_(9)       /**< EIC signal: EXTINT0 on PA09 mux A*/
+#define MUX_PA09A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA09A_EIC_EXTINT0                   ((PIN_PA09A_EIC_EXTINT0 << 16) | MUX_PA09A_EIC_EXTINT0)
+#define PORT_PA09A_EIC_EXTINT0                     (_UL_(1) << 9)
+#define PIN_PA09A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA09 External Interrupt Line */
+
+#define PIN_PA19A_EIC_EXTINT0                      _L_(19)      /**< EIC signal: EXTINT0 on PA19 mux A*/
+#define MUX_PA19A_EIC_EXTINT0                      _L_(0)      
+#define PINMUX_PA19A_EIC_EXTINT0                   ((PIN_PA19A_EIC_EXTINT0 << 16) | MUX_PA19A_EIC_EXTINT0)
+#define PORT_PA19A_EIC_EXTINT0                     (_UL_(1) << 19)
+#define PIN_PA19A_EIC_EXTINT_NUM                   _L_(0)       /**< EIC signal: PIN_PA19 External Interrupt Line */
+
+#define PIN_PA00A_EIC_EXTINT0                      _L_(0)       /**< 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)       /**< EIC signal: PIN_PA00 External Interrupt Line */
+
+#define PIN_PA10A_EIC_EXTINT1                      _L_(10)      /**< EIC signal: EXTINT1 on PA10 mux A*/
+#define MUX_PA10A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA10A_EIC_EXTINT1                   ((PIN_PA10A_EIC_EXTINT1 << 16) | MUX_PA10A_EIC_EXTINT1)
+#define PORT_PA10A_EIC_EXTINT1                     (_UL_(1) << 10)
+#define PIN_PA10A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA10 External Interrupt Line */
+
+#define PIN_PA22A_EIC_EXTINT1                      _L_(22)      /**< EIC signal: EXTINT1 on PA22 mux A*/
+#define MUX_PA22A_EIC_EXTINT1                      _L_(0)      
+#define PINMUX_PA22A_EIC_EXTINT1                   ((PIN_PA22A_EIC_EXTINT1 << 16) | MUX_PA22A_EIC_EXTINT1)
+#define PORT_PA22A_EIC_EXTINT1                     (_UL_(1) << 22)
+#define PIN_PA22A_EIC_EXTINT_NUM                   _L_(1)       /**< EIC signal: PIN_PA22 External Interrupt Line */
+
+#define PIN_PA01A_EIC_EXTINT1                      _L_(1)       /**< 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)       /**< EIC signal: PIN_PA01 External Interrupt Line */
+
+#define PIN_PA02A_EIC_EXTINT2                      _L_(2)       /**< 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)       /**< EIC signal: PIN_PA02 External Interrupt Line */
+
+#define PIN_PA11A_EIC_EXTINT2                      _L_(11)      /**< EIC signal: EXTINT2 on PA11 mux A*/
+#define MUX_PA11A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA11A_EIC_EXTINT2                   ((PIN_PA11A_EIC_EXTINT2 << 16) | MUX_PA11A_EIC_EXTINT2)
+#define PORT_PA11A_EIC_EXTINT2                     (_UL_(1) << 11)
+#define PIN_PA11A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA11 External Interrupt Line */
+
+#define PIN_PA23A_EIC_EXTINT2                      _L_(23)      /**< EIC signal: EXTINT2 on PA23 mux A*/
+#define MUX_PA23A_EIC_EXTINT2                      _L_(0)      
+#define PINMUX_PA23A_EIC_EXTINT2                   ((PIN_PA23A_EIC_EXTINT2 << 16) | MUX_PA23A_EIC_EXTINT2)
+#define PORT_PA23A_EIC_EXTINT2                     (_UL_(1) << 23)
+#define PIN_PA23A_EIC_EXTINT_NUM                   _L_(2)       /**< EIC signal: PIN_PA23 External Interrupt Line */
+
+#define PIN_PA03A_EIC_EXTINT3                      _L_(3)       /**< 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)       /**< EIC signal: PIN_PA03 External Interrupt Line */
+
+#define PIN_PA14A_EIC_EXTINT3                      _L_(14)      /**< EIC signal: EXTINT3 on PA14 mux A*/
+#define MUX_PA14A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA14A_EIC_EXTINT3                   ((PIN_PA14A_EIC_EXTINT3 << 16) | MUX_PA14A_EIC_EXTINT3)
+#define PORT_PA14A_EIC_EXTINT3                     (_UL_(1) << 14)
+#define PIN_PA14A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA14 External Interrupt Line */
+
+#define PIN_PA24A_EIC_EXTINT3                      _L_(24)      /**< EIC signal: EXTINT3 on PA24 mux A*/
+#define MUX_PA24A_EIC_EXTINT3                      _L_(0)      
+#define PINMUX_PA24A_EIC_EXTINT3                   ((PIN_PA24A_EIC_EXTINT3 << 16) | MUX_PA24A_EIC_EXTINT3)
+#define PORT_PA24A_EIC_EXTINT3                     (_UL_(1) << 24)
+#define PIN_PA24A_EIC_EXTINT_NUM                   _L_(3)       /**< EIC signal: PIN_PA24 External Interrupt Line */
+
+#define PIN_PA04A_EIC_EXTINT4                      _L_(4)       /**< 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)       /**< EIC signal: PIN_PA04 External Interrupt Line */
+
+#define PIN_PA15A_EIC_EXTINT4                      _L_(15)      /**< EIC signal: EXTINT4 on PA15 mux A*/
+#define MUX_PA15A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA15A_EIC_EXTINT4                   ((PIN_PA15A_EIC_EXTINT4 << 16) | MUX_PA15A_EIC_EXTINT4)
+#define PORT_PA15A_EIC_EXTINT4                     (_UL_(1) << 15)
+#define PIN_PA15A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA15 External Interrupt Line */
+
+#define PIN_PA25A_EIC_EXTINT4                      _L_(25)      /**< EIC signal: EXTINT4 on PA25 mux A*/
+#define MUX_PA25A_EIC_EXTINT4                      _L_(0)      
+#define PINMUX_PA25A_EIC_EXTINT4                   ((PIN_PA25A_EIC_EXTINT4 << 16) | MUX_PA25A_EIC_EXTINT4)
+#define PORT_PA25A_EIC_EXTINT4                     (_UL_(1) << 25)
+#define PIN_PA25A_EIC_EXTINT_NUM                   _L_(4)       /**< EIC signal: PIN_PA25 External Interrupt Line */
+
+#define PIN_PA05A_EIC_EXTINT5                      _L_(5)       /**< 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)       /**< EIC signal: PIN_PA05 External Interrupt Line */
+
+#define PIN_PA16A_EIC_EXTINT5                      _L_(16)      /**< EIC signal: EXTINT5 on PA16 mux A*/
+#define MUX_PA16A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA16A_EIC_EXTINT5                   ((PIN_PA16A_EIC_EXTINT5 << 16) | MUX_PA16A_EIC_EXTINT5)
+#define PORT_PA16A_EIC_EXTINT5                     (_UL_(1) << 16)
+#define PIN_PA16A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA16 External Interrupt Line */
+
+#define PIN_PA27A_EIC_EXTINT5                      _L_(27)      /**< EIC signal: EXTINT5 on PA27 mux A*/
+#define MUX_PA27A_EIC_EXTINT5                      _L_(0)      
+#define PINMUX_PA27A_EIC_EXTINT5                   ((PIN_PA27A_EIC_EXTINT5 << 16) | MUX_PA27A_EIC_EXTINT5)
+#define PORT_PA27A_EIC_EXTINT5                     (_UL_(1) << 27)
+#define PIN_PA27A_EIC_EXTINT_NUM                   _L_(5)       /**< EIC signal: PIN_PA27 External Interrupt Line */
+
+#define PIN_PA06A_EIC_EXTINT6                      _L_(6)       /**< 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)       /**< EIC signal: PIN_PA06 External Interrupt Line */
+
+#define PIN_PA17A_EIC_EXTINT6                      _L_(17)      /**< EIC signal: EXTINT6 on PA17 mux A*/
+#define MUX_PA17A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA17A_EIC_EXTINT6                   ((PIN_PA17A_EIC_EXTINT6 << 16) | MUX_PA17A_EIC_EXTINT6)
+#define PORT_PA17A_EIC_EXTINT6                     (_UL_(1) << 17)
+#define PIN_PA17A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA17 External Interrupt Line */
+
+#define PIN_PA30A_EIC_EXTINT6                      _L_(30)      /**< EIC signal: EXTINT6 on PA30 mux A*/
+#define MUX_PA30A_EIC_EXTINT6                      _L_(0)      
+#define PINMUX_PA30A_EIC_EXTINT6                   ((PIN_PA30A_EIC_EXTINT6 << 16) | MUX_PA30A_EIC_EXTINT6)
+#define PORT_PA30A_EIC_EXTINT6                     (_UL_(1) << 30)
+#define PIN_PA30A_EIC_EXTINT_NUM                   _L_(6)       /**< EIC signal: PIN_PA30 External Interrupt Line */
+
+#define PIN_PA07A_EIC_EXTINT7                      _L_(7)       /**< 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)       /**< EIC signal: PIN_PA07 External Interrupt Line */
+
+#define PIN_PA18A_EIC_EXTINT7                      _L_(18)      /**< EIC signal: EXTINT7 on PA18 mux A*/
+#define MUX_PA18A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA18A_EIC_EXTINT7                   ((PIN_PA18A_EIC_EXTINT7 << 16) | MUX_PA18A_EIC_EXTINT7)
+#define PORT_PA18A_EIC_EXTINT7                     (_UL_(1) << 18)
+#define PIN_PA18A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA18 External Interrupt Line */
+
+#define PIN_PA31A_EIC_EXTINT7                      _L_(31)      /**< EIC signal: EXTINT7 on PA31 mux A*/
+#define MUX_PA31A_EIC_EXTINT7                      _L_(0)      
+#define PINMUX_PA31A_EIC_EXTINT7                   ((PIN_PA31A_EIC_EXTINT7 << 16) | MUX_PA31A_EIC_EXTINT7)
+#define PORT_PA31A_EIC_EXTINT7                     (_UL_(1) << 31)
+#define PIN_PA31A_EIC_EXTINT_NUM                   _L_(7)       /**< EIC signal: PIN_PA31 External Interrupt Line */
+
+#define PIN_PA08A_EIC_NMI                          _L_(8)       /**< 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 GCLK peripheral ========== */
+#define PIN_PA30H_GCLK_IO0                         _L_(30)      /**< GCLK signal: IO0 on PA30 mux H*/
+#define MUX_PA30H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA30H_GCLK_IO0                      ((PIN_PA30H_GCLK_IO0 << 16) | MUX_PA30H_GCLK_IO0)
+#define PORT_PA30H_GCLK_IO0                        (_UL_(1) << 30)
+
+#define PIN_PA14H_GCLK_IO0                         _L_(14)      /**< GCLK signal: IO0 on PA14 mux H*/
+#define MUX_PA14H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA14H_GCLK_IO0                      ((PIN_PA14H_GCLK_IO0 << 16) | MUX_PA14H_GCLK_IO0)
+#define PORT_PA14H_GCLK_IO0                        (_UL_(1) << 14)
+
+#define PIN_PA27H_GCLK_IO0                         _L_(27)      /**< GCLK signal: IO0 on PA27 mux H*/
+#define MUX_PA27H_GCLK_IO0                         _L_(7)      
+#define PINMUX_PA27H_GCLK_IO0                      ((PIN_PA27H_GCLK_IO0 << 16) | MUX_PA27H_GCLK_IO0)
+#define PORT_PA27H_GCLK_IO0                        (_UL_(1) << 27)
+
+#define PIN_PA23H_GCLK_IO1                         _L_(23)      /**< GCLK signal: IO1 on PA23 mux H*/
+#define MUX_PA23H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA23H_GCLK_IO1                      ((PIN_PA23H_GCLK_IO1 << 16) | MUX_PA23H_GCLK_IO1)
+#define PORT_PA23H_GCLK_IO1                        (_UL_(1) << 23)
+
+#define PIN_PA15H_GCLK_IO1                         _L_(15)      /**< GCLK signal: IO1 on PA15 mux H*/
+#define MUX_PA15H_GCLK_IO1                         _L_(7)      
+#define PINMUX_PA15H_GCLK_IO1                      ((PIN_PA15H_GCLK_IO1 << 16) | MUX_PA15H_GCLK_IO1)
+#define PORT_PA15H_GCLK_IO1                        (_UL_(1) << 15)
+
+#define PIN_PA16H_GCLK_IO2                         _L_(16)      /**< GCLK signal: IO2 on PA16 mux H*/
+#define MUX_PA16H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA16H_GCLK_IO2                      ((PIN_PA16H_GCLK_IO2 << 16) | MUX_PA16H_GCLK_IO2)
+#define PORT_PA16H_GCLK_IO2                        (_UL_(1) << 16)
+
+#define PIN_PA22H_GCLK_IO2                         _L_(22)      /**< GCLK signal: IO2 on PA22 mux H*/
+#define MUX_PA22H_GCLK_IO2                         _L_(7)      
+#define PINMUX_PA22H_GCLK_IO2                      ((PIN_PA22H_GCLK_IO2 << 16) | MUX_PA22H_GCLK_IO2)
+#define PORT_PA22H_GCLK_IO2                        (_UL_(1) << 22)
+
+#define PIN_PA11H_GCLK_IO3                         _L_(11)      /**< GCLK signal: IO3 on PA11 mux H*/
+#define MUX_PA11H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA11H_GCLK_IO3                      ((PIN_PA11H_GCLK_IO3 << 16) | MUX_PA11H_GCLK_IO3)
+#define PORT_PA11H_GCLK_IO3                        (_UL_(1) << 11)
+
+#define PIN_PA17H_GCLK_IO3                         _L_(17)      /**< GCLK signal: IO3 on PA17 mux H*/
+#define MUX_PA17H_GCLK_IO3                         _L_(7)      
+#define PINMUX_PA17H_GCLK_IO3                      ((PIN_PA17H_GCLK_IO3 << 16) | MUX_PA17H_GCLK_IO3)
+#define PORT_PA17H_GCLK_IO3                        (_UL_(1) << 17)
+
+#define PIN_PA10H_GCLK_IO4                         _L_(10)      /**< GCLK signal: IO4 on PA10 mux H*/
+#define MUX_PA10H_GCLK_IO4                         _L_(7)      
+#define PINMUX_PA10H_GCLK_IO4                      ((PIN_PA10H_GCLK_IO4 << 16) | MUX_PA10H_GCLK_IO4)
+#define PORT_PA10H_GCLK_IO4                        (_UL_(1) << 10)
+
+/* ========== PORT definition for OPAMP peripheral ========== */
+#define PIN_PA02B_OPAMP_OANEG0                     _L_(2)       /**< OPAMP signal: OANEG0 on PA02 mux B*/
+#define MUX_PA02B_OPAMP_OANEG0                     _L_(1)      
+#define PINMUX_PA02B_OPAMP_OANEG0                  ((PIN_PA02B_OPAMP_OANEG0 << 16) | MUX_PA02B_OPAMP_OANEG0)
+#define PORT_PA02B_OPAMP_OANEG0                    (_UL_(1) << 2)
+
+#define PIN_PA00B_OPAMP_OANEG1                     _L_(0)       /**< OPAMP signal: OANEG1 on PA00 mux B*/
+#define MUX_PA00B_OPAMP_OANEG1                     _L_(1)      
+#define PINMUX_PA00B_OPAMP_OANEG1                  ((PIN_PA00B_OPAMP_OANEG1 << 16) | MUX_PA00B_OPAMP_OANEG1)
+#define PORT_PA00B_OPAMP_OANEG1                    (_UL_(1) << 0)
+
+#define PIN_PA03B_OPAMP_OANEG2                     _L_(3)       /**< OPAMP signal: OANEG2 on PA03 mux B*/
+#define MUX_PA03B_OPAMP_OANEG2                     _L_(1)      
+#define PINMUX_PA03B_OPAMP_OANEG2                  ((PIN_PA03B_OPAMP_OANEG2 << 16) | MUX_PA03B_OPAMP_OANEG2)
+#define PORT_PA03B_OPAMP_OANEG2                    (_UL_(1) << 3)
+
+#define PIN_PA07B_OPAMP_OAOUT0                     _L_(7)       /**< OPAMP signal: OAOUT0 on PA07 mux B*/
+#define MUX_PA07B_OPAMP_OAOUT0                     _L_(1)      
+#define PINMUX_PA07B_OPAMP_OAOUT0                  ((PIN_PA07B_OPAMP_OAOUT0 << 16) | MUX_PA07B_OPAMP_OAOUT0)
+#define PORT_PA07B_OPAMP_OAOUT0                    (_UL_(1) << 7)
+
+#define PIN_PA04B_OPAMP_OAOUT2                     _L_(4)       /**< OPAMP signal: OAOUT2 on PA04 mux B*/
+#define MUX_PA04B_OPAMP_OAOUT2                     _L_(1)      
+#define PINMUX_PA04B_OPAMP_OAOUT2                  ((PIN_PA04B_OPAMP_OAOUT2 << 16) | MUX_PA04B_OPAMP_OAOUT2)
+#define PORT_PA04B_OPAMP_OAOUT2                    (_UL_(1) << 4)
+
+#define PIN_PA06B_OPAMP_OAPOS0                     _L_(6)       /**< OPAMP signal: OAPOS0 on PA06 mux B*/
+#define MUX_PA06B_OPAMP_OAPOS0                     _L_(1)      
+#define PINMUX_PA06B_OPAMP_OAPOS0                  ((PIN_PA06B_OPAMP_OAPOS0 << 16) | MUX_PA06B_OPAMP_OAPOS0)
+#define PORT_PA06B_OPAMP_OAPOS0                    (_UL_(1) << 6)
+
+#define PIN_PA01B_OPAMP_OAPOS1                     _L_(1)       /**< OPAMP signal: OAPOS1 on PA01 mux B*/
+#define MUX_PA01B_OPAMP_OAPOS1                     _L_(1)      
+#define PINMUX_PA01B_OPAMP_OAPOS1                  ((PIN_PA01B_OPAMP_OAPOS1 << 16) | MUX_PA01B_OPAMP_OAPOS1)
+#define PORT_PA01B_OPAMP_OAPOS1                    (_UL_(1) << 1)
+
+#define PIN_PA05B_OPAMP_OAPOS2                     _L_(5)       /**< OPAMP signal: OAPOS2 on PA05 mux B*/
+#define MUX_PA05B_OPAMP_OAPOS2                     _L_(1)      
+#define PINMUX_PA05B_OPAMP_OAPOS2                  ((PIN_PA05B_OPAMP_OAPOS2 << 16) | MUX_PA05B_OPAMP_OAPOS2)
+#define PORT_PA05B_OPAMP_OAPOS2                    (_UL_(1) << 5)
+
+/* ========== PORT definition for PTC peripheral ========== */
+#define PIN_PA00F_PTC_DRV0                         _L_(0)       /**< PTC signal: DRV0 on PA00 mux F*/
+#define MUX_PA00F_PTC_DRV0                         _L_(5)      
+#define PINMUX_PA00F_PTC_DRV0                      ((PIN_PA00F_PTC_DRV0 << 16) | MUX_PA00F_PTC_DRV0)
+#define PORT_PA00F_PTC_DRV0                        (_UL_(1) << 0)
+
+#define PIN_PA01F_PTC_DRV1                         _L_(1)       /**< PTC signal: DRV1 on PA01 mux F*/
+#define MUX_PA01F_PTC_DRV1                         _L_(5)      
+#define PINMUX_PA01F_PTC_DRV1                      ((PIN_PA01F_PTC_DRV1 << 16) | MUX_PA01F_PTC_DRV1)
+#define PORT_PA01F_PTC_DRV1                        (_UL_(1) << 1)
+
+#define PIN_PA02F_PTC_DRV2                         _L_(2)       /**< PTC signal: DRV2 on PA02 mux F*/
+#define MUX_PA02F_PTC_DRV2                         _L_(5)      
+#define PINMUX_PA02F_PTC_DRV2                      ((PIN_PA02F_PTC_DRV2 << 16) | MUX_PA02F_PTC_DRV2)
+#define PORT_PA02F_PTC_DRV2                        (_UL_(1) << 2)
+
+#define PIN_PA03F_PTC_DRV3                         _L_(3)       /**< PTC signal: DRV3 on PA03 mux F*/
+#define MUX_PA03F_PTC_DRV3                         _L_(5)      
+#define PINMUX_PA03F_PTC_DRV3                      ((PIN_PA03F_PTC_DRV3 << 16) | MUX_PA03F_PTC_DRV3)
+#define PORT_PA03F_PTC_DRV3                        (_UL_(1) << 3)
+
+#define PIN_PA05F_PTC_DRV4                         _L_(5)       /**< PTC signal: DRV4 on PA05 mux F*/
+#define MUX_PA05F_PTC_DRV4                         _L_(5)      
+#define PINMUX_PA05F_PTC_DRV4                      ((PIN_PA05F_PTC_DRV4 << 16) | MUX_PA05F_PTC_DRV4)
+#define PORT_PA05F_PTC_DRV4                        (_UL_(1) << 5)
+
+#define PIN_PA06F_PTC_DRV5                         _L_(6)       /**< PTC signal: DRV5 on PA06 mux F*/
+#define MUX_PA06F_PTC_DRV5                         _L_(5)      
+#define PINMUX_PA06F_PTC_DRV5                      ((PIN_PA06F_PTC_DRV5 << 16) | MUX_PA06F_PTC_DRV5)
+#define PORT_PA06F_PTC_DRV5                        (_UL_(1) << 6)
+
+#define PIN_PA08F_PTC_DRV6                         _L_(8)       /**< PTC signal: DRV6 on PA08 mux F*/
+#define MUX_PA08F_PTC_DRV6                         _L_(5)      
+#define PINMUX_PA08F_PTC_DRV6                      ((PIN_PA08F_PTC_DRV6 << 16) | MUX_PA08F_PTC_DRV6)
+#define PORT_PA08F_PTC_DRV6                        (_UL_(1) << 8)
+
+#define PIN_PA09F_PTC_DRV7                         _L_(9)       /**< PTC signal: DRV7 on PA09 mux F*/
+#define MUX_PA09F_PTC_DRV7                         _L_(5)      
+#define PINMUX_PA09F_PTC_DRV7                      ((PIN_PA09F_PTC_DRV7 << 16) | MUX_PA09F_PTC_DRV7)
+#define PORT_PA09F_PTC_DRV7                        (_UL_(1) << 9)
+
+#define PIN_PA10F_PTC_DRV8                         _L_(10)      /**< PTC signal: DRV8 on PA10 mux F*/
+#define MUX_PA10F_PTC_DRV8                         _L_(5)      
+#define PINMUX_PA10F_PTC_DRV8                      ((PIN_PA10F_PTC_DRV8 << 16) | MUX_PA10F_PTC_DRV8)
+#define PORT_PA10F_PTC_DRV8                        (_UL_(1) << 10)
+
+#define PIN_PA11F_PTC_DRV9                         _L_(11)      /**< PTC signal: DRV9 on PA11 mux F*/
+#define MUX_PA11F_PTC_DRV9                         _L_(5)      
+#define PINMUX_PA11F_PTC_DRV9                      ((PIN_PA11F_PTC_DRV9 << 16) | MUX_PA11F_PTC_DRV9)
+#define PORT_PA11F_PTC_DRV9                        (_UL_(1) << 11)
+
+#define PIN_PA14F_PTC_DRV10                        _L_(14)      /**< PTC signal: DRV10 on PA14 mux F*/
+#define MUX_PA14F_PTC_DRV10                        _L_(5)      
+#define PINMUX_PA14F_PTC_DRV10                     ((PIN_PA14F_PTC_DRV10 << 16) | MUX_PA14F_PTC_DRV10)
+#define PORT_PA14F_PTC_DRV10                       (_UL_(1) << 14)
+
+#define PIN_PA15F_PTC_DRV11                        _L_(15)      /**< PTC signal: DRV11 on PA15 mux F*/
+#define MUX_PA15F_PTC_DRV11                        _L_(5)      
+#define PINMUX_PA15F_PTC_DRV11                     ((PIN_PA15F_PTC_DRV11 << 16) | MUX_PA15F_PTC_DRV11)
+#define PORT_PA15F_PTC_DRV11                       (_UL_(1) << 15)
+
+#define PIN_PA16F_PTC_DRV12                        _L_(16)      /**< PTC signal: DRV12 on PA16 mux F*/
+#define MUX_PA16F_PTC_DRV12                        _L_(5)      
+#define PINMUX_PA16F_PTC_DRV12                     ((PIN_PA16F_PTC_DRV12 << 16) | MUX_PA16F_PTC_DRV12)
+#define PORT_PA16F_PTC_DRV12                       (_UL_(1) << 16)
+
+#define PIN_PA17F_PTC_DRV13                        _L_(17)      /**< PTC signal: DRV13 on PA17 mux F*/
+#define MUX_PA17F_PTC_DRV13                        _L_(5)      
+#define PINMUX_PA17F_PTC_DRV13                     ((PIN_PA17F_PTC_DRV13 << 16) | MUX_PA17F_PTC_DRV13)
+#define PORT_PA17F_PTC_DRV13                       (_UL_(1) << 17)
+
+#define PIN_PA18F_PTC_DRV14                        _L_(18)      /**< PTC signal: DRV14 on PA18 mux F*/
+#define MUX_PA18F_PTC_DRV14                        _L_(5)      
+#define PINMUX_PA18F_PTC_DRV14                     ((PIN_PA18F_PTC_DRV14 << 16) | MUX_PA18F_PTC_DRV14)
+#define PORT_PA18F_PTC_DRV14                       (_UL_(1) << 18)
+
+#define PIN_PA19F_PTC_DRV15                        _L_(19)      /**< PTC signal: DRV15 on PA19 mux F*/
+#define MUX_PA19F_PTC_DRV15                        _L_(5)      
+#define PINMUX_PA19F_PTC_DRV15                     ((PIN_PA19F_PTC_DRV15 << 16) | MUX_PA19F_PTC_DRV15)
+#define PORT_PA19F_PTC_DRV15                       (_UL_(1) << 19)
+
+#define PIN_PA22F_PTC_DRV16                        _L_(22)      /**< PTC signal: DRV16 on PA22 mux F*/
+#define MUX_PA22F_PTC_DRV16                        _L_(5)      
+#define PINMUX_PA22F_PTC_DRV16                     ((PIN_PA22F_PTC_DRV16 << 16) | MUX_PA22F_PTC_DRV16)
+#define PORT_PA22F_PTC_DRV16                       (_UL_(1) << 22)
+
+#define PIN_PA23F_PTC_DRV17                        _L_(23)      /**< PTC signal: DRV17 on PA23 mux F*/
+#define MUX_PA23F_PTC_DRV17                        _L_(5)      
+#define PINMUX_PA23F_PTC_DRV17                     ((PIN_PA23F_PTC_DRV17 << 16) | MUX_PA23F_PTC_DRV17)
+#define PORT_PA23F_PTC_DRV17                       (_UL_(1) << 23)
+
+#define PIN_PA30F_PTC_DRV18                        _L_(30)      /**< PTC signal: DRV18 on PA30 mux F*/
+#define MUX_PA30F_PTC_DRV18                        _L_(5)      
+#define PINMUX_PA30F_PTC_DRV18                     ((PIN_PA30F_PTC_DRV18 << 16) | MUX_PA30F_PTC_DRV18)
+#define PORT_PA30F_PTC_DRV18                       (_UL_(1) << 30)
+
+#define PIN_PA31F_PTC_DRV19                        _L_(31)      /**< PTC signal: DRV19 on PA31 mux F*/
+#define MUX_PA31F_PTC_DRV19                        _L_(5)      
+#define PINMUX_PA31F_PTC_DRV19                     ((PIN_PA31F_PTC_DRV19 << 16) | MUX_PA31F_PTC_DRV19)
+#define PORT_PA31F_PTC_DRV19                       (_UL_(1) << 31)
+
+#define PIN_PA03B_PTC_ECI0                         _L_(3)       /**< PTC signal: ECI0 on PA03 mux B*/
+#define MUX_PA03B_PTC_ECI0                         _L_(1)      
+#define PINMUX_PA03B_PTC_ECI0                      ((PIN_PA03B_PTC_ECI0 << 16) | MUX_PA03B_PTC_ECI0)
+#define PORT_PA03B_PTC_ECI0                        (_UL_(1) << 3)
+
+#define PIN_PA04B_PTC_ECI1                         _L_(4)       /**< PTC signal: ECI1 on PA04 mux B*/
+#define MUX_PA04B_PTC_ECI1                         _L_(1)      
+#define PINMUX_PA04B_PTC_ECI1                      ((PIN_PA04B_PTC_ECI1 << 16) | MUX_PA04B_PTC_ECI1)
+#define PORT_PA04B_PTC_ECI1                        (_UL_(1) << 4)
+
+#define PIN_PA05B_PTC_ECI2                         _L_(5)       /**< PTC signal: ECI2 on PA05 mux B*/
+#define MUX_PA05B_PTC_ECI2                         _L_(1)      
+#define PINMUX_PA05B_PTC_ECI2                      ((PIN_PA05B_PTC_ECI2 << 16) | MUX_PA05B_PTC_ECI2)
+#define PORT_PA05B_PTC_ECI2                        (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_ECI3                         _L_(6)       /**< PTC signal: ECI3 on PA06 mux B*/
+#define MUX_PA06B_PTC_ECI3                         _L_(1)      
+#define PINMUX_PA06B_PTC_ECI3                      ((PIN_PA06B_PTC_ECI3 << 16) | MUX_PA06B_PTC_ECI3)
+#define PORT_PA06B_PTC_ECI3                        (_UL_(1) << 6)
+
+#define PIN_PA00B_PTC_X0                           _L_(0)       /**< PTC signal: X0 on PA00 mux B*/
+#define MUX_PA00B_PTC_X0                           _L_(1)      
+#define PINMUX_PA00B_PTC_X0                        ((PIN_PA00B_PTC_X0 << 16) | MUX_PA00B_PTC_X0)
+#define PORT_PA00B_PTC_X0                          (_UL_(1) << 0)
+
+#define PIN_PA00B_PTC_Y0                           _L_(0)       /**< PTC signal: Y0 on PA00 mux B*/
+#define MUX_PA00B_PTC_Y0                           _L_(1)      
+#define PINMUX_PA00B_PTC_Y0                        ((PIN_PA00B_PTC_Y0 << 16) | MUX_PA00B_PTC_Y0)
+#define PORT_PA00B_PTC_Y0                          (_UL_(1) << 0)
+
+#define PIN_PA01B_PTC_X1                           _L_(1)       /**< PTC signal: X1 on PA01 mux B*/
+#define MUX_PA01B_PTC_X1                           _L_(1)      
+#define PINMUX_PA01B_PTC_X1                        ((PIN_PA01B_PTC_X1 << 16) | MUX_PA01B_PTC_X1)
+#define PORT_PA01B_PTC_X1                          (_UL_(1) << 1)
+
+#define PIN_PA01B_PTC_Y1                           _L_(1)       /**< PTC signal: Y1 on PA01 mux B*/
+#define MUX_PA01B_PTC_Y1                           _L_(1)      
+#define PINMUX_PA01B_PTC_Y1                        ((PIN_PA01B_PTC_Y1 << 16) | MUX_PA01B_PTC_Y1)
+#define PORT_PA01B_PTC_Y1                          (_UL_(1) << 1)
+
+#define PIN_PA02B_PTC_X2                           _L_(2)       /**< PTC signal: X2 on PA02 mux B*/
+#define MUX_PA02B_PTC_X2                           _L_(1)      
+#define PINMUX_PA02B_PTC_X2                        ((PIN_PA02B_PTC_X2 << 16) | MUX_PA02B_PTC_X2)
+#define PORT_PA02B_PTC_X2                          (_UL_(1) << 2)
+
+#define PIN_PA02B_PTC_Y2                           _L_(2)       /**< PTC signal: Y2 on PA02 mux B*/
+#define MUX_PA02B_PTC_Y2                           _L_(1)      
+#define PINMUX_PA02B_PTC_Y2                        ((PIN_PA02B_PTC_Y2 << 16) | MUX_PA02B_PTC_Y2)
+#define PORT_PA02B_PTC_Y2                          (_UL_(1) << 2)
+
+#define PIN_PA03B_PTC_X3                           _L_(3)       /**< PTC signal: X3 on PA03 mux B*/
+#define MUX_PA03B_PTC_X3                           _L_(1)      
+#define PINMUX_PA03B_PTC_X3                        ((PIN_PA03B_PTC_X3 << 16) | MUX_PA03B_PTC_X3)
+#define PORT_PA03B_PTC_X3                          (_UL_(1) << 3)
+
+#define PIN_PA03B_PTC_Y3                           _L_(3)       /**< PTC signal: Y3 on PA03 mux B*/
+#define MUX_PA03B_PTC_Y3                           _L_(1)      
+#define PINMUX_PA03B_PTC_Y3                        ((PIN_PA03B_PTC_Y3 << 16) | MUX_PA03B_PTC_Y3)
+#define PORT_PA03B_PTC_Y3                          (_UL_(1) << 3)
+
+#define PIN_PA05B_PTC_X4                           _L_(5)       /**< PTC signal: X4 on PA05 mux B*/
+#define MUX_PA05B_PTC_X4                           _L_(1)      
+#define PINMUX_PA05B_PTC_X4                        ((PIN_PA05B_PTC_X4 << 16) | MUX_PA05B_PTC_X4)
+#define PORT_PA05B_PTC_X4                          (_UL_(1) << 5)
+
+#define PIN_PA05B_PTC_Y4                           _L_(5)       /**< PTC signal: Y4 on PA05 mux B*/
+#define MUX_PA05B_PTC_Y4                           _L_(1)      
+#define PINMUX_PA05B_PTC_Y4                        ((PIN_PA05B_PTC_Y4 << 16) | MUX_PA05B_PTC_Y4)
+#define PORT_PA05B_PTC_Y4                          (_UL_(1) << 5)
+
+#define PIN_PA06B_PTC_X5                           _L_(6)       /**< PTC signal: X5 on PA06 mux B*/
+#define MUX_PA06B_PTC_X5                           _L_(1)      
+#define PINMUX_PA06B_PTC_X5                        ((PIN_PA06B_PTC_X5 << 16) | MUX_PA06B_PTC_X5)
+#define PORT_PA06B_PTC_X5                          (_UL_(1) << 6)
+
+#define PIN_PA06B_PTC_Y5                           _L_(6)       /**< PTC signal: Y5 on PA06 mux B*/
+#define MUX_PA06B_PTC_Y5                           _L_(1)      
+#define PINMUX_PA06B_PTC_Y5                        ((PIN_PA06B_PTC_Y5 << 16) | MUX_PA06B_PTC_Y5)
+#define PORT_PA06B_PTC_Y5                          (_UL_(1) << 6)
+
+#define PIN_PA08B_PTC_X6                           _L_(8)       /**< PTC signal: X6 on PA08 mux B*/
+#define MUX_PA08B_PTC_X6                           _L_(1)      
+#define PINMUX_PA08B_PTC_X6                        ((PIN_PA08B_PTC_X6 << 16) | MUX_PA08B_PTC_X6)
+#define PORT_PA08B_PTC_X6                          (_UL_(1) << 8)
+
+#define PIN_PA08B_PTC_Y6                           _L_(8)       /**< PTC signal: Y6 on PA08 mux B*/
+#define MUX_PA08B_PTC_Y6                           _L_(1)      
+#define PINMUX_PA08B_PTC_Y6                        ((PIN_PA08B_PTC_Y6 << 16) | MUX_PA08B_PTC_Y6)
+#define PORT_PA08B_PTC_Y6                          (_UL_(1) << 8)
+
+#define PIN_PA09B_PTC_X7                           _L_(9)       /**< PTC signal: X7 on PA09 mux B*/
+#define MUX_PA09B_PTC_X7                           _L_(1)      
+#define PINMUX_PA09B_PTC_X7                        ((PIN_PA09B_PTC_X7 << 16) | MUX_PA09B_PTC_X7)
+#define PORT_PA09B_PTC_X7                          (_UL_(1) << 9)
+
+#define PIN_PA09B_PTC_Y7                           _L_(9)       /**< PTC signal: Y7 on PA09 mux B*/
+#define MUX_PA09B_PTC_Y7                           _L_(1)      
+#define PINMUX_PA09B_PTC_Y7                        ((PIN_PA09B_PTC_Y7 << 16) | MUX_PA09B_PTC_Y7)
+#define PORT_PA09B_PTC_Y7                          (_UL_(1) << 9)
+
+#define PIN_PA10B_PTC_X8                           _L_(10)      /**< PTC signal: X8 on PA10 mux B*/
+#define MUX_PA10B_PTC_X8                           _L_(1)      
+#define PINMUX_PA10B_PTC_X8                        ((PIN_PA10B_PTC_X8 << 16) | MUX_PA10B_PTC_X8)
+#define PORT_PA10B_PTC_X8                          (_UL_(1) << 10)
+
+#define PIN_PA10B_PTC_Y8                           _L_(10)      /**< PTC signal: Y8 on PA10 mux B*/
+#define MUX_PA10B_PTC_Y8                           _L_(1)      
+#define PINMUX_PA10B_PTC_Y8                        ((PIN_PA10B_PTC_Y8 << 16) | MUX_PA10B_PTC_Y8)
+#define PORT_PA10B_PTC_Y8                          (_UL_(1) << 10)
+
+#define PIN_PA11B_PTC_X9                           _L_(11)      /**< PTC signal: X9 on PA11 mux B*/
+#define MUX_PA11B_PTC_X9                           _L_(1)      
+#define PINMUX_PA11B_PTC_X9                        ((PIN_PA11B_PTC_X9 << 16) | MUX_PA11B_PTC_X9)
+#define PORT_PA11B_PTC_X9                          (_UL_(1) << 11)
+
+#define PIN_PA11B_PTC_Y9                           _L_(11)      /**< PTC signal: Y9 on PA11 mux B*/
+#define MUX_PA11B_PTC_Y9                           _L_(1)      
+#define PINMUX_PA11B_PTC_Y9                        ((PIN_PA11B_PTC_Y9 << 16) | MUX_PA11B_PTC_Y9)
+#define PORT_PA11B_PTC_Y9                          (_UL_(1) << 11)
+
+#define PIN_PA14B_PTC_X10                          _L_(14)      /**< PTC signal: X10 on PA14 mux B*/
+#define MUX_PA14B_PTC_X10                          _L_(1)      
+#define PINMUX_PA14B_PTC_X10                       ((PIN_PA14B_PTC_X10 << 16) | MUX_PA14B_PTC_X10)
+#define PORT_PA14B_PTC_X10                         (_UL_(1) << 14)
+
+#define PIN_PA14B_PTC_Y10                          _L_(14)      /**< PTC signal: Y10 on PA14 mux B*/
+#define MUX_PA14B_PTC_Y10                          _L_(1)      
+#define PINMUX_PA14B_PTC_Y10                       ((PIN_PA14B_PTC_Y10 << 16) | MUX_PA14B_PTC_Y10)
+#define PORT_PA14B_PTC_Y10                         (_UL_(1) << 14)
+
+#define PIN_PA15B_PTC_X11                          _L_(15)      /**< PTC signal: X11 on PA15 mux B*/
+#define MUX_PA15B_PTC_X11                          _L_(1)      
+#define PINMUX_PA15B_PTC_X11                       ((PIN_PA15B_PTC_X11 << 16) | MUX_PA15B_PTC_X11)
+#define PORT_PA15B_PTC_X11                         (_UL_(1) << 15)
+
+#define PIN_PA15B_PTC_Y11                          _L_(15)      /**< PTC signal: Y11 on PA15 mux B*/
+#define MUX_PA15B_PTC_Y11                          _L_(1)      
+#define PINMUX_PA15B_PTC_Y11                       ((PIN_PA15B_PTC_Y11 << 16) | MUX_PA15B_PTC_Y11)
+#define PORT_PA15B_PTC_Y11                         (_UL_(1) << 15)
+
+#define PIN_PA16B_PTC_X12                          _L_(16)      /**< PTC signal: X12 on PA16 mux B*/
+#define MUX_PA16B_PTC_X12                          _L_(1)      
+#define PINMUX_PA16B_PTC_X12                       ((PIN_PA16B_PTC_X12 << 16) | MUX_PA16B_PTC_X12)
+#define PORT_PA16B_PTC_X12                         (_UL_(1) << 16)
+
+#define PIN_PA16B_PTC_Y12                          _L_(16)      /**< PTC signal: Y12 on PA16 mux B*/
+#define MUX_PA16B_PTC_Y12                          _L_(1)      
+#define PINMUX_PA16B_PTC_Y12                       ((PIN_PA16B_PTC_Y12 << 16) | MUX_PA16B_PTC_Y12)
+#define PORT_PA16B_PTC_Y12                         (_UL_(1) << 16)
+
+#define PIN_PA17B_PTC_X13                          _L_(17)      /**< PTC signal: X13 on PA17 mux B*/
+#define MUX_PA17B_PTC_X13                          _L_(1)      
+#define PINMUX_PA17B_PTC_X13                       ((PIN_PA17B_PTC_X13 << 16) | MUX_PA17B_PTC_X13)
+#define PORT_PA17B_PTC_X13                         (_UL_(1) << 17)
+
+#define PIN_PA17B_PTC_Y13                          _L_(17)      /**< PTC signal: Y13 on PA17 mux B*/
+#define MUX_PA17B_PTC_Y13                          _L_(1)      
+#define PINMUX_PA17B_PTC_Y13                       ((PIN_PA17B_PTC_Y13 << 16) | MUX_PA17B_PTC_Y13)
+#define PORT_PA17B_PTC_Y13                         (_UL_(1) << 17)
+
+#define PIN_PA18B_PTC_X14                          _L_(18)      /**< PTC signal: X14 on PA18 mux B*/
+#define MUX_PA18B_PTC_X14                          _L_(1)      
+#define PINMUX_PA18B_PTC_X14                       ((PIN_PA18B_PTC_X14 << 16) | MUX_PA18B_PTC_X14)
+#define PORT_PA18B_PTC_X14                         (_UL_(1) << 18)
+
+#define PIN_PA18B_PTC_Y14                          _L_(18)      /**< PTC signal: Y14 on PA18 mux B*/
+#define MUX_PA18B_PTC_Y14                          _L_(1)      
+#define PINMUX_PA18B_PTC_Y14                       ((PIN_PA18B_PTC_Y14 << 16) | MUX_PA18B_PTC_Y14)
+#define PORT_PA18B_PTC_Y14                         (_UL_(1) << 18)
+
+#define PIN_PA19B_PTC_X15                          _L_(19)      /**< PTC signal: X15 on PA19 mux B*/
+#define MUX_PA19B_PTC_X15                          _L_(1)      
+#define PINMUX_PA19B_PTC_X15                       ((PIN_PA19B_PTC_X15 << 16) | MUX_PA19B_PTC_X15)
+#define PORT_PA19B_PTC_X15                         (_UL_(1) << 19)
+
+#define PIN_PA19B_PTC_Y15                          _L_(19)      /**< PTC signal: Y15 on PA19 mux B*/
+#define MUX_PA19B_PTC_Y15                          _L_(1)      
+#define PINMUX_PA19B_PTC_Y15                       ((PIN_PA19B_PTC_Y15 << 16) | MUX_PA19B_PTC_Y15)
+#define PORT_PA19B_PTC_Y15                         (_UL_(1) << 19)
+
+#define PIN_PA22B_PTC_X16                          _L_(22)      /**< PTC signal: X16 on PA22 mux B*/
+#define MUX_PA22B_PTC_X16                          _L_(1)      
+#define PINMUX_PA22B_PTC_X16                       ((PIN_PA22B_PTC_X16 << 16) | MUX_PA22B_PTC_X16)
+#define PORT_PA22B_PTC_X16                         (_UL_(1) << 22)
+
+#define PIN_PA22B_PTC_Y16                          _L_(22)      /**< PTC signal: Y16 on PA22 mux B*/
+#define MUX_PA22B_PTC_Y16                          _L_(1)      
+#define PINMUX_PA22B_PTC_Y16                       ((PIN_PA22B_PTC_Y16 << 16) | MUX_PA22B_PTC_Y16)
+#define PORT_PA22B_PTC_Y16                         (_UL_(1) << 22)
+
+#define PIN_PA23B_PTC_X17                          _L_(23)      /**< PTC signal: X17 on PA23 mux B*/
+#define MUX_PA23B_PTC_X17                          _L_(1)      
+#define PINMUX_PA23B_PTC_X17                       ((PIN_PA23B_PTC_X17 << 16) | MUX_PA23B_PTC_X17)
+#define PORT_PA23B_PTC_X17                         (_UL_(1) << 23)
+
+#define PIN_PA23B_PTC_Y17                          _L_(23)      /**< PTC signal: Y17 on PA23 mux B*/
+#define MUX_PA23B_PTC_Y17                          _L_(1)      
+#define PINMUX_PA23B_PTC_Y17                       ((PIN_PA23B_PTC_Y17 << 16) | MUX_PA23B_PTC_Y17)
+#define PORT_PA23B_PTC_Y17                         (_UL_(1) << 23)
+
+#define PIN_PA30B_PTC_X18                          _L_(30)      /**< PTC signal: X18 on PA30 mux B*/
+#define MUX_PA30B_PTC_X18                          _L_(1)      
+#define PINMUX_PA30B_PTC_X18                       ((PIN_PA30B_PTC_X18 << 16) | MUX_PA30B_PTC_X18)
+#define PORT_PA30B_PTC_X18                         (_UL_(1) << 30)
+
+#define PIN_PA30B_PTC_Y18                          _L_(30)      /**< PTC signal: Y18 on PA30 mux B*/
+#define MUX_PA30B_PTC_Y18                          _L_(1)      
+#define PINMUX_PA30B_PTC_Y18                       ((PIN_PA30B_PTC_Y18 << 16) | MUX_PA30B_PTC_Y18)
+#define PORT_PA30B_PTC_Y18                         (_UL_(1) << 30)
+
+#define PIN_PA31B_PTC_X19                          _L_(31)      /**< PTC signal: X19 on PA31 mux B*/
+#define MUX_PA31B_PTC_X19                          _L_(1)      
+#define PINMUX_PA31B_PTC_X19                       ((PIN_PA31B_PTC_X19 << 16) | MUX_PA31B_PTC_X19)
+#define PORT_PA31B_PTC_X19                         (_UL_(1) << 31)
+
+#define PIN_PA31B_PTC_Y19                          _L_(31)      /**< PTC signal: Y19 on PA31 mux B*/
+#define MUX_PA31B_PTC_Y19                          _L_(1)      
+#define PINMUX_PA31B_PTC_Y19                       ((PIN_PA31B_PTC_Y19 << 16) | MUX_PA31B_PTC_Y19)
+#define PORT_PA31B_PTC_Y19                         (_UL_(1) << 31)
+
+/* ========== PORT definition for RTC peripheral ========== */
+#define PIN_PA08G_RTC_IN0                          _L_(8)       /**< RTC signal: IN0 on PA08 mux G*/
+#define MUX_PA08G_RTC_IN0                          _L_(6)      
+#define PINMUX_PA08G_RTC_IN0                       ((PIN_PA08G_RTC_IN0 << 16) | MUX_PA08G_RTC_IN0)
+#define PORT_PA08G_RTC_IN0                         (_UL_(1) << 8)
+
+#define PIN_PA09G_RTC_IN1                          _L_(9)       /**< RTC signal: IN1 on PA09 mux G*/
+#define MUX_PA09G_RTC_IN1                          _L_(6)      
+#define PINMUX_PA09G_RTC_IN1                       ((PIN_PA09G_RTC_IN1 << 16) | MUX_PA09G_RTC_IN1)
+#define PORT_PA09G_RTC_IN1                         (_UL_(1) << 9)
+
+#define PIN_PA16G_RTC_IN2                          _L_(16)      /**< RTC signal: IN2 on PA16 mux G*/
+#define MUX_PA16G_RTC_IN2                          _L_(6)      
+#define PINMUX_PA16G_RTC_IN2                       ((PIN_PA16G_RTC_IN2 << 16) | MUX_PA16G_RTC_IN2)
+#define PORT_PA16G_RTC_IN2                         (_UL_(1) << 16)
+
+#define PIN_PA17G_RTC_IN3                          _L_(17)      /**< RTC signal: IN3 on PA17 mux G*/
+#define MUX_PA17G_RTC_IN3                          _L_(6)      
+#define PINMUX_PA17G_RTC_IN3                       ((PIN_PA17G_RTC_IN3 << 16) | MUX_PA17G_RTC_IN3)
+#define PORT_PA17G_RTC_IN3                         (_UL_(1) << 17)
+
+#define PIN_PA18G_RTC_OUT0                         _L_(18)      /**< RTC signal: OUT0 on PA18 mux G*/
+#define MUX_PA18G_RTC_OUT0                         _L_(6)      
+#define PINMUX_PA18G_RTC_OUT0                      ((PIN_PA18G_RTC_OUT0 << 16) | MUX_PA18G_RTC_OUT0)
+#define PORT_PA18G_RTC_OUT0                        (_UL_(1) << 18)
+
+#define PIN_PA19G_RTC_OUT1                         _L_(19)      /**< RTC signal: OUT1 on PA19 mux G*/
+#define MUX_PA19G_RTC_OUT1                         _L_(6)      
+#define PINMUX_PA19G_RTC_OUT1                      ((PIN_PA19G_RTC_OUT1 << 16) | MUX_PA19G_RTC_OUT1)
+#define PORT_PA19G_RTC_OUT1                        (_UL_(1) << 19)
+
+#define PIN_PA22G_RTC_OUT2                         _L_(22)      /**< RTC signal: OUT2 on PA22 mux G*/
+#define MUX_PA22G_RTC_OUT2                         _L_(6)      
+#define PINMUX_PA22G_RTC_OUT2                      ((PIN_PA22G_RTC_OUT2 << 16) | MUX_PA22G_RTC_OUT2)
+#define PORT_PA22G_RTC_OUT2                        (_UL_(1) << 22)
+
+#define PIN_PA23G_RTC_OUT3                         _L_(23)      /**< RTC signal: OUT3 on PA23 mux G*/
+#define MUX_PA23G_RTC_OUT3                         _L_(6)      
+#define PINMUX_PA23G_RTC_OUT3                      ((PIN_PA23G_RTC_OUT3 << 16) | MUX_PA23G_RTC_OUT3)
+#define PORT_PA23G_RTC_OUT3                        (_UL_(1) << 23)
+
+/* ========== PORT definition for SERCOM0 peripheral ========== */
+#define PIN_PA04D_SERCOM0_PAD0                     _L_(4)       /**< 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_PA16D_SERCOM0_PAD0                     _L_(16)      /**< SERCOM0 signal: PAD0 on PA16 mux D*/
+#define MUX_PA16D_SERCOM0_PAD0                     _L_(3)      
+#define PINMUX_PA16D_SERCOM0_PAD0                  ((PIN_PA16D_SERCOM0_PAD0 << 16) | MUX_PA16D_SERCOM0_PAD0)
+#define PORT_PA16D_SERCOM0_PAD0                    (_UL_(1) << 16)
+
+#define PIN_PA22C_SERCOM0_PAD0                     _L_(22)      /**< SERCOM0 signal: PAD0 on PA22 mux C*/
+#define MUX_PA22C_SERCOM0_PAD0                     _L_(2)      
+#define PINMUX_PA22C_SERCOM0_PAD0                  ((PIN_PA22C_SERCOM0_PAD0 << 16) | MUX_PA22C_SERCOM0_PAD0)
+#define PORT_PA22C_SERCOM0_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA05D_SERCOM0_PAD1                     _L_(5)       /**< 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_PA17D_SERCOM0_PAD1                     _L_(17)      /**< SERCOM0 signal: PAD1 on PA17 mux D*/
+#define MUX_PA17D_SERCOM0_PAD1                     _L_(3)      
+#define PINMUX_PA17D_SERCOM0_PAD1                  ((PIN_PA17D_SERCOM0_PAD1 << 16) | MUX_PA17D_SERCOM0_PAD1)
+#define PORT_PA17D_SERCOM0_PAD1                    (_UL_(1) << 17)
+
+#define PIN_PA23C_SERCOM0_PAD1                     _L_(23)      /**< SERCOM0 signal: PAD1 on PA23 mux C*/
+#define MUX_PA23C_SERCOM0_PAD1                     _L_(2)      
+#define PINMUX_PA23C_SERCOM0_PAD1                  ((PIN_PA23C_SERCOM0_PAD1 << 16) | MUX_PA23C_SERCOM0_PAD1)
+#define PORT_PA23C_SERCOM0_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA06D_SERCOM0_PAD2                     _L_(6)       /**< 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_PA14D_SERCOM0_PAD2                     _L_(14)      /**< SERCOM0 signal: PAD2 on PA14 mux D*/
+#define MUX_PA14D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA14D_SERCOM0_PAD2                  ((PIN_PA14D_SERCOM0_PAD2 << 16) | MUX_PA14D_SERCOM0_PAD2)
+#define PORT_PA14D_SERCOM0_PAD2                    (_UL_(1) << 14)
+
+#define PIN_PA18D_SERCOM0_PAD2                     _L_(18)      /**< SERCOM0 signal: PAD2 on PA18 mux D*/
+#define MUX_PA18D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA18D_SERCOM0_PAD2                  ((PIN_PA18D_SERCOM0_PAD2 << 16) | MUX_PA18D_SERCOM0_PAD2)
+#define PORT_PA18D_SERCOM0_PAD2                    (_UL_(1) << 18)
+
+#define PIN_PA24C_SERCOM0_PAD2                     _L_(24)      /**< SERCOM0 signal: PAD2 on PA24 mux C*/
+#define MUX_PA24C_SERCOM0_PAD2                     _L_(2)      
+#define PINMUX_PA24C_SERCOM0_PAD2                  ((PIN_PA24C_SERCOM0_PAD2 << 16) | MUX_PA24C_SERCOM0_PAD2)
+#define PORT_PA24C_SERCOM0_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA02D_SERCOM0_PAD2                     _L_(2)       /**< SERCOM0 signal: PAD2 on PA02 mux D*/
+#define MUX_PA02D_SERCOM0_PAD2                     _L_(3)      
+#define PINMUX_PA02D_SERCOM0_PAD2                  ((PIN_PA02D_SERCOM0_PAD2 << 16) | MUX_PA02D_SERCOM0_PAD2)
+#define PORT_PA02D_SERCOM0_PAD2                    (_UL_(1) << 2)
+
+#define PIN_PA07D_SERCOM0_PAD3                     _L_(7)       /**< 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_PA15D_SERCOM0_PAD3                     _L_(15)      /**< SERCOM0 signal: PAD3 on PA15 mux D*/
+#define MUX_PA15D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA15D_SERCOM0_PAD3                  ((PIN_PA15D_SERCOM0_PAD3 << 16) | MUX_PA15D_SERCOM0_PAD3)
+#define PORT_PA15D_SERCOM0_PAD3                    (_UL_(1) << 15)
+
+#define PIN_PA19D_SERCOM0_PAD3                     _L_(19)      /**< SERCOM0 signal: PAD3 on PA19 mux D*/
+#define MUX_PA19D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA19D_SERCOM0_PAD3                  ((PIN_PA19D_SERCOM0_PAD3 << 16) | MUX_PA19D_SERCOM0_PAD3)
+#define PORT_PA19D_SERCOM0_PAD3                    (_UL_(1) << 19)
+
+#define PIN_PA25C_SERCOM0_PAD3                     _L_(25)      /**< SERCOM0 signal: PAD3 on PA25 mux C*/
+#define MUX_PA25C_SERCOM0_PAD3                     _L_(2)      
+#define PINMUX_PA25C_SERCOM0_PAD3                  ((PIN_PA25C_SERCOM0_PAD3 << 16) | MUX_PA25C_SERCOM0_PAD3)
+#define PORT_PA25C_SERCOM0_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA03D_SERCOM0_PAD3                     _L_(3)       /**< SERCOM0 signal: PAD3 on PA03 mux D*/
+#define MUX_PA03D_SERCOM0_PAD3                     _L_(3)      
+#define PINMUX_PA03D_SERCOM0_PAD3                  ((PIN_PA03D_SERCOM0_PAD3 << 16) | MUX_PA03D_SERCOM0_PAD3)
+#define PORT_PA03D_SERCOM0_PAD3                    (_UL_(1) << 3)
+
+/* ========== PORT definition for SERCOM1 peripheral ========== */
+#define PIN_PA16C_SERCOM1_PAD0                     _L_(16)      /**< 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_PA08C_SERCOM1_PAD0                     _L_(8)       /**< SERCOM1 signal: PAD0 on PA08 mux C*/
+#define MUX_PA08C_SERCOM1_PAD0                     _L_(2)      
+#define PINMUX_PA08C_SERCOM1_PAD0                  ((PIN_PA08C_SERCOM1_PAD0 << 16) | MUX_PA08C_SERCOM1_PAD0)
+#define PORT_PA08C_SERCOM1_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA00D_SERCOM1_PAD0                     _L_(0)       /**< 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_PA17C_SERCOM1_PAD1                     _L_(17)      /**< 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_PA09C_SERCOM1_PAD1                     _L_(9)       /**< SERCOM1 signal: PAD1 on PA09 mux C*/
+#define MUX_PA09C_SERCOM1_PAD1                     _L_(2)      
+#define PINMUX_PA09C_SERCOM1_PAD1                  ((PIN_PA09C_SERCOM1_PAD1 << 16) | MUX_PA09C_SERCOM1_PAD1)
+#define PORT_PA09C_SERCOM1_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA01D_SERCOM1_PAD1                     _L_(1)       /**< 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_PA18C_SERCOM1_PAD2                     _L_(18)      /**< 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_PA10C_SERCOM1_PAD2                     _L_(10)      /**< SERCOM1 signal: PAD2 on PA10 mux C*/
+#define MUX_PA10C_SERCOM1_PAD2                     _L_(2)      
+#define PINMUX_PA10C_SERCOM1_PAD2                  ((PIN_PA10C_SERCOM1_PAD2 << 16) | MUX_PA10C_SERCOM1_PAD2)
+#define PORT_PA10C_SERCOM1_PAD2                    (_UL_(1) << 10)
+
+#define PIN_PA30D_SERCOM1_PAD2                     _L_(30)      /**< 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_PA19C_SERCOM1_PAD3                     _L_(19)      /**< 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_PA11C_SERCOM1_PAD3                     _L_(11)      /**< SERCOM1 signal: PAD3 on PA11 mux C*/
+#define MUX_PA11C_SERCOM1_PAD3                     _L_(2)      
+#define PINMUX_PA11C_SERCOM1_PAD3                  ((PIN_PA11C_SERCOM1_PAD3 << 16) | MUX_PA11C_SERCOM1_PAD3)
+#define PORT_PA11C_SERCOM1_PAD3                    (_UL_(1) << 11)
+
+#define PIN_PA31D_SERCOM1_PAD3                     _L_(31)      /**< 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)
+
+/* ========== PORT definition for SERCOM2 peripheral ========== */
+#define PIN_PA08D_SERCOM2_PAD0                     _L_(8)       /**< SERCOM2 signal: PAD0 on PA08 mux D*/
+#define MUX_PA08D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA08D_SERCOM2_PAD0                  ((PIN_PA08D_SERCOM2_PAD0 << 16) | MUX_PA08D_SERCOM2_PAD0)
+#define PORT_PA08D_SERCOM2_PAD0                    (_UL_(1) << 8)
+
+#define PIN_PA22D_SERCOM2_PAD0                     _L_(22)      /**< SERCOM2 signal: PAD0 on PA22 mux D*/
+#define MUX_PA22D_SERCOM2_PAD0                     _L_(3)      
+#define PINMUX_PA22D_SERCOM2_PAD0                  ((PIN_PA22D_SERCOM2_PAD0 << 16) | MUX_PA22D_SERCOM2_PAD0)
+#define PORT_PA22D_SERCOM2_PAD0                    (_UL_(1) << 22)
+
+#define PIN_PA09D_SERCOM2_PAD1                     _L_(9)       /**< SERCOM2 signal: PAD1 on PA09 mux D*/
+#define MUX_PA09D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA09D_SERCOM2_PAD1                  ((PIN_PA09D_SERCOM2_PAD1 << 16) | MUX_PA09D_SERCOM2_PAD1)
+#define PORT_PA09D_SERCOM2_PAD1                    (_UL_(1) << 9)
+
+#define PIN_PA23D_SERCOM2_PAD1                     _L_(23)      /**< SERCOM2 signal: PAD1 on PA23 mux D*/
+#define MUX_PA23D_SERCOM2_PAD1                     _L_(3)      
+#define PINMUX_PA23D_SERCOM2_PAD1                  ((PIN_PA23D_SERCOM2_PAD1 << 16) | MUX_PA23D_SERCOM2_PAD1)
+#define PORT_PA23D_SERCOM2_PAD1                    (_UL_(1) << 23)
+
+#define PIN_PA10D_SERCOM2_PAD2                     _L_(10)      /**< 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_PA24D_SERCOM2_PAD2                     _L_(24)      /**< SERCOM2 signal: PAD2 on PA24 mux D*/
+#define MUX_PA24D_SERCOM2_PAD2                     _L_(3)      
+#define PINMUX_PA24D_SERCOM2_PAD2                  ((PIN_PA24D_SERCOM2_PAD2 << 16) | MUX_PA24D_SERCOM2_PAD2)
+#define PORT_PA24D_SERCOM2_PAD2                    (_UL_(1) << 24)
+
+#define PIN_PA14C_SERCOM2_PAD2                     _L_(14)      /**< 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)      /**< 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_PA25D_SERCOM2_PAD3                     _L_(25)      /**< SERCOM2 signal: PAD3 on PA25 mux D*/
+#define MUX_PA25D_SERCOM2_PAD3                     _L_(3)      
+#define PINMUX_PA25D_SERCOM2_PAD3                  ((PIN_PA25D_SERCOM2_PAD3 << 16) | MUX_PA25D_SERCOM2_PAD3)
+#define PORT_PA25D_SERCOM2_PAD3                    (_UL_(1) << 25)
+
+#define PIN_PA15C_SERCOM2_PAD3                     _L_(15)      /**< 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 TC0 peripheral ========== */
+#define PIN_PA04E_TC0_WO0                          _L_(4)       /**< 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_PA14E_TC0_WO0                          _L_(14)      /**< TC0 signal: WO0 on PA14 mux E*/
+#define MUX_PA14E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA14E_TC0_WO0                       ((PIN_PA14E_TC0_WO0 << 16) | MUX_PA14E_TC0_WO0)
+#define PORT_PA14E_TC0_WO0                         (_UL_(1) << 14)
+
+#define PIN_PA22E_TC0_WO0                          _L_(22)      /**< TC0 signal: WO0 on PA22 mux E*/
+#define MUX_PA22E_TC0_WO0                          _L_(4)      
+#define PINMUX_PA22E_TC0_WO0                       ((PIN_PA22E_TC0_WO0 << 16) | MUX_PA22E_TC0_WO0)
+#define PORT_PA22E_TC0_WO0                         (_UL_(1) << 22)
+
+#define PIN_PA05E_TC0_WO1                          _L_(5)       /**< 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_PA15E_TC0_WO1                          _L_(15)      /**< TC0 signal: WO1 on PA15 mux E*/
+#define MUX_PA15E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA15E_TC0_WO1                       ((PIN_PA15E_TC0_WO1 << 16) | MUX_PA15E_TC0_WO1)
+#define PORT_PA15E_TC0_WO1                         (_UL_(1) << 15)
+
+#define PIN_PA23E_TC0_WO1                          _L_(23)      /**< TC0 signal: WO1 on PA23 mux E*/
+#define MUX_PA23E_TC0_WO1                          _L_(4)      
+#define PINMUX_PA23E_TC0_WO1                       ((PIN_PA23E_TC0_WO1 << 16) | MUX_PA23E_TC0_WO1)
+#define PORT_PA23E_TC0_WO1                         (_UL_(1) << 23)
+
+/* ========== PORT definition for TC1 peripheral ========== */
+#define PIN_PA06E_TC1_WO0                          _L_(6)       /**< 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_PA24E_TC1_WO0                          _L_(24)      /**< TC1 signal: WO0 on PA24 mux E*/
+#define MUX_PA24E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA24E_TC1_WO0                       ((PIN_PA24E_TC1_WO0 << 16) | MUX_PA24E_TC1_WO0)
+#define PORT_PA24E_TC1_WO0                         (_UL_(1) << 24)
+
+#define PIN_PA30E_TC1_WO0                          _L_(30)      /**< TC1 signal: WO0 on PA30 mux E*/
+#define MUX_PA30E_TC1_WO0                          _L_(4)      
+#define PINMUX_PA30E_TC1_WO0                       ((PIN_PA30E_TC1_WO0 << 16) | MUX_PA30E_TC1_WO0)
+#define PORT_PA30E_TC1_WO0                         (_UL_(1) << 30)
+
+#define PIN_PA07E_TC1_WO1                          _L_(7)       /**< 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_PA25E_TC1_WO1                          _L_(25)      /**< TC1 signal: WO1 on PA25 mux E*/
+#define MUX_PA25E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA25E_TC1_WO1                       ((PIN_PA25E_TC1_WO1 << 16) | MUX_PA25E_TC1_WO1)
+#define PORT_PA25E_TC1_WO1                         (_UL_(1) << 25)
+
+#define PIN_PA31E_TC1_WO1                          _L_(31)      /**< TC1 signal: WO1 on PA31 mux E*/
+#define MUX_PA31E_TC1_WO1                          _L_(4)      
+#define PINMUX_PA31E_TC1_WO1                       ((PIN_PA31E_TC1_WO1 << 16) | MUX_PA31E_TC1_WO1)
+#define PORT_PA31E_TC1_WO1                         (_UL_(1) << 31)
+
+/* ========== PORT definition for TC2 peripheral ========== */
+#define PIN_PA00E_TC2_WO0                          _L_(0)       /**< 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_PA18E_TC2_WO0                          _L_(18)      /**< TC2 signal: WO0 on PA18 mux E*/
+#define MUX_PA18E_TC2_WO0                          _L_(4)      
+#define PINMUX_PA18E_TC2_WO0                       ((PIN_PA18E_TC2_WO0 << 16) | MUX_PA18E_TC2_WO0)
+#define PORT_PA18E_TC2_WO0                         (_UL_(1) << 18)
+
+#define PIN_PA01E_TC2_WO1                          _L_(1)       /**< 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_PA19E_TC2_WO1                          _L_(19)      /**< TC2 signal: WO1 on PA19 mux E*/
+#define MUX_PA19E_TC2_WO1                          _L_(4)      
+#define PINMUX_PA19E_TC2_WO1                       ((PIN_PA19E_TC2_WO1 << 16) | MUX_PA19E_TC2_WO1)
+#define PORT_PA19E_TC2_WO1                         (_UL_(1) << 19)
+
+
+#endif /* _SAML11E16A_PIO_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/sam.h b/cpu/sam0_common/include/vendor/saml11/include/sam.h
new file mode 100644
index 0000000000..4159a7eb65
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/sam.h
@@ -0,0 +1,50 @@
+/**
+ * \file
+ *
+ * \brief Top level header file
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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(__SAML11D14A__) || defined(__ATSAML11D14A__)
+  #include "saml11d14a.h"
+#elif defined(__SAML11D15A__) || defined(__ATSAML11D15A__)
+  #include "saml11d15a.h"
+#elif defined(__SAML11D16A__) || defined(__ATSAML11D16A__)
+  #include "saml11d16a.h"
+#elif defined(__SAML11E14A__) || defined(__ATSAML11E14A__)
+  #include "saml11e14a.h"
+#elif defined(__SAML11E15A__) || defined(__ATSAML11E15A__)
+  #include "saml11e15a.h"
+#elif defined(__SAML11E16A__) || defined(__ATSAML11E16A__)
+  #include "saml11e16a.h"
+#else
+  #error Library does not support the specified device
+#endif
+
+#endif /* _SAM_ */
+
diff --git a/cpu/sam0_common/include/vendor/saml11/include/saml11d14a.h b/cpu/sam0_common/include/vendor/saml11/include/saml11d14a.h
new file mode 100644
index 0000000000..76229e901e
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/saml11d14a.h
@@ -0,0 +1,802 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML11D14A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11D14A_H_
+#define _SAML11D14A_H_
+
+/** \addtogroup SAML11D14A_definitions SAML11D14A definitions
+  This file defines all structures and symbols for SAML11D14A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML11D14A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML11D14A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML11D14A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML11D14A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML11D14A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML11D14A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML11D14A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML11D14A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML11D14A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML11D14A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML11D14A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML11D14A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML11D14A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML11D14A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML11D14A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML11D14A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML11D14A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML11D14A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML11D14A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML11D14A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML11D14A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML11D14A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML11D14A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML11D14A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML11D14A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML11D14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML11D14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML11D14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML11D14A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML11D14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML11D14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML11D14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML11D14A Serial Communication Interface (SERCOM1) */
+  TC0_IRQn                  = 34 , /**< 34  SAML11D14A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML11D14A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML11D14A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML11D14A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML11D14A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML11D14A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML11D14A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML11D14A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML11D14A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML11D14A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML11D14A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML11D14A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML11D14A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML11D14A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML11D14A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML11D14A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML11D14A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML11D14A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML11D14A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML11D14A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML11D14A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML11D14A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML11D14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML11D14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML11D14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML11D14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML11D14A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML11D14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML11D14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML11D14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML11D14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML11D14A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML11D14A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML11D14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML11D14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML11D14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML11D14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML11D14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML11D14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML11D14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML11D14A Serial Communication Interface (SERCOM1) */
+  void* pvReserved30;
+  void* pvReserved31;
+  void* pvReserved32;
+  void* pvReserved33;
+  void* pfnTC0_Handler;                          /* 34  SAML11D14A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML11D14A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML11D14A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML11D14A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML11D14A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML11D14A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML11D14A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML11D14A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML11D14A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML11D14A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML11D14A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+#define __TZ_PRESENT                   1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml11.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML11D14A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML11D14A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML11D14A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML11D14A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML11D14A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML11D14A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML11D14A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML11D14A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML11D14A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                (0x40002A00)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              (0x42000200)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            (0x41005000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                (0x40000200)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               (0x40003200)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         (0x60000200)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                ((Eic *)0x40002A00U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              ((Evsys *)0x42000200U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            ((Nvmctrl *)0x41005000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                ((Pac *)0x40000200U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               ((Port *)0x40003200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         ((Port *)0x60000200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM_INST_NUM        2                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1 }           /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML11D14A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML11D14A*/
+/* ************************************************************************** */
+#include "pio/saml11d14a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML11D14A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00004000)       /*   16kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(       256)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00002000)       /*    8kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML11D14A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20830005)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML11D14A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML11D14A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML11D14A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML11D14A definitions */
+
+
+#endif /* _SAML11D14A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/saml11d15a.h b/cpu/sam0_common/include/vendor/saml11/include/saml11d15a.h
new file mode 100644
index 0000000000..cb1ca8a8f7
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/saml11d15a.h
@@ -0,0 +1,802 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML11D15A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11D15A_H_
+#define _SAML11D15A_H_
+
+/** \addtogroup SAML11D15A_definitions SAML11D15A definitions
+  This file defines all structures and symbols for SAML11D15A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML11D15A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML11D15A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML11D15A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML11D15A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML11D15A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML11D15A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML11D15A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML11D15A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML11D15A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML11D15A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML11D15A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML11D15A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML11D15A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML11D15A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML11D15A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML11D15A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML11D15A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML11D15A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML11D15A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML11D15A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML11D15A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML11D15A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML11D15A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML11D15A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML11D15A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML11D15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML11D15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML11D15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML11D15A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML11D15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML11D15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML11D15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML11D15A Serial Communication Interface (SERCOM1) */
+  TC0_IRQn                  = 34 , /**< 34  SAML11D15A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML11D15A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML11D15A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML11D15A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML11D15A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML11D15A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML11D15A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML11D15A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML11D15A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML11D15A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML11D15A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML11D15A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML11D15A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML11D15A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML11D15A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML11D15A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML11D15A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML11D15A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML11D15A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML11D15A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML11D15A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML11D15A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML11D15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML11D15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML11D15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML11D15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML11D15A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML11D15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML11D15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML11D15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML11D15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML11D15A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML11D15A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML11D15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML11D15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML11D15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML11D15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML11D15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML11D15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML11D15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML11D15A Serial Communication Interface (SERCOM1) */
+  void* pvReserved30;
+  void* pvReserved31;
+  void* pvReserved32;
+  void* pvReserved33;
+  void* pfnTC0_Handler;                          /* 34  SAML11D15A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML11D15A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML11D15A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML11D15A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML11D15A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML11D15A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML11D15A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML11D15A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML11D15A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML11D15A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML11D15A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+#define __TZ_PRESENT                   1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml11.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML11D15A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML11D15A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML11D15A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML11D15A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML11D15A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML11D15A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML11D15A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML11D15A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML11D15A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                (0x40002A00)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              (0x42000200)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            (0x41005000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                (0x40000200)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               (0x40003200)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         (0x60000200)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                ((Eic *)0x40002A00U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              ((Evsys *)0x42000200U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            ((Nvmctrl *)0x41005000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                ((Pac *)0x40000200U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               ((Port *)0x40003200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         ((Port *)0x60000200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM_INST_NUM        2                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1 }           /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML11D15A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML11D15A*/
+/* ************************************************************************** */
+#include "pio/saml11d15a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML11D15A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00008000)       /*   32kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(       512)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00002000)       /*    8kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML11D15A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20830004)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML11D15A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML11D15A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML11D15A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML11D15A definitions */
+
+
+#endif /* _SAML11D15A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/saml11d16a.h b/cpu/sam0_common/include/vendor/saml11/include/saml11d16a.h
new file mode 100644
index 0000000000..7ac687c1df
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/saml11d16a.h
@@ -0,0 +1,802 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML11D16A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11D16A_H_
+#define _SAML11D16A_H_
+
+/** \addtogroup SAML11D16A_definitions SAML11D16A definitions
+  This file defines all structures and symbols for SAML11D16A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML11D16A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML11D16A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML11D16A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML11D16A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML11D16A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML11D16A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML11D16A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML11D16A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML11D16A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML11D16A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML11D16A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML11D16A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML11D16A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML11D16A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML11D16A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML11D16A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML11D16A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML11D16A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML11D16A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML11D16A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML11D16A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML11D16A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML11D16A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML11D16A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML11D16A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML11D16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML11D16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML11D16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML11D16A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML11D16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML11D16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML11D16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML11D16A Serial Communication Interface (SERCOM1) */
+  TC0_IRQn                  = 34 , /**< 34  SAML11D16A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML11D16A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML11D16A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML11D16A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML11D16A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML11D16A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML11D16A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML11D16A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML11D16A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML11D16A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML11D16A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML11D16A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML11D16A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML11D16A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML11D16A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML11D16A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML11D16A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML11D16A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML11D16A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML11D16A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML11D16A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML11D16A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML11D16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML11D16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML11D16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML11D16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML11D16A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML11D16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML11D16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML11D16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML11D16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML11D16A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML11D16A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML11D16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML11D16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML11D16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML11D16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML11D16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML11D16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML11D16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML11D16A Serial Communication Interface (SERCOM1) */
+  void* pvReserved30;
+  void* pvReserved31;
+  void* pvReserved32;
+  void* pvReserved33;
+  void* pfnTC0_Handler;                          /* 34  SAML11D16A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML11D16A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML11D16A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML11D16A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML11D16A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML11D16A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML11D16A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML11D16A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML11D16A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML11D16A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML11D16A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+#define __TZ_PRESENT                   1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml11.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML11D16A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML11D16A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML11D16A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML11D16A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML11D16A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML11D16A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML11D16A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML11D16A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML11D16A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                (0x40002A00)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              (0x42000200)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            (0x41005000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                (0x40000200)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               (0x40003200)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         (0x60000200)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                ((Eic *)0x40002A00U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              ((Evsys *)0x42000200U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            ((Nvmctrl *)0x41005000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                ((Pac *)0x40000200U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               ((Port *)0x40003200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         ((Port *)0x60000200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM_INST_NUM        2                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1 }           /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML11D16A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML11D16A*/
+/* ************************************************************************** */
+#include "pio/saml11d16a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML11D16A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00010000)       /*   64kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(      1024)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00004000)       /*   16kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML11D16A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20830003)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML11D16A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML11D16A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML11D16A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML11D16A definitions */
+
+
+#endif /* _SAML11D16A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/saml11e14a.h b/cpu/sam0_common/include/vendor/saml11/include/saml11e14a.h
new file mode 100644
index 0000000000..6fce8e5cf6
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/saml11e14a.h
@@ -0,0 +1,814 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML11E14A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11E14A_H_
+#define _SAML11E14A_H_
+
+/** \addtogroup SAML11E14A_definitions SAML11E14A definitions
+  This file defines all structures and symbols for SAML11E14A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML11E14A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML11E14A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML11E14A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML11E14A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML11E14A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML11E14A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML11E14A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML11E14A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML11E14A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML11E14A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML11E14A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML11E14A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML11E14A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML11E14A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML11E14A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML11E14A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML11E14A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML11E14A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML11E14A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML11E14A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML11E14A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML11E14A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML11E14A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML11E14A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML11E14A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML11E14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML11E14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML11E14A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML11E14A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML11E14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML11E14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML11E14A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML11E14A Serial Communication Interface (SERCOM1) */
+  SERCOM2_0_IRQn            = 30 , /**< 30  SAML11E14A Serial Communication Interface (SERCOM2) */
+  SERCOM2_1_IRQn            = 31 , /**< 31  SAML11E14A Serial Communication Interface (SERCOM2) */
+  SERCOM2_2_IRQn            = 32 , /**< 32  SAML11E14A Serial Communication Interface (SERCOM2) */
+  SERCOM2_OTHER_IRQn        = 33 , /**< 33  SAML11E14A Serial Communication Interface (SERCOM2) */
+  TC0_IRQn                  = 34 , /**< 34  SAML11E14A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML11E14A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML11E14A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML11E14A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML11E14A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML11E14A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML11E14A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML11E14A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML11E14A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML11E14A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML11E14A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML11E14A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML11E14A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML11E14A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML11E14A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML11E14A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML11E14A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML11E14A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML11E14A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML11E14A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML11E14A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML11E14A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML11E14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML11E14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML11E14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML11E14A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML11E14A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML11E14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML11E14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML11E14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML11E14A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML11E14A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML11E14A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML11E14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML11E14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML11E14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML11E14A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML11E14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML11E14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML11E14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML11E14A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM2_0_Handler;                    /* 30  SAML11E14A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_1_Handler;                    /* 31  SAML11E14A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_2_Handler;                    /* 32  SAML11E14A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_OTHER_Handler;                /* 33  SAML11E14A Serial Communication Interface (SERCOM2) */
+  void* pfnTC0_Handler;                          /* 34  SAML11E14A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML11E14A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML11E14A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML11E14A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML11E14A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML11E14A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML11E14A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML11E14A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML11E14A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML11E14A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML11E14A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SERCOM2_0_Handler             ( void );
+void SERCOM2_1_Handler             ( void );
+void SERCOM2_2_Handler             ( void );
+void SERCOM2_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+#define __TZ_PRESENT                   1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml11.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML11E14A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML11E14A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML11E14A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML11E14A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML11E14A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/sercom2.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML11E14A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML11E14A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_SERCOM2      ( 67) /**< \brief Serial Communication Interface (SERCOM2) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML11E14A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML11E14A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                (0x40002A00)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              (0x42000200)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            (0x41005000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                (0x40000200)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               (0x40003200)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         (0x60000200)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                (0x42000C00)                   /**< \brief (SERCOM2   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                ((Eic *)0x40002A00U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              ((Evsys *)0x42000200U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            ((Nvmctrl *)0x41005000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                ((Pac *)0x40000200U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               ((Port *)0x40003200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         ((Port *)0x60000200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                ((Sercom *)0x42000C00U)        /**< \brief (SERCOM2   ) Base Address */
+#define SERCOM_INST_NUM        3                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1, SERCOM2 }  /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML11E14A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML11E14A*/
+/* ************************************************************************** */
+#include "pio/saml11e14a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML11E14A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00004000)       /*   16kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(       256)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00002000)       /*    8kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML11E14A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20830002)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML11E14A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML11E14A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML11E14A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML11E14A definitions */
+
+
+#endif /* _SAML11E14A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/saml11e15a.h b/cpu/sam0_common/include/vendor/saml11/include/saml11e15a.h
new file mode 100644
index 0000000000..6450756e27
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/saml11e15a.h
@@ -0,0 +1,814 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML11E15A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11E15A_H_
+#define _SAML11E15A_H_
+
+/** \addtogroup SAML11E15A_definitions SAML11E15A definitions
+  This file defines all structures and symbols for SAML11E15A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML11E15A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML11E15A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML11E15A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML11E15A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML11E15A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML11E15A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML11E15A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML11E15A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML11E15A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML11E15A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML11E15A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML11E15A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML11E15A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML11E15A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML11E15A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML11E15A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML11E15A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML11E15A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML11E15A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML11E15A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML11E15A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML11E15A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML11E15A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML11E15A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML11E15A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML11E15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML11E15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML11E15A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML11E15A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML11E15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML11E15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML11E15A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML11E15A Serial Communication Interface (SERCOM1) */
+  SERCOM2_0_IRQn            = 30 , /**< 30  SAML11E15A Serial Communication Interface (SERCOM2) */
+  SERCOM2_1_IRQn            = 31 , /**< 31  SAML11E15A Serial Communication Interface (SERCOM2) */
+  SERCOM2_2_IRQn            = 32 , /**< 32  SAML11E15A Serial Communication Interface (SERCOM2) */
+  SERCOM2_OTHER_IRQn        = 33 , /**< 33  SAML11E15A Serial Communication Interface (SERCOM2) */
+  TC0_IRQn                  = 34 , /**< 34  SAML11E15A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML11E15A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML11E15A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML11E15A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML11E15A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML11E15A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML11E15A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML11E15A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML11E15A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML11E15A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML11E15A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML11E15A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML11E15A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML11E15A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML11E15A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML11E15A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML11E15A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML11E15A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML11E15A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML11E15A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML11E15A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML11E15A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML11E15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML11E15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML11E15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML11E15A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML11E15A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML11E15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML11E15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML11E15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML11E15A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML11E15A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML11E15A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML11E15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML11E15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML11E15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML11E15A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML11E15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML11E15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML11E15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML11E15A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM2_0_Handler;                    /* 30  SAML11E15A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_1_Handler;                    /* 31  SAML11E15A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_2_Handler;                    /* 32  SAML11E15A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_OTHER_Handler;                /* 33  SAML11E15A Serial Communication Interface (SERCOM2) */
+  void* pfnTC0_Handler;                          /* 34  SAML11E15A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML11E15A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML11E15A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML11E15A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML11E15A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML11E15A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML11E15A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML11E15A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML11E15A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML11E15A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML11E15A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SERCOM2_0_Handler             ( void );
+void SERCOM2_1_Handler             ( void );
+void SERCOM2_2_Handler             ( void );
+void SERCOM2_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+#define __TZ_PRESENT                   1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml11.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML11E15A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML11E15A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML11E15A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML11E15A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML11E15A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/sercom2.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML11E15A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML11E15A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_SERCOM2      ( 67) /**< \brief Serial Communication Interface (SERCOM2) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML11E15A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML11E15A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                (0x40002A00)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              (0x42000200)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            (0x41005000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                (0x40000200)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               (0x40003200)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         (0x60000200)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                (0x42000C00)                   /**< \brief (SERCOM2   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                ((Eic *)0x40002A00U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              ((Evsys *)0x42000200U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            ((Nvmctrl *)0x41005000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                ((Pac *)0x40000200U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               ((Port *)0x40003200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         ((Port *)0x60000200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                ((Sercom *)0x42000C00U)        /**< \brief (SERCOM2   ) Base Address */
+#define SERCOM_INST_NUM        3                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1, SERCOM2 }  /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML11E15A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML11E15A*/
+/* ************************************************************************** */
+#include "pio/saml11e15a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML11E15A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00008000)       /*   32kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(       512)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00002000)       /*    8kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML11E15A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20830001)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML11E15A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML11E15A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML11E15A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML11E15A definitions */
+
+
+#endif /* _SAML11E15A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/saml11e16a.h b/cpu/sam0_common/include/vendor/saml11/include/saml11e16a.h
new file mode 100644
index 0000000000..59a5b78fd7
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/saml11e16a.h
@@ -0,0 +1,814 @@
+/**
+ * \file
+ *
+ * \brief Header file for ATSAML11E16A
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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
+ *
+ */
+
+/* file generated from device description version 2018-08-31T13:51:56Z */
+#ifndef _SAML11E16A_H_
+#define _SAML11E16A_H_
+
+/** \addtogroup SAML11E16A_definitions SAML11E16A definitions
+  This file defines all structures and symbols for SAML11E16A:
+    - registers and bitfields
+    - peripheral base address
+    - peripheral ID
+    - PIO definitions
+ *  @{
+ */
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/** \defgroup Atmel_glob_defs Atmel Global Defines
+
+    <strong>IO Type Qualifiers</strong> are used
+    \li to specify the access to peripheral variables.
+    \li for automatic generation of peripheral register debug information.
+
+    \remark
+    CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
+    Default the header files will follow the CMSIS core syntax.
+ *  @{
+ */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#include <stdint.h>
+
+/* IO definitions (access restrictions to peripheral registers) */
+#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) */
+
+#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
+#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
+#else /* Assembler */
+#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
+#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !defined(SKIP_INTEGER_LITERALS)
+
+#if defined(_U_) || defined(_L_) || defined(_UL_)
+  #error "Integer Literals macros already defined elsewhere"
+#endif
+
+#if !(defined(__ASSEMBLER__) || 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(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#endif /* SKIP_INTEGER_LITERALS */
+/** @}  end of Atmel Global Defines */
+
+/** \addtogroup SAML11E16A_cmsis CMSIS Definitions
+ *  @{
+ */
+/* ************************************************************************** */
+/*   CMSIS DEFINITIONS FOR SAML11E16A */
+/* ************************************************************************** */
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+/** Interrupt Number Definition */
+typedef enum IRQn
+{
+/******  CORTEX-M23 Processor Exceptions Numbers ******************************/
+  Reset_IRQn                = -15, /**< 1   Reset Vector, invoked on Power up and warm reset  */
+  NonMaskableInt_IRQn       = -14, /**< 2   Non maskable Interrupt, cannot be stopped or preempted  */
+  HardFault_IRQn            = -13, /**< 3   Hard Fault, all classes of Fault     */
+  SVCall_IRQn               = -5 , /**< 11  System Service Call via SVC instruction  */
+  PendSV_IRQn               = -2 , /**< 14  Pendable request for system service  */
+  SysTick_IRQn              = -1 , /**< 15  System Tick Timer                    */
+/******  SAML11E16A specific Interrupt Numbers ***********************************/
+  SYSTEM_IRQn               = 0  , /**< 0   SAML11E16A Main Clock (MCLK)        */
+  WDT_IRQn                  = 1  , /**< 1   SAML11E16A Watchdog Timer (WDT)     */
+  RTC_IRQn                  = 2  , /**< 2   SAML11E16A Real-Time Counter (RTC)  */
+  EIC_0_IRQn                = 3  , /**< 3   SAML11E16A External Interrupt Controller (EIC) */
+  EIC_1_IRQn                = 4  , /**< 4   SAML11E16A External Interrupt Controller (EIC) */
+  EIC_2_IRQn                = 5  , /**< 5   SAML11E16A External Interrupt Controller (EIC) */
+  EIC_3_IRQn                = 6  , /**< 6   SAML11E16A External Interrupt Controller (EIC) */
+  EIC_OTHER_IRQn            = 7  , /**< 7   SAML11E16A External Interrupt Controller (EIC) */
+  FREQM_IRQn                = 8  , /**< 8   SAML11E16A Frequency Meter (FREQM)  */
+  NVMCTRL_IRQn              = 9  , /**< 9   SAML11E16A Non-Volatile Memory Controller (NVMCTRL) */
+  PORT_IRQn                 = 10 , /**< 10  SAML11E16A Port Module (PORT)       */
+  DMAC_0_IRQn               = 11 , /**< 11  SAML11E16A Direct Memory Access Controller (DMAC) */
+  DMAC_1_IRQn               = 12 , /**< 12  SAML11E16A Direct Memory Access Controller (DMAC) */
+  DMAC_2_IRQn               = 13 , /**< 13  SAML11E16A Direct Memory Access Controller (DMAC) */
+  DMAC_3_IRQn               = 14 , /**< 14  SAML11E16A Direct Memory Access Controller (DMAC) */
+  DMAC_OTHER_IRQn           = 15 , /**< 15  SAML11E16A Direct Memory Access Controller (DMAC) */
+  EVSYS_0_IRQn              = 16 , /**< 16  SAML11E16A Event System Interface (EVSYS) */
+  EVSYS_1_IRQn              = 17 , /**< 17  SAML11E16A Event System Interface (EVSYS) */
+  EVSYS_2_IRQn              = 18 , /**< 18  SAML11E16A Event System Interface (EVSYS) */
+  EVSYS_3_IRQn              = 19 , /**< 19  SAML11E16A Event System Interface (EVSYS) */
+  EVSYS_NSCHK_IRQn          = 20 , /**< 20  SAML11E16A Event System Interface (EVSYS) */
+  PAC_IRQn                  = 21 , /**< 21  SAML11E16A Peripheral Access Controller (PAC) */
+  SERCOM0_0_IRQn            = 22 , /**< 22  SAML11E16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_1_IRQn            = 23 , /**< 23  SAML11E16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_2_IRQn            = 24 , /**< 24  SAML11E16A Serial Communication Interface (SERCOM0) */
+  SERCOM0_OTHER_IRQn        = 25 , /**< 25  SAML11E16A Serial Communication Interface (SERCOM0) */
+  SERCOM1_0_IRQn            = 26 , /**< 26  SAML11E16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_1_IRQn            = 27 , /**< 27  SAML11E16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_2_IRQn            = 28 , /**< 28  SAML11E16A Serial Communication Interface (SERCOM1) */
+  SERCOM1_OTHER_IRQn        = 29 , /**< 29  SAML11E16A Serial Communication Interface (SERCOM1) */
+  SERCOM2_0_IRQn            = 30 , /**< 30  SAML11E16A Serial Communication Interface (SERCOM2) */
+  SERCOM2_1_IRQn            = 31 , /**< 31  SAML11E16A Serial Communication Interface (SERCOM2) */
+  SERCOM2_2_IRQn            = 32 , /**< 32  SAML11E16A Serial Communication Interface (SERCOM2) */
+  SERCOM2_OTHER_IRQn        = 33 , /**< 33  SAML11E16A Serial Communication Interface (SERCOM2) */
+  TC0_IRQn                  = 34 , /**< 34  SAML11E16A Basic Timer Counter (TC0) */
+  TC1_IRQn                  = 35 , /**< 35  SAML11E16A Basic Timer Counter (TC1) */
+  TC2_IRQn                  = 36 , /**< 36  SAML11E16A Basic Timer Counter (TC2) */
+  ADC_OTHER_IRQn            = 37 , /**< 37  SAML11E16A Analog Digital Converter (ADC) */
+  ADC_RESRDY_IRQn           = 38 , /**< 38  SAML11E16A Analog Digital Converter (ADC) */
+  AC_IRQn                   = 39 , /**< 39  SAML11E16A Analog Comparators (AC)  */
+  DAC_UNDERRUN_A_IRQn       = 40 , /**< 40  SAML11E16A Digital Analog Converter (DAC) */
+  DAC_EMPTY_IRQn            = 41 , /**< 41  SAML11E16A Digital Analog Converter (DAC) */
+  PTC_IRQn                  = 42 , /**< 42  SAML11E16A Peripheral Touch Controller (PTC) */
+  TRNG_IRQn                 = 43 , /**< 43  SAML11E16A True Random Generator (TRNG) */
+  TRAM_IRQn                 = 44 , /**< 44  SAML11E16A TrustRAM (TRAM)          */
+
+  PERIPH_COUNT_IRQn        = 45  /**< Number of peripheral IDs */
+} IRQn_Type;
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+typedef struct _DeviceVectors
+{
+  /* Stack pointer */
+  void* pvStack;
+  /* Cortex-M handlers */
+  void* pfnReset_Handler;                        /* -15 Reset Vector, invoked on Power up and warm reset  */
+  void* pfnNonMaskableInt_Handler;               /* -14 Non maskable Interrupt, cannot be stopped or preempted  */
+  void* pfnHardFault_Handler;                    /* -13 Hard Fault, all classes of Fault     */
+  void* pvReservedC12;
+  void* pvReservedC11;
+  void* pvReservedC10;
+  void* pvReservedC9;
+  void* pvReservedC8;
+  void* pvReservedC7;
+  void* pvReservedC6;
+  void* pfnSVCall_Handler;                       /*  -5 System Service Call via SVC instruction  */
+  void* pvReservedC4;
+  void* pvReservedC3;
+  void* pfnPendSV_Handler;                       /*  -2 Pendable request for system service  */
+  void* pfnSysTick_Handler;                      /*  -1 System Tick Timer                    */
+
+
+  /* Peripheral handlers */
+  void* pfnSYSTEM_Handler;                       /* 0   SAML11E16A Main Clock (MCLK)   */
+  void* pfnWDT_Handler;                          /* 1   SAML11E16A Watchdog Timer (WDT) */
+  void* pfnRTC_Handler;                          /* 2   SAML11E16A Real-Time Counter (RTC) */
+  void* pfnEIC_0_Handler;                        /* 3   SAML11E16A External Interrupt Controller (EIC) */
+  void* pfnEIC_1_Handler;                        /* 4   SAML11E16A External Interrupt Controller (EIC) */
+  void* pfnEIC_2_Handler;                        /* 5   SAML11E16A External Interrupt Controller (EIC) */
+  void* pfnEIC_3_Handler;                        /* 6   SAML11E16A External Interrupt Controller (EIC) */
+  void* pfnEIC_OTHER_Handler;                    /* 7   SAML11E16A External Interrupt Controller (EIC) */
+  void* pfnFREQM_Handler;                        /* 8   SAML11E16A Frequency Meter (FREQM) */
+  void* pfnNVMCTRL_Handler;                      /* 9   SAML11E16A Non-Volatile Memory Controller (NVMCTRL) */
+  void* pfnPORT_Handler;                         /* 10  SAML11E16A Port Module (PORT)  */
+  void* pfnDMAC_0_Handler;                       /* 11  SAML11E16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_1_Handler;                       /* 12  SAML11E16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_2_Handler;                       /* 13  SAML11E16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_3_Handler;                       /* 14  SAML11E16A Direct Memory Access Controller (DMAC) */
+  void* pfnDMAC_OTHER_Handler;                   /* 15  SAML11E16A Direct Memory Access Controller (DMAC) */
+  void* pfnEVSYS_0_Handler;                      /* 16  SAML11E16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_1_Handler;                      /* 17  SAML11E16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_2_Handler;                      /* 18  SAML11E16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_3_Handler;                      /* 19  SAML11E16A Event System Interface (EVSYS) */
+  void* pfnEVSYS_NSCHK_Handler;                  /* 20  SAML11E16A Event System Interface (EVSYS) */
+  void* pfnPAC_Handler;                          /* 21  SAML11E16A Peripheral Access Controller (PAC) */
+  void* pfnSERCOM0_0_Handler;                    /* 22  SAML11E16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_1_Handler;                    /* 23  SAML11E16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_2_Handler;                    /* 24  SAML11E16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM0_OTHER_Handler;                /* 25  SAML11E16A Serial Communication Interface (SERCOM0) */
+  void* pfnSERCOM1_0_Handler;                    /* 26  SAML11E16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_1_Handler;                    /* 27  SAML11E16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_2_Handler;                    /* 28  SAML11E16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM1_OTHER_Handler;                /* 29  SAML11E16A Serial Communication Interface (SERCOM1) */
+  void* pfnSERCOM2_0_Handler;                    /* 30  SAML11E16A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_1_Handler;                    /* 31  SAML11E16A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_2_Handler;                    /* 32  SAML11E16A Serial Communication Interface (SERCOM2) */
+  void* pfnSERCOM2_OTHER_Handler;                /* 33  SAML11E16A Serial Communication Interface (SERCOM2) */
+  void* pfnTC0_Handler;                          /* 34  SAML11E16A Basic Timer Counter (TC0) */
+  void* pfnTC1_Handler;                          /* 35  SAML11E16A Basic Timer Counter (TC1) */
+  void* pfnTC2_Handler;                          /* 36  SAML11E16A Basic Timer Counter (TC2) */
+  void* pfnADC_OTHER_Handler;                    /* 37  SAML11E16A Analog Digital Converter (ADC) */
+  void* pfnADC_RESRDY_Handler;                   /* 38  SAML11E16A Analog Digital Converter (ADC) */
+  void* pfnAC_Handler;                           /* 39  SAML11E16A Analog Comparators (AC) */
+  void* pfnDAC_UNDERRUN_A_Handler;               /* 40  SAML11E16A Digital Analog Converter (DAC) */
+  void* pfnDAC_EMPTY_Handler;                    /* 41  SAML11E16A Digital Analog Converter (DAC) */
+  void* pfnPTC_Handler;                          /* 42  SAML11E16A Peripheral Touch Controller (PTC) */
+  void* pfnTRNG_Handler;                         /* 43  SAML11E16A True Random Generator (TRNG) */
+  void* pfnTRAM_Handler;                         /* 44  SAML11E16A TrustRAM (TRAM)     */
+} DeviceVectors;
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define pfnMemManage_Handler      pfnMemoryManagement_Handler     /**< \deprecated  Backward compatibility for ASF */
+#define pfnDebugMon_Handler       pfnDebugMonitor_Handler         /**< \deprecated  Backward compatibility for ASF */
+#define pfnNMI_Handler            pfnNonMaskableInt_Handler       /**< \deprecated  Backward compatibility for ASF */
+#define pfnSVC_Handler            pfnSVCall_Handler               /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
+
+/* CORTEX-M23 core handlers */
+void Reset_Handler                 ( void );
+void NonMaskableInt_Handler        ( void );
+void HardFault_Handler             ( void );
+void SVCall_Handler                ( void );
+void PendSV_Handler                ( void );
+void SysTick_Handler               ( void );
+#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
+
+#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
+
+/* Peripherals handlers */
+void AC_Handler                    ( void );
+void ADC_OTHER_Handler             ( void );
+void ADC_RESRDY_Handler            ( void );
+void DAC_EMPTY_Handler             ( void );
+void DAC_UNDERRUN_A_Handler        ( void );
+void DMAC_0_Handler                ( void );
+void DMAC_1_Handler                ( void );
+void DMAC_2_Handler                ( void );
+void DMAC_3_Handler                ( void );
+void DMAC_OTHER_Handler            ( void );
+void EIC_0_Handler                 ( void );
+void EIC_1_Handler                 ( void );
+void EIC_2_Handler                 ( void );
+void EIC_3_Handler                 ( void );
+void EIC_OTHER_Handler             ( void );
+void EVSYS_0_Handler               ( void );
+void EVSYS_1_Handler               ( void );
+void EVSYS_2_Handler               ( void );
+void EVSYS_3_Handler               ( void );
+void EVSYS_NSCHK_Handler           ( void );
+void FREQM_Handler                 ( void );
+void NVMCTRL_Handler               ( void );
+void PAC_Handler                   ( void );
+void PORT_Handler                  ( void );
+void PTC_Handler                   ( void );
+void RTC_Handler                   ( void );
+void SERCOM0_0_Handler             ( void );
+void SERCOM0_1_Handler             ( void );
+void SERCOM0_2_Handler             ( void );
+void SERCOM0_OTHER_Handler         ( void );
+void SERCOM1_0_Handler             ( void );
+void SERCOM1_1_Handler             ( void );
+void SERCOM1_2_Handler             ( void );
+void SERCOM1_OTHER_Handler         ( void );
+void SERCOM2_0_Handler             ( void );
+void SERCOM2_1_Handler             ( void );
+void SERCOM2_2_Handler             ( void );
+void SERCOM2_OTHER_Handler         ( void );
+void SYSTEM_Handler                ( void );
+void TC0_Handler                   ( void );
+void TC1_Handler                   ( void );
+void TC2_Handler                   ( void );
+void TRAM_Handler                  ( void );
+void TRNG_Handler                  ( void );
+void WDT_Handler                   ( void );
+#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
+
+
+/* Defines for Deprecated Interrupt and Exceptions handler names */
+#define MemManage_Handler         MemoryManagement_Handler        /**< \deprecated  Backward compatibility for ASF */
+#define DebugMon_Handler          DebugMonitor_Handler            /**< \deprecated  Backward compatibility for ASF */
+#define NMI_Handler               NonMaskableInt_Handler          /**< \deprecated  Backward compatibility for ASF */
+#define SVC_Handler               SVCall_Handler                  /**< \deprecated  Backward compatibility for ASF */
+
+#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+
+
+/*
+ * \brief Configuration of the CORTEX-M23 Processor and Core Peripherals
+ */
+
+#define NUM_IRQ                       45 /**< Number of interrupt request lines                                         */
+#define __ARMv8MBL_REV            0x0000 /**< Cortex-M23 Core Revision                                                  */
+#define __ETM_PRESENT                  0 /**< ETM present or not                                                        */
+#define __FPU_PRESENT                  0 /**< FPU present or not                                                        */
+#define __MPU_PRESENT                  1 /**< MPU present or not                                                        */
+#define __MTB_PRESENT                  0 /**< MTB present or not                                                        */
+#define __NVIC_PRIO_BITS               2 /**< Number of Bits used for Priority Levels                                   */
+#define __SAU_PRESENT                  0 /**< SAU present or not                                                        */
+#define __SEC_ENABLED                  0 /**< TrustZone-M enabled or not                                                */
+#define __VTOR_PRESENT                 1 /**< Vector Table Offset Register present or not                               */
+#define __Vendor_SysTickConfig         0 /**< Set to 1 if different SysTick Config is used                              */
+#define __ARCH_ARM                     1
+#define __ARCH_ARM_CORTEX_M            1
+#define __DEVICE_IS_SAM                1
+#define __TZ_PRESENT                   1
+
+/*
+ * \brief CMSIS includes
+ */
+#include <core_cm23.h>
+#if !defined DONT_USE_CMSIS_INIT
+#include "system_saml11.h"
+#endif /* DONT_USE_CMSIS_INIT */
+
+/** @}  end of SAML11E16A_cmsis CMSIS Definitions */
+
+/** \defgroup SAML11E16A_api Peripheral Software API
+ *  @{
+ */
+
+/* ************************************************************************** */
+/**  SOFTWARE PERIPHERAL API DEFINITION FOR SAML11E16A */
+/* ************************************************************************** */
+#include "component/ac.h"
+#include "component/adc.h"
+#include "component/ccl.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/idau.h"
+#include "component/mclk.h"
+#include "component/nvmctrl.h"
+#include "component/opamp.h"
+#include "component/oscctrl.h"
+#include "component/osc32kctrl.h"
+#include "component/pac.h"
+#include "component/pm.h"
+#include "component/port.h"
+#include "component/ptc.h"
+#include "component/rstc.h"
+#include "component/rtc.h"
+#include "component/sercom.h"
+#include "component/supc.h"
+#include "component/tc.h"
+#include "component/tram.h"
+#include "component/trng.h"
+#include "component/wdt.h"
+/** @}  end of Peripheral Software API */
+
+/** \defgroup SAML11E16A_reg Registers Access Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   REGISTER ACCESS DEFINITIONS FOR SAML11E16A */
+/* ************************************************************************** */
+#include "instance/ac.h"
+#include "instance/adc.h"
+#include "instance/ccl.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/idau.h"
+#include "instance/mclk.h"
+#include "instance/nvmctrl.h"
+#include "instance/opamp.h"
+#include "instance/oscctrl.h"
+#include "instance/osc32kctrl.h"
+#include "instance/pac.h"
+#include "instance/pm.h"
+#include "instance/port.h"
+#include "instance/ptc.h"
+#include "instance/rstc.h"
+#include "instance/rtc.h"
+#include "instance/sercom0.h"
+#include "instance/sercom1.h"
+#include "instance/sercom2.h"
+#include "instance/supc.h"
+#include "instance/tc0.h"
+#include "instance/tc1.h"
+#include "instance/tc2.h"
+#include "instance/tram.h"
+#include "instance/trng.h"
+#include "instance/wdt.h"
+/** @}  end of Registers Access Definitions */
+
+/** \addtogroup SAML11E16A_id Peripheral Ids Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*  PERIPHERAL ID DEFINITIONS FOR SAML11E16A */
+/* ************************************************************************** */
+#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 32k 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_PORT         ( 12) /**< \brief Port Module (PORT) */
+#define ID_AC           ( 13) /**< \brief Analog Comparators (AC) */
+#define ID_IDAU         ( 32) /**< \brief Implementation Defined Attribution Unit (IDAU) */
+#define ID_DSU          ( 33) /**< \brief Device Service Unit (DSU) */
+#define ID_NVMCTRL      ( 34) /**< \brief Non-Volatile Memory Controller (NVMCTRL) */
+#define ID_DMAC         ( 35) /**< \brief Direct Memory Access Controller (DMAC) */
+#define ID_EVSYS        ( 64) /**< \brief Event System Interface (EVSYS) */
+#define ID_SERCOM0      ( 65) /**< \brief Serial Communication Interface (SERCOM0) */
+#define ID_SERCOM1      ( 66) /**< \brief Serial Communication Interface (SERCOM1) */
+#define ID_SERCOM2      ( 67) /**< \brief Serial Communication Interface (SERCOM2) */
+#define ID_TC0          ( 68) /**< \brief Basic Timer Counter (TC0) */
+#define ID_TC1          ( 69) /**< \brief Basic Timer Counter (TC1) */
+#define ID_TC2          ( 70) /**< \brief Basic Timer Counter (TC2) */
+#define ID_ADC          ( 71) /**< \brief Analog Digital Converter (ADC) */
+#define ID_DAC          ( 72) /**< \brief Digital Analog Converter (DAC) */
+#define ID_PTC          ( 73) /**< \brief Peripheral Touch Controller (PTC) */
+#define ID_TRNG         ( 74) /**< \brief True Random Generator (TRNG) */
+#define ID_CCL          ( 75) /**< \brief Configurable Custom Logic (CCL) */
+#define ID_OPAMP        ( 76) /**< \brief Operational Amplifier (OPAMP) */
+#define ID_TRAM         ( 77) /**< \brief TrustRAM (TRAM) */
+
+#define ID_PERIPH_COUNT ( 78) /**< \brief Number of peripheral IDs */
+/** @}  end of Peripheral Ids Definitions */
+
+/** \addtogroup SAML11E16A_base Peripheral Base Address Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   BASE ADDRESS DEFINITIONS FOR SAML11E16A */
+/* ************************************************************************** */
+#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
+#define AC                     (0x40003400)                   /**< \brief (AC        ) Base Address */
+#define ADC                    (0x42001C00)                   /**< \brief (ADC       ) Base Address */
+#define CCL                    (0x42002C00)                   /**< \brief (CCL       ) Base Address */
+#define DAC                    (0x42002000)                   /**< \brief (DAC       ) Base Address */
+#define DMAC                   (0x41006000)                   /**< \brief (DMAC      ) Base Address */
+#define DSU                    (0x41002000)                   /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                (0x41002100)                   /**< \brief (DSU       ) Base Address */
+#define EIC                    (0x40002800)                   /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                (0x40002A00)                   /**< \brief (EIC       ) Base Address */
+#define EVSYS                  (0x42000000)                   /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              (0x42000200)                   /**< \brief (EVSYS     ) Base Address */
+#define FREQM                  (0x40002C00)                   /**< \brief (FREQM     ) Base Address */
+#define GCLK                   (0x40001C00)                   /**< \brief (GCLK      ) Base Address */
+#define IDAU                   (0x41000000)                   /**< \brief (IDAU      ) Base Address */
+#define MCLK                   (0x40000800)                   /**< \brief (MCLK      ) Base Address */
+#define NVMCTRL                (0x41004000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            (0x41005000)                   /**< \brief (NVMCTRL   ) Base Address */
+#define OPAMP                  (0x42003000)                   /**< \brief (OPAMP     ) Base Address */
+#define OSCCTRL                (0x40001000)                   /**< \brief (OSCCTRL   ) Base Address */
+#define OSC32KCTRL             (0x40001400)                   /**< \brief (OSC32KCTRL) Base Address */
+#define PAC                    (0x40000000)                   /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                (0x40000200)                   /**< \brief (PAC       ) Base Address */
+#define PM                     (0x40000400)                   /**< \brief (PM        ) Base Address */
+#define PORT                   (0x40003000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               (0x40003200)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             (0x60000000)                   /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         (0x60000200)                   /**< \brief (PORT      ) Base Address */
+#define PTC                    (0x42002400)                   /**< \brief (PTC       ) Base Address */
+#define RSTC                   (0x40000C00)                   /**< \brief (RSTC      ) Base Address */
+#define RTC                    (0x40002400)                   /**< \brief (RTC       ) Base Address */
+#define SERCOM0                (0x42000400)                   /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                (0x42000800)                   /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                (0x42000C00)                   /**< \brief (SERCOM2   ) Base Address */
+#define SUPC                   (0x40001800)                   /**< \brief (SUPC      ) Base Address */
+#define TC0                    (0x42001000)                   /**< \brief (TC0       ) Base Address */
+#define TC1                    (0x42001400)                   /**< \brief (TC1       ) Base Address */
+#define TC2                    (0x42001800)                   /**< \brief (TC2       ) Base Address */
+#define TRAM                   (0x42003400)                   /**< \brief (TRAM      ) Base Address */
+#define TRNG                   (0x42002800)                   /**< \brief (TRNG      ) Base Address */
+#define WDT                    (0x40002000)                   /**< \brief (WDT       ) Base Address */
+
+#else /* For C/C++ compiler */
+
+#define AC                     ((Ac *)0x40003400U)            /**< \brief (AC        ) Base Address */
+#define AC_INST_NUM            1                              /**< \brief (AC        ) Number of instances */
+#define AC_INSTS               { AC }                         /**< \brief (AC        ) Instances List */
+
+#define ADC                    ((Adc *)0x42001C00U)           /**< \brief (ADC       ) Base Address */
+#define ADC_INST_NUM           1                              /**< \brief (ADC       ) Number of instances */
+#define ADC_INSTS              { ADC }                        /**< \brief (ADC       ) Instances List */
+
+#define CCL                    ((Ccl *)0x42002C00U)           /**< \brief (CCL       ) Base Address */
+#define CCL_INST_NUM           1                              /**< \brief (CCL       ) Number of instances */
+#define CCL_INSTS              { CCL }                        /**< \brief (CCL       ) Instances List */
+
+#define DAC                    ((Dac *)0x42002000U)           /**< \brief (DAC       ) Base Address */
+#define DAC_INST_NUM           1                              /**< \brief (DAC       ) Number of instances */
+#define DAC_INSTS              { DAC }                        /**< \brief (DAC       ) Instances List */
+
+#define DMAC                   ((Dmac *)0x41006000U)          /**< \brief (DMAC      ) Base Address */
+#define DMAC_INST_NUM          1                              /**< \brief (DMAC      ) Number of instances */
+#define DMAC_INSTS             { DMAC }                       /**< \brief (DMAC      ) Instances List */
+
+#define DSU                    ((Dsu *)0x41002000U)           /**< \brief (DSU       ) Base Address */
+#define DSU_EXT                ((Dsu *)0x41002100U)           /**< \brief (DSU       ) Base Address */
+#define DSU_INST_NUM           1                              /**< \brief (DSU       ) Number of instances */
+#define DSU_INSTS              { DSU }                        /**< \brief (DSU       ) Instances List */
+
+#define EIC                    ((Eic *)0x40002800U)           /**< \brief (EIC       ) Base Address */
+#define EIC_SEC                ((Eic *)0x40002A00U)           /**< \brief (EIC       ) Base Address */
+#define EIC_INST_NUM           1                              /**< \brief (EIC       ) Number of instances */
+#define EIC_INSTS              { EIC }                        /**< \brief (EIC       ) Instances List */
+
+#define EVSYS                  ((Evsys *)0x42000000U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_SEC              ((Evsys *)0x42000200U)         /**< \brief (EVSYS     ) Base Address */
+#define EVSYS_INST_NUM         1                              /**< \brief (EVSYS     ) Number of instances */
+#define EVSYS_INSTS            { EVSYS }                      /**< \brief (EVSYS     ) Instances List */
+
+#define FREQM                  ((Freqm *)0x40002C00U)         /**< \brief (FREQM     ) Base Address */
+#define FREQM_INST_NUM         1                              /**< \brief (FREQM     ) Number of instances */
+#define FREQM_INSTS            { FREQM }                      /**< \brief (FREQM     ) Instances List */
+
+#define GCLK                   ((Gclk *)0x40001C00U)          /**< \brief (GCLK      ) Base Address */
+#define GCLK_INST_NUM          1                              /**< \brief (GCLK      ) Number of instances */
+#define GCLK_INSTS             { GCLK }                       /**< \brief (GCLK      ) Instances List */
+
+#define IDAU                   ((Idau *)0x41000000U)          /**< \brief (IDAU      ) Base Address */
+#define IDAU_INST_NUM          1                              /**< \brief (IDAU      ) Number of instances */
+#define IDAU_INSTS             { IDAU }                       /**< \brief (IDAU      ) Instances List */
+
+#define MCLK                   ((Mclk *)0x40000800U)          /**< \brief (MCLK      ) Base Address */
+#define MCLK_INST_NUM          1                              /**< \brief (MCLK      ) Number of instances */
+#define MCLK_INSTS             { MCLK }                       /**< \brief (MCLK      ) Instances List */
+
+#define NVMCTRL                ((Nvmctrl *)0x41004000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_SEC            ((Nvmctrl *)0x41005000U)       /**< \brief (NVMCTRL   ) Base Address */
+#define NVMCTRL_INST_NUM       1                              /**< \brief (NVMCTRL   ) Number of instances */
+#define NVMCTRL_INSTS          { NVMCTRL }                    /**< \brief (NVMCTRL   ) Instances List */
+
+#define OPAMP                  ((Opamp *)0x42003000U)         /**< \brief (OPAMP     ) Base Address */
+#define OPAMP_INST_NUM         1                              /**< \brief (OPAMP     ) Number of instances */
+#define OPAMP_INSTS            { OPAMP }                      /**< \brief (OPAMP     ) Instances List */
+
+#define OSCCTRL                ((Oscctrl *)0x40001000U)       /**< \brief (OSCCTRL   ) Base Address */
+#define OSCCTRL_INST_NUM       1                              /**< \brief (OSCCTRL   ) Number of instances */
+#define OSCCTRL_INSTS          { OSCCTRL }                    /**< \brief (OSCCTRL   ) Instances List */
+
+#define OSC32KCTRL             ((Osc32kctrl *)0x40001400U)    /**< \brief (OSC32KCTRL) Base Address */
+#define OSC32KCTRL_INST_NUM    1                              /**< \brief (OSC32KCTRL) Number of instances */
+#define OSC32KCTRL_INSTS       { OSC32KCTRL }                 /**< \brief (OSC32KCTRL) Instances List */
+
+#define PAC                    ((Pac *)0x40000000U)           /**< \brief (PAC       ) Base Address */
+#define PAC_SEC                ((Pac *)0x40000200U)           /**< \brief (PAC       ) Base Address */
+#define PAC_INST_NUM           1                              /**< \brief (PAC       ) Number of instances */
+#define PAC_INSTS              { PAC }                        /**< \brief (PAC       ) Instances List */
+
+#define PM                     ((Pm *)0x40000400U)            /**< \brief (PM        ) Base Address */
+#define PM_INST_NUM            1                              /**< \brief (PM        ) Number of instances */
+#define PM_INSTS               { PM }                         /**< \brief (PM        ) Instances List */
+
+#define PORT                   ((Port *)0x40003000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_SEC               ((Port *)0x40003200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS             ((Port *)0x60000000U)          /**< \brief (PORT      ) Base Address */
+#define PORT_IOBUS_SEC         ((Port *)0x60000200U)          /**< \brief (PORT      ) Base Address */
+#define PORT_INST_NUM          1                              /**< \brief (PORT      ) Number of instances */
+#define PORT_INSTS             { PORT }                       /**< \brief (PORT      ) Instances List */
+
+#define PTC                    ((Ptc *)0x42002400U)           /**< \brief (PTC       ) Base Address */
+#define PTC_INST_NUM           1                              /**< \brief (PTC       ) Number of instances */
+#define PTC_INSTS              { PTC }                        /**< \brief (PTC       ) Instances List */
+
+#define RSTC                   ((Rstc *)0x40000C00U)          /**< \brief (RSTC      ) Base Address */
+#define RSTC_INST_NUM          1                              /**< \brief (RSTC      ) Number of instances */
+#define RSTC_INSTS             { RSTC }                       /**< \brief (RSTC      ) Instances List */
+
+#define RTC                    ((Rtc *)0x40002400U)           /**< \brief (RTC       ) Base Address */
+#define RTC_INST_NUM           1                              /**< \brief (RTC       ) Number of instances */
+#define RTC_INSTS              { RTC }                        /**< \brief (RTC       ) Instances List */
+
+#define SERCOM0                ((Sercom *)0x42000400U)        /**< \brief (SERCOM0   ) Base Address */
+#define SERCOM1                ((Sercom *)0x42000800U)        /**< \brief (SERCOM1   ) Base Address */
+#define SERCOM2                ((Sercom *)0x42000C00U)        /**< \brief (SERCOM2   ) Base Address */
+#define SERCOM_INST_NUM        3                              /**< \brief (SERCOM    ) Number of instances */
+#define SERCOM_INSTS           { SERCOM0, SERCOM1, SERCOM2 }  /**< \brief (SERCOM    ) Instances List */
+
+#define SUPC                   ((Supc *)0x40001800U)          /**< \brief (SUPC      ) Base Address */
+#define SUPC_INST_NUM          1                              /**< \brief (SUPC      ) Number of instances */
+#define SUPC_INSTS             { SUPC }                       /**< \brief (SUPC      ) Instances List */
+
+#define TC0                    ((Tc *)0x42001000U)            /**< \brief (TC0       ) Base Address */
+#define TC1                    ((Tc *)0x42001400U)            /**< \brief (TC1       ) Base Address */
+#define TC2                    ((Tc *)0x42001800U)            /**< \brief (TC2       ) Base Address */
+#define TC_INST_NUM            3                              /**< \brief (TC        ) Number of instances */
+#define TC_INSTS               { TC0, TC1, TC2 }              /**< \brief (TC        ) Instances List */
+
+#define TRAM                   ((Tram *)0x42003400U)          /**< \brief (TRAM      ) Base Address */
+#define TRAM_INST_NUM          1                              /**< \brief (TRAM      ) Number of instances */
+#define TRAM_INSTS             { TRAM }                       /**< \brief (TRAM      ) Instances List */
+
+#define TRNG                   ((Trng *)0x42002800U)          /**< \brief (TRNG      ) Base Address */
+#define TRNG_INST_NUM          1                              /**< \brief (TRNG      ) Number of instances */
+#define TRNG_INSTS             { TRNG }                       /**< \brief (TRNG      ) Instances List */
+
+#define WDT                    ((Wdt *)0x40002000U)           /**< \brief (WDT       ) Base Address */
+#define WDT_INST_NUM           1                              /**< \brief (WDT       ) Number of instances */
+#define WDT_INSTS              { WDT }                        /**< \brief (WDT       ) Instances List */
+
+#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
+/** @}  end of Peripheral Base Address Definitions */
+
+/** \addtogroup SAML11E16A_pio Peripheral Pio Definitions
+ *  @{
+ */
+
+/* ************************************************************************** */
+/*   PIO DEFINITIONS FOR SAML11E16A*/
+/* ************************************************************************** */
+#include "pio/saml11e16a.h"
+/** @}  end of Peripheral Pio Definitions */
+
+/* ************************************************************************** */
+/*   MEMORY MAPPING DEFINITIONS FOR SAML11E16A*/
+/* ************************************************************************** */
+
+#define FLASH_SIZE               _U_(0x00010000)       /*   64kB Memory segment type: flash */
+#define FLASH_PAGE_SIZE          _U_(        64)
+#define FLASH_NB_OF_PAGES        _U_(      1024)
+
+#define AUX_SIZE                 _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define AUX_PAGE_SIZE            _U_(        64)
+#define AUX_NB_OF_PAGES          _U_(         4)
+
+#define BOCOR_SIZE               _U_(0x00000100)       /*    0kB Memory segment type: fuses */
+#define BOCOR_PAGE_SIZE          _U_(        64)
+#define BOCOR_NB_OF_PAGES        _U_(         4)
+
+#define DATAFLASH_SIZE           _U_(0x00000800)       /*    2kB Memory segment type: flash */
+#define DATAFLASH_PAGE_SIZE      _U_(        64)
+#define DATAFLASH_NB_OF_PAGES    _U_(        32)
+
+#define SW_CALIB_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define TEMP_LOG_SIZE            _U_(0x00000008)       /*    0kB Memory segment type: fuses */
+#define USER_PAGE_SIZE           _U_(0x00000100)       /*    0kB Memory segment type: user_page */
+#define USER_PAGE_PAGE_SIZE      _U_(        64)
+#define USER_PAGE_NB_OF_PAGES    _U_(         4)
+
+#define HSRAM_SIZE               _U_(0x00004000)       /*   16kB Memory segment type: ram */
+#define HPB0_SIZE                _U_(0x00008000)       /*   32kB Memory segment type: io */
+#define HPB1_SIZE                _U_(0x00010000)       /*   64kB Memory segment type: io */
+#define HPB2_SIZE                _U_(0x00004000)       /*   16kB Memory segment type: io */
+#define PPB_SIZE                 _U_(0x00100000)       /* 1024kB Memory segment type: io */
+#define SCS_SIZE                 _U_(0x00001000)       /*    4kB Memory segment type: io */
+#define PERIPHERALS_SIZE         _U_(0x20000000)       /* 524288kB Memory segment type: io */
+
+#define FLASH_ADDR               _U_(0x00000000)       /**< FLASH base address (type: flash)*/
+#define AUX_ADDR                 _U_(0x00806000)       /**< AUX base address (type: fuses)*/
+#define BOCOR_ADDR               _U_(0x0080c000)       /**< BOCOR base address (type: fuses)*/
+#define DATAFLASH_ADDR           _U_(0x00400000)       /**< DATAFLASH base address (type: flash)*/
+#define SW_CALIB_ADDR            _U_(0x00806020)       /**< SW_CALIB base address (type: fuses)*/
+#define TEMP_LOG_ADDR            _U_(0x00806038)       /**< TEMP_LOG base address (type: fuses)*/
+#define USER_PAGE_ADDR           _U_(0x00804000)       /**< USER_PAGE base address (type: user_page)*/
+#define HSRAM_ADDR               _U_(0x20000000)       /**< HSRAM base address (type: ram)*/
+#define HPB0_ADDR                _U_(0x40000000)       /**< HPB0 base address (type: io)*/
+#define HPB1_ADDR                _U_(0x41000000)       /**< HPB1 base address (type: io)*/
+#define HPB2_ADDR                _U_(0x42000000)       /**< HPB2 base address (type: io)*/
+#define PPB_ADDR                 _U_(0xe0000000)       /**< PPB base address (type: io)*/
+#define SCS_ADDR                 _U_(0xe000e000)       /**< SCS base address (type: io)*/
+#define PERIPHERALS_ADDR         _U_(0x40000000)       /**< PERIPHERALS base address (type: io)*/
+
+#define NVMCTRL_AUX              AUX_ADDR              /**< \brief \deprecated Old style definition. Use AUX_ADDR instead */
+#define NVMCTRL_BOCOR            BOCOR_ADDR            /**< \brief \deprecated Old style definition. Use BOCOR_ADDR instead */
+#define NVMCTRL_DATAFLASH        DATAFLASH_ADDR        /**< \brief \deprecated Old style definition. Use DATAFLASH_ADDR instead */
+#define NVMCTRL_SW_CALIB         SW_CALIB_ADDR         /**< \brief \deprecated Old style definition. Use SW_CALIB_ADDR instead */
+#define NVMCTRL_TEMP_LOG         TEMP_LOG_ADDR         /**< \brief \deprecated Old style definition. Use TEMP_LOG_ADDR instead */
+#define NVMCTRL_USER             USER_PAGE_ADDR        /**< \brief \deprecated Old style definition. Use USER_PAGE_ADDR instead */
+
+/* ************************************************************************** */
+/**  DEVICE SIGNATURES FOR SAML11E16A */
+/* ************************************************************************** */
+#define DSU_DID                  _UL_(0X20830000)
+
+/* ************************************************************************** */
+/**  ELECTRICAL DEFINITIONS FOR SAML11E16A */
+/* ************************************************************************** */
+
+/* ************************************************************************** */
+/** Event Generator IDs for SAML11E16A */
+/* ************************************************************************** */
+#define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL                    1 /**< ID for OSCCTRL event generator XOSC_FAIL */
+#define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL              2 /**< ID for OSC32KCTRL event generator XOSC32K_FAIL */
+#define EVENT_ID_GEN_SUPC_BOD33DET                        3 /**< ID for SUPC event generator BOD33DET */
+#define EVENT_ID_GEN_RTC_PER_0                            4 /**< ID for RTC event generator PER_0 */
+#define EVENT_ID_GEN_RTC_PER_1                            5 /**< ID for RTC event generator PER_1 */
+#define EVENT_ID_GEN_RTC_PER_2                            6 /**< ID for RTC event generator PER_2 */
+#define EVENT_ID_GEN_RTC_PER_3                            7 /**< ID for RTC event generator PER_3 */
+#define EVENT_ID_GEN_RTC_PER_4                            8 /**< ID for RTC event generator PER_4 */
+#define EVENT_ID_GEN_RTC_PER_5                            9 /**< ID for RTC event generator PER_5 */
+#define EVENT_ID_GEN_RTC_PER_6                           10 /**< ID for RTC event generator PER_6 */
+#define EVENT_ID_GEN_RTC_PER_7                           11 /**< ID for RTC event generator PER_7 */
+#define EVENT_ID_GEN_RTC_CMP_0                           12 /**< ID for RTC event generator CMP_0 */
+#define EVENT_ID_GEN_RTC_CMP_1                           13 /**< ID for RTC event generator CMP_1 */
+#define EVENT_ID_GEN_RTC_TAMPER                          14 /**< ID for RTC event generator TAMPER */
+#define EVENT_ID_GEN_RTC_OVF                             15 /**< ID for RTC event generator OVF */
+#define EVENT_ID_GEN_RTC_PERD                            16 /**< ID for RTC event generator PERD */
+#define EVENT_ID_GEN_EIC_EXTINT_0                        17 /**< ID for EIC event generator EXTINT_0 */
+#define EVENT_ID_GEN_EIC_EXTINT_1                        18 /**< ID for EIC event generator EXTINT_1 */
+#define EVENT_ID_GEN_EIC_EXTINT_2                        19 /**< ID for EIC event generator EXTINT_2 */
+#define EVENT_ID_GEN_EIC_EXTINT_3                        20 /**< ID for EIC event generator EXTINT_3 */
+#define EVENT_ID_GEN_EIC_EXTINT_4                        21 /**< ID for EIC event generator EXTINT_4 */
+#define EVENT_ID_GEN_EIC_EXTINT_5                        22 /**< ID for EIC event generator EXTINT_5 */
+#define EVENT_ID_GEN_EIC_EXTINT_6                        23 /**< ID for EIC event generator EXTINT_6 */
+#define EVENT_ID_GEN_EIC_EXTINT_7                        24 /**< ID for EIC event generator EXTINT_7 */
+#define EVENT_ID_GEN_DMAC_CH_0                           25 /**< ID for DMAC event generator CH_0 */
+#define EVENT_ID_GEN_DMAC_CH_1                           26 /**< ID for DMAC event generator CH_1 */
+#define EVENT_ID_GEN_DMAC_CH_2                           27 /**< ID for DMAC event generator CH_2 */
+#define EVENT_ID_GEN_DMAC_CH_3                           28 /**< ID for DMAC event generator CH_3 */
+#define EVENT_ID_GEN_TC0_OVF                             29 /**< ID for TC0 event generator OVF */
+#define EVENT_ID_GEN_TC0_MCX_0                           30 /**< ID for TC0 event generator MCX_0 */
+#define EVENT_ID_GEN_TC0_MCX_1                           31 /**< ID for TC0 event generator MCX_1 */
+#define EVENT_ID_GEN_TC1_OVF                             32 /**< ID for TC1 event generator OVF */
+#define EVENT_ID_GEN_TC1_MCX_0                           33 /**< ID for TC1 event generator MCX_0 */
+#define EVENT_ID_GEN_TC1_MCX_1                           34 /**< ID for TC1 event generator MCX_1 */
+#define EVENT_ID_GEN_TC2_OVF                             35 /**< ID for TC2 event generator OVF */
+#define EVENT_ID_GEN_TC2_MCX_0                           36 /**< ID for TC2 event generator MCX_0 */
+#define EVENT_ID_GEN_TC2_MCX_1                           37 /**< ID for TC2 event generator MCX_1 */
+#define EVENT_ID_GEN_ADC_RESRDY                          38 /**< ID for ADC event generator RESRDY */
+#define EVENT_ID_GEN_ADC_WINMON                          39 /**< ID for ADC event generator WINMON */
+#define EVENT_ID_GEN_AC_COMP_0                           40 /**< ID for AC event generator COMP_0 */
+#define EVENT_ID_GEN_AC_COMP_1                           41 /**< ID for AC event generator COMP_1 */
+#define EVENT_ID_GEN_AC_WIN_0                            42 /**< ID for AC event generator WIN_0 */
+#define EVENT_ID_GEN_DAC_EMPTY                           43 /**< ID for DAC event generator EMPTY */
+#define EVENT_ID_GEN_TRNG_READY                          46 /**< ID for TRNG event generator READY */
+#define EVENT_ID_GEN_CCL_LUTOUT_0                        47 /**< ID for CCL event generator LUTOUT_0 */
+#define EVENT_ID_GEN_CCL_LUTOUT_1                        48 /**< ID for CCL event generator LUTOUT_1 */
+#define EVENT_ID_GEN_PAC_ERR                             49 /**< ID for PAC event generator ERR */
+
+/* ************************************************************************** */
+/** Event User IDs for SAML11E16A */
+/* ************************************************************************** */
+#define EVENT_ID_USER_OSCCTRL_TUNE                        0 /**< ID for OSCCTRL event user TUNE */
+#define EVENT_ID_USER_RTC_TAMPER                          1 /**< ID for RTC event user TAMPER */
+#define EVENT_ID_USER_NVMCTRL_PAGEW                       2 /**< ID for NVMCTRL event user PAGEW */
+#define EVENT_ID_USER_PORT_EV_0                           3 /**< ID for PORT event user EV_0 */
+#define EVENT_ID_USER_PORT_EV_1                           4 /**< ID for PORT event user EV_1 */
+#define EVENT_ID_USER_PORT_EV_2                           5 /**< ID for PORT event user EV_2 */
+#define EVENT_ID_USER_PORT_EV_3                           6 /**< ID for PORT event user EV_3 */
+#define EVENT_ID_USER_DMAC_CH_0                           7 /**< ID for DMAC event user CH_0 */
+#define EVENT_ID_USER_DMAC_CH_1                           8 /**< ID for DMAC event user CH_1 */
+#define EVENT_ID_USER_DMAC_CH_2                           9 /**< ID for DMAC event user CH_2 */
+#define EVENT_ID_USER_DMAC_CH_3                          10 /**< ID for DMAC event user CH_3 */
+#define EVENT_ID_USER_TC0_EVU                            11 /**< ID for TC0 event user EVU */
+#define EVENT_ID_USER_TC1_EVU                            12 /**< ID for TC1 event user EVU */
+#define EVENT_ID_USER_TC2_EVU                            13 /**< ID for TC2 event user EVU */
+#define EVENT_ID_USER_ADC_START                          14 /**< ID for ADC event user START */
+#define EVENT_ID_USER_ADC_SYNC                           15 /**< ID for ADC event user SYNC */
+#define EVENT_ID_USER_AC_SOC_0                           16 /**< ID for AC event user SOC_0 */
+#define EVENT_ID_USER_AC_SOC_1                           17 /**< ID for AC event user SOC_1 */
+#define EVENT_ID_USER_DAC_START                          18 /**< ID for DAC event user START */
+#define EVENT_ID_USER_CCL_LUTIN_0                        21 /**< ID for CCL event user LUTIN_0 */
+#define EVENT_ID_USER_CCL_LUTIN_1                        22 /**< ID for CCL event user LUTIN_1 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}  end of SAML11E16A definitions */
+
+
+#endif /* _SAML11E16A_H_ */
diff --git a/cpu/sam0_common/include/vendor/saml11/include/system_saml11.h b/cpu/sam0_common/include/vendor/saml11/include/system_saml11.h
new file mode 100644
index 0000000000..f4f0cf8185
--- /dev/null
+++ b/cpu/sam0_common/include/vendor/saml11/include/system_saml11.h
@@ -0,0 +1,48 @@
+/**
+ * \file
+ *
+ * \brief Low-level initialization functions called upon device startup
+ *
+ * Copyright (c) 2018 Microchip Technology Inc.
+ *
+ * \license_start
+ *
+ * \page License
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * 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 _SYSTEM_SAML11_H_INCLUDED_
+#define _SYSTEM_SAML11_H_INCLUDED_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+
+extern uint32_t SystemCoreClock;   /*!< System Clock Frequency (Core Clock)  */
+
+void SystemInit(void);
+void SystemCoreClockUpdate(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SYSTEM_SAML11_H_INCLUDED */
diff --git a/cpu/sam0_common/periph/adc.c b/cpu/sam0_common/periph/adc.c
index a9ad2127ac..c2c5632ad5 100644
--- a/cpu/sam0_common/periph/adc.c
+++ b/cpu/sam0_common/periph/adc.c
@@ -121,7 +121,11 @@ static int _adc_configure(adc_res_t res)
     }
 #else /* CPU_SAML21 */
     /* Power on */
+#ifdef CPU_SAML1X
+    MCLK->APBCMASK.reg |= MCLK_APBCMASK_ADC;
+#else
     MCLK->APBDMASK.reg |= MCLK_APBDMASK_ADC;
+#endif
     /* GCLK Setup */
     GCLK->PCHCTRL[ADC_GCLK_ID].reg = GCLK_PCHCTRL_CHEN | GCLK_PCHCTRL_GEN_GCLK0;
     /* Set Voltage Reference */
diff --git a/cpu/sam0_common/periph/flashpage.c b/cpu/sam0_common/periph/flashpage.c
index eb192b732f..7e24130284 100644
--- a/cpu/sam0_common/periph/flashpage.c
+++ b/cpu/sam0_common/periph/flashpage.c
@@ -32,10 +32,19 @@
 
 #define NVMCTRL_PAC_BIT     (0x00000002)
 
+/**
+ * @brief   NVMCTRL selection macros
+ */
+#ifdef CPU_FAM_SAML11
+#define _NVMCTRL NVMCTRL_SEC
+#else
+#define _NVMCTRL NVMCTRL
+#endif
+
 static void _unlock(void)
 {
     /* remove peripheral access lock for the NVMCTRL peripheral */
-#ifdef CPU_FAM_SAML21
+#if defined(CPU_FAM_SAML21) || defined(CPU_SAML1X)
     PAC->WRCTRL.reg = (PAC_WRCTRL_KEY_CLR | ID_NVMCTRL);
 #else
     if (PAC1->WPSET.reg & NVMCTRL_PAC_BIT) {
@@ -47,7 +56,7 @@ static void _unlock(void)
 static void _lock(void)
 {
     /* put peripheral access lock for the NVMCTRL peripheral */
-#ifdef CPU_FAM_SAML21
+#if defined(CPU_FAM_SAML21) || defined(CPU_SAML1X)
     PAC->WRCTRL.reg = (PAC_WRCTRL_KEY_SET | ID_NVMCTRL);
 #else
     if (PAC1->WPCLR.reg & NVMCTRL_PAC_BIT) {
@@ -79,26 +88,35 @@ void flashpage_write_raw(void *target_addr, const void *data, size_t len)
 
     _unlock();
 
-    NVMCTRL->CTRLA.reg = (NVMCTRL_CTRLA_CMDEX_KEY | NVMCTRL_CTRLA_CMD_PBC);
+    _NVMCTRL->CTRLA.reg = (NVMCTRL_CTRLA_CMDEX_KEY | NVMCTRL_CTRLA_CMD_PBC);
     for (unsigned i = 0; i < len; i++) {
         *dst++ = *data_addr++;
     }
-    NVMCTRL->CTRLA.reg = (NVMCTRL_CTRLA_CMDEX_KEY | NVMCTRL_CTRLA_CMD_WP);
+    _NVMCTRL->CTRLA.reg = (NVMCTRL_CTRLA_CMDEX_KEY | NVMCTRL_CTRLA_CMD_WP);
 
     _lock();
 }
 
 void flashpage_write(int page, const void *data)
 {
-    assert(page < FLASHPAGE_NUMOF);
+    assert((uint32_t)page < FLASHPAGE_NUMOF);
 
     uint32_t *page_addr = (uint32_t *)flashpage_addr(page);
 
     /* erase given page (the ADDR register uses 16-bit addresses) */
     _unlock();
-    NVMCTRL->ADDR.reg = (((uint32_t)page_addr) >> 1);
-    NVMCTRL->CTRLA.reg = (NVMCTRL_CTRLA_CMDEX_KEY | NVMCTRL_CTRLA_CMD_ER);
-    while (!NVMCTRL->INTFLAG.bit.READY) {}
+#ifdef CPU_SAML1X
+    /* Ensure address alignment */
+    _NVMCTRL->ADDR.reg = (((uint32_t)page_addr) & 0xfffffffe);
+#else
+    _NVMCTRL->ADDR.reg = (((uint32_t)page_addr) >> 1);
+#endif
+    _NVMCTRL->CTRLA.reg = (NVMCTRL_CTRLA_CMDEX_KEY | NVMCTRL_CTRLA_CMD_ER);
+#ifdef CPU_SAML1X
+    while(!_NVMCTRL->STATUS.bit.READY) {}
+#else
+    while (!_NVMCTRL->INTFLAG.bit.READY) {}
+#endif
     _lock();
 
     /* write data to page */
diff --git a/cpu/sam0_common/periph/gpio.c b/cpu/sam0_common/periph/gpio.c
index 87ab3330f8..e88d4f8fe5 100644
--- a/cpu/sam0_common/periph/gpio.c
+++ b/cpu/sam0_common/periph/gpio.c
@@ -37,10 +37,24 @@
 #define MODE_PINCFG_MASK            (0x06)
 
 #ifdef MODULE_PERIPH_GPIO_IRQ
+
 /**
  * @brief   Number of external interrupt lines
  */
+#ifdef CPU_SAML1X
+#define NUMOF_IRQS                  (8U)
+#else
 #define NUMOF_IRQS                  (16U)
+#endif
+
+/**
+ * @brief   External Interrupts Controller selection macros
+ */
+#ifdef CPU_FAM_SAML11
+#define _EIC EIC_SEC
+#else
+#define _EIC EIC
+#endif
 
 static gpio_isr_ctx_t gpio_config[NUMOF_IRQS];
 #endif /* MODULE_PERIPH_GPIO_IRQ */
@@ -181,26 +195,31 @@ int gpio_init_int(gpio_t pin, gpio_mode_t mode, gpio_flank_t flank,
     MCLK->APBAMASK.reg |= MCLK_APBAMASK_EIC;
     GCLK->PCHCTRL[EIC_GCLK_ID].reg = GCLK_PCHCTRL_CHEN | GCLK_PCHCTRL_GEN_GCLK0;
     /* disable the EIC module*/
-    EIC->CTRLA.reg = 0;
-    while (EIC->SYNCBUSY.reg & EIC_SYNCBUSY_ENABLE) {}
+    _EIC->CTRLA.reg = 0;
+    while (_EIC->SYNCBUSY.reg & EIC_SYNCBUSY_ENABLE) {}
 #endif
     /* configure the active flank */
-    EIC->CONFIG[exti >> 3].reg &= ~(0xf << ((exti & 0x7) * 4));
-    EIC->CONFIG[exti >> 3].reg |=  (flank << ((exti & 0x7) * 4));
+    _EIC->CONFIG[exti >> 3].reg &= ~(0xf << ((exti & 0x7) * 4));
+    _EIC->CONFIG[exti >> 3].reg |=  (flank << ((exti & 0x7) * 4));
     /* enable the global EIC interrupt */
+#ifdef CPU_SAML1X
+    /* EXTI[4..7] are binded to EIC_OTHER_IRQn */
+    NVIC_EnableIRQ((exti > 3 )? EIC_OTHER_IRQn : (EIC_0_IRQn + exti));
+#else
     NVIC_EnableIRQ(EIC_IRQn);
+#endif
     /* clear interrupt flag and enable the interrupt line and line wakeup */
-    EIC->INTFLAG.reg = (1 << exti);
-    EIC->INTENSET.reg = (1 << exti);
+    _EIC->INTFLAG.reg = (1 << exti);
+    _EIC->INTENSET.reg = (1 << exti);
 #ifdef CPU_FAM_SAMD21
-    EIC->WAKEUP.reg |= (1 << exti);
+    _EIC->WAKEUP.reg |= (1 << exti);
     /* enable the EIC module*/
-    EIC->CTRL.reg = EIC_CTRL_ENABLE;
-    while (EIC->STATUS.reg & EIC_STATUS_SYNCBUSY) {}
+    _EIC->CTRL.reg = EIC_CTRL_ENABLE;
+    while (_EIC->STATUS.reg & EIC_STATUS_SYNCBUSY) {}
 #else /* CPU_FAM_SAML21 */
     /* enable the EIC module*/
-    EIC->CTRLA.reg = EIC_CTRLA_ENABLE;
-    while (EIC->SYNCBUSY.reg & EIC_SYNCBUSY_ENABLE) {}
+    _EIC->CTRLA.reg = EIC_CTRLA_ENABLE;
+    while (_EIC->SYNCBUSY.reg & EIC_SYNCBUSY_ENABLE) {}
 #endif
     return 0;
 }
@@ -211,7 +230,7 @@ void gpio_irq_enable(gpio_t pin)
     if (exti == -1) {
         return;
     }
-    EIC->INTENSET.reg = (1 << exti);
+    _EIC->INTENSET.reg = (1 << exti);
 }
 
 void gpio_irq_disable(gpio_t pin)
@@ -220,17 +239,45 @@ void gpio_irq_disable(gpio_t pin)
     if (exti == -1) {
         return;
     }
-    EIC->INTENCLR.reg = (1 << exti);
+    _EIC->INTENCLR.reg = (1 << exti);
 }
 
 void isr_eic(void)
 {
     for (unsigned i = 0; i < NUMOF_IRQS; i++) {
-        if (EIC->INTFLAG.reg & (1 << i)) {
-            EIC->INTFLAG.reg = (1 << i);
+        if (_EIC->INTFLAG.reg & (1 << i)) {
+            _EIC->INTFLAG.reg = (1 << i);
             gpio_config[i].cb(gpio_config[i].arg);
         }
     }
     cortexm_isr_end();
 }
+
+#ifdef CPU_SAML1X
+void isr_eic0(void)
+{
+    isr_eic();
+}
+
+void isr_eic1(void)
+{
+    isr_eic();
+}
+
+void isr_eic2(void)
+{
+    isr_eic();
+}
+
+void isr_eic3(void)
+{
+    isr_eic();
+}
+
+void isr_eic_other(void)
+{
+    isr_eic();
+}
+#endif /* CPU_SAML1X */
+
 #endif /* MODULE_PERIPH_GPIO_IRQ */
diff --git a/cpu/sam0_common/periph/i2c.c b/cpu/sam0_common/periph/i2c.c
index 2018bd05e6..dab684965f 100644
--- a/cpu/sam0_common/periph/i2c.c
+++ b/cpu/sam0_common/periph/i2c.c
@@ -44,7 +44,7 @@
 #define BUSSTATE_OWNER SERCOM_I2CM_STATUS_BUSSTATE(2)
 #define BUSSTATE_BUSY SERCOM_I2CM_STATUS_BUSSTATE(3)
 
-#if defined(CPU_FAM_SAML21) || defined(CPU_FAM_SAMR30)
+#if defined(CPU_SAML21) || defined(CPU_SAML1X)
 #define SERCOM_I2CM_CTRLA_MODE_I2C_MASTER SERCOM_I2CM_CTRLA_MODE(5)
 #endif
 
@@ -98,6 +98,10 @@ void i2c_init(i2c_t dev)
                   SERCOM0_GCLK_ID_SLOW : SERCOM5_GCLK_ID_SLOW)].reg =
     (GCLK_PCHCTRL_CHEN | i2c_config[dev].gclk_src  );
     while (GCLK->SYNCBUSY.bit.GENCTRL) {}
+#elif defined (CPU_SAML1X)
+    GCLK->PCHCTRL[SERCOM0_GCLK_ID_SLOW].reg = (GCLK_PCHCTRL_CHEN |
+                                              i2c_config[dev].gclk_src  );
+     while (GCLK->SYNCBUSY.bit.GENCTRL0) {}
 #else
     /* GCLK_SERCOMx_SLOW is shared for all sercom */
     GCLK->CLKCTRL.reg = (GCLK_CLKCTRL_CLKEN |
diff --git a/cpu/sam0_common/periph/spi.c b/cpu/sam0_common/periph/spi.c
index bb85fb8c93..551798c36f 100644
--- a/cpu/sam0_common/periph/spi.c
+++ b/cpu/sam0_common/periph/spi.c
@@ -50,7 +50,7 @@ static inline void poweron(spi_t bus)
 {
 #if defined(CPU_FAM_SAMD21)
     PM->APBCMASK.reg |= (PM_APBCMASK_SERCOM0 << sercom_id(dev(bus)));
-#elif defined(CPU_FAM_SAML21) || defined(CPU_FAM_SAMR30)
+#elif defined(CPU_SAML21) || defined(CPU_SAML1X)
     MCLK->APBCMASK.reg |= (MCLK_APBCMASK_SERCOM0 << sercom_id(dev(bus)));
 #endif
 }
@@ -59,7 +59,7 @@ static inline void poweroff(spi_t bus)
 {
 #if defined(CPU_FAM_SAMD21)
     PM->APBCMASK.reg &= ~(PM_APBCMASK_SERCOM0 << sercom_id(dev(bus)));
-#elif defined(CPU_FAM_SAML21) || defined(CPU_FAM_SAMR30)
+#elif defined(CPU_SAML21) || defined(CPU_SAML1X)
     MCLK->APBCMASK.reg &= ~(MCLK_APBCMASK_SERCOM0 << sercom_id(dev(bus)));
 #endif
 }
@@ -88,7 +88,7 @@ void spi_init(spi_t bus)
     GCLK->CLKCTRL.reg = (GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 |
                          (SERCOM0_GCLK_ID_CORE + sercom_id(dev(bus))));
     while (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY) {}
-#elif defined(CPU_FAM_SAML21) || defined(CPU_FAM_SAMR30)
+#elif defined(CPU_SAML21) || defined(CPU_SAML1X)
     GCLK->PCHCTRL[SERCOM0_GCLK_ID_CORE + sercom_id(dev(bus))].reg =
                                 (GCLK_PCHCTRL_CHEN | GCLK_PCHCTRL_GEN_GCLK0);
 #endif
diff --git a/cpu/sam0_common/periph/uart.c b/cpu/sam0_common/periph/uart.c
index d75a3d4e9f..7ebf2c0ca2 100644
--- a/cpu/sam0_common/periph/uart.c
+++ b/cpu/sam0_common/periph/uart.c
@@ -99,7 +99,11 @@ int uart_init(uart_t uart, uint32_t baudrate, uart_rx_cb_t rx_cb, void *arg)
     if ((rx_cb) && (uart_config[uart].rx_pin != GPIO_UNDEF)) {
         uart_ctx[uart].rx_cb = rx_cb;
         uart_ctx[uart].arg = arg;
+#if defined (CPU_SAML1X)
+        NVIC_EnableIRQ(SERCOM0_2_IRQn + (sercom_id(dev(uart)) * 4));
+#else
         NVIC_EnableIRQ(SERCOM0_IRQn + sercom_id(dev(uart)));
+#endif
         dev(uart)->CTRLB.reg |= SERCOM_USART_CTRLB_RXEN;
         dev(uart)->INTENSET.reg |= SERCOM_USART_INTENSET_RXC;
         /* set wakeup receive from sleep if enabled */
-- 
GitLab