3bd303f204a59ed950934f5da4c299a8be33b363
- Author
- Joel Challis <git@zvecr.com>
- Committer
- GitHub <noreply@github.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/Doxyfile b/Doxyfile
2index 42f2e70c0ec4f7399ca224d6dd1037112ce8e2a9..f8c60f5f84d6b8da5c8f2f05a7c8656d205ad641 100644
3--- a/Doxyfile
4+++ b/Doxyfile
5@@ -145,7 +145,7 @@ FILE_PATTERNS = *.c \
6 RECURSIVE = YES
7 EXCLUDE =
8 EXCLUDE_SYMLINKS = NO
9-EXCLUDE_PATTERNS = */protocol/arm_atsam/*
10+EXCLUDE_PATTERNS =
11 EXCLUDE_SYMBOLS =
12 EXAMPLE_PATH =
13 EXAMPLE_PATTERNS = *
14diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk
15index c1cdd5d8865fe7dccaf854c22d277b1f9d7a8bfd..2b1293088772ede35eadb7f8cf0b5dd38588e1e1 100644
16--- a/builddefs/common_features.mk
17+++ b/builddefs/common_features.mk
18@@ -238,10 +238,6 @@ else
19 OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
20 SRC += eeprom_driver.c eeprom_transient.c
21 endif
22- else ifeq ($(PLATFORM),ARM_ATSAM)
23- # arm_atsam EEPROM
24- OPT_DEFS += -DEEPROM_SAMD
25- SRC += eeprom_samd.c
26 else ifeq ($(PLATFORM),TEST)
27 # Test harness "EEPROM"
28 OPT_DEFS += -DEEPROM_TEST_HARNESS
29diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk
30index cc7d5a76d3ff6166d69a25e85a615d326244f447..e45063cfaf5a1a83055b62b919ebfefde5f5211d 100644
31--- a/builddefs/common_rules.mk
32+++ b/builddefs/common_rules.mk
33@@ -58,10 +58,6 @@ endif
34 #---------------- C Compiler Options ----------------
35
36 ifeq ($(strip $(LTO_ENABLE)), yes)
37- ifeq ($(PLATFORM),ARM_ATSAM)
38- $(info Enabling LTO on arm_atsam-targeting boards is known to have a high likelihood of failure.)
39- $(info If unsure, set LTO_ENABLE = no.)
40- endif
41 CDEFS += -flto
42 CDEFS += -DLTO_ENABLE
43 endif
44diff --git a/docs/compatible_microcontrollers.md b/docs/compatible_microcontrollers.md
45index 785aee30d5cce1cdc4bd42eadea62d7269bd5a7e..e2d27e06f2f1de281fd38a72ff1b15063f498f4b 100644
46--- a/docs/compatible_microcontrollers.md
47+++ b/docs/compatible_microcontrollers.md
48@@ -75,10 +75,6 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s
49
50 For a detailed overview about the RP2040 support by QMK see the [dedicated RP2040 page](platformdev_rp2040).
51
52-## Atmel ATSAM
53-
54diff --git a/docs/drivers/gpio.md b/docs/drivers/gpio.md
55index 9ce4f2aa20c1a2ed502fbae96286e8f72b600c62..b21a17bc39aa1619a8494463e4342fd5adb61a4c 100644
56--- a/docs/drivers/gpio.md
57+++ b/docs/drivers/gpio.md
58@@ -13,7 +13,7 @@ The following macros provide basic control of GPIOs and are found in `platforms/
59 |`gpio_set_pin_input_low(pin)` |Set pin as input with builtin pull-down resistor (unavailable on AVR)|
60 |`gpio_set_pin_output(pin)` |Set pin as output (alias of `gpio_set_pin_output_push_pull`) |
61 |`gpio_set_pin_output_push_pull(pin)` |Set pin as output, push/pull mode |
62-|`gpio_set_pin_output_open_drain(pin)`|Set pin as output, open-drain mode (unavailable on AVR and ATSAM) |
63+|`gpio_set_pin_output_open_drain(pin)`|Set pin as output, open-drain mode (unavailable on AVR) |
64 |`gpio_write_pin_high(pin)` |Set pin level as high, assuming it is an output |
65 |`gpio_write_pin_low(pin)` |Set pin level as low, assuming it is an output |
66 |`gpio_write_pin(pin, level)` |Set pin level, assuming it is an output |
67diff --git a/keyboards/massdrop/alt/alt.c b/keyboards/massdrop/alt/alt.c
68deleted file mode 100644
69index c3ed246a4fbd69941c2e19cd97d3847942502c4e..0000000000000000000000000000000000000000
70--- a/keyboards/massdrop/alt/alt.c
71+++ /dev/null
72@@ -1,21 +0,0 @@
73-/*
74-Copyright 2021 Massdrop Inc.
75-
76-This program is free software: you can redistribute it and/or modify
77-it under the terms of the GNU General Public License as published by
78-the Free Software Foundation, either version 2 of the License, or
79-(at your option) any later version.
80-
81-This program is distributed in the hope that it will be useful,
82-but WITHOUT ANY WARRANTY; without even the implied warranty of
83-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
84-GNU General Public License for more details.
85-
86-You should have received a copy of the GNU General Public License
87-along with this program. If not, see <http://www.gnu.org/licenses/>.
88-*/
89-#include "alt.h"
90-
91-/* Temporary solution for matrix delay */
92-void matrix_output_select_delay(void) { matrix_io_delay(); }
93-void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {}
94diff --git a/keyboards/massdrop/alt/alt.h b/keyboards/massdrop/alt/alt.h
95deleted file mode 100644
96index 9fc6eac15eda6dbf4149ff6234fcba733dff5708..0000000000000000000000000000000000000000
97--- a/keyboards/massdrop/alt/alt.h
98+++ /dev/null
99@@ -1,20 +0,0 @@
100-#pragma once
101-
102-#include "quantum.h"
103-#include "config_led.h"
104-#include "matrix.h"
105-
106-#include "i2c_master.h"
107-#include "md_rgb_matrix.h" //For led keycodes
108-#include "usb/udi_cdc.h"
109-#include "usb/usb_hub.h"
110-
111-#define TOGGLE_FLAG_AND_PRINT(var, name) { \
112- if (var) { \
113- dprintf(name " disabled\r\n"); \
114- var = !var; \
115- } else { \
116- var = !var; \
117- dprintf(name " enabled\r\n"); \
118- } \
119- }
120diff --git a/keyboards/massdrop/alt/config.h b/keyboards/massdrop/alt/config.h
121deleted file mode 100644
122index 33991d4c8fa1f66cb5f6a579a88632a1696b7f8c..0000000000000000000000000000000000000000
123--- a/keyboards/massdrop/alt/config.h
124+++ /dev/null
125@@ -1,154 +0,0 @@
126-/*
127-Copyright 2015 Jun Wako <wakojun@gmail.com>
128-
129-This program is free software: you can redistribute it and/or modify
130-it under the terms of the GNU General Public License as published by
131-the Free Software Foundation, either version 2 of the License, or
132-(at your option) any later version.
133-
134-This program is distributed in the hope that it will be useful,
135-but WITHOUT ANY WARRANTY; without even the implied warranty of
136-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
137-GNU General Public License for more details.
138-
139-You should have received a copy of the GNU General Public License
140-along with this program. If not, see <http://www.gnu.org/licenses/>.
141-*/
142-
143-#pragma once
144-
145-
146-/* USB Device descriptor parameter */
147-#define SERIAL_NUM "Unavailable"
148-
149-/* Temporary solution for matrix delay */
150-#define IGNORE_ATOMIC_BLOCK
151-
152-/* Avoid out-of-bounds errors when SmartEEPROM is not enabled */
153-#define EEPROM_SIZE 1024
154-
155-/* MCU Port name definitions */
156-#define PA 0
157-#define PB 1
158-
159-/* This Shift Register expands available hardware output lines to control additional peripherals */
160-/* It uses four lines from the MCU to provide 16 output lines */
161-/* Shift Register Clock configuration (MCU to ShiftRegister.RCLK) */
162-#define SR_EXP_RCLK_PIN B14
163-/* Shift Register Output Enable configuration (MCU to ShiftRegister.OE_N) */
164-#define SR_EXP_OE_PIN B15
165-/* SERCOM port to use for Shift Register SPI */
166-/* DATAOUT and SCLK must be configured to use hardware pins of this port */
167-#define SPI_SERCOM SERCOM2
168-/* Shift Register SPI Data Out configuration (MCU.SERCOMx.PAD[0] to ShiftRegister.SER) */
169-#define SPI_DATAOUT_PIN A12
170-#define SPI_DATAOUT_MUX 2
171-/* Shift Register SPI Serial Clock configuration (MCU.SERCOMx.PAD[1] to ShiftRegister.SRCLK) */
172-#define SPI_SCLK_PIN A13
173-#define SPI_SCLK_MUX 2
174-
175-/* Debug LED (Small LED Located near MCU) */
176-#define DEBUG_LED_ENABLE 1
177-#define DEBUG_LED_PORT PA
178-#define DEBUG_LED_PIN 27
179-
180-/* Additional debugging ports */
181-/* PCB M21 */
182-#define DEBUG_PORT1_ENABLE 1
183-#define DEBUG_PORT1_PORT PB
184-#define DEBUG_PORT1_PIN 3
185-/* PCB M23 */
186-#define DEBUG_PORT2_ENABLE 1
187-#define DEBUG_PORT2_PORT PB
188-#define DEBUG_PORT2_PIN 17
189-/* PCB M25 */
190-#define DEBUG_PORT3_ENABLE 1
191-#define DEBUG_PORT3_PORT PA
192-#define DEBUG_PORT3_PIN 20
193-
194-/* Debug Boot Tracing - During boot sequence, ground this pin to halt and display debug code using Debug LED */
195-/* This is useful in determining which hardware device may have malfunctioned or is improperly configured */
196-/* Feature is automatically disabled after successful boot */
197-/* PCB M27 */
198-#define DEBUG_BOOT_TRACING_ENABLE 1
199-#define DEBUG_BOOT_TRACING_PORT PB
200-#define DEBUG_BOOT_TRACING_PIN 23
201-
202-/* USB2422 config */
203-#define USB2422_ADDRESS 0x58
204-#define USB2422_VENDOR_ID 0x04D8
205-#define USB2422_PRODUCT_ID 0xEEC5
206-#define USB2422_DEVICE_VER 0x0101
207-#define USB2422_MANUFACTURER "Massdrop Inc."
208-#define USB2422_PRODUCT "Massdrop Hub"
209-#define USB2422_ACTIVE_PIN A18
210-
211-/*
212- * Feature disable options
213- * These options are also useful to firmware size reduction.
214- */
215-
216-/* disable debug print */
217-//#define NO_DEBUG
218-
219-/* disable print */
220-//#define NO_PRINT
221-
222-/* disable action features */
223-//#define NO_ACTION_LAYER
224-//#define NO_ACTION_TAPPING
225diff --git a/keyboards/massdrop/alt/config_led.c b/keyboards/massdrop/alt/config_led.c
226deleted file mode 100644
227index 963282db1eed812cffea6f90b1a0533b66595dde..0000000000000000000000000000000000000000
228--- a/keyboards/massdrop/alt/config_led.c
229+++ /dev/null
230@@ -1,62 +0,0 @@
231-#ifdef RGB_MATRIX_ENABLE
232-#include "alt.h"
233-
234-#include "md_rgb_matrix.h"
235-#include "rgb_matrix.h"
236-#include "config_led.h"
237-
238-// This table can be almost-automatically derived from ISSI3733_LED_MAP that is
239-// defined in config_led.h
240-
241-// You can calculate the (0-244, 0-64) x/y values from the x/y values defined in
242-// ISSI3733_LED_MAP with the following formula:
243-// uint8_t rgb_x = ((ISSI3733_LED_MAP[i].x - MIN_X) / (MAX_X - MIN_X)) * 224;
244-// uint8_t rgb_y = ((ISSI3733_LED_MAP[i].y - MIN_Y) / (MAX_Y - MIN_Y)) * 64;
245-// Where the min/max vars are the minimum and maximum "bounds" of x/y values
246-// present in ISSI3733_LED_MAP
247-//
248-// The row/col values need to be manually tweaked though, compensating for the
249-// "empty" cells that are a product of larger keys
250-//
251-// There is a quick-and-dirty implementation of this under ledvis.html
252-
253-led_config_t g_led_config = { {
254- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
255- { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
256- { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 },
257- { 44, NO_LED, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
258- { 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66 }
259-}, {
260- { 8, 56 }, { 22, 56 }, { 35, 56 }, { 49, 56 }, { 63, 56 }, { 77, 56 }, { 91, 56 }, { 105, 56 }, { 118, 56 }, { 132, 56 }, { 146, 56 }, { 160, 56 }, { 174, 56 }, { 195, 56 }, { 215, 56 },
261- { 11, 44 }, { 28, 44 }, { 42, 44 }, { 56, 44 }, { 70, 44 }, { 84, 44 }, { 98, 44 }, { 112, 44 }, { 125, 44 }, { 139, 44 }, { 153, 44 }, { 167, 44 }, { 181, 44 }, { 198, 44 }, { 215, 44 },
262- { 13, 32 }, { 32, 32 }, { 46, 32 }, { 60, 32 }, { 73, 32 }, { 87, 32 }, { 101, 32 }, { 115, 32 }, { 129, 32 }, { 143, 32 }, { 156, 32 }, { 170, 32 }, { 193, 32 }, { 215, 32 }, { 16, 19 },
263- { 39, 19 }, { 53, 19 }, { 67, 19 }, { 80, 19 }, { 94, 19 }, { 108, 19 }, { 122, 19 }, { 136, 19 }, { 150, 19 }, { 163, 19 }, { 182, 19 }, { 201, 19 }, { 215, 19 }, { 9, 7 }, { 27, 7 },
264- { 44, 7 }, { 96, 7 }, { 148, 7 }, { 165, 7 }, { 188, 7 }, { 201, 7 }, { 215, 7 },
265- // Underglow LEDs
266- { 1, 1 }, { 15, 0 }, { 31, 0 }, { 47, 0 }, { 63, 0 }, { 79, 0 }, { 95, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 208, 0 }, { 222, 1 },
267- { 224, 13 }, { 224, 25 }, { 224, 38 }, { 224, 50 }, { 222, 62 }, { 191, 64 }, { 179, 64 }, { 167, 64 }, { 153, 64 }, { 139, 64 }, { 125, 64 }, { 112, 64 }, { 98, 64 }, { 84, 64 }, { 70, 64 },
268- { 56, 64 }, { 42, 64 }, { 28, 64 }, { 1, 62 }, { 0, 50 }, { 0, 38 }, { 0, 25 }, { 0, 13 }
269-}, {
270- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
271- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
272- 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
273- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
274- 1, 1, 1, 4, 1, 1, 1, 1, 1,
275- // Underglow LEDs
276- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
277- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
278- 2, 2, 2, 2, 2, 2, 2, 2
279-} };
280-
281-
282-#ifdef USB_LED_INDICATOR_ENABLE
283-bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
284- if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) {
285- return false;
286- }
287- md_rgb_matrix_indicators_advanced(led_min, led_max);
288- return true;
289-}
290-#endif // USB_LED_INDICATOR_ENABLE
291-
292-#endif
293diff --git a/keyboards/massdrop/alt/config_led.h b/keyboards/massdrop/alt/config_led.h
294deleted file mode 100644
295index 770a430d3c8fa795270cc0712f0d4bf54baa55d6..0000000000000000000000000000000000000000
296--- a/keyboards/massdrop/alt/config_led.h
297+++ /dev/null
298@@ -1,178 +0,0 @@
299-/*
300-Copyright 2018 Massdrop Inc.
301-
302-This program is free software: you can redistribute it and/or modify
303-it under the terms of the GNU General Public License as published by
304-the Free Software Foundation, either version 2 of the License, or
305-(at your option) any later version.
306-
307-This program is distributed in the hope that it will be useful,
308-but WITHOUT ANY WARRANTY; without even the implied warranty of
309-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
310-GNU General Public License for more details.
311-
312-You should have received a copy of the GNU General Public License
313-along with this program. If not, see <http://www.gnu.org/licenses/>.
314-*/
315-
316-#pragma once
317-
318-//Define number of ISSI3733 drivers being used (1...16)
319-#define ISSI3733_DRIVER_COUNT 2
320-#define RGB_MATRIX_LED_COUNT ISSI3733_LED_COUNT
321-
322-//Hardware address of each driver (Refer to ISSI3733 pdf "Table 1 Slave Address" and keyboard schematic)
323-#define ISSI3773_DRIVER_ADDRESSES { 0xA0, 0xBE }
324-
325-//LED I2C bus speed
326-#define I2C_HZ 580000
327-
328-//Count of LED bodies
329-#define ISSI3733_LED_COUNT 105
330-
331-#define LED_GCR_MAX 165 //Max GCR value (0 - 255) WARNING: Raising this value may overload the LED drivers and USB bus
332-#define LED_GCR_STEP 10 //GCR increment/decrement value
333-
334-#ifdef USE_MASSDROP_CONFIGURATOR
335-#define ANIMATION_SPEED_STEP 1
336-
337-#define BREATHE_STEP 1
338-#define BREATHE_MIN_STEP 0
339-#define BREATHE_MAX_STEP 255
340-#endif
341-
342-//Default Global Current Register value (Default brightness 0 - 255)
343-#define ISSI3733_GCR_DEFAULT LED_GCR_MAX
344-
345-//Automatic power rollback and recovery
346-#define V5_HIGH 2540 //5V high level (After low power detect, point at which LEDs are allowed to use more power )
347-#define V5_LOW 2480 //5V low level (LED power rolled back to stay above this limit)
348-#define V5_CAT 2200 //5V catastrophic level (Host USB port potential to shut down)
349-
350-//LED Mapping - More practically generated from a spreadsheet program
351-//id: ID of the LED (Sync with PCB callouts)
352-//x: Physical X coordinate of LED (units do not matter)
353-//y: Physical Y coordinate of LED (units do not matter)
354-//drv: 1-Based index of ISSI3773_DRIVER_ADDRESSES
355-//cs: Matrix wiring CS col (1-16)
356-//swr: Matrix wiring SW Red row (1-12)
357-//swg: Matrix wiring SW Green row (1-12)
358-//swb: Matrix wiring SW Blue row (1-12)
359-//scan: Associated key matrix scancode (set 255 if none or 254 for LED to turn off in alternating mode)
360-//Note: Origin 0,0 may be located anywhere as the software will do the final layout
361-#define ISSI3733_LED_MAP { \
362- { .id = 1, .x = 0, .y = 0, .adr = { .drv = 2, .cs = 2, .swr = 2, .swg = 1, .swb = 3 }, .scan = 0 }, \
363- { .id = 2, .x = 0.75, .y = 0, .adr = { .drv = 2, .cs = 3, .swr = 5, .swg = 4, .swb = 6 }, .scan = 1 }, \
364- { .id = 3, .x = 1.5, .y = 0, .adr = { .drv = 2, .cs = 4, .swr = 5, .swg = 4, .swb = 6 }, .scan = 2 }, \
365- { .id = 4, .x = 2.25, .y = 0, .adr = { .drv = 2, .cs = 5, .swr = 5, .swg = 4, .swb = 6 }, .scan = 3 }, \
366- { .id = 5, .x = 3, .y = 0, .adr = { .drv = 2, .cs = 6, .swr = 5, .swg = 4, .swb = 6 }, .scan = 4 }, \
367- { .id = 6, .x = 3.75, .y = 0, .adr = { .drv = 2, .cs = 7, .swr = 5, .swg = 4, .swb = 6 }, .scan = 5 }, \
368- { .id = 7, .x = 4.5, .y = 0, .adr = { .drv = 2, .cs = 8, .swr = 5, .swg = 4, .swb = 6 }, .scan = 6 }, \
369- { .id = 8, .x = 5.25, .y = 0, .adr = { .drv = 2, .cs = 13, .swr = 2, .swg = 1, .swb = 3 }, .scan = 7 }, \
370- { .id = 9, .x = 6, .y = 0, .adr = { .drv = 1, .cs = 1, .swr = 5, .swg = 4, .swb = 6 }, .scan = 8 }, \
371- { .id = 10, .x = 6.75, .y = 0, .adr = { .drv = 1, .cs = 2, .swr = 5, .swg = 4, .swb = 6 }, .scan = 9 }, \
372- { .id = 11, .x = 7.5, .y = 0, .adr = { .drv = 1, .cs = 3, .swr = 5, .swg = 4, .swb = 6 }, .scan = 10 }, \
373- { .id = 12, .x = 8.25, .y = 0, .adr = { .drv = 1, .cs = 4, .swr = 5, .swg = 4, .swb = 6 }, .scan = 11 }, \
374- { .id = 13, .x = 9, .y = 0, .adr = { .drv = 1, .cs = 5, .swr = 5, .swg = 4, .swb = 6 }, .scan = 12 }, \
375- { .id = 14, .x = 10.125, .y = 0, .adr = { .drv = 1, .cs = 6, .swr = 5, .swg = 4, .swb = 6 }, .scan = 13 }, \
376- { .id = 15, .x = 11.25, .y = 0, .adr = { .drv = 1, .cs = 7, .swr = 2, .swg = 1, .swb = 3 }, .scan = 14 }, \
377- { .id = 16, .x = 0.188, .y = -0.75, .adr = { .drv = 2, .cs = 2, .swr = 5, .swg = 4, .swb = 6 }, .scan = 15 }, \
378- { .id = 17, .x = 1.125, .y = -0.75, .adr = { .drv = 2, .cs = 3, .swr = 8, .swg = 7, .swb = 9 }, .scan = 16 }, \
379- { .id = 18, .x = 1.875, .y = -0.75, .adr = { .drv = 2, .cs = 4, .swr = 8, .swg = 7, .swb = 9 }, .scan = 17 }, \
380- { .id = 19, .x = 2.625, .y = -0.75, .adr = { .drv = 2, .cs = 5, .swr = 8, .swg = 7, .swb = 9 }, .scan = 18 }, \
381- { .id = 20, .x = 3.375, .y = -0.75, .adr = { .drv = 2, .cs = 6, .swr = 8, .swg = 7, .swb = 9 }, .scan = 19 }, \
382- { .id = 21, .x = 4.125, .y = -0.75, .adr = { .drv = 2, .cs = 7, .swr = 8, .swg = 7, .swb = 9 }, .scan = 20 }, \
383- { .id = 22, .x = 4.875, .y = -0.75, .adr = { .drv = 2, .cs = 8, .swr = 8, .swg = 7, .swb = 9 }, .scan = 21 }, \
384- { .id = 23, .x = 5.625, .y = -0.75, .adr = { .drv = 1, .cs = 1, .swr = 8, .swg = 7, .swb = 9 }, .scan = 22 }, \
385- { .id = 24, .x = 6.375, .y = -0.75, .adr = { .drv = 1, .cs = 2, .swr = 8, .swg = 7, .swb = 9 }, .scan = 23 }, \
386- { .id = 25, .x = 7.125, .y = -0.75, .adr = { .drv = 1, .cs = 3, .swr = 8, .swg = 7, .swb = 9 }, .scan = 24 }, \
387- { .id = 26, .x = 7.875, .y = -0.75, .adr = { .drv = 1, .cs = 4, .swr = 8, .swg = 7, .swb = 9 }, .scan = 25 }, \
388- { .id = 27, .x = 8.625, .y = -0.75, .adr = { .drv = 1, .cs = 5, .swr = 8, .swg = 7, .swb = 9 }, .scan = 26 }, \
389- { .id = 28, .x = 9.375, .y = -0.75, .adr = { .drv = 1, .cs = 11, .swr = 11, .swg = 10, .swb = 12 }, .scan = 27 }, \
390- { .id = 29, .x = 10.313, .y = -0.75, .adr = { .drv = 1, .cs = 6, .swr = 8, .swg = 7, .swb = 9 }, .scan = 28 }, \
391- { .id = 30, .x = 11.25, .y = -0.75, .adr = { .drv = 1, .cs = 7, .swr = 5, .swg = 4, .swb = 6 }, .scan = 29 }, \
392- { .id = 31, .x = 0.281, .y = -1.5, .adr = { .drv = 2, .cs = 2, .swr = 8, .swg = 7, .swb = 9 }, .scan = 30 }, \
393- { .id = 32, .x = 1.313, .y = -1.5, .adr = { .drv = 2, .cs = 3, .swr = 11, .swg = 10, .swb = 12 }, .scan = 31 }, \
394- { .id = 33, .x = 2.063, .y = -1.5, .adr = { .drv = 2, .cs = 4, .swr = 11, .swg = 10, .swb = 12 }, .scan = 32 }, \
395- { .id = 34, .x = 2.813, .y = -1.5, .adr = { .drv = 2, .cs = 5, .swr = 11, .swg = 10, .swb = 12 }, .scan = 33 }, \
396- { .id = 35, .x = 3.563, .y = -1.5, .adr = { .drv = 2, .cs = 6, .swr = 11, .swg = 10, .swb = 12 }, .scan = 34 }, \
397- { .id = 36, .x = 4.313, .y = -1.5, .adr = { .drv = 2, .cs = 7, .swr = 11, .swg = 10, .swb = 12 }, .scan = 35 }, \
398diff --git a/keyboards/massdrop/alt/keyboard.json b/keyboards/massdrop/alt/keyboard.json
399deleted file mode 100644
400index 7598a43b7dd5acd419c0e4fee6ced1c3d3f55458..0000000000000000000000000000000000000000
401--- a/keyboards/massdrop/alt/keyboard.json
402+++ /dev/null
403@@ -1,107 +0,0 @@
404-{
405- "keyboard_name": "ALT Keyboard",
406- "manufacturer": "Massdrop Inc.",
407- "url": "https://www.massdrop.com/buy/massdrop-alt-mechanical-keyboard",
408- "maintainer": "Massdrop",
409- "usb": {
410- "vid": "0x04D8",
411- "pid": "0xEED3",
412- "device_version": "1.0.1"
413- },
414- "rgb_matrix": {
415- "driver": "custom"
416- },
417- "matrix_pins": {
418- "cols": ["B04", "B05", "B06", "B07", "B08", "B09", "B10", "B11", "B12", "B13", "A05", "A06", "A07", "A10", "A11"],
419- "rows": ["A00", "A01", "A02", "A03", "A04"]
420- },
421- "diode_direction": "COL2ROW",
422- "community_layouts": ["65_ansi_blocker"],
423- "features": {
424- "bootmagic": false,
425- "mousekey": false,
426- "extrakey": true,
427- "nkro": true,
428- "rgb_matrix": true
429- },
430- "layout_aliases": {
431- "LAYOUT": "LAYOUT_65_ansi_blocker"
432- },
433- "layouts": {
434- "LAYOUT_65_ansi_blocker": {
435- "layout": [
436- {"matrix": [0, 0], "x": 0, "y": 0},
437- {"matrix": [0, 1], "x": 1, "y": 0},
438- {"matrix": [0, 2], "x": 2, "y": 0},
439- {"matrix": [0, 3], "x": 3, "y": 0},
440- {"matrix": [0, 4], "x": 4, "y": 0},
441- {"matrix": [0, 5], "x": 5, "y": 0},
442- {"matrix": [0, 6], "x": 6, "y": 0},
443- {"matrix": [0, 7], "x": 7, "y": 0},
444- {"matrix": [0, 8], "x": 8, "y": 0},
445- {"matrix": [0, 9], "x": 9, "y": 0},
446- {"matrix": [0, 10], "x": 10, "y": 0},
447- {"matrix": [0, 11], "x": 11, "y": 0},
448- {"matrix": [0, 12], "x": 12, "y": 0},
449- {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
450- {"matrix": [0, 14], "x": 15, "y": 0},
451-
452- {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
453- {"matrix": [1, 1], "x": 1.5, "y": 1},
454- {"matrix": [1, 2], "x": 2.5, "y": 1},
455- {"matrix": [1, 3], "x": 3.5, "y": 1},
456- {"matrix": [1, 4], "x": 4.5, "y": 1},
457- {"matrix": [1, 5], "x": 5.5, "y": 1},
458- {"matrix": [1, 6], "x": 6.5, "y": 1},
459- {"matrix": [1, 7], "x": 7.5, "y": 1},
460- {"matrix": [1, 8], "x": 8.5, "y": 1},
461- {"matrix": [1, 9], "x": 9.5, "y": 1},
462- {"matrix": [1, 10], "x": 10.5, "y": 1},
463- {"matrix": [1, 11], "x": 11.5, "y": 1},
464- {"matrix": [1, 12], "x": 12.5, "y": 1},
465- {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
466- {"matrix": [1, 14], "x": 15, "y": 1},
467-
468- {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
469- {"matrix": [2, 1], "x": 1.75, "y": 2},
470- {"matrix": [2, 2], "x": 2.75, "y": 2},
471- {"matrix": [2, 3], "x": 3.75, "y": 2},
472- {"matrix": [2, 4], "x": 4.75, "y": 2},
473- {"matrix": [2, 5], "x": 5.75, "y": 2},
474- {"matrix": [2, 6], "x": 6.75, "y": 2},
475- {"matrix": [2, 7], "x": 7.75, "y": 2},
476- {"matrix": [2, 8], "x": 8.75, "y": 2},
477- {"matrix": [2, 9], "x": 9.75, "y": 2},
478- {"matrix": [2, 10], "x": 10.75, "y": 2},
479- {"matrix": [2, 11], "x": 11.75, "y": 2},
480- {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
481- {"matrix": [2, 14], "x": 15, "y": 2},
482-
483- {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
484- {"matrix": [3, 2], "x": 2.25, "y": 3},
485- {"matrix": [3, 3], "x": 3.25, "y": 3},
486- {"matrix": [3, 4], "x": 4.25, "y": 3},
487- {"matrix": [3, 5], "x": 5.25, "y": 3},
488- {"matrix": [3, 6], "x": 6.25, "y": 3},
489- {"matrix": [3, 7], "x": 7.25, "y": 3},
490- {"matrix": [3, 8], "x": 8.25, "y": 3},
491- {"matrix": [3, 9], "x": 9.25, "y": 3},
492- {"matrix": [3, 10], "x": 10.25, "y": 3},
493- {"matrix": [3, 11], "x": 11.25, "y": 3},
494- {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
495- {"matrix": [3, 13], "x": 14, "y": 3},
496- {"matrix": [3, 14], "x": 15, "y": 3},
497-
498- {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
499- {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
500- {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
501- {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
502- {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
503diff --git a/keyboards/massdrop/alt/keymaps/default/keymap.c b/keyboards/massdrop/alt/keymaps/default/keymap.c
504deleted file mode 100644
505index 91882e04da02ddb58dfda0e570e4620d43fcaf23..0000000000000000000000000000000000000000
506--- a/keyboards/massdrop/alt/keymaps/default/keymap.c
507+++ /dev/null
508@@ -1,115 +0,0 @@
509-#include QMK_KEYBOARD_H
510-
511-enum alt_keycodes {
512- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
513- U_T_AGCR, //USB Toggle Automatic GCR control
514- DBG_TOG, //DEBUG Toggle On / Off
515- DBG_MTRX, //DEBUG Toggle Matrix Prints
516- DBG_KBD, //DEBUG Toggle Keyboard Prints
517- DBG_MOU, //DEBUG Toggle Mouse Prints
518- MD_BOOT, //Restart into bootloader after hold timeout
519-};
520-
521-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
522- [0] = LAYOUT_65_ansi_blocker(
523- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
524- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
525- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
526- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
527- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
528- ),
529- [1] = LAYOUT_65_ansi_blocker(
530- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE,
531- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
532- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
533- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, _______, _______, KC_PGUP, KC_VOLD,
534- _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
535- ),
536- /*
537- [X] = LAYOUT(
538- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
539- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
540- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
541- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
542- _______, _______, _______, _______, _______, _______, _______, _______, _______
543- ),
544- */
545-};
546-
547-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
548-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
549-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
550-
551-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
552- static uint32_t key_timer;
553-
554- switch (keycode) {
555- case U_T_AUTO:
556- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
557- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
558- }
559- return false;
560- case U_T_AGCR:
561- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
562- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
563- }
564- return false;
565- case DBG_TOG:
566- if (record->event.pressed) {
567- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
568- }
569- return false;
570- case DBG_MTRX:
571- if (record->event.pressed) {
572- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
573- }
574- return false;
575- case DBG_KBD:
576- if (record->event.pressed) {
577- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
578- }
579- return false;
580- case DBG_MOU:
581- if (record->event.pressed) {
582- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
583- }
584- return false;
585- case MD_BOOT:
586- if (record->event.pressed) {
587- key_timer = timer_read32();
588- } else {
589- if (timer_elapsed32(key_timer) >= 500) {
590- reset_keyboard();
591- }
592- }
593- return false;
594- case RGB_TOG:
595- if (record->event.pressed) {
596- switch (rgb_matrix_get_flags()) {
597- case LED_FLAG_ALL: {
598- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
599- rgb_matrix_set_color_all(0, 0, 0);
600- }
601- break;
602- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
603- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
604- rgb_matrix_set_color_all(0, 0, 0);
605- }
606- break;
607- case LED_FLAG_UNDERGLOW: {
608diff --git a/keyboards/massdrop/alt/keymaps/default_md/keymap.c b/keyboards/massdrop/alt/keymaps/default_md/keymap.c
609deleted file mode 100644
610index 2c468ff9186d47ea03ad60d872d1e0ba7cfb0515..0000000000000000000000000000000000000000
611--- a/keyboards/massdrop/alt/keymaps/default_md/keymap.c
612+++ /dev/null
613@@ -1,296 +0,0 @@
614-#include QMK_KEYBOARD_H
615-
616-enum alt_keycodes {
617- L_BRI = SAFE_RANGE, //LED Brightness Increase //Working
618- L_BRD, //LED Brightness Decrease //Working
619- L_EDG_I, //LED Edge Brightness Increase
620- L_EDG_D, //LED Edge Brightness Decrease
621- L_EDG_M, //LED Edge lighting mode
622- L_PTN, //LED Pattern Select Next //Working
623- L_PTP, //LED Pattern Select Previous //Working
624- L_PSI, //LED Pattern Speed Increase //Working
625- L_PSD, //LED Pattern Speed Decrease //Working
626- L_RATIOD,
627- L_RATIOI,
628- L_T_MD, //LED Toggle Mode //Working
629- L_T_ONF, //LED Toggle On / Off //Broken
630- L_ON, //LED On //Broken
631- L_OFF, //LED Off //Broken
632- L_T_BR, //LED Toggle Breath Effect //Working
633- L_T_PTD, //LED Toggle Scrolling Pattern Direction //Working
634- U_T_AGCR, //USB Toggle Automatic GCR control //Working
635- DBG_TOG, //DEBUG Toggle On / Off //
636- DBG_MTRX, //DEBUG Toggle Matrix Prints //
637- DBG_KBD, //DEBUG Toggle Keyboard Prints //
638- DBG_MOU, //DEBUG Toggle Mouse Prints //
639- DBG_FAC, //DEBUG Factory light testing (All on white)
640- MD_BOOT //Restart into bootloader after hold timeout //Working
641-};
642-
643-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
644- [0] = LAYOUT(
645- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
646- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
647- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
648- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
649- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
650- ),
651- [1] = LAYOUT(
652- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE,
653- L_T_BR, L_PSD, L_BRI, L_PSI, L_EDG_I, _______, _______, _______, U_T_AGCR,_______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END,
654- L_T_PTD, L_PTP, L_BRD, L_PTN, L_EDG_D, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
655- _______, L_T_MD, L_T_ONF, _______, L_EDG_M, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD,
656- _______, _______, _______, DBG_FAC, _______, _______, KC_HOME, KC_PGDN, KC_END
657- ),
658- /*
659- [X] = LAYOUT(
660- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
661- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
662- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
663- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
664- _______, _______, _______, _______, _______, _______, _______, _______, _______
665- ),
666- */
667-};
668-
669-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
670-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
671-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
672-
673-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
674- static uint32_t key_timer;
675- static uint8_t scroll_effect = 0;
676-
677- switch (keycode) {
678- case L_BRI ... U_T_AGCR:
679- if (record->event.pressed) {
680- md_led_changed();
681- }
682- break;
683- }
684-
685- switch (keycode) {
686- case L_BRI:
687- if (record->event.pressed) {
688- if (LED_GCR_STEP > LED_GCR_MAX - gcr_desired) gcr_desired = LED_GCR_MAX;
689- else gcr_desired += LED_GCR_STEP;
690- if (led_animation_breathing) gcr_breathe = gcr_desired;
691- }
692- return false;
693- case L_BRD:
694- if (record->event.pressed) {
695- if (LED_GCR_STEP > gcr_desired) gcr_desired = 0;
696- else gcr_desired -= LED_GCR_STEP;
697- if (led_animation_breathing) gcr_breathe = gcr_desired;
698- }
699- return false;
700- case L_EDG_M:
701- if (record->event.pressed) {
702- led_edge_mode++;
703- if (led_edge_mode > LED_EDGE_MODE_MAX) {
704- led_edge_mode = LED_EDGE_MODE_ALL;
705- }
706- }
707- return false;
708- case L_EDG_I:
709- if (record->event.pressed) {
710- led_edge_brightness += 0.1;
711- if (led_edge_brightness > 1) { led_edge_brightness = 1; }
712- }
713diff --git a/keyboards/massdrop/alt/keymaps/default_md/rules.mk b/keyboards/massdrop/alt/keymaps/default_md/rules.mk
714deleted file mode 100644
715index 064a6f54c1faef1f4a89fb564df6fbc0396b6f4f..0000000000000000000000000000000000000000
716--- a/keyboards/massdrop/alt/keymaps/default_md/rules.mk
717+++ /dev/null
718@@ -1,2 +0,0 @@
719-# This keymap requires Massdrop Configurator support
720-OPT_DEFS += -DUSE_MASSDROP_CONFIGURATOR
721diff --git a/keyboards/massdrop/alt/readme.md b/keyboards/massdrop/alt/readme.md
722deleted file mode 100644
723index bf33b2048f33712ea5b9a7d110b9fddfa1413e28..0000000000000000000000000000000000000000
724--- a/keyboards/massdrop/alt/readme.md
725+++ /dev/null
726@@ -1,20 +0,0 @@
727-# ALT
728-
729-
730-
731-The Massdrop ALT is a 65% mechanical keyboard featuring dual USB-C connectors, an integrated Hi-Speed USB 2.0 hub, and fully customizable RGB backlighting and underlighting.
732-
733-Keyboard Maintainer: [Massdrop](https://github.com/massdrop)
734-Hardware Supported: Massdrop, Inc. ALT PCBs utilizing Microchip's ATSAMD51J18A MCU and USB2422 2-Port USB 2.0 Hi-Speed Hub Controller, and ISSI's IS31FL3733 LED Drivers.
735-Hardware Availability: [Massdrop ALT Mechanical Keyboard](https://www.massdrop.com/buy/massdrop-alt-mechanical-keyboard)
736-
737-Make example for this keyboard (after setting up your build environment):
738-
739- make massdrop/alt:default
740-
741-For information on flashing this keyboard, visit the following links:
742-
743-[Massdrop Loader Releases](https://github.com/Massdrop/mdloader/releases)
744-[Massdrop Loader Repository and Instructions](https://github.com/Massdrop/mdloader)
745-
746diff --git a/keyboards/massdrop/alt/rules.mk b/keyboards/massdrop/alt/rules.mk
747deleted file mode 100644
748index 869853e858ebcecb54cfb3e43fa7907db58d98f4..0000000000000000000000000000000000000000
749--- a/keyboards/massdrop/alt/rules.mk
750+++ /dev/null
751@@ -1,9 +0,0 @@
752-# project specific files
753-SRC += config_led.c
754-
755-#For platform and packs
756-ARM_ATSAM = SAMD51J18A
757-MCU = cortex-m4
758-
759-# Bootloader selection
760-BOOTLOADER = md-boot
761diff --git a/keyboards/massdrop/ctrl/DOCUMENTATION.md b/keyboards/massdrop/ctrl/DOCUMENTATION.md
762deleted file mode 100644
763index 6b3206ab91d5ae181603bbf44ebef51790179323..0000000000000000000000000000000000000000
764--- a/keyboards/massdrop/ctrl/DOCUMENTATION.md
765+++ /dev/null
766@@ -1,29 +0,0 @@
767-# Massdrop CTRL Documentation
768-
769-This is a WIP and will contine to be updated for some time in the future.
770-
771diff --git a/keyboards/massdrop/ctrl/config.h b/keyboards/massdrop/ctrl/config.h
772deleted file mode 100644
773index 33991d4c8fa1f66cb5f6a579a88632a1696b7f8c..0000000000000000000000000000000000000000
774--- a/keyboards/massdrop/ctrl/config.h
775+++ /dev/null
776@@ -1,154 +0,0 @@
777-/*
778-Copyright 2015 Jun Wako <wakojun@gmail.com>
779-
780-This program is free software: you can redistribute it and/or modify
781-it under the terms of the GNU General Public License as published by
782-the Free Software Foundation, either version 2 of the License, or
783-(at your option) any later version.
784-
785-This program is distributed in the hope that it will be useful,
786-but WITHOUT ANY WARRANTY; without even the implied warranty of
787-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
788-GNU General Public License for more details.
789-
790-You should have received a copy of the GNU General Public License
791-along with this program. If not, see <http://www.gnu.org/licenses/>.
792-*/
793-
794-#pragma once
795-
796-
797-/* USB Device descriptor parameter */
798-#define SERIAL_NUM "Unavailable"
799-
800-/* Temporary solution for matrix delay */
801-#define IGNORE_ATOMIC_BLOCK
802-
803-/* Avoid out-of-bounds errors when SmartEEPROM is not enabled */
804-#define EEPROM_SIZE 1024
805-
806-/* MCU Port name definitions */
807-#define PA 0
808-#define PB 1
809-
810-/* This Shift Register expands available hardware output lines to control additional peripherals */
811-/* It uses four lines from the MCU to provide 16 output lines */
812-/* Shift Register Clock configuration (MCU to ShiftRegister.RCLK) */
813-#define SR_EXP_RCLK_PIN B14
814-/* Shift Register Output Enable configuration (MCU to ShiftRegister.OE_N) */
815-#define SR_EXP_OE_PIN B15
816-/* SERCOM port to use for Shift Register SPI */
817-/* DATAOUT and SCLK must be configured to use hardware pins of this port */
818-#define SPI_SERCOM SERCOM2
819-/* Shift Register SPI Data Out configuration (MCU.SERCOMx.PAD[0] to ShiftRegister.SER) */
820-#define SPI_DATAOUT_PIN A12
821-#define SPI_DATAOUT_MUX 2
822-/* Shift Register SPI Serial Clock configuration (MCU.SERCOMx.PAD[1] to ShiftRegister.SRCLK) */
823-#define SPI_SCLK_PIN A13
824-#define SPI_SCLK_MUX 2
825-
826-/* Debug LED (Small LED Located near MCU) */
827-#define DEBUG_LED_ENABLE 1
828-#define DEBUG_LED_PORT PA
829-#define DEBUG_LED_PIN 27
830-
831-/* Additional debugging ports */
832-/* PCB M21 */
833-#define DEBUG_PORT1_ENABLE 1
834-#define DEBUG_PORT1_PORT PB
835-#define DEBUG_PORT1_PIN 3
836-/* PCB M23 */
837-#define DEBUG_PORT2_ENABLE 1
838-#define DEBUG_PORT2_PORT PB
839-#define DEBUG_PORT2_PIN 17
840-/* PCB M25 */
841-#define DEBUG_PORT3_ENABLE 1
842-#define DEBUG_PORT3_PORT PA
843-#define DEBUG_PORT3_PIN 20
844-
845-/* Debug Boot Tracing - During boot sequence, ground this pin to halt and display debug code using Debug LED */
846-/* This is useful in determining which hardware device may have malfunctioned or is improperly configured */
847-/* Feature is automatically disabled after successful boot */
848-/* PCB M27 */
849-#define DEBUG_BOOT_TRACING_ENABLE 1
850-#define DEBUG_BOOT_TRACING_PORT PB
851-#define DEBUG_BOOT_TRACING_PIN 23
852-
853-/* USB2422 config */
854-#define USB2422_ADDRESS 0x58
855-#define USB2422_VENDOR_ID 0x04D8
856-#define USB2422_PRODUCT_ID 0xEEC5
857-#define USB2422_DEVICE_VER 0x0101
858-#define USB2422_MANUFACTURER "Massdrop Inc."
859-#define USB2422_PRODUCT "Massdrop Hub"
860-#define USB2422_ACTIVE_PIN A18
861-
862-/*
863- * Feature disable options
864- * These options are also useful to firmware size reduction.
865- */
866-
867-/* disable debug print */
868-//#define NO_DEBUG
869-
870-/* disable print */
871-//#define NO_PRINT
872-
873-/* disable action features */
874-//#define NO_ACTION_LAYER
875-//#define NO_ACTION_TAPPING
876diff --git a/keyboards/massdrop/ctrl/config_led.c b/keyboards/massdrop/ctrl/config_led.c
877deleted file mode 100644
878index 6cc8601bb5b2ee2bb5d08a47bd9a22ed0f26542d..0000000000000000000000000000000000000000
879--- a/keyboards/massdrop/ctrl/config_led.c
880+++ /dev/null
881@@ -1,85 +0,0 @@
882-#ifdef RGB_MATRIX_ENABLE
883-#include "ctrl.h"
884-
885-#include "md_rgb_matrix.h"
886-#include "rgb_matrix.h"
887-#include "config_led.h"
888-
889-led_config_t g_led_config = { {
890- { 0, 1, 2, 3, 4, 5, 6, 7 },
891- { 16, 17, 18, 19, 20, 21, 22, 23 },
892- { 33, 34, 35, 36, 37, 38, 39, 40 },
893- { 50, 51, 52, 53, 54, 55, 56, 57 },
894- { 63, 64, 65, 66, 67, 68, 69, 70 },
895- { 76, 77, 78, 79, 80, 81, 82, 83 },
896- { 8, 9, 10, 11, 12, 13, 14, 15 },
897- { 24, 25, 26, 27, 28, 29, 30, 31 },
898- { 41, 42, 43, 44, 45, 46, 47, 48 },
899- { 58, 59, 60, 61, 62, 75, 49, 32 },
900- { 71, 72, 73, 74, 84, 85, 86, NO_LED }
901-}, {
902- // KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS
903- { 7, 5 }, { 31, 5 }, { 43, 5 }, { 55, 5 }, { 67, 5 }, { 85, 5 }, { 97, 5 }, { 109, 5 },
904- { 121, 5 }, { 139, 5 }, { 151, 5 }, { 163, 5 }, { 175, 5 }, { 193, 5 }, { 205, 5 }, { 217, 5 },
905- // KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP
906- { 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 },
907- { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 },
908- { 217, 20 },
909- // KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN
910- { 10, 30 }, { 25, 30 }, { 37, 30 }, { 49, 30 }, { 61, 30 }, { 73, 30 }, { 85, 30 }, { 97, 30 },
911- { 109, 30 }, { 121, 30 }, { 133, 30 }, { 145, 30 }, { 157, 30 }, { 172, 30 }, { 193, 30 }, { 205, 30 },
912- { 217, 30 },
913- // KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT
914- { 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 },
915- { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 },
916- // KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP
917- { 14, 49 }, { 34, 49 }, { 46, 49 }, { 58, 49 }, { 70, 49 }, { 82, 49 }, { 94, 49 }, { 106, 49 },
918- { 118, 49 }, { 130, 49 }, { 142, 49 }, { 165, 49 }, { 205, 49 },
919- // KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
920- { 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 },
921- { 193, 59 }, { 205, 59 }, { 217, 59 },
922- // Underglow / Border
923- { 224, 64 }, { 204, 64 }, { 186, 64 }, { 167, 64 }, { 149, 64 }, { 130, 64 }, { 112, 64 }, { 94, 64 },
924- { 75, 64 }, { 57, 64 }, { 38, 64 }, { 20, 64 }, { 0, 64 }, { 0, 47 }, { 0, 32 }, { 0, 17 },
925- { 0, 0 }, { 20, 0 }, { 38, 0 }, { 57, 0 }, { 75, 0 }, { 94, 0 }, { 112, 0 }, { 130, 0 },
926- { 149, 0 }, { 167, 0 }, { 186, 0 }, { 204, 0 }, { 224, 0 }, { 224, 17 }, { 224, 32 }, { 224, 47 }
927-}, {
928- // KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS
929- 1, 4, 4, 4, 4, 1, 1, 1,
930- 1, 4, 4, 4, 4, 1, 9, 1,
931- // KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP
932- 4, 4, 4, 4, 4, 4, 4, 4,
933- 4, 4, 4, 4, 4, 1, 1, 1,
934- 1,
935- // KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN
936- 1, 4, 4, 4, 4, 4, 4, 4,
937- 4, 4, 4, 4, 4, 4, 1, 1,
938- 1,
939- // KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT
940- 9, 4, 4, 4, 4, 4, 4, 4,
941- 4, 4, 4, 4, 1,
942- // KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP
943- 1, 4, 4, 4, 4, 4, 4, 4,
944- 4, 4, 4, 1, 1,
945- // KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
946- 1, 1, 1, 4, 1, 1, 1, 1,
947- 1, 1, 1,
948- // Underglow / Border
949- 2, 2, 2, 2, 2, 2, 2, 2,
950- 2, 2, 2, 2, 2, 2, 2, 2,
951- 2, 2, 2, 2, 2, 2, 2, 2,
952- 2, 2, 2, 2, 2, 2, 2, 2
953-} };
954-
955-
956-#ifdef USB_LED_INDICATOR_ENABLE
957-bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
958- if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) {
959- return false;
960- }
961- md_rgb_matrix_indicators_advanced(led_min, led_max);
962- return true;
963-}
964-#endif // USB_LED_INDICATOR_ENABLE
965-
966-#endif // RGB_MATRIX_ENABLE
967diff --git a/keyboards/massdrop/ctrl/config_led.h b/keyboards/massdrop/ctrl/config_led.h
968deleted file mode 100644
969index f582035e9e2dabd5aa0e42a5dfe8cc1229444d4e..0000000000000000000000000000000000000000
970--- a/keyboards/massdrop/ctrl/config_led.h
971+++ /dev/null
972@@ -1,192 +0,0 @@
973-/*
974-Copyright 2018 Massdrop Inc.
975-
976-This program is free software: you can redistribute it and/or modify
977-it under the terms of the GNU General Public License as published by
978-the Free Software Foundation, either version 2 of the License, or
979-(at your option) any later version.
980-
981-This program is distributed in the hope that it will be useful,
982-but WITHOUT ANY WARRANTY; without even the implied warranty of
983-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
984-GNU General Public License for more details.
985-
986-You should have received a copy of the GNU General Public License
987-along with this program. If not, see <http://www.gnu.org/licenses/>.
988-*/
989-
990-#pragma once
991-
992-//Define number of ISSI3733 drivers being used (1...16)
993-#define ISSI3733_DRIVER_COUNT 2
994-#define RGB_MATRIX_LED_COUNT ISSI3733_LED_COUNT
995-
996-//Hardware address of each driver (Refer to ISSI3733 pdf "Table 1 Slave Address" and keyboard schematic)
997-#define ISSI3773_DRIVER_ADDRESSES { 0xA0, 0xBE }
998-
999-//LED I2C bus speed
1000-#define I2C_HZ 580000
1001-
1002-//Count of LED bodies
1003-#define ISSI3733_LED_COUNT 119
1004-
1005-#define LED_GCR_MAX 165 //Max GCR value (0 - 255) WARNING: Raising this value may overload the LED drivers and USB bus
1006-#define LED_GCR_STEP 10 //GCR increment/decrement value
1007-
1008-#ifdef USE_MASSDROP_CONFIGURATOR
1009-#define ANIMATION_SPEED_STEP 1
1010-
1011-#define BREATHE_STEP 1
1012-#define BREATHE_MIN_STEP 0
1013-#define BREATHE_MAX_STEP 255
1014-#endif
1015-
1016-//Default Global Current Register value (Default brightness 0 - 255)
1017-#define ISSI3733_GCR_DEFAULT LED_GCR_MAX
1018-
1019-//Automatic power rollback and recovery
1020-#define V5_HIGH 2540 //5V high level (After low power detect, point at which LEDs are allowed to use more power )
1021-#define V5_LOW 2480 //5V low level (LED power rolled back to stay above this limit)
1022-#define V5_CAT 2200 //5V catastrophic level (Host USB port potential to shut down)
1023-
1024-//LED Mapping - More practically generated from a spreadsheet program
1025-//id: ID of the LED (Sync with PCB callouts)
1026-//x: Physical X coordinate of LED (units do not matter)
1027-//y: Physical Y coordinate of LED (units do not matter)
1028-//drv: 1-Based index of ISSI3773_DRIVER_ADDRESSES
1029-//cs: Matrix wiring CS col (1-16)
1030-//swr: Matrix wiring SW Red row (1-12)
1031-//swg: Matrix wiring SW Green row (1-12)
1032-//swb: Matrix wiring SW Blue row (1-12)
1033-//scan: Associated key matrix scancode (set 255 if none or 254 for LED to turn off in alternating mode)
1034-//Note: Origin 0,0 may be located anywhere as the software will do the final layout
1035-#define ISSI3733_LED_MAP { \
1036- { .id = 1, .x = 0, .y = 0, .adr = { .drv = 2, .cs = 2, .swr = 2, .swg = 1, .swb = 3 }, .scan = 0 }, \
1037- { .id = 2, .x = 1.5, .y = 0, .adr = { .drv = 2, .cs = 3, .swr = 5, .swg = 4, .swb = 6 }, .scan = 1 }, \
1038- { .id = 3, .x = 2.25, .y = 0, .adr = { .drv = 2, .cs = 4, .swr = 5, .swg = 4, .swb = 6 }, .scan = 2 }, \
1039- { .id = 4, .x = 3, .y = 0, .adr = { .drv = 2, .cs = 5, .swr = 5, .swg = 4, .swb = 6 }, .scan = 3 }, \
1040- { .id = 5, .x = 3.75, .y = 0, .adr = { .drv = 2, .cs = 6, .swr = 2, .swg = 1, .swb = 3 }, .scan = 4 }, \
1041- { .id = 6, .x = 4.875, .y = 0, .adr = { .drv = 2, .cs = 7, .swr = 5, .swg = 4, .swb = 6 }, .scan = 5 }, \
1042- { .id = 7, .x = 5.625, .y = 0, .adr = { .drv = 2, .cs = 8, .swr = 5, .swg = 4, .swb = 6 }, .scan = 6 }, \
1043- { .id = 8, .x = 6.375, .y = 0, .adr = { .drv = 1, .cs = 1, .swr = 5, .swg = 4, .swb = 6 }, .scan = 7 }, \
1044- { .id = 9, .x = 7.125, .y = 0, .adr = { .drv = 1, .cs = 2, .swr = 5, .swg = 4, .swb = 6 }, .scan = 48 }, \
1045- { .id = 10, .x = 8.25, .y = 0, .adr = { .drv = 1, .cs = 3, .swr = 5, .swg = 4, .swb = 6 }, .scan = 49 }, \
1046- { .id = 11, .x = 9, .y = 0, .adr = { .drv = 1, .cs = 4, .swr = 5, .swg = 4, .swb = 6 }, .scan = 50 }, \
1047- { .id = 12, .x = 9.75, .y = 0, .adr = { .drv = 1, .cs = 5, .swr = 5, .swg = 4, .swb = 6 }, .scan = 51 }, \
1048- { .id = 13, .x = 10.5, .y = 0, .adr = { .drv = 1, .cs = 6, .swr = 5, .swg = 4, .swb = 6 }, .scan = 52 }, \
1049- { .id = 14, .x = 11.625, .y = 0, .adr = { .drv = 1, .cs = 7, .swr = 5, .swg = 4, .swb = 6 }, .scan = 53 }, \
1050- { .id = 15, .x = 12.375, .y = 0, .adr = { .drv = 1, .cs = 8, .swr = 5, .swg = 4, .swb = 6 }, .scan = 54 }, \
1051- { .id = 16, .x = 13.125, .y = 0, .adr = { .drv = 1, .cs = 9, .swr = 5, .swg = 4, .swb = 6 }, .scan = 55 }, \
1052- { .id = 17, .x = 0, .y = -1.125, .adr = { .drv = 2, .cs = 1, .swr = 8, .swg = 7, .swb = 9 }, .scan = 8 }, \
1053- { .id = 18, .x = 0.75, .y = -1.125, .adr = { .drv = 2, .cs = 2, .swr = 8, .swg = 7, .swb = 9 }, .scan = 9 }, \
1054- { .id = 19, .x = 1.5, .y = -1.125, .adr = { .drv = 2, .cs = 3, .swr = 8, .swg = 7, .swb = 9 }, .scan = 10 }, \
1055- { .id = 20, .x = 2.25, .y = -1.125, .adr = { .drv = 2, .cs = 4, .swr = 8, .swg = 7, .swb = 9 }, .scan = 11 }, \
1056- { .id = 21, .x = 3, .y = -1.125, .adr = { .drv = 2, .cs = 5, .swr = 8, .swg = 7, .swb = 9 }, .scan = 12 }, \
1057- { .id = 22, .x = 3.75, .y = -1.125, .adr = { .drv = 2, .cs = 6, .swr = 8, .swg = 7, .swb = 9 }, .scan = 13 }, \
1058- { .id = 23, .x = 4.5, .y = -1.125, .adr = { .drv = 2, .cs = 7, .swr = 8, .swg = 7, .swb = 9 }, .scan = 14 }, \
1059- { .id = 24, .x = 5.25, .y = -1.125, .adr = { .drv = 2, .cs = 8, .swr = 8, .swg = 7, .swb = 9 }, .scan = 15 }, \
1060- { .id = 25, .x = 6, .y = -1.125, .adr = { .drv = 1, .cs = 1, .swr = 8, .swg = 7, .swb = 9 }, .scan = 56 }, \
1061- { .id = 26, .x = 6.75, .y = -1.125, .adr = { .drv = 1, .cs = 2, .swr = 8, .swg = 7, .swb = 9 }, .scan = 57 }, \
1062- { .id = 27, .x = 7.5, .y = -1.125, .adr = { .drv = 1, .cs = 3, .swr = 8, .swg = 7, .swb = 9 }, .scan = 58 }, \
1063- { .id = 28, .x = 8.25, .y = -1.125, .adr = { .drv = 1, .cs = 4, .swr = 8, .swg = 7, .swb = 9 }, .scan = 59 }, \
1064- { .id = 29, .x = 9, .y = -1.125, .adr = { .drv = 1, .cs = 5, .swr = 8, .swg = 7, .swb = 9 }, .scan = 60 }, \
1065- { .id = 30, .x = 10.125, .y = -1.125, .adr = { .drv = 1, .cs = 6, .swr = 8, .swg = 7, .swb = 9 }, .scan = 61 }, \
1066- { .id = 31, .x = 11.625, .y = -1.125, .adr = { .drv = 1, .cs = 7, .swr = 8, .swg = 7, .swb = 9 }, .scan = 62 }, \
1067- { .id = 32, .x = 12.375, .y = -1.125, .adr = { .drv = 1, .cs = 8, .swr = 8, .swg = 7, .swb = 9 }, .scan = 63 }, \
1068- { .id = 33, .x = 13.125, .y = -1.125, .adr = { .drv = 1, .cs = 9, .swr = 8, .swg = 7, .swb = 9 }, .scan = 79 }, \
1069- { .id = 34, .x = 0.188, .y = -1.875, .adr = { .drv = 2, .cs = 1, .swr = 11, .swg = 10, .swb = 12 }, .scan = 16 }, \
1070- { .id = 35, .x = 1.125, .y = -1.875, .adr = { .drv = 2, .cs = 2, .swr = 11, .swg = 10, .swb = 12 }, .scan = 17 }, \
1071- { .id = 36, .x = 1.875, .y = -1.875, .adr = { .drv = 2, .cs = 3, .swr = 11, .swg = 10, .swb = 12 }, .scan = 18 }, \
1072diff --git a/keyboards/massdrop/ctrl/ctrl.c b/keyboards/massdrop/ctrl/ctrl.c
1073deleted file mode 100644
1074index c688d330a5260ff0017b4e32a66182a2c2e905a9..0000000000000000000000000000000000000000
1075--- a/keyboards/massdrop/ctrl/ctrl.c
1076+++ /dev/null
1077@@ -1,21 +0,0 @@
1078-/*
1079-Copyright 2021 Massdrop Inc.
1080-
1081-This program is free software: you can redistribute it and/or modify
1082-it under the terms of the GNU General Public License as published by
1083-the Free Software Foundation, either version 2 of the License, or
1084-(at your option) any later version.
1085-
1086-This program is distributed in the hope that it will be useful,
1087-but WITHOUT ANY WARRANTY; without even the implied warranty of
1088-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1089-GNU General Public License for more details.
1090-
1091-You should have received a copy of the GNU General Public License
1092-along with this program. If not, see <http://www.gnu.org/licenses/>.
1093-*/
1094-#include "ctrl.h"
1095-
1096-/* Temporary solution for matrix delay */
1097-void matrix_output_select_delay(void) { matrix_io_delay(); }
1098-void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {}
1099diff --git a/keyboards/massdrop/ctrl/ctrl.h b/keyboards/massdrop/ctrl/ctrl.h
1100deleted file mode 100644
1101index 9fc6eac15eda6dbf4149ff6234fcba733dff5708..0000000000000000000000000000000000000000
1102--- a/keyboards/massdrop/ctrl/ctrl.h
1103+++ /dev/null
1104@@ -1,20 +0,0 @@
1105-#pragma once
1106-
1107-#include "quantum.h"
1108-#include "config_led.h"
1109-#include "matrix.h"
1110-
1111-#include "i2c_master.h"
1112-#include "md_rgb_matrix.h" //For led keycodes
1113-#include "usb/udi_cdc.h"
1114-#include "usb/usb_hub.h"
1115-
1116-#define TOGGLE_FLAG_AND_PRINT(var, name) { \
1117- if (var) { \
1118- dprintf(name " disabled\r\n"); \
1119- var = !var; \
1120- } else { \
1121- var = !var; \
1122- dprintf(name " enabled\r\n"); \
1123- } \
1124- }
1125diff --git a/keyboards/massdrop/ctrl/keyboard.json b/keyboards/massdrop/ctrl/keyboard.json
1126deleted file mode 100644
1127index d3488ebd6bb52113f91c131656555ea80ab864bf..0000000000000000000000000000000000000000
1128--- a/keyboards/massdrop/ctrl/keyboard.json
1129+++ /dev/null
1130@@ -1,132 +0,0 @@
1131-{
1132- "keyboard_name": "CTRL Keyboard",
1133- "manufacturer": "Massdrop Inc.",
1134- "url": "https://www.massdrop.com/buy/massdrop-ctrl-mechanical-keyboard",
1135- "maintainer": "Massdrop",
1136- "usb": {
1137- "vid": "0x04D8",
1138- "pid": "0xEED2",
1139- "device_version": "1.0.1"
1140- },
1141- "rgb_matrix": {
1142- "driver": "custom"
1143- },
1144- "matrix_pins": {
1145- "cols": ["A00", "A01", "A02", "A03", "A04", "A05", "A06", "A07"],
1146- "rows": ["B04", "B05", "B06", "B07", "B08", "B09", "A10", "A11", "B10", "B11", "B12"]
1147- },
1148- "diode_direction": "COL2ROW",
1149- "features": {
1150- "bootmagic": false,
1151- "mousekey": false,
1152- "extrakey": true,
1153- "nkro": true,
1154- "rgb_matrix": true
1155- },
1156- "layouts": {
1157- "LAYOUT": {
1158- "layout": [
1159- {"matrix": [0, 0], "x": 0, "y": 0},
1160-
1161- {"matrix": [0, 1], "x": 2, "y": 0},
1162- {"matrix": [0, 2], "x": 3, "y": 0},
1163- {"matrix": [0, 3], "x": 4, "y": 0},
1164- {"matrix": [0, 4], "x": 5, "y": 0},
1165-
1166- {"matrix": [0, 5], "x": 6.5, "y": 0},
1167- {"matrix": [0, 6], "x": 7.5, "y": 0},
1168- {"matrix": [0, 7], "x": 8.5, "y": 0},
1169- {"matrix": [6, 0], "x": 9.5, "y": 0},
1170-
1171- {"matrix": [6, 1], "x": 11, "y": 0},
1172- {"matrix": [6, 2], "x": 12, "y": 0},
1173- {"matrix": [6, 3], "x": 13, "y": 0},
1174- {"matrix": [6, 4], "x": 14, "y": 0},
1175-
1176- {"matrix": [6, 5], "x": 15.5, "y": 0},
1177- {"matrix": [6, 6], "x": 16.5, "y": 0},
1178- {"matrix": [6, 7], "x": 17.5, "y": 0},
1179-
1180- {"matrix": [1, 0], "x": 0, "y": 1.5},
1181- {"matrix": [1, 1], "x": 1, "y": 1.5},
1182- {"matrix": [1, 2], "x": 2, "y": 1.5},
1183- {"matrix": [1, 3], "x": 3, "y": 1.5},
1184- {"matrix": [1, 4], "x": 4, "y": 1.5},
1185- {"matrix": [1, 5], "x": 5, "y": 1.5},
1186- {"matrix": [1, 6], "x": 6, "y": 1.5},
1187- {"matrix": [1, 7], "x": 7, "y": 1.5},
1188- {"matrix": [7, 0], "x": 8, "y": 1.5},
1189- {"matrix": [7, 1], "x": 9, "y": 1.5},
1190- {"matrix": [7, 2], "x": 10, "y": 1.5},
1191- {"matrix": [7, 3], "x": 11, "y": 1.5},
1192- {"matrix": [7, 4], "x": 12, "y": 1.5},
1193- {"matrix": [7, 5], "x": 13, "y": 1.5, "w": 2},
1194-
1195- {"matrix": [7, 6], "x": 15.5, "y": 1.5},
1196- {"matrix": [7, 7], "x": 16.5, "y": 1.5},
1197- {"matrix": [9, 7], "x": 17.5, "y": 1.5},
1198-
1199- {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
1200- {"matrix": [2, 1], "x": 1.5, "y": 2.5},
1201- {"matrix": [2, 2], "x": 2.5, "y": 2.5},
1202- {"matrix": [2, 3], "x": 3.5, "y": 2.5},
1203- {"matrix": [2, 4], "x": 4.5, "y": 2.5},
1204- {"matrix": [2, 5], "x": 5.5, "y": 2.5},
1205- {"matrix": [2, 6], "x": 6.5, "y": 2.5},
1206- {"matrix": [2, 7], "x": 7.5, "y": 2.5},
1207- {"matrix": [8, 0], "x": 8.5, "y": 2.5},
1208- {"matrix": [8, 1], "x": 9.5, "y": 2.5},
1209- {"matrix": [8, 2], "x": 10.5, "y": 2.5},
1210- {"matrix": [8, 3], "x": 11.5, "y": 2.5},
1211- {"matrix": [8, 4], "x": 12.5, "y": 2.5},
1212- {"matrix": [8, 5], "x": 13.5, "y": 2.5, "w": 1.5},
1213-
1214- {"matrix": [8, 6], "x": 15.5, "y": 2.5},
1215- {"matrix": [8, 7], "x": 16.5, "y": 2.5},
1216- {"matrix": [9, 6], "x": 17.5, "y": 2.5},
1217-
1218- {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75},
1219- {"matrix": [3, 1], "x": 1.75, "y": 3.5},
1220- {"matrix": [3, 2], "x": 2.75, "y": 3.5},
1221- {"matrix": [3, 3], "x": 3.75, "y": 3.5},
1222- {"matrix": [3, 4], "x": 4.75, "y": 3.5},
1223- {"matrix": [3, 5], "x": 5.75, "y": 3.5},
1224- {"matrix": [3, 6], "x": 6.75, "y": 3.5},
1225- {"matrix": [3, 7], "x": 7.75, "y": 3.5},
1226- {"matrix": [9, 0], "x": 8.75, "y": 3.5},
1227- {"matrix": [9, 1], "x": 9.75, "y": 3.5},
1228- {"matrix": [9, 2], "x": 10.75, "y": 3.5},
1229- {"matrix": [9, 3], "x": 11.75, "y": 3.5},
1230diff --git a/keyboards/massdrop/ctrl/keymaps/default/keymap.c b/keyboards/massdrop/ctrl/keymaps/default/keymap.c
1231deleted file mode 100644
1232index 37fc1b85d81fc62e56af47fc499e6de50c82f2bb..0000000000000000000000000000000000000000
1233--- a/keyboards/massdrop/ctrl/keymaps/default/keymap.c
1234+++ /dev/null
1235@@ -1,118 +0,0 @@
1236-#include QMK_KEYBOARD_H
1237-
1238-enum ctrl_keycodes {
1239- U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active
1240- U_T_AGCR, //USB Toggle Automatic GCR control
1241- DBG_TOG, //DEBUG Toggle On / Off
1242- DBG_MTRX, //DEBUG Toggle Matrix Prints
1243- DBG_KBD, //DEBUG Toggle Keyboard Prints
1244- DBG_MOU, //DEBUG Toggle Mouse Prints
1245- MD_BOOT, //Restart into bootloader after hold timeout
1246-};
1247-
1248-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
1249- [0] = LAYOUT(
1250- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
1251- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
1252- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
1253- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
1254- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
1255- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
1256- ),
1257- [1] = LAYOUT(
1258- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______,
1259- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
1260- _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
1261- _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
1262- _______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______,
1263- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
1264- ),
1265- /*
1266- [X] = LAYOUT(
1267- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
1268- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
1269- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
1270- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
1271- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
1272- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
1273- ),
1274- */
1275-};
1276-
1277-#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT)
1278-#define MODS_CTRL (get_mods() & MOD_MASK_CTRL)
1279-#define MODS_ALT (get_mods() & MOD_MASK_ALT)
1280-
1281-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
1282- static uint32_t key_timer;
1283-
1284- switch (keycode) {
1285- case U_T_AUTO:
1286- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
1287- TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode");
1288- }
1289- return false;
1290- case U_T_AGCR:
1291- if (record->event.pressed && MODS_SHIFT && MODS_CTRL) {
1292- TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode");
1293- }
1294- return false;
1295- case DBG_TOG:
1296- if (record->event.pressed) {
1297- TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode");
1298- }
1299- return false;
1300- case DBG_MTRX:
1301- if (record->event.pressed) {
1302- TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix");
1303- }
1304- return false;
1305- case DBG_KBD:
1306- if (record->event.pressed) {
1307- TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard");
1308- }
1309- return false;
1310- case DBG_MOU:
1311- if (record->event.pressed) {
1312- TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse");
1313- }
1314- return false;
1315- case MD_BOOT:
1316- if (record->event.pressed) {
1317- key_timer = timer_read32();
1318- } else {
1319- if (timer_elapsed32(key_timer) >= 500) {
1320- reset_keyboard();
1321- }
1322- }
1323- return false;
1324- case RGB_TOG:
1325- if (record->event.pressed) {
1326- switch (rgb_matrix_get_flags()) {
1327- case LED_FLAG_ALL: {
1328- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR);
1329- rgb_matrix_set_color_all(0, 0, 0);
1330- }
1331- break;
1332- case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): {
1333- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
1334- rgb_matrix_set_color_all(0, 0, 0);
1335diff --git a/keyboards/massdrop/ctrl/keymaps/default_md/keymap.c b/keyboards/massdrop/ctrl/keymaps/default_md/keymap.c
1336deleted file mode 100644
1337index 5fcfd71589fd13441e0841892f67c12693174a7e..0000000000000000000000000000000000000000
1338--- a/keyboards/massdrop/ctrl/keymaps/default_md/keymap.c
1339+++ /dev/null
1340@@ -1,299 +0,0 @@
1341-#include QMK_KEYBOARD_H
1342-
1343-enum ctrl_keycodes {
1344- L_BRI = SAFE_RANGE, //LED Brightness Increase //Working
1345- L_BRD, //LED Brightness Decrease //Working
1346- L_EDG_I, //LED Edge Brightness Increase
1347- L_EDG_D, //LED Edge Brightness Decrease
1348- L_EDG_M, //LED Edge lighting mode
1349- L_PTN, //LED Pattern Select Next //Working
1350- L_PTP, //LED Pattern Select Previous //Working
1351- L_PSI, //LED Pattern Speed Increase //Working
1352- L_PSD, //LED Pattern Speed Decrease //Working
1353- L_RATIOD,
1354- L_RATIOI,
1355- L_T_MD, //LED Toggle Mode //Working
1356- L_T_ONF, //LED Toggle On / Off //Broken
1357- L_ON, //LED On //Broken
1358- L_OFF, //LED Off //Broken
1359- L_T_BR, //LED Toggle Breath Effect //Working
1360- L_T_PTD, //LED Toggle Scrolling Pattern Direction //Working
1361- U_T_AGCR, //USB Toggle Automatic GCR control //Working
1362- DBG_TOG, //DEBUG Toggle On / Off //
1363- DBG_MTRX, //DEBUG Toggle Matrix Prints //
1364- DBG_KBD, //DEBUG Toggle Keyboard Prints //
1365- DBG_MOU, //DEBUG Toggle Mouse Prints //
1366- DBG_FAC, //DEBUG Factory light testing (All on white)
1367- MD_BOOT //Restart into bootloader after hold timeout //Working
1368-};
1369-
1370-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
1371- [0] = LAYOUT(
1372- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
1373- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
1374- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
1375- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
1376- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
1377- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
1378- ),
1379- [1] = LAYOUT(
1380- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______,
1381- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
1382- L_T_BR, L_PSD, L_BRI, L_PSI, L_EDG_I, _______, _______, _______, U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
1383- L_T_PTD, L_PTP, L_BRD, L_PTN, L_EDG_D, _______, _______, _______, _______, _______, _______, _______, _______,
1384- _______, L_T_MD, L_T_ONF, _______, L_EDG_M, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______,
1385- _______, _______, _______, DBG_FAC, _______, _______, _______, _______, _______, _______, _______
1386- ),
1387- /*
1388- [X] = LAYOUT(
1389- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
1390- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
1391- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
1392- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
1393- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
1394- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
1395- ),
1396- */
1397-};
1398-
1399-#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RSFT))
1400-#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTL))
1401-#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
1402-
1403-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
1404- static uint32_t key_timer;
1405- static uint8_t scroll_effect = 0;
1406-
1407- switch (keycode) {
1408- case L_BRI ... U_T_AGCR:
1409- if (record->event.pressed) {
1410- md_led_changed();
1411- }
1412- break;
1413- }
1414-
1415- switch (keycode) {
1416- case L_BRI:
1417- if (record->event.pressed) {
1418- if (LED_GCR_STEP > LED_GCR_MAX - gcr_desired) gcr_desired = LED_GCR_MAX;
1419- else gcr_desired += LED_GCR_STEP;
1420- if (led_animation_breathing) gcr_breathe = gcr_desired;
1421- }
1422- return false;
1423- case L_BRD:
1424- if (record->event.pressed) {
1425- if (LED_GCR_STEP > gcr_desired) gcr_desired = 0;
1426- else gcr_desired -= LED_GCR_STEP;
1427- if (led_animation_breathing) gcr_breathe = gcr_desired;
1428- }
1429- return false;
1430- case L_EDG_M:
1431- if (record->event.pressed) {
1432- led_edge_mode++;
1433- if (led_edge_mode > LED_EDGE_MODE_MAX) {
1434- led_edge_mode = LED_EDGE_MODE_ALL;
1435- }
1436- }
1437- return false;
1438- case L_EDG_I:
1439- if (record->event.pressed) {
1440diff --git a/keyboards/massdrop/ctrl/keymaps/default_md/rules.mk b/keyboards/massdrop/ctrl/keymaps/default_md/rules.mk
1441deleted file mode 100644
1442index 064a6f54c1faef1f4a89fb564df6fbc0396b6f4f..0000000000000000000000000000000000000000
1443--- a/keyboards/massdrop/ctrl/keymaps/default_md/rules.mk
1444+++ /dev/null
1445@@ -1,2 +0,0 @@
1446-# This keymap requires Massdrop Configurator support
1447-OPT_DEFS += -DUSE_MASSDROP_CONFIGURATOR
1448diff --git a/keyboards/massdrop/ctrl/readme.md b/keyboards/massdrop/ctrl/readme.md
1449deleted file mode 100644
1450index be1e39328b54622170689c69a48ec512c2bb4965..0000000000000000000000000000000000000000
1451--- a/keyboards/massdrop/ctrl/readme.md
1452+++ /dev/null
1453@@ -1,20 +0,0 @@
1454-# CTRL
1455-
1456-
1457-
1458-The Massdrop CTRL is a TKL mechanical keyboard featuring dual USB-C connectors, an integrated Hi-Speed USB 2.0 hub, and fully customizable RGB backlighting and underlighting.
1459-
1460-Keyboard Maintainer: [Massdrop](https://github.com/massdrop)
1461-Hardware Supported: Massdrop, Inc. CTRL PCBs utilizing Microchip's ATSAMD51J18A MCU and USB2422 2-Port USB 2.0 Hi-Speed Hub Controller, and ISSI's IS31FL3733 LED Drivers.
1462-Hardware Availability: [Massdrop CTRL Mechanical Keyboard](https://www.massdrop.com/buy/massdrop-ctrl-mechanical-keyboard)
1463-
1464-Make example for this keyboard (after setting up your build environment):
1465-
1466- make massdrop/ctrl:default
1467-
1468-For information on flashing this keyboard, visit the following links:
1469-
1470-[Massdrop Loader Releases](https://github.com/Massdrop/mdloader/releases)
1471-[Massdrop Loader Repository and Instructions](https://github.com/Massdrop/mdloader)
1472-
1473diff --git a/keyboards/massdrop/ctrl/rules.mk b/keyboards/massdrop/ctrl/rules.mk
1474deleted file mode 100644
1475index 869853e858ebcecb54cfb3e43fa7907db58d98f4..0000000000000000000000000000000000000000
1476--- a/keyboards/massdrop/ctrl/rules.mk
1477+++ /dev/null
1478@@ -1,9 +0,0 @@
1479-# project specific files
1480-SRC += config_led.c
1481-
1482-#For platform and packs
1483-ARM_ATSAM = SAMD51J18A
1484-MCU = cortex-m4
1485-
1486-# Bootloader selection
1487-BOOTLOADER = md-boot
1488diff --git a/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/arm_math.h b/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/arm_math.h
1489deleted file mode 100644
1490index 4be7e8c8488918711e56fa67406c30d8e0fcd9e1..0000000000000000000000000000000000000000
1491--- a/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/arm_math.h
1492+++ /dev/null
1493@@ -1,7226 +0,0 @@
1494-/* ----------------------------------------------------------------------
1495- * Project: CMSIS DSP Library
1496- * Title: arm_math.h
1497- * Description: Public header file for CMSIS DSP Library
1498- *
1499- * $Date: 27. January 2017
1500- * $Revision: V.1.5.1
1501- *
1502- * Target Processor: Cortex-M cores
1503- * -------------------------------------------------------------------- */
1504-/*
1505- * Copyright (C) 2010-2017 ARM Limited or its affiliates. All rights reserved.
1506- *
1507- * SPDX-License-Identifier: Apache-2.0
1508- *
1509- * Licensed under the Apache License, Version 2.0 (the License); you may
1510- * not use this file except in compliance with the License.
1511- * You may obtain a copy of the License at
1512- *
1513- * www.apache.org/licenses/LICENSE-2.0
1514- *
1515- * Unless required by applicable law or agreed to in writing, software
1516- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
1517- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1518- * See the License for the specific language governing permissions and
1519- * limitations under the License.
1520- */
1521-
1522-/**
1523- \mainpage CMSIS DSP Software Library
1524- *
1525- * Introduction
1526- * ------------
1527- *
1528- * This user manual describes the CMSIS DSP software library,
1529- * a suite of common signal processing functions for use on Cortex-M processor based devices.
1530- *
1531- * The library is divided into a number of functions each covering a specific category:
1532- * - Basic math functions
1533- * - Fast math functions
1534- * - Complex math functions
1535- * - Filters
1536- * - Matrix functions
1537- * - Transforms
1538- * - Motor control functions
1539- * - Statistical functions
1540- * - Support functions
1541- * - Interpolation functions
1542- *
1543- * The library has separate functions for operating on 8-bit integers, 16-bit integers,
1544- * 32-bit integer and 32-bit floating-point values.
1545- *
1546- * Using the Library
1547- * ------------
1548- *
1549- * The library installer contains prebuilt versions of the libraries in the <code>Lib</code> folder.
1550- * - arm_cortexM7lfdp_math.lib (Cortex-M7, Little endian, Double Precision Floating Point Unit)
1551- * - arm_cortexM7bfdp_math.lib (Cortex-M7, Big endian, Double Precision Floating Point Unit)
1552- * - arm_cortexM7lfsp_math.lib (Cortex-M7, Little endian, Single Precision Floating Point Unit)
1553- * - arm_cortexM7bfsp_math.lib (Cortex-M7, Big endian and Single Precision Floating Point Unit on)
1554- * - arm_cortexM7l_math.lib (Cortex-M7, Little endian)
1555- * - arm_cortexM7b_math.lib (Cortex-M7, Big endian)
1556- * - arm_cortexM4lf_math.lib (Cortex-M4, Little endian, Floating Point Unit)
1557- * - arm_cortexM4bf_math.lib (Cortex-M4, Big endian, Floating Point Unit)
1558- * - arm_cortexM4l_math.lib (Cortex-M4, Little endian)
1559- * - arm_cortexM4b_math.lib (Cortex-M4, Big endian)
1560- * - arm_cortexM3l_math.lib (Cortex-M3, Little endian)
1561- * - arm_cortexM3b_math.lib (Cortex-M3, Big endian)
1562- * - arm_cortexM0l_math.lib (Cortex-M0 / Cortex-M0+, Little endian)
1563- * - arm_cortexM0b_math.lib (Cortex-M0 / Cortex-M0+, Big endian)
1564- * - arm_ARMv8MBLl_math.lib (ARMv8M Baseline, Little endian)
1565- * - arm_ARMv8MMLl_math.lib (ARMv8M Mainline, Little endian)
1566- * - arm_ARMv8MMLlfsp_math.lib (ARMv8M Mainline, Little endian, Single Precision Floating Point Unit)
1567- * - arm_ARMv8MMLld_math.lib (ARMv8M Mainline, Little endian, DSP instructions)
1568- * - arm_ARMv8MMLldfsp_math.lib (ARMv8M Mainline, Little endian, DSP instructions, Single Precision Floating Point Unit)
1569- *
1570- * The library functions are declared in the public file <code>arm_math.h</code> which is placed in the <code>Include</code> folder.
1571- * Simply include this file and link the appropriate library in the application and begin calling the library functions. The Library supports single
1572- * public header file <code> arm_math.h</code> for Cortex-M cores with little endian and big endian. Same header file will be used for floating point unit(FPU) variants.
1573- * Define the appropriate pre processor MACRO ARM_MATH_CM7 or ARM_MATH_CM4 or ARM_MATH_CM3 or
1574- * ARM_MATH_CM0 or ARM_MATH_CM0PLUS depending on the target processor in the application.
1575- * For ARMv8M cores define pre processor MACRO ARM_MATH_ARMV8MBL or ARM_MATH_ARMV8MML.
1576- * Set Pre processor MACRO __DSP_PRESENT if ARMv8M Mainline core supports DSP instructions.
1577- *
1578- *
1579- * Examples
1580- * --------
1581- *
1582- * The library ships with a number of examples which demonstrate how to use the library functions.
1583- *
1584- * Toolchain Support
1585- * ------------
1586- *
1587- * The library has been developed and tested with MDK-ARM version 5.14.0.0
1588- * The library is being tested in GCC and IAR toolchains and updates on this activity will be made available shortly.
1589- *
1590- * Building the Library
1591- * ------------
1592- *
1593diff --git a/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/cmsis_compiler.h b/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/cmsis_compiler.h
1594deleted file mode 100644
1595index 8b989f851ae7e8aa9b28053c942ffb8d453eeb1a..0000000000000000000000000000000000000000
1596--- a/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/cmsis_compiler.h
1597+++ /dev/null
1598@@ -1,223 +0,0 @@
1599-/**************************************************************************//**
1600- * @file cmsis_compiler.h
1601- * @brief CMSIS compiler generic header file
1602- * @version V5.0.1
1603- * @date 30. January 2017
1604- ******************************************************************************/
1605-/*
1606- * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
1607- *
1608- * SPDX-License-Identifier: Apache-2.0
1609- *
1610- * Licensed under the Apache License, Version 2.0 (the License); you may
1611- * not use this file except in compliance with the License.
1612- * You may obtain a copy of the License at
1613- *
1614- * www.apache.org/licenses/LICENSE-2.0
1615- *
1616- * Unless required by applicable law or agreed to in writing, software
1617- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
1618- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1619- * See the License for the specific language governing permissions and
1620- * limitations under the License.
1621- */
1622-
1623-#ifndef __CMSIS_COMPILER_H
1624-#define __CMSIS_COMPILER_H
1625-
1626-#include <stdint.h>
1627-
1628-/*
1629- * ARM Compiler 4/5
1630- */
1631-#if defined ( __CC_ARM )
1632- #include "cmsis_armcc.h"
1633-
1634-
1635-/*
1636- * ARM Compiler 6 (armclang)
1637- */
1638-#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
1639- #include "cmsis_armclang.h"
1640-
1641-
1642-/*
1643- * GNU Compiler
1644- */
1645-#elif defined ( __GNUC__ )
1646- #include "cmsis_gcc.h"
1647-
1648-
1649-/*
1650- * IAR Compiler
1651- */
1652-#elif defined ( __ICCARM__ )
1653-
1654- #ifndef __ASM
1655- #define __ASM __asm
1656- #endif
1657- #ifndef __INLINE
1658- #define __INLINE inline
1659- #endif
1660- #ifndef __STATIC_INLINE
1661- #define __STATIC_INLINE static inline
1662- #endif
1663-
1664- #include <cmsis_iar.h>
1665-
1666- #ifndef __NO_RETURN
1667- #define __NO_RETURN __noreturn
1668- #endif
1669- #ifndef __USED
1670- #define __USED __root
1671- #endif
1672- #ifndef __WEAK
1673- #define __WEAK __weak
1674- #endif
1675- #ifndef __UNALIGNED_UINT32
1676- __packed struct T_UINT32 { uint32_t v; };
1677- #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
1678- #endif
1679- #ifndef __ALIGNED
1680- #warning No compiler specific solution for __ALIGNED. __ALIGNED is ignored.
1681- #define __ALIGNED(x)
1682- #endif
1683- #ifndef __PACKED
1684- #define __PACKED __packed
1685- #endif
1686- #ifndef __PACKED_STRUCT
1687- #define __PACKED_STRUCT __packed struct
1688- #endif
1689-
1690-
1691-/*
1692- * TI ARM Compiler
1693- */
1694-#elif defined ( __TI_ARM__ )
1695- #include <cmsis_ccs.h>
1696-
1697- #ifndef __ASM
1698diff --git a/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/cmsis_gcc.h b/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/cmsis_gcc.h
1699deleted file mode 100644
1700index 074cd7ab32790a692c7486af02e5ce4b02a5617a..0000000000000000000000000000000000000000
1701--- a/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/cmsis_gcc.h
1702+++ /dev/null
1703@@ -1,1899 +0,0 @@
1704-/**************************************************************************//**
1705- * @file cmsis_gcc.h
1706- * @brief CMSIS compiler GCC header file
1707- * @version V5.0.1
1708- * @date 02. February 2017
1709- ******************************************************************************/
1710-/*
1711- * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
1712- *
1713- * SPDX-License-Identifier: Apache-2.0
1714- *
1715- * Licensed under the Apache License, Version 2.0 (the License); you may
1716- * not use this file except in compliance with the License.
1717- * You may obtain a copy of the License at
1718- *
1719- * www.apache.org/licenses/LICENSE-2.0
1720- *
1721- * Unless required by applicable law or agreed to in writing, software
1722- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
1723- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1724- * See the License for the specific language governing permissions and
1725- * limitations under the License.
1726- */
1727-
1728-#ifndef __CMSIS_GCC_H
1729-#define __CMSIS_GCC_H
1730-
1731-/* ignore some GCC warnings */
1732-#pragma GCC diagnostic push
1733-#pragma GCC diagnostic ignored "-Wsign-conversion"
1734-#pragma GCC diagnostic ignored "-Wconversion"
1735-#pragma GCC diagnostic ignored "-Wunused-parameter"
1736-
1737-/* CMSIS compiler specific defines */
1738-#ifndef __ASM
1739- #define __ASM __asm
1740-#endif
1741-#ifndef __INLINE
1742- #define __INLINE inline
1743-#endif
1744-#ifndef __STATIC_INLINE
1745- #define __STATIC_INLINE static inline
1746-#endif
1747-#ifndef __NO_RETURN
1748- #define __NO_RETURN __attribute__((noreturn))
1749-#endif
1750-#ifndef __USED
1751- #define __USED __attribute__((used))
1752-#endif
1753-#ifndef __WEAK
1754- #define __WEAK __attribute__((weak))
1755-#endif
1756-#ifndef __UNALIGNED_UINT32
1757-#pragma GCC diagnostic push
1758-#pragma GCC diagnostic ignored "-Wpacked"
1759-#pragma GCC diagnostic ignored "-Wattributes"
1760- struct __attribute__((packed)) T_UINT32 { uint32_t v; };
1761-#pragma GCC diagnostic pop
1762- #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
1763-#endif
1764-#ifndef __ALIGNED
1765- #define __ALIGNED(x) __attribute__((aligned(x)))
1766-#endif
1767-#ifndef __PACKED
1768- #define __PACKED __attribute__((packed, aligned(1)))
1769-#endif
1770-#ifndef __PACKED_STRUCT
1771- #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
1772-#endif
1773-
1774-
1775-/* ########################### Core Function Access ########################### */
1776-/** \ingroup CMSIS_Core_FunctionInterface
1777- \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
1778- @{
1779- */
1780-
1781-/**
1782- \brief Enable IRQ Interrupts
1783- \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
1784- Can only be executed in Privileged modes.
1785- */
1786-__attribute__((always_inline)) __STATIC_INLINE void __enable_irq(void)
1787-{
1788- __ASM volatile ("cpsie i" : : : "memory");
1789-}
1790-
1791-
1792-/**
1793- \brief Disable IRQ Interrupts
1794- \details Disables IRQ interrupts by setting the I-bit in the CPSR.
1795- Can only be executed in Privileged modes.
1796- */
1797-__attribute__((always_inline)) __STATIC_INLINE void __disable_irq(void)
1798-{
1799- __ASM volatile ("cpsid i" : : : "memory");
1800-}
1801-
1802-
1803diff --git a/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/core_cm4.h b/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/core_cm4.h
1804deleted file mode 100644
1805index 2da78d3983e85180abbe53a478079f26b0bf81d7..0000000000000000000000000000000000000000
1806--- a/lib/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include/core_cm4.h
1807+++ /dev/null
1808@@ -1,2103 +0,0 @@
1809-/**************************************************************************//**
1810- * @file core_cm4.h
1811- * @brief CMSIS Cortex-M4 Core Peripheral Access Layer Header File
1812- * @version V5.0.1
1813- * @date 30. January 2017
1814- ******************************************************************************/
1815-/*
1816- * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
1817- *
1818- * SPDX-License-Identifier: Apache-2.0
1819- *
1820- * Licensed under the Apache License, Version 2.0 (the License); you may
1821- * not use this file except in compliance with the License.
1822- * You may obtain a copy of the License at
1823- *
1824- * www.apache.org/licenses/LICENSE-2.0
1825- *
1826- * Unless required by applicable law or agreed to in writing, software
1827- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
1828- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1829- * See the License for the specific language governing permissions and
1830- * limitations under the License.
1831- */
1832-
1833-#if defined ( __ICCARM__ )
1834- #pragma system_include /* treat file as system include file for MISRA check */
1835-#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
1836- #pragma clang system_header /* treat file as system include file */
1837-#endif
1838-
1839-#ifndef __CORE_CM4_H_GENERIC
1840-#define __CORE_CM4_H_GENERIC
1841-
1842-#include <stdint.h>
1843-
1844-#ifdef __cplusplus
1845- extern "C" {
1846-#endif
1847-
1848-/**
1849- \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions
1850- CMSIS violates the following MISRA-C:2004 rules:
1851-
1852- \li Required Rule 8.5, object/function definition in header file.<br>
1853- Function definitions in header files are used to allow 'inlining'.
1854-
1855- \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br>
1856- Unions are used for effective representation of core registers.
1857-
1858- \li Advisory Rule 19.7, Function-like macro defined.<br>
1859- Function-like macros are used to allow more efficient code.
1860- */
1861-
1862-
1863-/*******************************************************************************
1864- * CMSIS definitions
1865- ******************************************************************************/
1866-/**
1867- \ingroup Cortex_M4
1868- @{
1869- */
1870-
1871-/* CMSIS CM4 definitions */
1872-#define __CM4_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS HAL main version */
1873-#define __CM4_CMSIS_VERSION_SUB ( 0U) /*!< [15:0] CMSIS HAL sub version */
1874-#define __CM4_CMSIS_VERSION ((__CM4_CMSIS_VERSION_MAIN << 16U) | \
1875- __CM4_CMSIS_VERSION_SUB ) /*!< CMSIS HAL version number */
1876-
1877-#define __CORTEX_M (4U) /*!< Cortex-M Core */
1878-
1879-/** __FPU_USED indicates whether an FPU is used or not.
1880- For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and functions.
1881-*/
1882-#if defined ( __CC_ARM )
1883- #if defined __TARGET_FPU_VFP
1884- #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
1885- #define __FPU_USED 1U
1886- #else
1887- #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
1888- #define __FPU_USED 0U
1889- #endif
1890- #else
1891- #define __FPU_USED 0U
1892- #endif
1893-
1894-#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
1895- #if defined __ARM_PCS_VFP
1896- #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
1897- #define __FPU_USED 1U
1898- #else
1899- #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
1900- #define __FPU_USED 0U
1901- #endif
1902- #else
1903- #define __FPU_USED 0U
1904- #endif
1905-
1906-#elif defined ( __GNUC__ )
1907- #if defined (__VFP_FP__) && !defined(__SOFTFP__)
1908diff --git a/lib/arm_atsam/packs/arm/cmsis/5.0.1/LICENSE.txt b/lib/arm_atsam/packs/arm/cmsis/5.0.1/LICENSE.txt
1909deleted file mode 100644
1910index 8dada3edaf50dbc082c9a125058f25def75e625a..0000000000000000000000000000000000000000
1911--- a/lib/arm_atsam/packs/arm/cmsis/5.0.1/LICENSE.txt
1912+++ /dev/null
1913@@ -1,201 +0,0 @@
1914- Apache License
1915- Version 2.0, January 2004
1916- http://www.apache.org/licenses/
1917-
1918- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1919-
1920- 1. Definitions.
1921-
1922- "License" shall mean the terms and conditions for use, reproduction,
1923- and distribution as defined by Sections 1 through 9 of this document.
1924-
1925- "Licensor" shall mean the copyright owner or entity authorized by
1926- the copyright owner that is granting the License.
1927-
1928- "Legal Entity" shall mean the union of the acting entity and all
1929- other entities that control, are controlled by, or are under common
1930- control with that entity. For the purposes of this definition,
1931- "control" means (i) the power, direct or indirect, to cause the
1932- direction or management of such entity, whether by contract or
1933- otherwise, or (ii) ownership of fifty percent (50%) or more of the
1934- outstanding shares, or (iii) beneficial ownership of such entity.
1935-
1936- "You" (or "Your") shall mean an individual or Legal Entity
1937- exercising permissions granted by this License.
1938-
1939- "Source" form shall mean the preferred form for making modifications,
1940- including but not limited to software source code, documentation
1941- source, and configuration files.
1942-
1943- "Object" form shall mean any form resulting from mechanical
1944- transformation or translation of a Source form, including but
1945- not limited to compiled object code, generated documentation,
1946- and conversions to other media types.
1947-
1948- "Work" shall mean the work of authorship, whether in Source or
1949- Object form, made available under the License, as indicated by a
1950- copyright notice that is included in or attached to the work
1951- (an example is provided in the Appendix below).
1952-
1953- "Derivative Works" shall mean any work, whether in Source or Object
1954- form, that is based on (or derived from) the Work and for which the
1955- editorial revisions, annotations, elaborations, or other modifications
1956- represent, as a whole, an original work of authorship. For the purposes
1957- of this License, Derivative Works shall not include works that remain
1958- separable from, or merely link (or bind by name) to the interfaces of,
1959- the Work and Derivative Works thereof.
1960-
1961- "Contribution" shall mean any work of authorship, including
1962- the original version of the Work and any modifications or additions
1963- to that Work or Derivative Works thereof, that is intentionally
1964- submitted to Licensor for inclusion in the Work by the copyright owner
1965- or by an individual or Legal Entity authorized to submit on behalf of
1966- the copyright owner. For the purposes of this definition, "submitted"
1967- means any form of electronic, verbal, or written communication sent
1968- to the Licensor or its representatives, including but not limited to
1969- communication on electronic mailing lists, source code control systems,
1970- and issue tracking systems that are managed by, or on behalf of, the
1971- Licensor for the purpose of discussing and improving the Work, but
1972- excluding communication that is conspicuously marked or otherwise
1973- designated in writing by the copyright owner as "Not a Contribution."
1974-
1975- "Contributor" shall mean Licensor and any individual or Legal Entity
1976- on behalf of whom a Contribution has been received by Licensor and
1977- subsequently incorporated within the Work.
1978-
1979- 2. Grant of Copyright License. Subject to the terms and conditions of
1980- this License, each Contributor hereby grants to You a perpetual,
1981- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
1982- copyright license to reproduce, prepare Derivative Works of,
1983- publicly display, publicly perform, sublicense, and distribute the
1984- Work and such Derivative Works in Source or Object form.
1985-
1986- 3. Grant of Patent License. Subject to the terms and conditions of
1987- this License, each Contributor hereby grants to You a perpetual,
1988- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
1989- (except as stated in this section) patent license to make, have made,
1990- use, offer to sell, sell, import, and otherwise transfer the Work,
1991- where such license applies only to those patent claims licensable
1992- by such Contributor that are necessarily infringed by their
1993- Contribution(s) alone or by combination of their Contribution(s)
1994- with the Work to which such Contribution(s) was submitted. If You
1995- institute patent litigation against any entity (including a
1996- cross-claim or counterclaim in a lawsuit) alleging that the Work
1997- or a Contribution incorporated within the Work constitutes direct
1998- or contributory patent infringement, then any patent licenses
1999- granted to You under this License for that Work shall terminate
2000- as of the date such litigation is filed.
2001-
2002- 4. Redistribution. You may reproduce and distribute copies of the
2003- Work or Derivative Works thereof in any medium, with or without
2004- modifications, and in Source or Object form, provided that You
2005- meet the following conditions:
2006-
2007- (a) You must give any other recipients of the Work or
2008- Derivative Works a copy of this License; and
2009-
2010- (b) You must cause any modified files to carry prominent notices
2011- stating that You changed the files; and
2012-
2013diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/gcc/gcc/samd51j18a_flash.ld b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/gcc/gcc/samd51j18a_flash.ld
2014deleted file mode 100644
2015index 1c635478633e1c0afafdaae8207ae299b73d261a..0000000000000000000000000000000000000000
2016--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/gcc/gcc/samd51j18a_flash.ld
2017+++ /dev/null
2018@@ -1,185 +0,0 @@
2019-/**
2020- * \file
2021- *
2022- * \brief Linker script for running in internal FLASH on the SAMD51J18A
2023- *
2024- * Copyright (c) 2017 Microchip Technology Inc.
2025- *
2026- * \asf_license_start
2027- *
2028- * \page License
2029- *
2030- * SPDX-License-Identifier: Apache-2.0
2031- *
2032- * Licensed under the Apache License, Version 2.0 (the "License"); you may
2033- * not use this file except in compliance with the License.
2034- * You may obtain a copy of the Licence at
2035- *
2036- * http://www.apache.org/licenses/LICENSE-2.0
2037- *
2038- * Unless required by applicable law or agreed to in writing, software
2039- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
2040- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2041- * See the License for the specific language governing permissions and
2042- * limitations under the License.
2043- *
2044- * \asf_license_stop
2045- *
2046- */
2047-
2048-
2049-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
2050-OUTPUT_ARCH(arm)
2051-SEARCH_DIR(.)
2052-
2053-/* Memory Spaces Definitions */
2054-MEMORY
2055-{
2056-/*rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000*/
2057- rom (rx) : ORIGIN = 0x00004000, LENGTH = 0x0003C000
2058- ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
2059- bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000
2060- qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000
2061-}
2062-
2063-/* The stack size used by the application. NOTE: you need to adjust according to your application. */
2064-STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x8000;
2065-
2066-/* The heap size used by the application. */
2067-HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : DEFINED(__heap_size__) ? __heap_size__ : 0x800;
2068-
2069-_srom = ORIGIN(rom);
2070-_lrom = LENGTH(rom);
2071-_erom = ORIGIN(rom) + LENGTH(rom);
2072-_sram = ORIGIN(ram);
2073-_lram = LENGTH(ram);
2074-_eram = ORIGIN(ram) + LENGTH(ram);
2075-
2076-/* Section Definitions */
2077-SECTIONS
2078-{
2079- .text :
2080- {
2081- . = ALIGN(4);
2082- _sfixed = .;
2083- KEEP(*(.vectors .vectors.*))
2084- *(.text .text.* .gnu.linkonce.t.*)
2085- *(.glue_7t) *(.glue_7)
2086- *(.rodata .rodata* .gnu.linkonce.r.*)
2087- *(.ARM.extab* .gnu.linkonce.armextab.*)
2088-
2089- /* Support C constructors, and C destructors in both user code
2090- and the C library. This also provides support for C++ code. */
2091- . = ALIGN(4);
2092- KEEP(*(.init))
2093- . = ALIGN(4);
2094- __preinit_array_start = .;
2095- KEEP (*(.preinit_array))
2096- __preinit_array_end = .;
2097-
2098- . = ALIGN(4);
2099- __init_array_start = .;
2100- KEEP (*(SORT(.init_array.*)))
2101- KEEP (*(.init_array))
2102- __init_array_end = .;
2103-
2104- . = ALIGN(4);
2105- KEEP (*crtbegin.o(.ctors))
2106- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
2107- KEEP (*(SORT(.ctors.*)))
2108- KEEP (*crtend.o(.ctors))
2109-
2110- . = ALIGN(4);
2111- KEEP(*(.fini))
2112-
2113- . = ALIGN(4);
2114- __fini_array_start = .;
2115- KEEP (*(.fini_array))
2116- KEEP (*(SORT(.fini_array.*)))
2117- __fini_array_end = .;
2118diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component-version.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component-version.h
2119deleted file mode 100644
2120index 80801fc12878932ee6694c12cc2bef6397b46223..0000000000000000000000000000000000000000
2121--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component-version.h
2122+++ /dev/null
2123@@ -1,65 +0,0 @@
2124-/**
2125- * \file
2126- *
2127- * \brief Component version header file
2128- *
2129- * Copyright (c) 2017 Atmel Corporation, a wholly owned subsidiary of Microchip Technology Inc.
2130- *
2131- * \license_start
2132- *
2133- * \page License
2134- *
2135- * Licensed under the Apache License, Version 2.0 (the "License");
2136- * you may not use this file except in compliance with the License.
2137- * You may obtain a copy of the License at
2138- *
2139- * http://www.apache.org/licenses/LICENSE-2.0
2140- *
2141- * Unless required by applicable law or agreed to in writing, software
2142- * distributed under the License is distributed on an "AS IS" BASIS,
2143- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2144- * See the License for the specific language governing permissions and
2145- * limitations under the License.
2146- *
2147- * \license_stop
2148- *
2149- */
2150-
2151-#ifndef _COMPONENT_VERSION_H_INCLUDED
2152-#define _COMPONENT_VERSION_H_INCLUDED
2153-
2154-#define COMPONENT_VERSION_MAJOR 1
2155-#define COMPONENT_VERSION_MINOR 0
2156-
2157-//
2158-// The COMPONENT_VERSION define is composed of the major and the minor version number.
2159-//
2160-// The last four digits of the COMPONENT_VERSION is the minor version with leading zeros.
2161-// The rest of the COMPONENT_VERSION is the major version, with leading zeros. The COMPONENT_VERSION
2162-// is at least 8 digits long.
2163-//
2164-#define COMPONENT_VERSION 00010000
2165-
2166-//
2167-// The build number does not refer to the component, but to the build number
2168-// of the device pack that provides the component.
2169-//
2170-#define BUILD_NUMBER 70
2171-
2172-//
2173-// The COMPONENT_VERSION_STRING is a string (enclosed in ") that can be used for logging or embedding.
2174-//
2175-#define COMPONENT_VERSION_STRING "1.0"
2176-
2177-//
2178-// The COMPONENT_DATE_STRING contains a timestamp of when the pack was generated.
2179-//
2180-// The COMPONENT_DATE_STRING is written out using the following strftime pattern.
2181-//
2182-// "%Y-%m-%d %H:%M:%S"
2183-//
2184-//
2185-#define COMPONENT_DATE_STRING "2017-08-09 09:59:41"
2186-
2187-#endif/* #ifndef _COMPONENT_VERSION_H_INCLUDED */
2188-
2189diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/ac.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/ac.h
2190deleted file mode 100644
2191index 24623d00acb1696c7e0faa0e131228f4f55ab0ad..0000000000000000000000000000000000000000
2192--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/ac.h
2193+++ /dev/null
2194@@ -1,598 +0,0 @@
2195-/**
2196- * \file
2197- *
2198- * \brief Component description for AC
2199- *
2200- * Copyright (c) 2017 Microchip Technology Inc.
2201- *
2202- * \asf_license_start
2203- *
2204- * \page License
2205- *
2206- * SPDX-License-Identifier: Apache-2.0
2207- *
2208- * Licensed under the Apache License, Version 2.0 (the "License"); you may
2209- * not use this file except in compliance with the License.
2210- * You may obtain a copy of the Licence at
2211- *
2212- * http://www.apache.org/licenses/LICENSE-2.0
2213- *
2214- * Unless required by applicable law or agreed to in writing, software
2215- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
2216- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2217- * See the License for the specific language governing permissions and
2218- * limitations under the License.
2219- *
2220- * \asf_license_stop
2221- *
2222- */
2223-
2224-#ifndef _SAMD51_AC_COMPONENT_
2225-#define _SAMD51_AC_COMPONENT_
2226-
2227-/* ========================================================================== */
2228-/** SOFTWARE API DEFINITION FOR AC */
2229-/* ========================================================================== */
2230-/** \addtogroup SAMD51_AC Analog Comparators */
2231-/*@{*/
2232-
2233-#define AC_U2501
2234-#define REV_AC 0x100
2235-
2236-/* -------- AC_CTRLA : (AC Offset: 0x00) (R/W 8) Control A -------- */
2237-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2238-typedef union {
2239- struct {
2240- uint8_t SWRST:1; /*!< bit: 0 Software Reset */
2241- uint8_t ENABLE:1; /*!< bit: 1 Enable */
2242- uint8_t :6; /*!< bit: 2.. 7 Reserved */
2243- } bit; /*!< Structure used for bit access */
2244- uint8_t reg; /*!< Type used for register access */
2245-} AC_CTRLA_Type;
2246-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2247-
2248-#define AC_CTRLA_OFFSET 0x00 /**< \brief (AC_CTRLA offset) Control A */
2249-#define AC_CTRLA_RESETVALUE _U_(0x00) /**< \brief (AC_CTRLA reset_value) Control A */
2250-
2251-#define AC_CTRLA_SWRST_Pos 0 /**< \brief (AC_CTRLA) Software Reset */
2252-#define AC_CTRLA_SWRST (_U_(0x1) << AC_CTRLA_SWRST_Pos)
2253-#define AC_CTRLA_ENABLE_Pos 1 /**< \brief (AC_CTRLA) Enable */
2254-#define AC_CTRLA_ENABLE (_U_(0x1) << AC_CTRLA_ENABLE_Pos)
2255-#define AC_CTRLA_MASK _U_(0x03) /**< \brief (AC_CTRLA) MASK Register */
2256-
2257-/* -------- AC_CTRLB : (AC Offset: 0x01) ( /W 8) Control B -------- */
2258-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2259-typedef union {
2260- struct {
2261- uint8_t START0:1; /*!< bit: 0 Comparator 0 Start Comparison */
2262- uint8_t START1:1; /*!< bit: 1 Comparator 1 Start Comparison */
2263- uint8_t :6; /*!< bit: 2.. 7 Reserved */
2264- } bit; /*!< Structure used for bit access */
2265- struct {
2266- uint8_t START:2; /*!< bit: 0.. 1 Comparator x Start Comparison */
2267- uint8_t :6; /*!< bit: 2.. 7 Reserved */
2268- } vec; /*!< Structure used for vec access */
2269- uint8_t reg; /*!< Type used for register access */
2270-} AC_CTRLB_Type;
2271-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2272-
2273-#define AC_CTRLB_OFFSET 0x01 /**< \brief (AC_CTRLB offset) Control B */
2274-#define AC_CTRLB_RESETVALUE _U_(0x00) /**< \brief (AC_CTRLB reset_value) Control B */
2275-
2276-#define AC_CTRLB_START0_Pos 0 /**< \brief (AC_CTRLB) Comparator 0 Start Comparison */
2277-#define AC_CTRLB_START0 (_U_(1) << AC_CTRLB_START0_Pos)
2278-#define AC_CTRLB_START1_Pos 1 /**< \brief (AC_CTRLB) Comparator 1 Start Comparison */
2279-#define AC_CTRLB_START1 (_U_(1) << AC_CTRLB_START1_Pos)
2280-#define AC_CTRLB_START_Pos 0 /**< \brief (AC_CTRLB) Comparator x Start Comparison */
2281-#define AC_CTRLB_START_Msk (_U_(0x3) << AC_CTRLB_START_Pos)
2282-#define AC_CTRLB_START(value) (AC_CTRLB_START_Msk & ((value) << AC_CTRLB_START_Pos))
2283-#define AC_CTRLB_MASK _U_(0x03) /**< \brief (AC_CTRLB) MASK Register */
2284-
2285-/* -------- AC_EVCTRL : (AC Offset: 0x02) (R/W 16) Event Control -------- */
2286-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2287-typedef union {
2288- struct {
2289- uint16_t COMPEO0:1; /*!< bit: 0 Comparator 0 Event Output Enable */
2290- uint16_t COMPEO1:1; /*!< bit: 1 Comparator 1 Event Output Enable */
2291- uint16_t :2; /*!< bit: 2.. 3 Reserved */
2292- uint16_t WINEO0:1; /*!< bit: 4 Window 0 Event Output Enable */
2293- uint16_t :3; /*!< bit: 5.. 7 Reserved */
2294diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/adc.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/adc.h
2295deleted file mode 100644
2296index 33c38ae3f8fac8ca1de84379548f839605f4ff07..0000000000000000000000000000000000000000
2297--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/adc.h
2298+++ /dev/null
2299@@ -1,871 +0,0 @@
2300-/**
2301- * \file
2302- *
2303- * \brief Component description for ADC
2304- *
2305- * Copyright (c) 2017 Microchip Technology Inc.
2306- *
2307- * \asf_license_start
2308- *
2309- * \page License
2310- *
2311- * SPDX-License-Identifier: Apache-2.0
2312- *
2313- * Licensed under the Apache License, Version 2.0 (the "License"); you may
2314- * not use this file except in compliance with the License.
2315- * You may obtain a copy of the Licence at
2316- *
2317- * http://www.apache.org/licenses/LICENSE-2.0
2318- *
2319- * Unless required by applicable law or agreed to in writing, software
2320- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
2321- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2322- * See the License for the specific language governing permissions and
2323- * limitations under the License.
2324- *
2325- * \asf_license_stop
2326- *
2327- */
2328-
2329-#ifndef _SAMD51_ADC_COMPONENT_
2330-#define _SAMD51_ADC_COMPONENT_
2331-
2332-/* ========================================================================== */
2333-/** SOFTWARE API DEFINITION FOR ADC */
2334-/* ========================================================================== */
2335-/** \addtogroup SAMD51_ADC Analog Digital Converter */
2336-/*@{*/
2337-
2338-#define ADC_U2500
2339-#define REV_ADC 0x100
2340-
2341-/* -------- ADC_CTRLA : (ADC Offset: 0x00) (R/W 16) Control A -------- */
2342-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2343-typedef union {
2344- struct {
2345- uint16_t SWRST:1; /*!< bit: 0 Software Reset */
2346- uint16_t ENABLE:1; /*!< bit: 1 Enable */
2347- uint16_t :1; /*!< bit: 2 Reserved */
2348- uint16_t DUALSEL:2; /*!< bit: 3.. 4 Dual Mode Trigger Selection */
2349- uint16_t SLAVEEN:1; /*!< bit: 5 Slave Enable */
2350- uint16_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */
2351- uint16_t ONDEMAND:1; /*!< bit: 7 On Demand Control */
2352- uint16_t PRESCALER:3; /*!< bit: 8..10 Prescaler Configuration */
2353- uint16_t :4; /*!< bit: 11..14 Reserved */
2354- uint16_t R2R:1; /*!< bit: 15 Rail to Rail Operation Enable */
2355- } bit; /*!< Structure used for bit access */
2356- uint16_t reg; /*!< Type used for register access */
2357-} ADC_CTRLA_Type;
2358-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2359-
2360-#define ADC_CTRLA_OFFSET 0x00 /**< \brief (ADC_CTRLA offset) Control A */
2361-#define ADC_CTRLA_RESETVALUE _U_(0x0000) /**< \brief (ADC_CTRLA reset_value) Control A */
2362-
2363-#define ADC_CTRLA_SWRST_Pos 0 /**< \brief (ADC_CTRLA) Software Reset */
2364-#define ADC_CTRLA_SWRST (_U_(0x1) << ADC_CTRLA_SWRST_Pos)
2365-#define ADC_CTRLA_ENABLE_Pos 1 /**< \brief (ADC_CTRLA) Enable */
2366-#define ADC_CTRLA_ENABLE (_U_(0x1) << ADC_CTRLA_ENABLE_Pos)
2367-#define ADC_CTRLA_DUALSEL_Pos 3 /**< \brief (ADC_CTRLA) Dual Mode Trigger Selection */
2368-#define ADC_CTRLA_DUALSEL_Msk (_U_(0x3) << ADC_CTRLA_DUALSEL_Pos)
2369-#define ADC_CTRLA_DUALSEL(value) (ADC_CTRLA_DUALSEL_Msk & ((value) << ADC_CTRLA_DUALSEL_Pos))
2370-#define ADC_CTRLA_DUALSEL_BOTH_Val _U_(0x0) /**< \brief (ADC_CTRLA) Start event or software trigger will start a conversion on both ADCs */
2371-#define ADC_CTRLA_DUALSEL_INTERLEAVE_Val _U_(0x1) /**< \brief (ADC_CTRLA) START event or software trigger will alternatingly start a conversion on ADC0 and ADC1 */
2372-#define ADC_CTRLA_DUALSEL_BOTH (ADC_CTRLA_DUALSEL_BOTH_Val << ADC_CTRLA_DUALSEL_Pos)
2373-#define ADC_CTRLA_DUALSEL_INTERLEAVE (ADC_CTRLA_DUALSEL_INTERLEAVE_Val << ADC_CTRLA_DUALSEL_Pos)
2374-#define ADC_CTRLA_SLAVEEN_Pos 5 /**< \brief (ADC_CTRLA) Slave Enable */
2375-#define ADC_CTRLA_SLAVEEN (_U_(0x1) << ADC_CTRLA_SLAVEEN_Pos)
2376-#define ADC_CTRLA_RUNSTDBY_Pos 6 /**< \brief (ADC_CTRLA) Run in Standby */
2377-#define ADC_CTRLA_RUNSTDBY (_U_(0x1) << ADC_CTRLA_RUNSTDBY_Pos)
2378-#define ADC_CTRLA_ONDEMAND_Pos 7 /**< \brief (ADC_CTRLA) On Demand Control */
2379-#define ADC_CTRLA_ONDEMAND (_U_(0x1) << ADC_CTRLA_ONDEMAND_Pos)
2380-#define ADC_CTRLA_PRESCALER_Pos 8 /**< \brief (ADC_CTRLA) Prescaler Configuration */
2381-#define ADC_CTRLA_PRESCALER_Msk (_U_(0x7) << ADC_CTRLA_PRESCALER_Pos)
2382-#define ADC_CTRLA_PRESCALER(value) (ADC_CTRLA_PRESCALER_Msk & ((value) << ADC_CTRLA_PRESCALER_Pos))
2383-#define ADC_CTRLA_PRESCALER_DIV2_Val _U_(0x0) /**< \brief (ADC_CTRLA) Peripheral clock divided by 2 */
2384-#define ADC_CTRLA_PRESCALER_DIV4_Val _U_(0x1) /**< \brief (ADC_CTRLA) Peripheral clock divided by 4 */
2385-#define ADC_CTRLA_PRESCALER_DIV8_Val _U_(0x2) /**< \brief (ADC_CTRLA) Peripheral clock divided by 8 */
2386-#define ADC_CTRLA_PRESCALER_DIV16_Val _U_(0x3) /**< \brief (ADC_CTRLA) Peripheral clock divided by 16 */
2387-#define ADC_CTRLA_PRESCALER_DIV32_Val _U_(0x4) /**< \brief (ADC_CTRLA) Peripheral clock divided by 32 */
2388-#define ADC_CTRLA_PRESCALER_DIV64_Val _U_(0x5) /**< \brief (ADC_CTRLA) Peripheral clock divided by 64 */
2389-#define ADC_CTRLA_PRESCALER_DIV128_Val _U_(0x6) /**< \brief (ADC_CTRLA) Peripheral clock divided by 128 */
2390-#define ADC_CTRLA_PRESCALER_DIV256_Val _U_(0x7) /**< \brief (ADC_CTRLA) Peripheral clock divided by 256 */
2391-#define ADC_CTRLA_PRESCALER_DIV2 (ADC_CTRLA_PRESCALER_DIV2_Val << ADC_CTRLA_PRESCALER_Pos)
2392-#define ADC_CTRLA_PRESCALER_DIV4 (ADC_CTRLA_PRESCALER_DIV4_Val << ADC_CTRLA_PRESCALER_Pos)
2393-#define ADC_CTRLA_PRESCALER_DIV8 (ADC_CTRLA_PRESCALER_DIV8_Val << ADC_CTRLA_PRESCALER_Pos)
2394-#define ADC_CTRLA_PRESCALER_DIV16 (ADC_CTRLA_PRESCALER_DIV16_Val << ADC_CTRLA_PRESCALER_Pos)
2395-#define ADC_CTRLA_PRESCALER_DIV32 (ADC_CTRLA_PRESCALER_DIV32_Val << ADC_CTRLA_PRESCALER_Pos)
2396-#define ADC_CTRLA_PRESCALER_DIV64 (ADC_CTRLA_PRESCALER_DIV64_Val << ADC_CTRLA_PRESCALER_Pos)
2397-#define ADC_CTRLA_PRESCALER_DIV128 (ADC_CTRLA_PRESCALER_DIV128_Val << ADC_CTRLA_PRESCALER_Pos)
2398-#define ADC_CTRLA_PRESCALER_DIV256 (ADC_CTRLA_PRESCALER_DIV256_Val << ADC_CTRLA_PRESCALER_Pos)
2399diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/aes.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/aes.h
2400deleted file mode 100644
2401index 5a74eac28b5012fecb80f60662f2f5c2352aae9e..0000000000000000000000000000000000000000
2402--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/aes.h
2403+++ /dev/null
2404@@ -1,375 +0,0 @@
2405-/**
2406- * \file
2407- *
2408- * \brief Component description for AES
2409- *
2410- * Copyright (c) 2017 Microchip Technology Inc.
2411- *
2412- * \asf_license_start
2413- *
2414- * \page License
2415- *
2416- * SPDX-License-Identifier: Apache-2.0
2417- *
2418- * Licensed under the Apache License, Version 2.0 (the "License"); you may
2419- * not use this file except in compliance with the License.
2420- * You may obtain a copy of the Licence at
2421- *
2422- * http://www.apache.org/licenses/LICENSE-2.0
2423- *
2424- * Unless required by applicable law or agreed to in writing, software
2425- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
2426- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2427- * See the License for the specific language governing permissions and
2428- * limitations under the License.
2429- *
2430- * \asf_license_stop
2431- *
2432- */
2433-
2434-#ifndef _SAMD51_AES_COMPONENT_
2435-#define _SAMD51_AES_COMPONENT_
2436-
2437-/* ========================================================================== */
2438-/** SOFTWARE API DEFINITION FOR AES */
2439-/* ========================================================================== */
2440-/** \addtogroup SAMD51_AES Advanced Encryption Standard */
2441-/*@{*/
2442-
2443-#define AES_U2238
2444-#define REV_AES 0x220
2445-
2446-/* -------- AES_CTRLA : (AES Offset: 0x00) (R/W 32) Control A -------- */
2447-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2448-typedef union {
2449- struct {
2450- uint32_t SWRST:1; /*!< bit: 0 Software Reset */
2451- uint32_t ENABLE:1; /*!< bit: 1 Enable */
2452- uint32_t AESMODE:3; /*!< bit: 2.. 4 AES Modes of operation */
2453- uint32_t CFBS:3; /*!< bit: 5.. 7 Cipher Feedback Block Size */
2454- uint32_t KEYSIZE:2; /*!< bit: 8.. 9 Encryption Key Size */
2455- uint32_t CIPHER:1; /*!< bit: 10 Cipher Mode */
2456- uint32_t STARTMODE:1; /*!< bit: 11 Start Mode Select */
2457- uint32_t LOD:1; /*!< bit: 12 Last Output Data Mode */
2458- uint32_t KEYGEN:1; /*!< bit: 13 Last Key Generation */
2459- uint32_t XORKEY:1; /*!< bit: 14 XOR Key Operation */
2460- uint32_t :1; /*!< bit: 15 Reserved */
2461- uint32_t CTYPE:4; /*!< bit: 16..19 Counter Measure Type */
2462- uint32_t :12; /*!< bit: 20..31 Reserved */
2463- } bit; /*!< Structure used for bit access */
2464- uint32_t reg; /*!< Type used for register access */
2465-} AES_CTRLA_Type;
2466-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2467-
2468-#define AES_CTRLA_OFFSET 0x00 /**< \brief (AES_CTRLA offset) Control A */
2469-#define AES_CTRLA_RESETVALUE _U_(0x00000000) /**< \brief (AES_CTRLA reset_value) Control A */
2470-
2471-#define AES_CTRLA_SWRST_Pos 0 /**< \brief (AES_CTRLA) Software Reset */
2472-#define AES_CTRLA_SWRST (_U_(0x1) << AES_CTRLA_SWRST_Pos)
2473-#define AES_CTRLA_ENABLE_Pos 1 /**< \brief (AES_CTRLA) Enable */
2474-#define AES_CTRLA_ENABLE (_U_(0x1) << AES_CTRLA_ENABLE_Pos)
2475-#define AES_CTRLA_AESMODE_Pos 2 /**< \brief (AES_CTRLA) AES Modes of operation */
2476-#define AES_CTRLA_AESMODE_Msk (_U_(0x7) << AES_CTRLA_AESMODE_Pos)
2477-#define AES_CTRLA_AESMODE(value) (AES_CTRLA_AESMODE_Msk & ((value) << AES_CTRLA_AESMODE_Pos))
2478-#define AES_CTRLA_AESMODE_ECB_Val _U_(0x0) /**< \brief (AES_CTRLA) Electronic code book mode */
2479-#define AES_CTRLA_AESMODE_CBC_Val _U_(0x1) /**< \brief (AES_CTRLA) Cipher block chaining mode */
2480-#define AES_CTRLA_AESMODE_OFB_Val _U_(0x2) /**< \brief (AES_CTRLA) Output feedback mode */
2481-#define AES_CTRLA_AESMODE_CFB_Val _U_(0x3) /**< \brief (AES_CTRLA) Cipher feedback mode */
2482-#define AES_CTRLA_AESMODE_COUNTER_Val _U_(0x4) /**< \brief (AES_CTRLA) Counter mode */
2483-#define AES_CTRLA_AESMODE_CCM_Val _U_(0x5) /**< \brief (AES_CTRLA) CCM mode */
2484-#define AES_CTRLA_AESMODE_GCM_Val _U_(0x6) /**< \brief (AES_CTRLA) Galois counter mode */
2485-#define AES_CTRLA_AESMODE_ECB (AES_CTRLA_AESMODE_ECB_Val << AES_CTRLA_AESMODE_Pos)
2486-#define AES_CTRLA_AESMODE_CBC (AES_CTRLA_AESMODE_CBC_Val << AES_CTRLA_AESMODE_Pos)
2487-#define AES_CTRLA_AESMODE_OFB (AES_CTRLA_AESMODE_OFB_Val << AES_CTRLA_AESMODE_Pos)
2488-#define AES_CTRLA_AESMODE_CFB (AES_CTRLA_AESMODE_CFB_Val << AES_CTRLA_AESMODE_Pos)
2489-#define AES_CTRLA_AESMODE_COUNTER (AES_CTRLA_AESMODE_COUNTER_Val << AES_CTRLA_AESMODE_Pos)
2490-#define AES_CTRLA_AESMODE_CCM (AES_CTRLA_AESMODE_CCM_Val << AES_CTRLA_AESMODE_Pos)
2491-#define AES_CTRLA_AESMODE_GCM (AES_CTRLA_AESMODE_GCM_Val << AES_CTRLA_AESMODE_Pos)
2492-#define AES_CTRLA_CFBS_Pos 5 /**< \brief (AES_CTRLA) Cipher Feedback Block Size */
2493-#define AES_CTRLA_CFBS_Msk (_U_(0x7) << AES_CTRLA_CFBS_Pos)
2494-#define AES_CTRLA_CFBS(value) (AES_CTRLA_CFBS_Msk & ((value) << AES_CTRLA_CFBS_Pos))
2495-#define AES_CTRLA_CFBS_128BIT_Val _U_(0x0) /**< \brief (AES_CTRLA) 128-bit Input data block for Encryption/Decryption in Cipher Feedback mode */
2496-#define AES_CTRLA_CFBS_64BIT_Val _U_(0x1) /**< \brief (AES_CTRLA) 64-bit Input data block for Encryption/Decryption in Cipher Feedback mode */
2497-#define AES_CTRLA_CFBS_32BIT_Val _U_(0x2) /**< \brief (AES_CTRLA) 32-bit Input data block for Encryption/Decryption in Cipher Feedback mode */
2498-#define AES_CTRLA_CFBS_16BIT_Val _U_(0x3) /**< \brief (AES_CTRLA) 16-bit Input data block for Encryption/Decryption in Cipher Feedback mode */
2499-#define AES_CTRLA_CFBS_8BIT_Val _U_(0x4) /**< \brief (AES_CTRLA) 8-bit Input data block for Encryption/Decryption in Cipher Feedback mode */
2500-#define AES_CTRLA_CFBS_128BIT (AES_CTRLA_CFBS_128BIT_Val << AES_CTRLA_CFBS_Pos)
2501-#define AES_CTRLA_CFBS_64BIT (AES_CTRLA_CFBS_64BIT_Val << AES_CTRLA_CFBS_Pos)
2502-#define AES_CTRLA_CFBS_32BIT (AES_CTRLA_CFBS_32BIT_Val << AES_CTRLA_CFBS_Pos)
2503-#define AES_CTRLA_CFBS_16BIT (AES_CTRLA_CFBS_16BIT_Val << AES_CTRLA_CFBS_Pos)
2504diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/can.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/can.h
2505deleted file mode 100644
2506index 9d6754998c61a774d9d5753fa5ab959d55bf0458..0000000000000000000000000000000000000000
2507--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/can.h
2508+++ /dev/null
2509@@ -1,3207 +0,0 @@
2510-/**
2511- * \file
2512- *
2513- * \brief Component description for CAN
2514- *
2515- * Copyright (c) 2016 Atmel Corporation. All rights reserved.
2516- *
2517- * \asf_license_start
2518- *
2519- * \page License
2520- *
2521- * Redistribution and use in source and binary forms, with or without
2522- * modification, are permitted provided that the following conditions are met:
2523- *
2524- * 1. Redistributions of source code must retain the above copyright notice,
2525- * this list of conditions and the following disclaimer.
2526- *
2527- * 2. Redistributions in binary form must reproduce the above copyright notice,
2528- * this list of conditions and the following disclaimer in the documentation
2529- * and/or other materials provided with the distribution.
2530- *
2531- * 3. The name of Atmel may not be used to endorse or promote products derived
2532- * from this software without specific prior written permission.
2533- *
2534- * 4. This software may only be redistributed and used in connection with an
2535- * Atmel microcontroller product.
2536- *
2537- * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
2538- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
2539- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
2540- * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
2541- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2542- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2543- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2544- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
2545- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
2546- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2547- * POSSIBILITY OF SUCH DAMAGE.
2548- *
2549- * \asf_license_stop
2550- *
2551- */
2552-
2553-#ifndef _SAMD51_CAN_COMPONENT_
2554-#define _SAMD51_CAN_COMPONENT_
2555-
2556-/* ========================================================================== */
2557-/** SOFTWARE API DEFINITION FOR CAN */
2558-/* ========================================================================== */
2559-/** \addtogroup SAMD51_CAN Control Area Network */
2560-/*@{*/
2561-
2562-#define CAN_U2003
2563-#define REV_CAN 0x321
2564-
2565-/* -------- CAN_CREL : (CAN Offset: 0x00) (R/ 32) Core Release -------- */
2566-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2567-typedef union {
2568- struct {
2569- uint32_t :20; /*!< bit: 0..19 Reserved */
2570- uint32_t SUBSTEP:4; /*!< bit: 20..23 Sub-step of Core Release */
2571- uint32_t STEP:4; /*!< bit: 24..27 Step of Core Release */
2572- uint32_t REL:4; /*!< bit: 28..31 Core Release */
2573- } bit; /*!< Structure used for bit access */
2574- uint32_t reg; /*!< Type used for register access */
2575-} CAN_CREL_Type;
2576-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2577-
2578-#define CAN_CREL_OFFSET 0x00 /**< \brief (CAN_CREL offset) Core Release */
2579-#define CAN_CREL_RESETVALUE 0x32100000u /**< \brief (CAN_CREL reset_value) Core Release */
2580-
2581-#define CAN_CREL_SUBSTEP_Pos 20 /**< \brief (CAN_CREL) Sub-step of Core Release */
2582-#define CAN_CREL_SUBSTEP_Msk (0xFu << CAN_CREL_SUBSTEP_Pos)
2583-#define CAN_CREL_SUBSTEP(value) (CAN_CREL_SUBSTEP_Msk & ((value) << CAN_CREL_SUBSTEP_Pos))
2584-#define CAN_CREL_STEP_Pos 24 /**< \brief (CAN_CREL) Step of Core Release */
2585-#define CAN_CREL_STEP_Msk (0xFu << CAN_CREL_STEP_Pos)
2586-#define CAN_CREL_STEP(value) (CAN_CREL_STEP_Msk & ((value) << CAN_CREL_STEP_Pos))
2587-#define CAN_CREL_REL_Pos 28 /**< \brief (CAN_CREL) Core Release */
2588-#define CAN_CREL_REL_Msk (0xFu << CAN_CREL_REL_Pos)
2589-#define CAN_CREL_REL(value) (CAN_CREL_REL_Msk & ((value) << CAN_CREL_REL_Pos))
2590-#define CAN_CREL_MASK 0xFFF00000u /**< \brief (CAN_CREL) MASK Register */
2591-
2592-/* -------- CAN_ENDN : (CAN Offset: 0x04) (R/ 32) Endian -------- */
2593-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2594-typedef union {
2595- struct {
2596- uint32_t ETV:32; /*!< bit: 0..31 Endianness Test Value */
2597- } bit; /*!< Structure used for bit access */
2598- uint32_t reg; /*!< Type used for register access */
2599-} CAN_ENDN_Type;
2600-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2601-
2602-#define CAN_ENDN_OFFSET 0x04 /**< \brief (CAN_ENDN offset) Endian */
2603-#define CAN_ENDN_RESETVALUE 0x87654321u /**< \brief (CAN_ENDN reset_value) Endian */
2604-
2605-#define CAN_ENDN_ETV_Pos 0 /**< \brief (CAN_ENDN) Endianness Test Value */
2606-#define CAN_ENDN_ETV_Msk (0xFFFFFFFFu << CAN_ENDN_ETV_Pos)
2607-#define CAN_ENDN_ETV(value) (CAN_ENDN_ETV_Msk & ((value) << CAN_ENDN_ETV_Pos))
2608-#define CAN_ENDN_MASK 0xFFFFFFFFu /**< \brief (CAN_ENDN) MASK Register */
2609diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/ccl.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/ccl.h
2610deleted file mode 100644
2611index 890e81edf631d4400a0cec302f4edfc99e24c567..0000000000000000000000000000000000000000
2612--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/ccl.h
2613+++ /dev/null
2614@@ -1,228 +0,0 @@
2615-/**
2616- * \file
2617- *
2618- * \brief Component description for CCL
2619- *
2620- * Copyright (c) 2017 Microchip Technology Inc.
2621- *
2622- * \asf_license_start
2623- *
2624- * \page License
2625- *
2626- * SPDX-License-Identifier: Apache-2.0
2627- *
2628- * Licensed under the Apache License, Version 2.0 (the "License"); you may
2629- * not use this file except in compliance with the License.
2630- * You may obtain a copy of the Licence at
2631- *
2632- * http://www.apache.org/licenses/LICENSE-2.0
2633- *
2634- * Unless required by applicable law or agreed to in writing, software
2635- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
2636- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2637- * See the License for the specific language governing permissions and
2638- * limitations under the License.
2639- *
2640- * \asf_license_stop
2641- *
2642- */
2643-
2644-#ifndef _SAMD51_CCL_COMPONENT_
2645-#define _SAMD51_CCL_COMPONENT_
2646-
2647-/* ========================================================================== */
2648-/** SOFTWARE API DEFINITION FOR CCL */
2649-/* ========================================================================== */
2650-/** \addtogroup SAMD51_CCL Configurable Custom Logic */
2651-/*@{*/
2652-
2653-#define CCL_U2225
2654-#define REV_CCL 0x110
2655-
2656-/* -------- CCL_CTRL : (CCL Offset: 0x0) (R/W 8) Control -------- */
2657-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2658-typedef union {
2659- struct {
2660- uint8_t SWRST:1; /*!< bit: 0 Software Reset */
2661- uint8_t ENABLE:1; /*!< bit: 1 Enable */
2662- uint8_t :4; /*!< bit: 2.. 5 Reserved */
2663- uint8_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */
2664- uint8_t :1; /*!< bit: 7 Reserved */
2665- } bit; /*!< Structure used for bit access */
2666- uint8_t reg; /*!< Type used for register access */
2667-} CCL_CTRL_Type;
2668-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2669-
2670-#define CCL_CTRL_OFFSET 0x0 /**< \brief (CCL_CTRL offset) Control */
2671-#define CCL_CTRL_RESETVALUE _U_(0x00) /**< \brief (CCL_CTRL reset_value) Control */
2672-
2673-#define CCL_CTRL_SWRST_Pos 0 /**< \brief (CCL_CTRL) Software Reset */
2674-#define CCL_CTRL_SWRST (_U_(0x1) << CCL_CTRL_SWRST_Pos)
2675-#define CCL_CTRL_ENABLE_Pos 1 /**< \brief (CCL_CTRL) Enable */
2676-#define CCL_CTRL_ENABLE (_U_(0x1) << CCL_CTRL_ENABLE_Pos)
2677-#define CCL_CTRL_RUNSTDBY_Pos 6 /**< \brief (CCL_CTRL) Run in Standby */
2678-#define CCL_CTRL_RUNSTDBY (_U_(0x1) << CCL_CTRL_RUNSTDBY_Pos)
2679-#define CCL_CTRL_MASK _U_(0x43) /**< \brief (CCL_CTRL) MASK Register */
2680-
2681-/* -------- CCL_SEQCTRL : (CCL Offset: 0x4) (R/W 8) SEQ Control x -------- */
2682-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2683-typedef union {
2684- struct {
2685- uint8_t SEQSEL:4; /*!< bit: 0.. 3 Sequential Selection */
2686- uint8_t :4; /*!< bit: 4.. 7 Reserved */
2687- } bit; /*!< Structure used for bit access */
2688- uint8_t reg; /*!< Type used for register access */
2689-} CCL_SEQCTRL_Type;
2690-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2691-
2692-#define CCL_SEQCTRL_OFFSET 0x4 /**< \brief (CCL_SEQCTRL offset) SEQ Control x */
2693-#define CCL_SEQCTRL_RESETVALUE _U_(0x00) /**< \brief (CCL_SEQCTRL reset_value) SEQ Control x */
2694-
2695-#define CCL_SEQCTRL_SEQSEL_Pos 0 /**< \brief (CCL_SEQCTRL) Sequential Selection */
2696-#define CCL_SEQCTRL_SEQSEL_Msk (_U_(0xF) << CCL_SEQCTRL_SEQSEL_Pos)
2697-#define CCL_SEQCTRL_SEQSEL(value) (CCL_SEQCTRL_SEQSEL_Msk & ((value) << CCL_SEQCTRL_SEQSEL_Pos))
2698-#define CCL_SEQCTRL_SEQSEL_DISABLE_Val _U_(0x0) /**< \brief (CCL_SEQCTRL) Sequential logic is disabled */
2699-#define CCL_SEQCTRL_SEQSEL_DFF_Val _U_(0x1) /**< \brief (CCL_SEQCTRL) D flip flop */
2700-#define CCL_SEQCTRL_SEQSEL_JK_Val _U_(0x2) /**< \brief (CCL_SEQCTRL) JK flip flop */
2701-#define CCL_SEQCTRL_SEQSEL_LATCH_Val _U_(0x3) /**< \brief (CCL_SEQCTRL) D latch */
2702-#define CCL_SEQCTRL_SEQSEL_RS_Val _U_(0x4) /**< \brief (CCL_SEQCTRL) RS latch */
2703-#define CCL_SEQCTRL_SEQSEL_DISABLE (CCL_SEQCTRL_SEQSEL_DISABLE_Val << CCL_SEQCTRL_SEQSEL_Pos)
2704-#define CCL_SEQCTRL_SEQSEL_DFF (CCL_SEQCTRL_SEQSEL_DFF_Val << CCL_SEQCTRL_SEQSEL_Pos)
2705-#define CCL_SEQCTRL_SEQSEL_JK (CCL_SEQCTRL_SEQSEL_JK_Val << CCL_SEQCTRL_SEQSEL_Pos)
2706-#define CCL_SEQCTRL_SEQSEL_LATCH (CCL_SEQCTRL_SEQSEL_LATCH_Val << CCL_SEQCTRL_SEQSEL_Pos)
2707-#define CCL_SEQCTRL_SEQSEL_RS (CCL_SEQCTRL_SEQSEL_RS_Val << CCL_SEQCTRL_SEQSEL_Pos)
2708-#define CCL_SEQCTRL_MASK _U_(0x0F) /**< \brief (CCL_SEQCTRL) MASK Register */
2709-
2710-/* -------- CCL_LUTCTRL : (CCL Offset: 0x8) (R/W 32) LUT Control x -------- */
2711-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2712-typedef union {
2713- struct {
2714diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/cmcc.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/cmcc.h
2715deleted file mode 100644
2716index 92fa6813ef838a0105f1b242e509594462c358e8..0000000000000000000000000000000000000000
2717--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/cmcc.h
2718+++ /dev/null
2719@@ -1,357 +0,0 @@
2720-/**
2721- * \file
2722- *
2723- * \brief Component description for CMCC
2724- *
2725- * Copyright (c) 2017 Microchip Technology Inc.
2726- *
2727- * \asf_license_start
2728- *
2729- * \page License
2730- *
2731- * SPDX-License-Identifier: Apache-2.0
2732- *
2733- * Licensed under the Apache License, Version 2.0 (the "License"); you may
2734- * not use this file except in compliance with the License.
2735- * You may obtain a copy of the Licence at
2736- *
2737- * http://www.apache.org/licenses/LICENSE-2.0
2738- *
2739- * Unless required by applicable law or agreed to in writing, software
2740- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
2741- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2742- * See the License for the specific language governing permissions and
2743- * limitations under the License.
2744- *
2745- * \asf_license_stop
2746- *
2747- */
2748-
2749-#ifndef _SAMD51_CMCC_COMPONENT_
2750-#define _SAMD51_CMCC_COMPONENT_
2751-
2752-/* ========================================================================== */
2753-/** SOFTWARE API DEFINITION FOR CMCC */
2754-/* ========================================================================== */
2755-/** \addtogroup SAMD51_CMCC Cortex M Cache Controller */
2756-/*@{*/
2757-
2758-#define CMCC_U2015
2759-#define REV_CMCC 0x600
2760-
2761-/* -------- CMCC_TYPE : (CMCC Offset: 0x00) (R/ 32) Cache Type Register -------- */
2762-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2763-typedef union {
2764- struct {
2765- uint32_t :1; /*!< bit: 0 Reserved */
2766- uint32_t GCLK:1; /*!< bit: 1 dynamic Clock Gating supported */
2767- uint32_t :2; /*!< bit: 2.. 3 Reserved */
2768- uint32_t RRP:1; /*!< bit: 4 Round Robin Policy supported */
2769- uint32_t WAYNUM:2; /*!< bit: 5.. 6 Number of Way */
2770- uint32_t LCKDOWN:1; /*!< bit: 7 Lock Down supported */
2771- uint32_t CSIZE:3; /*!< bit: 8..10 Cache Size */
2772- uint32_t CLSIZE:3; /*!< bit: 11..13 Cache Line Size */
2773- uint32_t :18; /*!< bit: 14..31 Reserved */
2774- } bit; /*!< Structure used for bit access */
2775- uint32_t reg; /*!< Type used for register access */
2776-} CMCC_TYPE_Type;
2777-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2778-
2779-#define CMCC_TYPE_OFFSET 0x00 /**< \brief (CMCC_TYPE offset) Cache Type Register */
2780-#define CMCC_TYPE_RESETVALUE _U_(0x000012D2) /**< \brief (CMCC_TYPE reset_value) Cache Type Register */
2781-
2782-#define CMCC_TYPE_GCLK_Pos 1 /**< \brief (CMCC_TYPE) dynamic Clock Gating supported */
2783-#define CMCC_TYPE_GCLK (_U_(0x1) << CMCC_TYPE_GCLK_Pos)
2784-#define CMCC_TYPE_RRP_Pos 4 /**< \brief (CMCC_TYPE) Round Robin Policy supported */
2785-#define CMCC_TYPE_RRP (_U_(0x1) << CMCC_TYPE_RRP_Pos)
2786-#define CMCC_TYPE_WAYNUM_Pos 5 /**< \brief (CMCC_TYPE) Number of Way */
2787-#define CMCC_TYPE_WAYNUM_Msk (_U_(0x3) << CMCC_TYPE_WAYNUM_Pos)
2788-#define CMCC_TYPE_WAYNUM(value) (CMCC_TYPE_WAYNUM_Msk & ((value) << CMCC_TYPE_WAYNUM_Pos))
2789-#define CMCC_TYPE_WAYNUM_DMAPPED_Val _U_(0x0) /**< \brief (CMCC_TYPE) Direct Mapped Cache */
2790-#define CMCC_TYPE_WAYNUM_ARCH2WAY_Val _U_(0x1) /**< \brief (CMCC_TYPE) 2-WAY set associative */
2791-#define CMCC_TYPE_WAYNUM_ARCH4WAY_Val _U_(0x2) /**< \brief (CMCC_TYPE) 4-WAY set associative */
2792-#define CMCC_TYPE_WAYNUM_DMAPPED (CMCC_TYPE_WAYNUM_DMAPPED_Val << CMCC_TYPE_WAYNUM_Pos)
2793-#define CMCC_TYPE_WAYNUM_ARCH2WAY (CMCC_TYPE_WAYNUM_ARCH2WAY_Val << CMCC_TYPE_WAYNUM_Pos)
2794-#define CMCC_TYPE_WAYNUM_ARCH4WAY (CMCC_TYPE_WAYNUM_ARCH4WAY_Val << CMCC_TYPE_WAYNUM_Pos)
2795-#define CMCC_TYPE_LCKDOWN_Pos 7 /**< \brief (CMCC_TYPE) Lock Down supported */
2796-#define CMCC_TYPE_LCKDOWN (_U_(0x1) << CMCC_TYPE_LCKDOWN_Pos)
2797-#define CMCC_TYPE_CSIZE_Pos 8 /**< \brief (CMCC_TYPE) Cache Size */
2798-#define CMCC_TYPE_CSIZE_Msk (_U_(0x7) << CMCC_TYPE_CSIZE_Pos)
2799-#define CMCC_TYPE_CSIZE(value) (CMCC_TYPE_CSIZE_Msk & ((value) << CMCC_TYPE_CSIZE_Pos))
2800-#define CMCC_TYPE_CSIZE_CSIZE_1KB_Val _U_(0x0) /**< \brief (CMCC_TYPE) Cache Size is 1 KB */
2801-#define CMCC_TYPE_CSIZE_CSIZE_2KB_Val _U_(0x1) /**< \brief (CMCC_TYPE) Cache Size is 2 KB */
2802-#define CMCC_TYPE_CSIZE_CSIZE_4KB_Val _U_(0x2) /**< \brief (CMCC_TYPE) Cache Size is 4 KB */
2803-#define CMCC_TYPE_CSIZE_CSIZE_8KB_Val _U_(0x3) /**< \brief (CMCC_TYPE) Cache Size is 8 KB */
2804-#define CMCC_TYPE_CSIZE_CSIZE_16KB_Val _U_(0x4) /**< \brief (CMCC_TYPE) Cache Size is 16 KB */
2805-#define CMCC_TYPE_CSIZE_CSIZE_32KB_Val _U_(0x5) /**< \brief (CMCC_TYPE) Cache Size is 32 KB */
2806-#define CMCC_TYPE_CSIZE_CSIZE_64KB_Val _U_(0x6) /**< \brief (CMCC_TYPE) Cache Size is 64 KB */
2807-#define CMCC_TYPE_CSIZE_CSIZE_1KB (CMCC_TYPE_CSIZE_CSIZE_1KB_Val << CMCC_TYPE_CSIZE_Pos)
2808-#define CMCC_TYPE_CSIZE_CSIZE_2KB (CMCC_TYPE_CSIZE_CSIZE_2KB_Val << CMCC_TYPE_CSIZE_Pos)
2809-#define CMCC_TYPE_CSIZE_CSIZE_4KB (CMCC_TYPE_CSIZE_CSIZE_4KB_Val << CMCC_TYPE_CSIZE_Pos)
2810-#define CMCC_TYPE_CSIZE_CSIZE_8KB (CMCC_TYPE_CSIZE_CSIZE_8KB_Val << CMCC_TYPE_CSIZE_Pos)
2811-#define CMCC_TYPE_CSIZE_CSIZE_16KB (CMCC_TYPE_CSIZE_CSIZE_16KB_Val << CMCC_TYPE_CSIZE_Pos)
2812-#define CMCC_TYPE_CSIZE_CSIZE_32KB (CMCC_TYPE_CSIZE_CSIZE_32KB_Val << CMCC_TYPE_CSIZE_Pos)
2813-#define CMCC_TYPE_CSIZE_CSIZE_64KB (CMCC_TYPE_CSIZE_CSIZE_64KB_Val << CMCC_TYPE_CSIZE_Pos)
2814-#define CMCC_TYPE_CLSIZE_Pos 11 /**< \brief (CMCC_TYPE) Cache Line Size */
2815-#define CMCC_TYPE_CLSIZE_Msk (_U_(0x7) << CMCC_TYPE_CLSIZE_Pos)
2816-#define CMCC_TYPE_CLSIZE(value) (CMCC_TYPE_CLSIZE_Msk & ((value) << CMCC_TYPE_CLSIZE_Pos))
2817-#define CMCC_TYPE_CLSIZE_CLSIZE_4B_Val _U_(0x0) /**< \brief (CMCC_TYPE) Cache Line Size is 4 bytes */
2818-#define CMCC_TYPE_CLSIZE_CLSIZE_8B_Val _U_(0x1) /**< \brief (CMCC_TYPE) Cache Line Size is 8 bytes */
2819diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dac.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dac.h
2820deleted file mode 100644
2821index c67efda303e2336199a61d83b97bdd44016e6935..0000000000000000000000000000000000000000
2822--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dac.h
2823+++ /dev/null
2824@@ -1,544 +0,0 @@
2825-/**
2826- * \file
2827- *
2828- * \brief Component description for DAC
2829- *
2830- * Copyright (c) 2017 Microchip Technology Inc.
2831- *
2832- * \asf_license_start
2833- *
2834- * \page License
2835- *
2836- * SPDX-License-Identifier: Apache-2.0
2837- *
2838- * Licensed under the Apache License, Version 2.0 (the "License"); you may
2839- * not use this file except in compliance with the License.
2840- * You may obtain a copy of the Licence at
2841- *
2842- * http://www.apache.org/licenses/LICENSE-2.0
2843- *
2844- * Unless required by applicable law or agreed to in writing, software
2845- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
2846- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2847- * See the License for the specific language governing permissions and
2848- * limitations under the License.
2849- *
2850- * \asf_license_stop
2851- *
2852- */
2853-
2854-#ifndef _SAMD51_DAC_COMPONENT_
2855-#define _SAMD51_DAC_COMPONENT_
2856-
2857-/* ========================================================================== */
2858-/** SOFTWARE API DEFINITION FOR DAC */
2859-/* ========================================================================== */
2860-/** \addtogroup SAMD51_DAC Digital-to-Analog Converter */
2861-/*@{*/
2862-
2863-#define DAC_U2502
2864-#define REV_DAC 0x100
2865-
2866-/* -------- DAC_CTRLA : (DAC Offset: 0x00) (R/W 8) Control A -------- */
2867-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2868-typedef union {
2869- struct {
2870- uint8_t SWRST:1; /*!< bit: 0 Software Reset */
2871- uint8_t ENABLE:1; /*!< bit: 1 Enable DAC Controller */
2872- uint8_t :6; /*!< bit: 2.. 7 Reserved */
2873- } bit; /*!< Structure used for bit access */
2874- uint8_t reg; /*!< Type used for register access */
2875-} DAC_CTRLA_Type;
2876-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2877-
2878-#define DAC_CTRLA_OFFSET 0x00 /**< \brief (DAC_CTRLA offset) Control A */
2879-#define DAC_CTRLA_RESETVALUE _U_(0x00) /**< \brief (DAC_CTRLA reset_value) Control A */
2880-
2881-#define DAC_CTRLA_SWRST_Pos 0 /**< \brief (DAC_CTRLA) Software Reset */
2882-#define DAC_CTRLA_SWRST (_U_(0x1) << DAC_CTRLA_SWRST_Pos)
2883-#define DAC_CTRLA_ENABLE_Pos 1 /**< \brief (DAC_CTRLA) Enable DAC Controller */
2884-#define DAC_CTRLA_ENABLE (_U_(0x1) << DAC_CTRLA_ENABLE_Pos)
2885-#define DAC_CTRLA_MASK _U_(0x03) /**< \brief (DAC_CTRLA) MASK Register */
2886-
2887-/* -------- DAC_CTRLB : (DAC Offset: 0x01) (R/W 8) Control B -------- */
2888-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2889-typedef union {
2890- struct {
2891- uint8_t DIFF:1; /*!< bit: 0 Differential mode enable */
2892- uint8_t REFSEL:2; /*!< bit: 1.. 2 Reference Selection for DAC0/1 */
2893- uint8_t :5; /*!< bit: 3.. 7 Reserved */
2894- } bit; /*!< Structure used for bit access */
2895- uint8_t reg; /*!< Type used for register access */
2896-} DAC_CTRLB_Type;
2897-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2898-
2899-#define DAC_CTRLB_OFFSET 0x01 /**< \brief (DAC_CTRLB offset) Control B */
2900-#define DAC_CTRLB_RESETVALUE _U_(0x02) /**< \brief (DAC_CTRLB reset_value) Control B */
2901-
2902-#define DAC_CTRLB_DIFF_Pos 0 /**< \brief (DAC_CTRLB) Differential mode enable */
2903-#define DAC_CTRLB_DIFF (_U_(0x1) << DAC_CTRLB_DIFF_Pos)
2904-#define DAC_CTRLB_REFSEL_Pos 1 /**< \brief (DAC_CTRLB) Reference Selection for DAC0/1 */
2905-#define DAC_CTRLB_REFSEL_Msk (_U_(0x3) << DAC_CTRLB_REFSEL_Pos)
2906-#define DAC_CTRLB_REFSEL(value) (DAC_CTRLB_REFSEL_Msk & ((value) << DAC_CTRLB_REFSEL_Pos))
2907-#define DAC_CTRLB_REFSEL_VREFPU_Val _U_(0x0) /**< \brief (DAC_CTRLB) External reference unbuffered */
2908-#define DAC_CTRLB_REFSEL_VDDANA_Val _U_(0x1) /**< \brief (DAC_CTRLB) Analog supply */
2909-#define DAC_CTRLB_REFSEL_VREFPB_Val _U_(0x2) /**< \brief (DAC_CTRLB) External reference buffered */
2910-#define DAC_CTRLB_REFSEL_INTREF_Val _U_(0x3) /**< \brief (DAC_CTRLB) Internal bandgap reference */
2911-#define DAC_CTRLB_REFSEL_VREFPU (DAC_CTRLB_REFSEL_VREFPU_Val << DAC_CTRLB_REFSEL_Pos)
2912-#define DAC_CTRLB_REFSEL_VDDANA (DAC_CTRLB_REFSEL_VDDANA_Val << DAC_CTRLB_REFSEL_Pos)
2913-#define DAC_CTRLB_REFSEL_VREFPB (DAC_CTRLB_REFSEL_VREFPB_Val << DAC_CTRLB_REFSEL_Pos)
2914-#define DAC_CTRLB_REFSEL_INTREF (DAC_CTRLB_REFSEL_INTREF_Val << DAC_CTRLB_REFSEL_Pos)
2915-#define DAC_CTRLB_MASK _U_(0x07) /**< \brief (DAC_CTRLB) MASK Register */
2916-
2917-/* -------- DAC_EVCTRL : (DAC Offset: 0x02) (R/W 8) Event Control -------- */
2918-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2919-typedef union {
2920- struct {
2921- uint8_t STARTEI0:1; /*!< bit: 0 Start Conversion Event Input DAC 0 */
2922- uint8_t STARTEI1:1; /*!< bit: 1 Start Conversion Event Input DAC 1 */
2923- uint8_t EMPTYEO0:1; /*!< bit: 2 Data Buffer Empty Event Output DAC 0 */
2924diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dmac.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dmac.h
2925deleted file mode 100644
2926index 295b31fe488a48ddf941e1f46b1c99497872e657..0000000000000000000000000000000000000000
2927--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dmac.h
2928+++ /dev/null
2929@@ -1,1416 +0,0 @@
2930-/**
2931- * \file
2932- *
2933- * \brief Component description for DMAC
2934- *
2935- * Copyright (c) 2017 Microchip Technology Inc.
2936- *
2937- * \asf_license_start
2938- *
2939- * \page License
2940- *
2941- * SPDX-License-Identifier: Apache-2.0
2942- *
2943- * Licensed under the Apache License, Version 2.0 (the "License"); you may
2944- * not use this file except in compliance with the License.
2945- * You may obtain a copy of the Licence at
2946- *
2947- * http://www.apache.org/licenses/LICENSE-2.0
2948- *
2949- * Unless required by applicable law or agreed to in writing, software
2950- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
2951- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2952- * See the License for the specific language governing permissions and
2953- * limitations under the License.
2954- *
2955- * \asf_license_stop
2956- *
2957- */
2958-
2959-#ifndef _SAMD51_DMAC_COMPONENT_
2960-#define _SAMD51_DMAC_COMPONENT_
2961-
2962-/* ========================================================================== */
2963-/** SOFTWARE API DEFINITION FOR DMAC */
2964-/* ========================================================================== */
2965-/** \addtogroup SAMD51_DMAC Direct Memory Access Controller */
2966-/*@{*/
2967-
2968-#define DMAC_U2503
2969-#define REV_DMAC 0x100
2970-
2971-/* -------- DMAC_CTRL : (DMAC Offset: 0x00) (R/W 16) Control -------- */
2972-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2973-typedef union {
2974- struct {
2975- uint16_t SWRST:1; /*!< bit: 0 Software Reset */
2976- uint16_t DMAENABLE:1; /*!< bit: 1 DMA Enable */
2977- uint16_t :6; /*!< bit: 2.. 7 Reserved */
2978- uint16_t LVLEN0:1; /*!< bit: 8 Priority Level 0 Enable */
2979- uint16_t LVLEN1:1; /*!< bit: 9 Priority Level 1 Enable */
2980- uint16_t LVLEN2:1; /*!< bit: 10 Priority Level 2 Enable */
2981- uint16_t LVLEN3:1; /*!< bit: 11 Priority Level 3 Enable */
2982- uint16_t :4; /*!< bit: 12..15 Reserved */
2983- } bit; /*!< Structure used for bit access */
2984- struct {
2985- uint16_t :8; /*!< bit: 0.. 7 Reserved */
2986- uint16_t LVLEN:4; /*!< bit: 8..11 Priority Level x Enable */
2987- uint16_t :4; /*!< bit: 12..15 Reserved */
2988- } vec; /*!< Structure used for vec access */
2989- uint16_t reg; /*!< Type used for register access */
2990-} DMAC_CTRL_Type;
2991-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2992-
2993-#define DMAC_CTRL_OFFSET 0x00 /**< \brief (DMAC_CTRL offset) Control */
2994-#define DMAC_CTRL_RESETVALUE _U_(0x0000) /**< \brief (DMAC_CTRL reset_value) Control */
2995-
2996-#define DMAC_CTRL_SWRST_Pos 0 /**< \brief (DMAC_CTRL) Software Reset */
2997-#define DMAC_CTRL_SWRST (_U_(0x1) << DMAC_CTRL_SWRST_Pos)
2998-#define DMAC_CTRL_DMAENABLE_Pos 1 /**< \brief (DMAC_CTRL) DMA Enable */
2999-#define DMAC_CTRL_DMAENABLE (_U_(0x1) << DMAC_CTRL_DMAENABLE_Pos)
3000-#define DMAC_CTRL_LVLEN0_Pos 8 /**< \brief (DMAC_CTRL) Priority Level 0 Enable */
3001-#define DMAC_CTRL_LVLEN0 (_U_(1) << DMAC_CTRL_LVLEN0_Pos)
3002-#define DMAC_CTRL_LVLEN1_Pos 9 /**< \brief (DMAC_CTRL) Priority Level 1 Enable */
3003-#define DMAC_CTRL_LVLEN1 (_U_(1) << DMAC_CTRL_LVLEN1_Pos)
3004-#define DMAC_CTRL_LVLEN2_Pos 10 /**< \brief (DMAC_CTRL) Priority Level 2 Enable */
3005-#define DMAC_CTRL_LVLEN2 (_U_(1) << DMAC_CTRL_LVLEN2_Pos)
3006-#define DMAC_CTRL_LVLEN3_Pos 11 /**< \brief (DMAC_CTRL) Priority Level 3 Enable */
3007-#define DMAC_CTRL_LVLEN3 (_U_(1) << DMAC_CTRL_LVLEN3_Pos)
3008-#define DMAC_CTRL_LVLEN_Pos 8 /**< \brief (DMAC_CTRL) Priority Level x Enable */
3009-#define DMAC_CTRL_LVLEN_Msk (_U_(0xF) << DMAC_CTRL_LVLEN_Pos)
3010-#define DMAC_CTRL_LVLEN(value) (DMAC_CTRL_LVLEN_Msk & ((value) << DMAC_CTRL_LVLEN_Pos))
3011-#define DMAC_CTRL_MASK _U_(0x0F03) /**< \brief (DMAC_CTRL) MASK Register */
3012-
3013-/* -------- DMAC_CRCCTRL : (DMAC Offset: 0x02) (R/W 16) CRC Control -------- */
3014-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3015-typedef union {
3016- struct {
3017- uint16_t CRCBEATSIZE:2; /*!< bit: 0.. 1 CRC Beat Size */
3018- uint16_t CRCPOLY:2; /*!< bit: 2.. 3 CRC Polynomial Type */
3019- uint16_t :4; /*!< bit: 4.. 7 Reserved */
3020- uint16_t CRCSRC:6; /*!< bit: 8..13 CRC Input Source */
3021- uint16_t CRCMODE:2; /*!< bit: 14..15 CRC Operating Mode */
3022- } bit; /*!< Structure used for bit access */
3023- uint16_t reg; /*!< Type used for register access */
3024-} DMAC_CRCCTRL_Type;
3025-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3026-
3027-#define DMAC_CRCCTRL_OFFSET 0x02 /**< \brief (DMAC_CRCCTRL offset) CRC Control */
3028-#define DMAC_CRCCTRL_RESETVALUE _U_(0x0000) /**< \brief (DMAC_CRCCTRL reset_value) CRC Control */
3029diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dsu.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dsu.h
3030deleted file mode 100644
3031index 43ae26d2089d4d1da5493c2f3722ef366cc09f19..0000000000000000000000000000000000000000
3032--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/dsu.h
3033+++ /dev/null
3034@@ -1,1244 +0,0 @@
3035-/**
3036- * \file
3037- *
3038- * \brief Component description for DSU
3039- *
3040- * Copyright (c) 2017 Microchip Technology Inc.
3041- *
3042- * \asf_license_start
3043- *
3044- * \page License
3045- *
3046- * SPDX-License-Identifier: Apache-2.0
3047- *
3048- * Licensed under the Apache License, Version 2.0 (the "License"); you may
3049- * not use this file except in compliance with the License.
3050- * You may obtain a copy of the Licence at
3051- *
3052- * http://www.apache.org/licenses/LICENSE-2.0
3053- *
3054- * Unless required by applicable law or agreed to in writing, software
3055- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
3056- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3057- * See the License for the specific language governing permissions and
3058- * limitations under the License.
3059- *
3060- * \asf_license_stop
3061- *
3062- */
3063-
3064-#ifndef _SAMD51_DSU_COMPONENT_
3065-#define _SAMD51_DSU_COMPONENT_
3066-
3067-/* ========================================================================== */
3068-/** SOFTWARE API DEFINITION FOR DSU */
3069-/* ========================================================================== */
3070-/** \addtogroup SAMD51_DSU Device Service Unit */
3071-/*@{*/
3072-
3073-#define DSU_U2410
3074-#define REV_DSU 0x100
3075-
3076-/* -------- DSU_CTRL : (DSU Offset: 0x0000) ( /W 8) Control -------- */
3077-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3078-typedef union {
3079- struct {
3080- uint8_t SWRST:1; /*!< bit: 0 Software Reset */
3081- uint8_t :1; /*!< bit: 1 Reserved */
3082- uint8_t CRC:1; /*!< bit: 2 32-bit Cyclic Redundancy Code */
3083- uint8_t MBIST:1; /*!< bit: 3 Memory built-in self-test */
3084- uint8_t CE:1; /*!< bit: 4 Chip-Erase */
3085- uint8_t :1; /*!< bit: 5 Reserved */
3086- uint8_t ARR:1; /*!< bit: 6 Auxiliary Row Read */
3087- uint8_t SMSA:1; /*!< bit: 7 Start Memory Stream Access */
3088- } bit; /*!< Structure used for bit access */
3089- uint8_t reg; /*!< Type used for register access */
3090-} DSU_CTRL_Type;
3091-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3092-
3093-#define DSU_CTRL_OFFSET 0x0000 /**< \brief (DSU_CTRL offset) Control */
3094-#define DSU_CTRL_RESETVALUE _U_(0x00) /**< \brief (DSU_CTRL reset_value) Control */
3095-
3096-#define DSU_CTRL_SWRST_Pos 0 /**< \brief (DSU_CTRL) Software Reset */
3097-#define DSU_CTRL_SWRST (_U_(0x1) << DSU_CTRL_SWRST_Pos)
3098-#define DSU_CTRL_CRC_Pos 2 /**< \brief (DSU_CTRL) 32-bit Cyclic Redundancy Code */
3099-#define DSU_CTRL_CRC (_U_(0x1) << DSU_CTRL_CRC_Pos)
3100-#define DSU_CTRL_MBIST_Pos 3 /**< \brief (DSU_CTRL) Memory built-in self-test */
3101-#define DSU_CTRL_MBIST (_U_(0x1) << DSU_CTRL_MBIST_Pos)
3102-#define DSU_CTRL_CE_Pos 4 /**< \brief (DSU_CTRL) Chip-Erase */
3103-#define DSU_CTRL_CE (_U_(0x1) << DSU_CTRL_CE_Pos)
3104-#define DSU_CTRL_ARR_Pos 6 /**< \brief (DSU_CTRL) Auxiliary Row Read */
3105-#define DSU_CTRL_ARR (_U_(0x1) << DSU_CTRL_ARR_Pos)
3106-#define DSU_CTRL_SMSA_Pos 7 /**< \brief (DSU_CTRL) Start Memory Stream Access */
3107-#define DSU_CTRL_SMSA (_U_(0x1) << DSU_CTRL_SMSA_Pos)
3108-#define DSU_CTRL_MASK _U_(0xDD) /**< \brief (DSU_CTRL) MASK Register */
3109-
3110-/* -------- DSU_STATUSA : (DSU Offset: 0x0001) (R/W 8) Status A -------- */
3111-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3112-typedef union {
3113- struct {
3114- uint8_t DONE:1; /*!< bit: 0 Done */
3115- uint8_t CRSTEXT:1; /*!< bit: 1 CPU Reset Phase Extension */
3116- uint8_t BERR:1; /*!< bit: 2 Bus Error */
3117- uint8_t FAIL:1; /*!< bit: 3 Failure */
3118- uint8_t PERR:1; /*!< bit: 4 Protection Error */
3119- uint8_t :3; /*!< bit: 5.. 7 Reserved */
3120- } bit; /*!< Structure used for bit access */
3121- uint8_t reg; /*!< Type used for register access */
3122-} DSU_STATUSA_Type;
3123-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3124-
3125-#define DSU_STATUSA_OFFSET 0x0001 /**< \brief (DSU_STATUSA offset) Status A */
3126-#define DSU_STATUSA_RESETVALUE _U_(0x00) /**< \brief (DSU_STATUSA reset_value) Status A */
3127-
3128-#define DSU_STATUSA_DONE_Pos 0 /**< \brief (DSU_STATUSA) Done */
3129-#define DSU_STATUSA_DONE (_U_(0x1) << DSU_STATUSA_DONE_Pos)
3130-#define DSU_STATUSA_CRSTEXT_Pos 1 /**< \brief (DSU_STATUSA) CPU Reset Phase Extension */
3131-#define DSU_STATUSA_CRSTEXT (_U_(0x1) << DSU_STATUSA_CRSTEXT_Pos)
3132-#define DSU_STATUSA_BERR_Pos 2 /**< \brief (DSU_STATUSA) Bus Error */
3133-#define DSU_STATUSA_BERR (_U_(0x1) << DSU_STATUSA_BERR_Pos)
3134diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/eic.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/eic.h
3135deleted file mode 100644
3136index 53d9e1c080aa3506fc8c0137b6a8fe5128a27695..0000000000000000000000000000000000000000
3137--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/eic.h
3138+++ /dev/null
3139@@ -1,497 +0,0 @@
3140-/**
3141- * \file
3142- *
3143- * \brief Component description for EIC
3144- *
3145- * Copyright (c) 2017 Microchip Technology Inc.
3146- *
3147- * \asf_license_start
3148- *
3149- * \page License
3150- *
3151- * SPDX-License-Identifier: Apache-2.0
3152- *
3153- * Licensed under the Apache License, Version 2.0 (the "License"); you may
3154- * not use this file except in compliance with the License.
3155- * You may obtain a copy of the Licence at
3156- *
3157- * http://www.apache.org/licenses/LICENSE-2.0
3158- *
3159- * Unless required by applicable law or agreed to in writing, software
3160- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
3161- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3162- * See the License for the specific language governing permissions and
3163- * limitations under the License.
3164- *
3165- * \asf_license_stop
3166- *
3167- */
3168-
3169-#ifndef _SAMD51_EIC_COMPONENT_
3170-#define _SAMD51_EIC_COMPONENT_
3171-
3172-/* ========================================================================== */
3173-/** SOFTWARE API DEFINITION FOR EIC */
3174-/* ========================================================================== */
3175-/** \addtogroup SAMD51_EIC External Interrupt Controller */
3176-/*@{*/
3177-
3178-#define EIC_U2254
3179-#define REV_EIC 0x300
3180-
3181-/* -------- EIC_CTRLA : (EIC Offset: 0x00) (R/W 8) Control A -------- */
3182-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3183-typedef union {
3184- struct {
3185- uint8_t SWRST:1; /*!< bit: 0 Software Reset */
3186- uint8_t ENABLE:1; /*!< bit: 1 Enable */
3187- uint8_t :2; /*!< bit: 2.. 3 Reserved */
3188- uint8_t CKSEL:1; /*!< bit: 4 Clock Selection */
3189- uint8_t :3; /*!< bit: 5.. 7 Reserved */
3190- } bit; /*!< Structure used for bit access */
3191- uint8_t reg; /*!< Type used for register access */
3192-} EIC_CTRLA_Type;
3193-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3194-
3195-#define EIC_CTRLA_OFFSET 0x00 /**< \brief (EIC_CTRLA offset) Control A */
3196-#define EIC_CTRLA_RESETVALUE _U_(0x00) /**< \brief (EIC_CTRLA reset_value) Control A */
3197-
3198-#define EIC_CTRLA_SWRST_Pos 0 /**< \brief (EIC_CTRLA) Software Reset */
3199-#define EIC_CTRLA_SWRST (_U_(0x1) << EIC_CTRLA_SWRST_Pos)
3200-#define EIC_CTRLA_ENABLE_Pos 1 /**< \brief (EIC_CTRLA) Enable */
3201-#define EIC_CTRLA_ENABLE (_U_(0x1) << EIC_CTRLA_ENABLE_Pos)
3202-#define EIC_CTRLA_CKSEL_Pos 4 /**< \brief (EIC_CTRLA) Clock Selection */
3203-#define EIC_CTRLA_CKSEL (_U_(0x1) << EIC_CTRLA_CKSEL_Pos)
3204-#define EIC_CTRLA_MASK _U_(0x13) /**< \brief (EIC_CTRLA) MASK Register */
3205-
3206-/* -------- EIC_NMICTRL : (EIC Offset: 0x01) (R/W 8) Non-Maskable Interrupt Control -------- */
3207-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3208-typedef union {
3209- struct {
3210- uint8_t NMISENSE:3; /*!< bit: 0.. 2 Non-Maskable Interrupt Sense Configuration */
3211- uint8_t NMIFILTEN:1; /*!< bit: 3 Non-Maskable Interrupt Filter Enable */
3212- uint8_t NMIASYNCH:1; /*!< bit: 4 Asynchronous Edge Detection Mode */
3213- uint8_t :3; /*!< bit: 5.. 7 Reserved */
3214- } bit; /*!< Structure used for bit access */
3215- uint8_t reg; /*!< Type used for register access */
3216-} EIC_NMICTRL_Type;
3217-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3218-
3219-#define EIC_NMICTRL_OFFSET 0x01 /**< \brief (EIC_NMICTRL offset) Non-Maskable Interrupt Control */
3220-#define EIC_NMICTRL_RESETVALUE _U_(0x00) /**< \brief (EIC_NMICTRL reset_value) Non-Maskable Interrupt Control */
3221-
3222-#define EIC_NMICTRL_NMISENSE_Pos 0 /**< \brief (EIC_NMICTRL) Non-Maskable Interrupt Sense Configuration */
3223-#define EIC_NMICTRL_NMISENSE_Msk (_U_(0x7) << EIC_NMICTRL_NMISENSE_Pos)
3224-#define EIC_NMICTRL_NMISENSE(value) (EIC_NMICTRL_NMISENSE_Msk & ((value) << EIC_NMICTRL_NMISENSE_Pos))
3225-#define EIC_NMICTRL_NMISENSE_NONE_Val _U_(0x0) /**< \brief (EIC_NMICTRL) No detection */
3226-#define EIC_NMICTRL_NMISENSE_RISE_Val _U_(0x1) /**< \brief (EIC_NMICTRL) Rising-edge detection */
3227-#define EIC_NMICTRL_NMISENSE_FALL_Val _U_(0x2) /**< \brief (EIC_NMICTRL) Falling-edge detection */
3228-#define EIC_NMICTRL_NMISENSE_BOTH_Val _U_(0x3) /**< \brief (EIC_NMICTRL) Both-edges detection */
3229-#define EIC_NMICTRL_NMISENSE_HIGH_Val _U_(0x4) /**< \brief (EIC_NMICTRL) High-level detection */
3230-#define EIC_NMICTRL_NMISENSE_LOW_Val _U_(0x5) /**< \brief (EIC_NMICTRL) Low-level detection */
3231-#define EIC_NMICTRL_NMISENSE_NONE (EIC_NMICTRL_NMISENSE_NONE_Val << EIC_NMICTRL_NMISENSE_Pos)
3232-#define EIC_NMICTRL_NMISENSE_RISE (EIC_NMICTRL_NMISENSE_RISE_Val << EIC_NMICTRL_NMISENSE_Pos)
3233-#define EIC_NMICTRL_NMISENSE_FALL (EIC_NMICTRL_NMISENSE_FALL_Val << EIC_NMICTRL_NMISENSE_Pos)
3234-#define EIC_NMICTRL_NMISENSE_BOTH (EIC_NMICTRL_NMISENSE_BOTH_Val << EIC_NMICTRL_NMISENSE_Pos)
3235-#define EIC_NMICTRL_NMISENSE_HIGH (EIC_NMICTRL_NMISENSE_HIGH_Val << EIC_NMICTRL_NMISENSE_Pos)
3236-#define EIC_NMICTRL_NMISENSE_LOW (EIC_NMICTRL_NMISENSE_LOW_Val << EIC_NMICTRL_NMISENSE_Pos)
3237-#define EIC_NMICTRL_NMIFILTEN_Pos 3 /**< \brief (EIC_NMICTRL) Non-Maskable Interrupt Filter Enable */
3238-#define EIC_NMICTRL_NMIFILTEN (_U_(0x1) << EIC_NMICTRL_NMIFILTEN_Pos)
3239diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/evsys.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/evsys.h
3240deleted file mode 100644
3241index c5fdcf53e39ac7b23cd627ec5adfd74dd50d78a7..0000000000000000000000000000000000000000
3242--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/evsys.h
3243+++ /dev/null
3244@@ -1,587 +0,0 @@
3245-/**
3246- * \file
3247- *
3248- * \brief Component description for EVSYS
3249- *
3250- * Copyright (c) 2017 Microchip Technology Inc.
3251- *
3252- * \asf_license_start
3253- *
3254- * \page License
3255- *
3256- * SPDX-License-Identifier: Apache-2.0
3257- *
3258- * Licensed under the Apache License, Version 2.0 (the "License"); you may
3259- * not use this file except in compliance with the License.
3260- * You may obtain a copy of the Licence at
3261- *
3262- * http://www.apache.org/licenses/LICENSE-2.0
3263- *
3264- * Unless required by applicable law or agreed to in writing, software
3265- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
3266- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3267- * See the License for the specific language governing permissions and
3268- * limitations under the License.
3269- *
3270- * \asf_license_stop
3271- *
3272- */
3273-
3274-#ifndef _SAMD51_EVSYS_COMPONENT_
3275-#define _SAMD51_EVSYS_COMPONENT_
3276-
3277-/* ========================================================================== */
3278-/** SOFTWARE API DEFINITION FOR EVSYS */
3279-/* ========================================================================== */
3280-/** \addtogroup SAMD51_EVSYS Event System Interface */
3281-/*@{*/
3282-
3283-#define EVSYS_U2504
3284-#define REV_EVSYS 0x100
3285-
3286-/* -------- EVSYS_CTRLA : (EVSYS Offset: 0x000) (R/W 8) Control -------- */
3287-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3288-typedef union {
3289- struct {
3290- uint8_t SWRST:1; /*!< bit: 0 Software Reset */
3291- uint8_t :7; /*!< bit: 1.. 7 Reserved */
3292- } bit; /*!< Structure used for bit access */
3293- uint8_t reg; /*!< Type used for register access */
3294-} EVSYS_CTRLA_Type;
3295-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3296-
3297-#define EVSYS_CTRLA_OFFSET 0x000 /**< \brief (EVSYS_CTRLA offset) Control */
3298-#define EVSYS_CTRLA_RESETVALUE _U_(0x00) /**< \brief (EVSYS_CTRLA reset_value) Control */
3299-
3300-#define EVSYS_CTRLA_SWRST_Pos 0 /**< \brief (EVSYS_CTRLA) Software Reset */
3301-#define EVSYS_CTRLA_SWRST (_U_(0x1) << EVSYS_CTRLA_SWRST_Pos)
3302-#define EVSYS_CTRLA_MASK _U_(0x01) /**< \brief (EVSYS_CTRLA) MASK Register */
3303-
3304-/* -------- EVSYS_SWEVT : (EVSYS Offset: 0x004) ( /W 32) Software Event -------- */
3305-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3306-typedef union {
3307- struct {
3308- uint32_t CHANNEL0:1; /*!< bit: 0 Channel 0 Software Selection */
3309- uint32_t CHANNEL1:1; /*!< bit: 1 Channel 1 Software Selection */
3310- uint32_t CHANNEL2:1; /*!< bit: 2 Channel 2 Software Selection */
3311- uint32_t CHANNEL3:1; /*!< bit: 3 Channel 3 Software Selection */
3312- uint32_t CHANNEL4:1; /*!< bit: 4 Channel 4 Software Selection */
3313- uint32_t CHANNEL5:1; /*!< bit: 5 Channel 5 Software Selection */
3314- uint32_t CHANNEL6:1; /*!< bit: 6 Channel 6 Software Selection */
3315- uint32_t CHANNEL7:1; /*!< bit: 7 Channel 7 Software Selection */
3316- uint32_t CHANNEL8:1; /*!< bit: 8 Channel 8 Software Selection */
3317- uint32_t CHANNEL9:1; /*!< bit: 9 Channel 9 Software Selection */
3318- uint32_t CHANNEL10:1; /*!< bit: 10 Channel 10 Software Selection */
3319- uint32_t CHANNEL11:1; /*!< bit: 11 Channel 11 Software Selection */
3320- uint32_t CHANNEL12:1; /*!< bit: 12 Channel 12 Software Selection */
3321- uint32_t CHANNEL13:1; /*!< bit: 13 Channel 13 Software Selection */
3322- uint32_t CHANNEL14:1; /*!< bit: 14 Channel 14 Software Selection */
3323- uint32_t CHANNEL15:1; /*!< bit: 15 Channel 15 Software Selection */
3324- uint32_t CHANNEL16:1; /*!< bit: 16 Channel 16 Software Selection */
3325- uint32_t CHANNEL17:1; /*!< bit: 17 Channel 17 Software Selection */
3326- uint32_t CHANNEL18:1; /*!< bit: 18 Channel 18 Software Selection */
3327- uint32_t CHANNEL19:1; /*!< bit: 19 Channel 19 Software Selection */
3328- uint32_t CHANNEL20:1; /*!< bit: 20 Channel 20 Software Selection */
3329- uint32_t CHANNEL21:1; /*!< bit: 21 Channel 21 Software Selection */
3330- uint32_t CHANNEL22:1; /*!< bit: 22 Channel 22 Software Selection */
3331- uint32_t CHANNEL23:1; /*!< bit: 23 Channel 23 Software Selection */
3332- uint32_t CHANNEL24:1; /*!< bit: 24 Channel 24 Software Selection */
3333- uint32_t CHANNEL25:1; /*!< bit: 25 Channel 25 Software Selection */
3334- uint32_t CHANNEL26:1; /*!< bit: 26 Channel 26 Software Selection */
3335- uint32_t CHANNEL27:1; /*!< bit: 27 Channel 27 Software Selection */
3336- uint32_t CHANNEL28:1; /*!< bit: 28 Channel 28 Software Selection */
3337- uint32_t CHANNEL29:1; /*!< bit: 29 Channel 29 Software Selection */
3338- uint32_t CHANNEL30:1; /*!< bit: 30 Channel 30 Software Selection */
3339- uint32_t CHANNEL31:1; /*!< bit: 31 Channel 31 Software Selection */
3340- } bit; /*!< Structure used for bit access */
3341- struct {
3342- uint32_t CHANNEL:32; /*!< bit: 0..31 Channel x Software Selection */
3343- } vec; /*!< Structure used for vec access */
3344diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/freqm.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/freqm.h
3345deleted file mode 100644
3346index 3eca2144e05334e19bad40f15460b642dd121933..0000000000000000000000000000000000000000
3347--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/freqm.h
3348+++ /dev/null
3349@@ -1,233 +0,0 @@
3350-/**
3351- * \file
3352- *
3353- * \brief Component description for FREQM
3354- *
3355- * Copyright (c) 2017 Microchip Technology Inc.
3356- *
3357- * \asf_license_start
3358- *
3359- * \page License
3360- *
3361- * SPDX-License-Identifier: Apache-2.0
3362- *
3363- * Licensed under the Apache License, Version 2.0 (the "License"); you may
3364- * not use this file except in compliance with the License.
3365- * You may obtain a copy of the Licence at
3366- *
3367- * http://www.apache.org/licenses/LICENSE-2.0
3368- *
3369- * Unless required by applicable law or agreed to in writing, software
3370- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
3371- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3372- * See the License for the specific language governing permissions and
3373- * limitations under the License.
3374- *
3375- * \asf_license_stop
3376- *
3377- */
3378-
3379-#ifndef _SAMD51_FREQM_COMPONENT_
3380-#define _SAMD51_FREQM_COMPONENT_
3381-
3382-/* ========================================================================== */
3383-/** SOFTWARE API DEFINITION FOR FREQM */
3384-/* ========================================================================== */
3385-/** \addtogroup SAMD51_FREQM Frequency Meter */
3386-/*@{*/
3387-
3388-#define FREQM_U2257
3389-#define REV_FREQM 0x110
3390-
3391-/* -------- FREQM_CTRLA : (FREQM Offset: 0x00) (R/W 8) Control A Register -------- */
3392-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3393-typedef union {
3394- struct {
3395- uint8_t SWRST:1; /*!< bit: 0 Software Reset */
3396- uint8_t ENABLE:1; /*!< bit: 1 Enable */
3397- uint8_t :6; /*!< bit: 2.. 7 Reserved */
3398- } bit; /*!< Structure used for bit access */
3399- uint8_t reg; /*!< Type used for register access */
3400-} FREQM_CTRLA_Type;
3401-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3402-
3403-#define FREQM_CTRLA_OFFSET 0x00 /**< \brief (FREQM_CTRLA offset) Control A Register */
3404-#define FREQM_CTRLA_RESETVALUE _U_(0x00) /**< \brief (FREQM_CTRLA reset_value) Control A Register */
3405-
3406-#define FREQM_CTRLA_SWRST_Pos 0 /**< \brief (FREQM_CTRLA) Software Reset */
3407-#define FREQM_CTRLA_SWRST (_U_(0x1) << FREQM_CTRLA_SWRST_Pos)
3408-#define FREQM_CTRLA_ENABLE_Pos 1 /**< \brief (FREQM_CTRLA) Enable */
3409-#define FREQM_CTRLA_ENABLE (_U_(0x1) << FREQM_CTRLA_ENABLE_Pos)
3410-#define FREQM_CTRLA_MASK _U_(0x03) /**< \brief (FREQM_CTRLA) MASK Register */
3411-
3412-/* -------- FREQM_CTRLB : (FREQM Offset: 0x01) ( /W 8) Control B Register -------- */
3413-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3414-typedef union {
3415- struct {
3416- uint8_t START:1; /*!< bit: 0 Start Measurement */
3417- uint8_t :7; /*!< bit: 1.. 7 Reserved */
3418- } bit; /*!< Structure used for bit access */
3419- uint8_t reg; /*!< Type used for register access */
3420-} FREQM_CTRLB_Type;
3421-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3422-
3423-#define FREQM_CTRLB_OFFSET 0x01 /**< \brief (FREQM_CTRLB offset) Control B Register */
3424-#define FREQM_CTRLB_RESETVALUE _U_(0x00) /**< \brief (FREQM_CTRLB reset_value) Control B Register */
3425-
3426-#define FREQM_CTRLB_START_Pos 0 /**< \brief (FREQM_CTRLB) Start Measurement */
3427-#define FREQM_CTRLB_START (_U_(0x1) << FREQM_CTRLB_START_Pos)
3428-#define FREQM_CTRLB_MASK _U_(0x01) /**< \brief (FREQM_CTRLB) MASK Register */
3429-
3430-/* -------- FREQM_CFGA : (FREQM Offset: 0x02) (R/W 16) Config A register -------- */
3431-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3432-typedef union {
3433- struct {
3434- uint16_t REFNUM:8; /*!< bit: 0.. 7 Number of Reference Clock Cycles */
3435- uint16_t :8; /*!< bit: 8..15 Reserved */
3436- } bit; /*!< Structure used for bit access */
3437- uint16_t reg; /*!< Type used for register access */
3438-} FREQM_CFGA_Type;
3439-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3440-
3441-#define FREQM_CFGA_OFFSET 0x02 /**< \brief (FREQM_CFGA offset) Config A register */
3442-#define FREQM_CFGA_RESETVALUE _U_(0x0000) /**< \brief (FREQM_CFGA reset_value) Config A register */
3443-
3444-#define FREQM_CFGA_REFNUM_Pos 0 /**< \brief (FREQM_CFGA) Number of Reference Clock Cycles */
3445-#define FREQM_CFGA_REFNUM_Msk (_U_(0xFF) << FREQM_CFGA_REFNUM_Pos)
3446-#define FREQM_CFGA_REFNUM(value) (FREQM_CFGA_REFNUM_Msk & ((value) << FREQM_CFGA_REFNUM_Pos))
3447-#define FREQM_CFGA_MASK _U_(0x00FF) /**< \brief (FREQM_CFGA) MASK Register */
3448-
3449diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/gclk.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/gclk.h
3450deleted file mode 100644
3451index 6de7d5cdb38ae759c4b2ff421a3c5b9684f61d7a..0000000000000000000000000000000000000000
3452--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/gclk.h
3453+++ /dev/null
3454@@ -1,272 +0,0 @@
3455-/**
3456- * \file
3457- *
3458- * \brief Component description for GCLK
3459- *
3460- * Copyright (c) 2017 Microchip Technology Inc.
3461- *
3462- * \asf_license_start
3463- *
3464- * \page License
3465- *
3466- * SPDX-License-Identifier: Apache-2.0
3467- *
3468- * Licensed under the Apache License, Version 2.0 (the "License"); you may
3469- * not use this file except in compliance with the License.
3470- * You may obtain a copy of the Licence at
3471- *
3472- * http://www.apache.org/licenses/LICENSE-2.0
3473- *
3474- * Unless required by applicable law or agreed to in writing, software
3475- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
3476- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3477- * See the License for the specific language governing permissions and
3478- * limitations under the License.
3479- *
3480- * \asf_license_stop
3481- *
3482- */
3483-
3484-#ifndef _SAMD51_GCLK_COMPONENT_
3485-#define _SAMD51_GCLK_COMPONENT_
3486-
3487-/* ========================================================================== */
3488-/** SOFTWARE API DEFINITION FOR GCLK */
3489-/* ========================================================================== */
3490-/** \addtogroup SAMD51_GCLK Generic Clock Generator */
3491-/*@{*/
3492-
3493-#define GCLK_U2122
3494-#define REV_GCLK 0x120
3495-
3496-/* -------- GCLK_CTRLA : (GCLK Offset: 0x00) (R/W 8) Control -------- */
3497-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3498-typedef union {
3499- struct {
3500- uint8_t SWRST:1; /*!< bit: 0 Software Reset */
3501- uint8_t :7; /*!< bit: 1.. 7 Reserved */
3502- } bit; /*!< Structure used for bit access */
3503- uint8_t reg; /*!< Type used for register access */
3504-} GCLK_CTRLA_Type;
3505-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3506-
3507-#define GCLK_CTRLA_OFFSET 0x00 /**< \brief (GCLK_CTRLA offset) Control */
3508-#define GCLK_CTRLA_RESETVALUE _U_(0x00) /**< \brief (GCLK_CTRLA reset_value) Control */
3509-
3510-#define GCLK_CTRLA_SWRST_Pos 0 /**< \brief (GCLK_CTRLA) Software Reset */
3511-#define GCLK_CTRLA_SWRST (_U_(0x1) << GCLK_CTRLA_SWRST_Pos)
3512-#define GCLK_CTRLA_MASK _U_(0x01) /**< \brief (GCLK_CTRLA) MASK Register */
3513-
3514-/* -------- GCLK_SYNCBUSY : (GCLK Offset: 0x04) (R/ 32) Synchronization Busy -------- */
3515-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3516-typedef union {
3517- struct {
3518- uint32_t SWRST:1; /*!< bit: 0 Software Reset Synchroniation Busy bit */
3519- uint32_t :1; /*!< bit: 1 Reserved */
3520- uint32_t GENCTRL0:1; /*!< bit: 2 Generic Clock Generator Control 0 Synchronization Busy bits */
3521- uint32_t GENCTRL1:1; /*!< bit: 3 Generic Clock Generator Control 1 Synchronization Busy bits */
3522- uint32_t GENCTRL2:1; /*!< bit: 4 Generic Clock Generator Control 2 Synchronization Busy bits */
3523- uint32_t GENCTRL3:1; /*!< bit: 5 Generic Clock Generator Control 3 Synchronization Busy bits */
3524- uint32_t GENCTRL4:1; /*!< bit: 6 Generic Clock Generator Control 4 Synchronization Busy bits */
3525- uint32_t GENCTRL5:1; /*!< bit: 7 Generic Clock Generator Control 5 Synchronization Busy bits */
3526- uint32_t GENCTRL6:1; /*!< bit: 8 Generic Clock Generator Control 6 Synchronization Busy bits */
3527- uint32_t GENCTRL7:1; /*!< bit: 9 Generic Clock Generator Control 7 Synchronization Busy bits */
3528- uint32_t GENCTRL8:1; /*!< bit: 10 Generic Clock Generator Control 8 Synchronization Busy bits */
3529- uint32_t GENCTRL9:1; /*!< bit: 11 Generic Clock Generator Control 9 Synchronization Busy bits */
3530- uint32_t GENCTRL10:1; /*!< bit: 12 Generic Clock Generator Control 10 Synchronization Busy bits */
3531- uint32_t GENCTRL11:1; /*!< bit: 13 Generic Clock Generator Control 11 Synchronization Busy bits */
3532- uint32_t :18; /*!< bit: 14..31 Reserved */
3533- } bit; /*!< Structure used for bit access */
3534- struct {
3535- uint32_t :2; /*!< bit: 0.. 1 Reserved */
3536- uint32_t GENCTRL:12; /*!< bit: 2..13 Generic Clock Generator Control x Synchronization Busy bits */
3537- uint32_t :18; /*!< bit: 14..31 Reserved */
3538- } vec; /*!< Structure used for vec access */
3539- uint32_t reg; /*!< Type used for register access */
3540-} GCLK_SYNCBUSY_Type;
3541-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3542-
3543-#define GCLK_SYNCBUSY_OFFSET 0x04 /**< \brief (GCLK_SYNCBUSY offset) Synchronization Busy */
3544-#define GCLK_SYNCBUSY_RESETVALUE _U_(0x00000000) /**< \brief (GCLK_SYNCBUSY reset_value) Synchronization Busy */
3545-
3546-#define GCLK_SYNCBUSY_SWRST_Pos 0 /**< \brief (GCLK_SYNCBUSY) Software Reset Synchroniation Busy bit */
3547-#define GCLK_SYNCBUSY_SWRST (_U_(0x1) << GCLK_SYNCBUSY_SWRST_Pos)
3548-#define GCLK_SYNCBUSY_GENCTRL0_Pos 2 /**< \brief (GCLK_SYNCBUSY) Generic Clock Generator Control 0 Synchronization Busy bits */
3549-#define GCLK_SYNCBUSY_GENCTRL0 (_U_(1) << GCLK_SYNCBUSY_GENCTRL0_Pos)
3550-#define GCLK_SYNCBUSY_GENCTRL1_Pos 3 /**< \brief (GCLK_SYNCBUSY) Generic Clock Generator Control 1 Synchronization Busy bits */
3551-#define GCLK_SYNCBUSY_GENCTRL1 (_U_(1) << GCLK_SYNCBUSY_GENCTRL1_Pos)
3552-#define GCLK_SYNCBUSY_GENCTRL2_Pos 4 /**< \brief (GCLK_SYNCBUSY) Generic Clock Generator Control 2 Synchronization Busy bits */
3553-#define GCLK_SYNCBUSY_GENCTRL2 (_U_(1) << GCLK_SYNCBUSY_GENCTRL2_Pos)
3554diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/hmatrixb.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/hmatrixb.h
3555deleted file mode 100644
3556index e0526c0d8a73c14c0e6b8ca1aeb4defdc9fe4af6..0000000000000000000000000000000000000000
3557--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/hmatrixb.h
3558+++ /dev/null
3559@@ -1,84 +0,0 @@
3560-/**
3561- * \file
3562- *
3563- * \brief Component description for HMATRIXB
3564- *
3565- * Copyright (c) 2017 Microchip Technology Inc.
3566- *
3567- * \asf_license_start
3568- *
3569- * \page License
3570- *
3571- * SPDX-License-Identifier: Apache-2.0
3572- *
3573- * Licensed under the Apache License, Version 2.0 (the "License"); you may
3574- * not use this file except in compliance with the License.
3575- * You may obtain a copy of the Licence at
3576- *
3577- * http://www.apache.org/licenses/LICENSE-2.0
3578- *
3579- * Unless required by applicable law or agreed to in writing, software
3580- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
3581- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3582- * See the License for the specific language governing permissions and
3583- * limitations under the License.
3584- *
3585- * \asf_license_stop
3586- *
3587- */
3588-
3589-#ifndef _SAMD51_HMATRIXB_COMPONENT_
3590-#define _SAMD51_HMATRIXB_COMPONENT_
3591-
3592-/* ========================================================================== */
3593-/** SOFTWARE API DEFINITION FOR HMATRIXB */
3594-/* ========================================================================== */
3595-/** \addtogroup SAMD51_HMATRIXB HSB Matrix */
3596-/*@{*/
3597-
3598-#define HMATRIXB_I7638
3599-#define REV_HMATRIXB 0x214
3600-
3601-/* -------- HMATRIXB_PRAS : (HMATRIXB Offset: 0x080) (R/W 32) PRS Priority A for Slave -------- */
3602-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3603-typedef union {
3604- uint32_t reg; /*!< Type used for register access */
3605-} HMATRIXB_PRAS_Type;
3606-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3607-
3608-#define HMATRIXB_PRAS_OFFSET 0x080 /**< \brief (HMATRIXB_PRAS offset) Priority A for Slave */
3609-#define HMATRIXB_PRAS_RESETVALUE _U_(0x00000000) /**< \brief (HMATRIXB_PRAS reset_value) Priority A for Slave */
3610-
3611-#define HMATRIXB_PRAS_MASK _U_(0x00000000) /**< \brief (HMATRIXB_PRAS) MASK Register */
3612-
3613-/* -------- HMATRIXB_PRBS : (HMATRIXB Offset: 0x084) (R/W 32) PRS Priority B for Slave -------- */
3614-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3615-typedef union {
3616- uint32_t reg; /*!< Type used for register access */
3617-} HMATRIXB_PRBS_Type;
3618-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3619-
3620-#define HMATRIXB_PRBS_OFFSET 0x084 /**< \brief (HMATRIXB_PRBS offset) Priority B for Slave */
3621-#define HMATRIXB_PRBS_RESETVALUE _U_(0x00000000) /**< \brief (HMATRIXB_PRBS reset_value) Priority B for Slave */
3622-
3623-#define HMATRIXB_PRBS_MASK _U_(0x00000000) /**< \brief (HMATRIXB_PRBS) MASK Register */
3624-
3625-/** \brief HmatrixbPrs hardware registers */
3626-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3627-typedef struct {
3628- __IO HMATRIXB_PRAS_Type PRAS; /**< \brief Offset: 0x000 (R/W 32) Priority A for Slave */
3629- __IO HMATRIXB_PRBS_Type PRBS; /**< \brief Offset: 0x004 (R/W 32) Priority B for Slave */
3630-} HmatrixbPrs;
3631-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3632-
3633-/** \brief HMATRIXB hardware registers */
3634-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3635-typedef struct {
3636- RoReg8 Reserved1[0x80];
3637- HmatrixbPrs Prs[16]; /**< \brief Offset: 0x080 HmatrixbPrs groups */
3638-} Hmatrixb;
3639-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3640-
3641-/*@}*/
3642-
3643-#endif /* _SAMD51_HMATRIXB_COMPONENT_ */
3644diff --git a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/i2s.h b/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/i2s.h
3645deleted file mode 100644
3646index 5583c69f6050fb323056426c82a2efe7d6f432d7..0000000000000000000000000000000000000000
3647--- a/lib/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include/component/i2s.h
3648+++ /dev/null
3649@@ -1,747 +0,0 @@
3650-/**
3651- * \file
3652- *
3653- * \brief Component description for I2S
3654- *
3655- * Copyright (c) 2017 Microchip Technology Inc.
3656- *
3657- * \asf_license_start
3658- *
3659- * \page License
3660- *
3661- * SPDX-License-Identifier: Apache-2.0
3662- *
3663- * Licensed under the Apache License, Version 2.0 (the "License"); you may
3664- * not use this file except in compliance with the License.
3665- * You may obtain a copy of the Licence at
3666- *
3667- * http://www.apache.org/licenses/LICENSE-2.0
3668- *
3669- * Unless required by applicable law or agreed to in writing, software
3670- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
3671- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3672- * See the License for the specific language governing permissions and
3673- * limitations under the License.
3674- *
3675- * \asf_license_stop
3676- *
3677- */
3678-
3679-#ifndef _SAMD51_I2S_COMPONENT_
3680-#define _SAMD51_I2S_COMPONENT_
3681-
3682-/* ========================================================================== */
3683-/** SOFTWARE API DEFINITION FOR I2S */
3684-/* ========================================================================== */
3685-/** \addtogroup SAMD51_I2S Inter-IC Sound Interface */
3686-/*@{*/
3687-
3688-#define I2S_U2224
3689-#define REV_I2S 0x200
3690-
3691-/* -------- I2S_CTRLA : (I2S Offset: 0x00) (R/W 8) Control A -------- */
3692-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3693-typedef union {
3694- struct {
3695- uint8_t SWRST:1; /*!< bit: 0 Software Reset */
3696- uint8_t ENABLE:1; /*!< bit: 1 Enable */
3697- uint8_t CKEN0:1; /*!< bit: 2 Clock Unit 0 Enable */
3698- uint8_t CKEN1:1; /*!< bit: 3 Clock Unit 1 Enable */
3699- uint8_t TXEN:1; /*!< bit: 4 Tx Serializer Enable */
3700- uint8_t RXEN:1; /*!< bit: 5 Rx Serializer Enable */
3701- uint8_t :2; /*!< bit: 6.. 7 Reserved */
3702- } bit; /*!< Structure used for bit access */
3703- struct {
3704- uint8_t :2; /*!< bit: 0.. 1 Reserved */
3705- uint8_t CKEN:2; /*!< bit: 2.. 3 Clock Unit x Enable */
3706- uint8_t :4; /*!< bit: 4.. 7 Reserved */
3707- } vec; /*!< Structure used for vec access */
3708- uint8_t reg; /*!< Type used for register access */
3709-} I2S_CTRLA_Type;
3710-#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3711-
3712-#define I2S_CTRLA_OFFSET 0x00 /**< \brief (I2S_CTRLA offset) Control A */
3713-#define I2S_CTRLA_RESETVALUE _U_(0x00) /**< \brief (I2S_CTRLA reset_value) Control A */
3714-
3715-#define I2S_CTRLA_SWRST_Pos 0 /**< \brief (I2S_CTRLA) Software Reset */
3716-#define I2S_CTRLA_SWRST (_U_(0x1) << I2S_CTRLA_SWRST_Pos)
3717-#define I2S_CTRLA_ENABLE_Pos 1 /**< \brief (I2S_CTRLA) Enable */
3718-#define I2S_CTRLA_ENABLE (_U_(0x1) << I2S_CTRLA_ENABLE_Pos)
3719-#define I2S_CTRLA_CKEN0_Pos 2 /**< \brief (I2S_CTRLA) Clock Unit 0 Enable */
3720-#define I2S_CTRLA_CKEN0 (_U_(1) << I2S_CTRLA_CKEN0_Pos)
3721-#define I2S_CTRLA_CKEN1_Pos 3 /**< \brief (I2S_CTRLA) Clock Unit 1 Enable */
3722-#define I2S_CTRLA_CKEN1 (_U_(1) << I2S_CTRLA_CKEN1_Pos)
3723-#define I2S_CTRLA_CKEN_Pos 2 /**< \brief (I2S_CTRLA) Clock Unit x Enable */
3724-#define I2S_CTRLA_CKEN_Msk (_U_(0x3) << I2S_CTRLA_CKEN_Pos)
3725-#define I2S_CTRLA_CKEN(value) (I2S_CTRLA_CKEN_Msk & ((value) << I2S_CTRLA_CKEN_Pos))
3726-#define I2S_CTRLA_TXEN_Pos 4 /**< \brief (I2S_CTRLA) Tx Serializer Enable */
3727-#define I2S_CTRLA_TXEN (_U_(0x1) << I2S_CTRLA_TXEN_Pos)
3728-#define I2S_CTRLA_RXEN_Pos 5 /**< \brief (I2S_CTRLA) Rx Serializer Enable */
3729-#define I2S_CTRLA_RXEN (_U_(0x1) << I2S_CTRLA_RXEN_Pos)
3730-#define I2S_CTRLA_MASK _U_(0x3F) /**< \brief (I2S_CTRLA) MASK Register */
3731-
3732-/* -------- I2S_CLKCTRL : (I2S Offset: 0x04) (R/W 32) Clock Unit n Control -------- */
3733-#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3734-typedef union {
3735- struct {
3736- uint32_t SLOTSIZE:2; /*!< bit: 0.. 1 Slot Size */
3737- uint32_t NBSLOTS:3; /*!< bit: 2.. 4 Number of Slots in Frame */
3738- uint32_t FSWIDTH:2; /*!< bit: 5.. 6 Frame Sync Width */
3739- uint32_t BITDELAY:1; /*!< bit: 7 Data Delay from Frame Sync */
3740- uint32_t FSSEL:1; /*!< bit: 8 Frame Sync Select */
3741- uint32_t FSINV:1; /*!< bit: 9 Frame Sync Invert */
3742- uint32_t FSOUTINV:1; /*!< bit: 10 Frame Sync Output Invert */
3743- uint32_t SCKSEL:1; /*!< bit: 11 Serial Clock Select */
3744- uint32_t SCKOUTINV:1; /*!< bit: 12 Serial Clock Output Invert */
3745- uint32_t MCKSEL:1; /*!< bit: 13 Master Clock Select */
3746- uint32_t MCKEN:1; /*!< bit: 14 Master Clock Enable */
3747- uint32_t MCKOUTINV:1; /*!< bit: 15 Master Clock Output Invert */
3748- uint32_t MCKDIV:6; /*!< bit: 16..21 Master Clock Division Factor */