Compare commits

..

1 commit

Author SHA1 Message Date
Scott Shawcroft
aa9868d3f2 Re-org build in preparation for SAMD51 support.
SAMD51 builds

Enumerates ok but flash doesn't work.

Do manual flash writes and slow delay down when we have a much faster clock.

DM: fixed nvmctrl math in erase

DM: actually I think they want manual page writes

Re-enabled self-updater with SAMD51 support.

Get the version dynamically from git.

Correct flash offset now that we use a uint8_t pointer.

Turn on the neopixel.

Fix M0 compilation by avoiding USB macro.

Add board.mk files for every board.

Clean up ignores

Add grove zero board config file.

Don't use M0 name in the Zero bootloader

add board.mk for grove-zero

Add version info to all generated files.
Add .ino generation to scripts/gendata.py.
Clean up Makefile to handle new version number generation.

Note that Adafruit release tags will be v<a>.<b>.<c>-adafruit.<n>.
The first part of the tag is the upstream version. The <n> is the
Adafruit increment from that.

add pirkey and itsybitsy m0
change dotstar brightness to account for new 'dimmer' apa102's
update makefile to not use py3

consistancy and missing CRYSTALLESS

special metro m0 delay to avoid SWD contention while programming

Update to more recent Arduino

Add comment

Restore IRQs in neopixel functions

Remove -mlong-calls and add -nostartfiles; see #29
  Thanks @awatterott!

Avoid global writes in handover

Handle first read after handover correctly

V1.24; Add O marker for fixed MSC handover

Make the bootloader data go first in binary to avoid HardFault when erasing first page

Update samd pkg version

Fixes for WebUSB support

Fix Windows build

Remove WebUSB landing page support

add _binfo defn to linker scripts for doing usermode handover.

add proper serial number to USB descriptor; fix compile warning
2018-02-13 13:34:31 -05:00
308 changed files with 292 additions and 298767 deletions

1
.gitignore vendored
View file

@ -7,4 +7,3 @@ Makefile.user
node_modules
scripts/clean-ifaces/*.plist
.vscode/c_cpp_properties.json
TAGS

View file

@ -1,10 +0,0 @@
build/
.vs/
uf2-bootloader.elf
tmp
*.sw?
Makefile.user
node_modules
scripts/clean-ifaces/*.plist
.vscode/c_cpp_properties.json
TAGS

View file

@ -15,12 +15,12 @@ node_js:
cache:
directories:
- $HOME/gcc-arm-none-eabi-9-2019-q4-major
- $HOME/gcc-arm-none-eabi-6-2017-q1-update
install:
- export GCC_DIR=$HOME/gcc-arm-none-eabi-9-2019-q4-major
- export GCC_ARCHIVE=$HOME/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2
- export GCC_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2
- export GCC_DIR=$HOME/gcc-arm-none-eabi-6-2017-q1-update
- export GCC_ARCHIVE=$HOME/gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2
- export GCC_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/6_1-2017q1/gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2?product=GNU%20ARM%20Embedded%20Toolchain,64-bit,,Linux,6-2017-q1-update
- if [ ! -e $GCC_DIR/bin/arm-none-eabi-g++ ]; then wget $GCC_URL -O $GCC_ARCHIVE; tar xfj $GCC_ARCHIVE -C $HOME; fi
- export PATH=$PATH:$GCC_DIR/bin

60
Makefile Executable file → Normal file
View file

@ -9,7 +9,7 @@ ifeq ($(CHIP_FAMILY), samd51)
COMMON_FLAGS = -mthumb -mcpu=cortex-m4 -O2 -g -DSAMD51
endif
WFLAGS = \
-Werror -Wall -Wstrict-prototypes \
-Wall -Wstrict-prototypes \
-Werror-implicit-function-declaration -Wpointer-arith -std=gnu99 \
-ffunction-sections -fdata-sections -Wchar-subscripts -Wcomment -Wformat=2 \
-Wimplicit-int -Wmain -Wparentheses -Wsequence-point -Wreturn-type -Wswitch \
@ -42,7 +42,7 @@ endif
LDFLAGS= $(COMMON_FLAGS) \
-Wall -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all -Wl,--warn-common \
-Wl,--warn-section-align \
-Wl,--warn-section-align -Wl,--warn-unresolved-symbols \
-save-temps -nostartfiles \
--specs=nano.specs --specs=nosys.specs
BUILD_PATH=build/$(BOARD)
@ -56,20 +56,14 @@ INCLUDES += -Ilib/samd21/samd21a/include/
endif
ifeq ($(CHIP_FAMILY), samd51)
ifeq ($(findstring SAME54,$(CHIP_VARIANT)),SAME54)
INCLUDES += -Ilib/same54/include/
else
INCLUDES += -Ilib/samd51/include/
endif
endif
COMMON_SRC = \
src/flash_$(CHIP_FAMILY).c \
src/init_$(CHIP_FAMILY).c \
src/startup_$(CHIP_FAMILY).c \
src/usart_sam_ba.c \
src/screen.c \
src/images.c \
src/utils.c
SOURCES = $(COMMON_SRC) \
@ -92,9 +86,7 @@ EXECUTABLE=$(BUILD_PATH)/$(NAME).bin
SELF_EXECUTABLE=$(BUILD_PATH)/update-$(NAME).uf2
SELF_EXECUTABLE_INO=$(BUILD_PATH)/update-$(NAME).ino
SUBMODULES = lib/uf2/README.md
all: $(SUBMODULES) dirs $(EXECUTABLE) $(SELF_EXECUTABLE)
all: dirs $(EXECUTABLE) $(SELF_EXECUTABLE)
r: run
b: burn
@ -106,40 +98,6 @@ burn: all
run: burn wait logs
# This currently only works on macOS with a BMP debugger attached.
# It's meant to flash the bootloader in a loop.
BMP = $(shell ls -1 /dev/cu.usbmodem* | head -1)
BMP_ARGS = --nx -ex "set mem inaccessible-by-default off" -ex "set confirm off" -ex "target extended-remote $(BMP)" -ex "mon tpwr enable" -ex "mon swdp_scan" -ex "attach 1"
GDB = arm-none-eabi-gdb
bmp-flash: $(BUILD_PATH)/$(NAME).bin
@test "X$(BMP)" != "X"
$(GDB) $(BMP_ARGS) -ex "load" -ex "quit" $(BUILD_PATH)/$(NAME).elf | tee build/flash.log
@grep -q "Transfer rate" build/flash.log
bmp-flashone:
while : ; do $(MAKE) bmp-flash && exit 0 ; sleep 1 ; done
afplay /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/Error.aiff
bmp-loop:
while : ; do $(MAKE) bmp-flashone ; sleep 5 ; done
bmp-gdb: $(BUILD_PATH)/$(NAME).bin
$(GDB) $(BMP_ARGS) $(BUILD_PATH)/$(NAME).elf
$(BUILD_PATH)/flash.jlink: $(BUILD_PATH)/$(NAME).bin
echo " \n\
r \n\
h \n\
loadbin \"$(BUILD_PATH)/$(NAME).bin\", 0x0 \n\
verifybin \"$(BUILD_PATH)/$(NAME).bin\", 0x0 \n\
r \n\
qc \n\
" > $(BUILD_PATH)/flash.jlink
jlink-flash: $(BUILD_PATH)/$(NAME).bin $(BUILD_PATH)/flash.jlink
jlinkexe -if swd -device AT$(CHIP_VARIANT) -speed 4000 -CommanderScript $(BUILD_PATH)/flash.jlink
wait:
sleep 5
@ -170,7 +128,7 @@ $(SELF_EXECUTABLE): $(SELF_OBJECTS)
-T$(SELF_LINKER_SCRIPT) \
-Wl,-Map,$(BUILD_PATH)/update-$(NAME).map -o $(BUILD_PATH)/update-$(NAME).elf $(SELF_OBJECTS)
arm-none-eabi-objcopy -O binary $(BUILD_PATH)/update-$(NAME).elf $(BUILD_PATH)/update-$(NAME).bin
python3 lib/uf2/utils/uf2conv.py -b $(BOOTLOADER_SIZE) -c -o $@ $(BUILD_PATH)/update-$(NAME).bin
python2 lib/uf2/utils/uf2conv.py -b $(BOOTLOADER_SIZE) -c -o $@ $(BUILD_PATH)/update-$(NAME).bin
$(BUILD_PATH)/%.o: src/%.c $(wildcard inc/*.h boards/*/*.h) $(BUILD_PATH)/uf2_version.h
echo "$<"
@ -180,7 +138,7 @@ $(BUILD_PATH)/%.o: $(BUILD_PATH)/%.c
$(CC) $(CFLAGS) $(BLD_EXTA_FLAGS) $(INCLUDES) $< -o $@
$(BUILD_PATH)/selfdata.c: $(EXECUTABLE) scripts/gendata.py src/sketch.cpp
python3 scripts/gendata.py $(BOOTLOADER_SIZE) $(EXECUTABLE)
python2 scripts/gendata.py $(BOOTLOADER_SIZE) $(EXECUTABLE)
clean:
rm -rf build
@ -207,11 +165,8 @@ drop-board: all
mkdir -p build/drop/$(BOARD)
cp $(SELF_EXECUTABLE) build/drop/$(BOARD)/
cp $(EXECUTABLE) build/drop/$(BOARD)/
# .ino works only for SAMD21 right now; suppress for SAMD51
ifeq ($(CHIP_FAMILY),samd21)
cp $(SELF_EXECUTABLE_INO) build/drop/$(BOARD)/
cp boards/$(BOARD)/board_config.h build/drop/$(BOARD)/
endif
drop-pkg:
mv build/drop build/uf2-samd21-$(UF2_VERSION_BASE)
@ -220,9 +175,6 @@ drop-pkg:
rm -rf build/uf2-samd21-$(UF2_VERSION_BASE)
all-boards:
for f in `cd boards; ls` ; do "$(MAKE)" BOARD=$$f drop-board || break -1; done
for f in `cd boards; ls` ; do "$(MAKE)" BOARD=$$f drop-board ; done
drop: all-boards drop-pkg
$(SUBMODULES):
git submodule update --init --recursive

View file

@ -117,7 +117,7 @@ to temporarily turn off the protection. In gdb the command is:
* `make` and an Unix environment
* `node`.js in path (optional)
* `arm-none-eabi-gcc` in the path (the one coming with Yotta will do just fine). You can get the latest version from ARM: https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
* `arm-none-eabi-gcc` in the path (the one coming with Yotta will do just fine)
* `openocd` - you can use the one coming with Arduino (after your install the M0 board support)
Atmel Studio is not supported.
@ -132,7 +132,7 @@ Otherwise, you can use other SAMD21 board and an external `openocd` compatible
debugger. IBDAP is cheap and seems to work just fine. Another option is to use
Raspberry Pi and native bit-banging.
`openocd` will flash 16k, meaning that on SAMD21 the beginning of user program (if any) will
`openocd` will flash 16k, meaning the beginning of user program (if any) will
be overwritten with `0xff`. This also means that after fresh flashing of bootloader
no double-tap reset is necessary, as the bootloader will not try to start application
at `0xffffffff`.
@ -167,8 +167,8 @@ There is a number of configuration parameters at the top of `uf2.h` file.
Adjust them to your liking.
By default, you cannot enable all the features, as the bootloader would exceed
the 8k(SAMD21)/16k(SAMD51) allocated to it by Arduino etc. It will assert on startup that it's not bigger
than 8k(SAMD21)/16k(SAMD51). Also, the linker script will not allow it.
the 8k allocated to it by Arduino etc. It will assert on startup that it's not bigger
than 8k. Also, the linker script will not allow it.
Three typical configurations are:
@ -186,7 +186,7 @@ then CDC might work and MSC will not work;
otherwise, if you have no drivers, MSC will work, and CDC will work on Windows 10 only.
Thus, it's best to set the USB ID to one for which there are no drivers.
The bootloader sits at 0x00000000, and the application starts at 0x00002000 (SAMD21) or 0x00004000 (SAMD51).
The bootloader sits at 0x00000000, and the application starts at 0x00002000.
## Code of Conduct

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,17 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "8086 Consultancy"
#define PRODUCT_NAME "COMMANDER"
#define VOLUME_LABEL "CMDBOOT"
#define INDEX_URL "https://8086.net/p/commander"
#define BOARD_ID "SAMD21G18A-Commander-v0"
#define USB_VID 0x3171
#define USB_PID 0x0100
#define LED_PIN PIN_PA06
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,16 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "XinaBox Limited"
#define PRODUCT_NAME "CC03"
#define VOLUME_LABEL "CC03"
#define INDEX_URL "https://xinabox.cc/products/cc03"
#define BOARD_ID "SAMD21G18A-CC03-v0"
//#define USB_VID 0x2341
//#define USB_PID 0x024D
#define LED_PIN PIN_PA07
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,16 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "XinaBox Limited"
#define PRODUCT_NAME "CS11"
#define VOLUME_LABEL "CS11"
#define INDEX_URL "https://xinabox.cc/products/cc11"
#define BOARD_ID "SAMD21G18A-CS11-v0"
//#define USB_VID 0x2341
//#define USB_PID 0x024D
#define LED_PIN PIN_PA08
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,103 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Feather Arcade D51"
#define VOLUME_LABEL "ARCADE-D5"
#define INDEX_URL "https://arcade.makecode.com/"
#define BOARD_ID "SAMD51J19A-Feather-Arcade-D51"
#define USB_VID 0x239A
#define USB_PID 0x0022
#define LED_PIN PIN_PA23
#define BOARD_NEOPIXEL_PIN PIN_PB03
#define BOARD_NEOPIXEL_COUNT 1
#define BOOT_USART_MODULE SERCOM0
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBAMASK_SERCOM0
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD3_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_PA07D_SERCOM0_PAD3
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_UNUSED
#define BOOT_USART_PAD0 PINMUX_PA04D_SERCOM0_PAD0
#define BOOT_GCLK_ID_CORE SERCOM0_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM0_GCLK_ID_SLOW
#define HAS_CONFIG_DATA 1
#define BOARD_SCREEN 1
// This configuration data should be edited at https://microsoft.github.io/uf2/patcher/
// Just drop this file there.
// Alternatively, it can be also binary edited there after the bootloader is compiled.
#ifdef DEFINE_CONFIG_DATA
const uint32_t config_data[] = {
/* CF2 START */
513675505, 539130489, // magic
53, 100, // used entries, total entries
4, 0xd, // PIN_BTN_A = PIN_SCL
5, 0x12, // PIN_BTN_B = PIN_D6
13, 0x17, // PIN_LED = PIN_D13
18, 0x36, // PIN_MISO = PB22
19, 0x37, // PIN_MOSI = PB23
20, 0x23, // PIN_NEOPIXEL = PB03
21, 0x31, // PIN_RX = PB17
23, 0x11, // PIN_SCK = PA17
24, 0xd, // PIN_SCL = PA13
25, 0xc, // PIN_SDA = PA12
26, 0xe, // PIN_SPEAKER_AMP = PIN_D4
28, 0x30, // PIN_TX = PB16
32, 0x11, // PIN_DISPLAY_SCK = PIN_SCK
33, 0x36, // PIN_DISPLAY_MISO = PIN_MISO
34, 0x37, // PIN_DISPLAY_MOSI = PIN_MOSI
35, 0x28, // PIN_DISPLAY_CS = PIN_A2
36, 0x29, // PIN_DISPLAY_DC = PIN_A3
37, 0xa0, // DISPLAY_WIDTH = 160
38, 0x80, // DISPLAY_HEIGHT = 128
39, 0x90, // DISPLAY_CFG0 = 0x90
40, 0xe14ff, // DISPLAY_CFG1 = 0xe14ff
41, 0x18, // DISPLAY_CFG2 = 0x18
43, 0x4, // PIN_DISPLAY_RST = PIN_A4
44, 0x6, // PIN_DISPLAY_BL = PIN_A5
47, 0x15, // PIN_BTN_LEFT = PIN_D11
48, 0x13, // PIN_BTN_RIGHT = PIN_D9
49, 0x14, // PIN_BTN_UP = PIN_D10
50, 0x16, // PIN_BTN_DOWN = PIN_D12
51, 0xc, // PIN_BTN_MENU = PIN_SDA
59, 0x200, // SPEAKER_VOLUME = 512
60, 0x30, // PIN_JACK_TX = PIN_D1
100, 0x2, // PIN_A0 = PA02
101, 0x5, // PIN_A1 = PA05
102, 0x28, // PIN_A2 = PB08
103, 0x29, // PIN_A3 = PB09
104, 0x4, // PIN_A4 = PA04
105, 0x6, // PIN_A5 = PA06
150, 0x31, // PIN_D0 = PB17
151, 0x30, // PIN_D1 = PB16
154, 0xe, // PIN_D4 = PA14
155, 0x10, // PIN_D5 = PA16
156, 0x12, // PIN_D6 = PA18
159, 0x13, // PIN_D9 = PA19
160, 0x14, // PIN_D10 = PA20
161, 0x15, // PIN_D11 = PA21
162, 0x16, // PIN_D12 = PA22
163, 0x17, // PIN_D13 = PA23
200, 0x1, // NUM_NEOPIXELS = 1
204, 0x80000, // FLASH_BYTES = 0x80000
205, 0x30000, // RAM_BYTES = 0x30000
208, 0x239a0022, // BOOTLOADER_BOARD_ID = 0x239a0022
209, 0x55114460, // UF2_FAMILY = ATSAMD51
210, 0x20, // PINS_PORT_SIZE = PA_32
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* CF2 END */
};
#endif
#endif

View file

@ -1,7 +0,0 @@
PIN_BTN_A = PIN_D10
PIN_BTN_B = PIN_D11
PIN_BTN_LEFT = PIN_SDA
PIN_BTN_UP = PIN_D7
PIN_BTN_RIGHT = PIN_SCL
PIN_BTN_DOWN = PIN_D9
PIN_BTN_MENU = PIN_D12

View file

@ -1,2 +0,0 @@
DISPLAY_CFG0 = 0x01000080
DISPLAY_CFG1 = 0x00000603

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51G19A

View file

@ -1,108 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Itsy Arcade D51"
#define VOLUME_LABEL "ARCADE-D5"
#define INDEX_URL "https://arcade.makecode.com/"
#define BOARD_ID "SAMD51G19A-Itsy-Arcade-D51"
#define USB_VID 0x239A
#define USB_PID 0x002B
#define LED_PIN PIN_PA22
#define BOARD_RGBLED_CLOCK_PIN PIN_PB02
#define BOARD_RGBLED_DATA_PIN PIN_PB03
#define BOOT_USART_MODULE SERCOM3
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBBMASK_SERCOM3
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA22C_SERCOM3_PAD0
#define BOOT_USART_PAD0 PINMUX_PA23C_SERCOM3_PAD1
#define BOOT_GCLK_ID_CORE SERCOM3_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM3_GCLK_ID_SLOW
#define HAS_CONFIG_DATA 1
#define BOARD_SCREEN 1
// This configuration data should be edited at https://microsoft.github.io/uf2/patcher/
// Just drop this file there.
// Alternatively, it can be also binary edited there after the bootloader is compiled.
#ifdef DEFINE_CONFIG_DATA
const uint32_t config_data[] = {
/* CF2 START */
513675505, 539130489, // magic
60, 100, // used entries, total entries
4, 0xd, // PIN_BTN_A = PIN_SCL
5, 0x12, // PIN_BTN_B = PIN_D7
7, 0x22, // PIN_DOTSTAR_CLOCK = PB02
8, 0x23, // PIN_DOTSTAR_DATA = PB03
9, 0x2b, // PIN_FLASH_CS = PB11
10, 0x9, // PIN_FLASH_MISO = PA09
11, 0x8, // PIN_FLASH_MOSI = PA08
12, 0x2a, // PIN_FLASH_SCK = PB10
13, 0x16, // PIN_LED = PIN_D13
18, 0x37, // PIN_MISO = PB23
19, 0x0, // PIN_MOSI = PA00
21, 0x10, // PIN_RX = PA16
23, 0x1, // PIN_SCK = PA01
24, 0xd, // PIN_SCL = PA13
25, 0xc, // PIN_SDA = PA12
26, 0x7, // PIN_SPEAKER_AMP = PIN_D2
28, 0x11, // PIN_TX = PA17
32, 0x1, // PIN_DISPLAY_SCK = PIN_SCK
33, 0x37, // PIN_DISPLAY_MISO = PIN_MISO
34, 0x0, // PIN_DISPLAY_MOSI = PIN_MOSI
35, 0x28, // PIN_DISPLAY_CS = PIN_A2
36, 0x29, // PIN_DISPLAY_DC = PIN_A3
37, 0xa0, // DISPLAY_WIDTH = 160
38, 0x80, // DISPLAY_HEIGHT = 128
39, 0x90, // DISPLAY_CFG0 = 0x90
40, 0xe14ff, // DISPLAY_CFG1 = 0xe14ff
41, 0x18, // DISPLAY_CFG2 = 0x18
43, 0x4, // PIN_DISPLAY_RST = PIN_A4
44, 0x6, // PIN_DISPLAY_BL = PIN_A5
47, 0x15, // PIN_BTN_LEFT = PIN_D11
48, 0x13, // PIN_BTN_RIGHT = PIN_D9
49, 0x14, // PIN_BTN_UP = PIN_D10
50, 0x17, // PIN_BTN_DOWN = PIN_D12
51, 0xc, // PIN_BTN_MENU = PIN_SDA
59, 0x200, // SPEAKER_VOLUME = 512
60, 0x11, // PIN_JACK_TX = PIN_D1
100, 0x2, // PIN_A0 = PA02
101, 0x5, // PIN_A1 = PA05
102, 0x28, // PIN_A2 = PB08
103, 0x29, // PIN_A3 = PB09
104, 0x4, // PIN_A4 = PA04
105, 0x6, // PIN_A5 = PA06
150, 0x10, // PIN_D0 = PA16
151, 0x11, // PIN_D1 = PA17
152, 0x7, // PIN_D2 = PA07
153, 0x36, // PIN_D3 = PB22
154, 0xe, // PIN_D4 = PA14
155, 0xf, // PIN_D5 = PA15
157, 0x12, // PIN_D7 = PA18
159, 0x13, // PIN_D9 = PA19
160, 0x14, // PIN_D10 = PA20
161, 0x15, // PIN_D11 = PA21
162, 0x17, // PIN_D12 = PA23
163, 0x16, // PIN_D13 = PA22
201, 0x1, // NUM_DOTSTARS = 1
204, 0x80000, // FLASH_BYTES = 0x80000
205, 0x30000, // RAM_BYTES = 0x30000
208, 0x239a002b, // BOOTLOADER_BOARD_ID = 0x239a002b
209, 0x55114460, // UF2_FAMILY = ATSAMD51
210, 0x20, // PINS_PORT_SIZE = PA_32
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* CF2 END */
};
#endif
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,112 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "PyBadge"
#define VOLUME_LABEL "PYBADGEBOOT"
#define INDEX_URL "http://adafru.it/4200"
#define BOARD_ID "SAMD51J19A-PyBadge-M4"
#define USB_VID 0x239A
#define USB_PID 0x0033
#define LED_PIN PIN_PA23
#define BOARD_NEOPIXEL_PIN PIN_PA15
#define BOARD_NEOPIXEL_COUNT 5
#define BOARD_SCREEN 1
#define BOOT_USART_MODULE SERCOM5
#define BOOT_USART_MASK APBDMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBDMASK_SERCOM5
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PB17C_SERCOM5_PAD1
#define BOOT_USART_PAD0 PINMUX_PB16C_SERCOM5_PAD0
#define BOOT_GCLK_ID_CORE SERCOM5_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM5_GCLK_ID_SLOW
#define HAS_CONFIG_DATA 1
// This configuration data should be edited at https://microsoft.github.io/uf2/patcher/
// Just drop this file there.
// Alternatively, it can be also binary edited there after the bootloader is compiled.
#ifdef DEFINE_CONFIG_DATA
const uint32_t config_data[] = {
/* CF2 START */
513675505, 539130489, // magic
62, 100, // used entries, total entries
1, 0x2e, // PIN_ACCELEROMETER_INT = PB14
2, 0xd, // PIN_ACCELEROMETER_SCL = PIN_SCL (PA13)
3, 0xc, // PIN_ACCELEROMETER_SDA = PIN_SDA (PA12)
4, 0x3ee, // PIN_BTN_A = P_1006
5, 0x3ef, // PIN_BTN_B = P_1007
13, 0x17, // PIN_LED = PIN_D13 (PA23)
14, 0x24, // PIN_LIGHT = PB04
18, 0x36, // PIN_MISO = PB22
19, 0x37, // PIN_MOSI = PB23
20, 0xf, // PIN_NEOPIXEL = PA15
21, 0x31, // PIN_RX = PB17
23, 0x11, // PIN_SCK = PA17
24, 0xd, // PIN_SCL = PA13
25, 0xc, // PIN_SDA = PA12
26, 0x1b, // PIN_SPEAKER_AMP = PA27
28, 0x30, // PIN_TX = PB16
32, 0x2d, // PIN_DISPLAY_SCK = PB13
34, 0x2f, // PIN_DISPLAY_MOSI = PB15
35, 0x27, // PIN_DISPLAY_CS = PB07
36, 0x25, // PIN_DISPLAY_DC = PB05
37, 0xa0, // DISPLAY_WIDTH = 160
38, 0x80, // DISPLAY_HEIGHT = 128
39, 0x80, // DISPLAY_CFG0 = 0x80
40, 0x12c2d, // DISPLAY_CFG1 = 0x12c2d
41, 0x18, // DISPLAY_CFG2 = 0x18
43, 0x0, // PIN_DISPLAY_RST = PA00
44, 0x1, // PIN_DISPLAY_BL = PA01
47, 0x3e8, // PIN_BTN_LEFT = P_1000
48, 0x3eb, // PIN_BTN_RIGHT = P_1003
49, 0x3e9, // PIN_BTN_UP = P_1001
50, 0x3ea, // PIN_BTN_DOWN = P_1002
51, 0x3ec, // PIN_BTN_MENU = P_1004
59, 0x40, // SPEAKER_VOLUME = 64
60, 0x17, // PIN_JACK_TX = PIN_D13
65, 0x2, // PIN_JACK_SND = PIN_A0
69, 0x3ed, // PIN_BTN_SOFT_RESET = P_1005
70, 0x30, // ACCELEROMETER_TYPE = 48
71, 0x20, // PIN_BTNMX_LATCH = PB00
72, 0x3f, // PIN_BTNMX_CLOCK = PB31
73, 0x3e, // PIN_BTNMX_DATA = PB30
100, 0x2, // PIN_A0 = PA02
101, 0x5, // PIN_A1 = PA05
102, 0x28, // PIN_A2 = PB08
103, 0x29, // PIN_A3 = PB09
104, 0x4, // PIN_A4 = PA04
105, 0x6, // PIN_A5 = PA06
152, 0x23, // PIN_D2 = PB03
153, 0x22, // PIN_D3 = PB02
154, 0xe, // PIN_D4 = PA14
155, 0x10, // PIN_D5 = PA16
156, 0x12, // PIN_D6 = PA18
159, 0x13, // PIN_D9 = PA19
160, 0x14, // PIN_D10 = PA20
161, 0x15, // PIN_D11 = PA21
162, 0x16, // PIN_D12 = PA22
163, 0x17, // PIN_D13 = PA23
200, 0x5, // NUM_NEOPIXELS = 5
204, 0x80000, // FLASH_BYTES = 0x80000
205, 0x30000, // RAM_BYTES = 0x30000
208, 0x239a0033, // BOOTLOADER_BOARD_ID = 0x239a0033
209, 0x55114460, // UF2_FAMILY = ATSAMD51
210, 0x20, // PINS_PORT_SIZE = PA_32
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* CF2 END */
};
#endif
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,108 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "BadgeLC"
#define VOLUME_LABEL "BADGELCBOOT"
#define INDEX_URL "http://adafru.it/3939"
#define BOARD_ID "SAMD51J19A-PyBadgeLC-M4"
#define USB_VID 0x239A
#define USB_PID 0x0034
#define LED_PIN PIN_PA23
#define BOARD_NEOPIXEL_PIN PIN_PA15
#define BOARD_NEOPIXEL_COUNT 1
#define BOARD_SCREEN 1
#define BOOT_USART_MODULE SERCOM5
#define BOOT_USART_MASK APBDMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBDMASK_SERCOM5
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PB17C_SERCOM5_PAD1
#define BOOT_USART_PAD0 PINMUX_PB16C_SERCOM5_PAD0
#define BOOT_GCLK_ID_CORE SERCOM5_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM5_GCLK_ID_SLOW
#define HAS_CONFIG_DATA 1
// This configuration data should be edited at https://microsoft.github.io/uf2/patcher/
// Just drop this file there.
// Alternatively, it can be also binary edited there after the bootloader is compiled.
#ifdef DEFINE_CONFIG_DATA
const uint32_t config_data[] = {
/* CF2 START */
513675505, 539130489, // magic
58, 100, // used entries, total entries
4, 0x3ee, // PIN_BTN_A = P_1006
5, 0x3ef, // PIN_BTN_B = P_1007
13, 0x17, // PIN_LED = PIN_D13 (PA23)
14, 0x24, // PIN_LIGHT = PB04
18, 0x36, // PIN_MISO = PB22
19, 0x37, // PIN_MOSI = PB23
20, 0xf, // PIN_NEOPIXEL = PA15
21, 0x31, // PIN_RX = PB17
23, 0x11, // PIN_SCK = PA17
24, 0xd, // PIN_SCL = PA13
25, 0xc, // PIN_SDA = PA12
26, 0x1b, // PIN_SPEAKER_AMP = PA27
28, 0x30, // PIN_TX = PB16
32, 0x2d, // PIN_DISPLAY_SCK = PB13
34, 0x2f, // PIN_DISPLAY_MOSI = PB15
35, 0x27, // PIN_DISPLAY_CS = PB07
36, 0x25, // PIN_DISPLAY_DC = PB05
37, 0xa0, // DISPLAY_WIDTH = 160
38, 0x80, // DISPLAY_HEIGHT = 128
39, 0x80, // DISPLAY_CFG0 = 0x80
40, 0x12c2d, // DISPLAY_CFG1 = 0x12c2d
41, 0x18, // DISPLAY_CFG2 = 0x18
43, 0x0, // PIN_DISPLAY_RST = PA00
44, 0x1, // PIN_DISPLAY_BL = PA01
47, 0x3e8, // PIN_BTN_LEFT = P_1000
48, 0x3eb, // PIN_BTN_RIGHT = P_1003
49, 0x3e9, // PIN_BTN_UP = P_1001
50, 0x3ea, // PIN_BTN_DOWN = P_1002
51, 0x3ec, // PIN_BTN_MENU = P_1004
59, 0x40, // SPEAKER_VOLUME = 64
60, 0x17, // PIN_JACK_TX = PIN_D13
65, 0x2, // PIN_JACK_SND = PIN_A0
69, 0x3ed, // PIN_BTN_SOFT_RESET = P_1005
71, 0x20, // PIN_BTNMX_LATCH = PB00
72, 0x3f, // PIN_BTNMX_CLOCK = PB31
73, 0x3e, // PIN_BTNMX_DATA = PB30
100, 0x2, // PIN_A0 = PA02
101, 0x5, // PIN_A1 = PA05
102, 0x28, // PIN_A2 = PB08
103, 0x29, // PIN_A3 = PB09
104, 0x4, // PIN_A4 = PA04
105, 0x6, // PIN_A5 = PA06
152, 0x23, // PIN_D2 = PB03
153, 0x22, // PIN_D3 = PB02
154, 0xe, // PIN_D4 = PA14
155, 0x10, // PIN_D5 = PA16
156, 0x12, // PIN_D6 = PA18
159, 0x13, // PIN_D9 = PA19
160, 0x14, // PIN_D10 = PA20
161, 0x15, // PIN_D11 = PA21
162, 0x16, // PIN_D12 = PA22
163, 0x17, // PIN_D13 = PA23
200, 0x1, // NUM_NEOPIXELS = 1
204, 0x80000, // FLASH_BYTES = 0x80000
205, 0x30000, // RAM_BYTES = 0x30000
208, 0x239a0034, // BOOTLOADER_BOARD_ID = 0x239a0034
209, 0x55114460, // UF2_FAMILY = ATSAMD51
210, 0x20, // PINS_PORT_SIZE = PA_32
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* CF2 END */
};
#endif
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,112 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "PyGamer"
#define VOLUME_LABEL "PYGAMERBOOT"
#define INDEX_URL "http://adafru.it/4242"
#define BOARD_ID "SAMD51J19A-PyGamer-M4"
#define USB_VID 0x239A
#define USB_PID 0x003D
#define LED_PIN PIN_PA23
#define BOARD_NEOPIXEL_PIN PIN_PA15
#define BOARD_NEOPIXEL_COUNT 5
#define BOARD_SCREEN 1
#define BOOT_USART_MODULE SERCOM5
#define BOOT_USART_MASK APBDMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBDMASK_SERCOM5
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PB17C_SERCOM5_PAD1
#define BOOT_USART_PAD0 PINMUX_PB16C_SERCOM5_PAD0
#define BOOT_GCLK_ID_CORE SERCOM5_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM5_GCLK_ID_SLOW
#define HAS_CONFIG_DATA 1
// This configuration data should be edited at https://microsoft.github.io/uf2/patcher/
// Just drop this file there.
// Alternatively, it can be also binary edited there after the bootloader is compiled.
#ifdef DEFINE_CONFIG_DATA
const uint32_t config_data[] = {
/* CF2 START */
513675505, 539130489, // magic
62, 100, // used entries, total entries
1, 0x2e, // PIN_ACCELEROMETER_INT = PB14
2, 0xd, // PIN_ACCELEROMETER_SCL = PIN_SCL (PA13)
3, 0xc, // PIN_ACCELEROMETER_SDA = PIN_SDA (PA12)
4, 0x3ee, // PIN_BTN_A = P_1006
5, 0x3ef, // PIN_BTN_B = P_1007
13, 0x17, // PIN_LED = PIN_D13 (PA23)
14, 0x24, // PIN_LIGHT = PB04
18, 0x36, // PIN_MISO = PB22
19, 0x37, // PIN_MOSI = PB23
20, 0xf, // PIN_NEOPIXEL = PA15
21, 0x31, // PIN_RX = PB17
23, 0x11, // PIN_SCK = PA17
24, 0xd, // PIN_SCL = PA13
25, 0xc, // PIN_SDA = PA12
26, 0x1b, // PIN_SPEAKER_AMP = PA27
28, 0x30, // PIN_TX = PB16
32, 0x2d, // PIN_DISPLAY_SCK = PB13
34, 0x2f, // PIN_DISPLAY_MOSI = PB15
35, 0x2c, // PIN_DISPLAY_CS = PB12
36, 0x25, // PIN_DISPLAY_DC = PB05
37, 0xa0, // DISPLAY_WIDTH = 160
38, 0x80, // DISPLAY_HEIGHT = 128
39, 0x80, // DISPLAY_CFG0 = 0x80
40, 0x12c2d, // DISPLAY_CFG1 = 0x12c2d
41, 0x18, // DISPLAY_CFG2 = 0x18
43, 0x0, // PIN_DISPLAY_RST = PA00
44, 0x1, // PIN_DISPLAY_BL = PA01
47, 0x4d7, // PIN_BTN_LEFT = P_1239
48, 0x473, // PIN_BTN_RIGHT = P_1139
49, 0x4d6, // PIN_BTN_UP = P_1238
50, 0x472, // PIN_BTN_DOWN = P_1138
51, 0x3ec, // PIN_BTN_MENU = P_1004
59, 0x40, // SPEAKER_VOLUME = 64
60, 0x17, // PIN_JACK_TX = PIN_D13
65, 0x2, // PIN_JACK_SND = PIN_A0
69, 0x3ed, // PIN_BTN_SOFT_RESET = P_1005
70, 0x32, // ACCELEROMETER_TYPE = LIS3DH
71, 0x20, // PIN_BTNMX_LATCH = PB00
72, 0x3f, // PIN_BTNMX_CLOCK = PB31
73, 0x3e, // PIN_BTNMX_DATA = PB30
100, 0x2, // PIN_A0 = PA02
101, 0x5, // PIN_A1 = PA05
102, 0x28, // PIN_A2 = PB08
103, 0x29, // PIN_A3 = PB09
104, 0x4, // PIN_A4 = PA04
105, 0x6, // PIN_A5 = PA06
152, 0x23, // PIN_D2 = PB03
153, 0x22, // PIN_D3 = PB02
154, 0xe, // PIN_D4 = PA14
155, 0x10, // PIN_D5 = PA16
156, 0x12, // PIN_D6 = PA18
159, 0x13, // PIN_D9 = PA19
160, 0x14, // PIN_D10 = PA20
161, 0x15, // PIN_D11 = PA21
162, 0x16, // PIN_D12 = PA22
163, 0x17, // PIN_D13 = PA23
200, 0x5, // NUM_NEOPIXELS = 5
204, 0x80000, // FLASH_BYTES = 0x80000
205, 0x30000, // RAM_BYTES = 0x30000
208, 0x239a003d, // BOOTLOADER_BOARD_ID = 0x239a003d
209, 0x55114460, // UF2_FAMILY = ATSAMD51
210, 0x20, // PINS_PORT_SIZE = PA_32
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* CF2 END */
};
#endif
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51G19A

View file

@ -1,29 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Capable Robot Components"
#define PRODUCT_NAME "Programmable USB Hub"
#define VOLUME_LABEL "USBHUBBOOT"
#define INDEX_URL "http://capablerobot.com"
#define BOARD_ID "SAMD51G19A-USBHub-v0"
// VID & PID obtained from Microchip
#define USB_VID 0x04D8
#define USB_PID 0xEDB3
#define LED_PIN PIN_PA19
#define BOOT_USART_MODULE SERCOM1
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBAMASK_SERCOM1
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA17C_SERCOM1_PAD1
#define BOOT_USART_PAD0 PINMUX_PA16C_SERCOM1_PAD0
#define BOOT_GCLK_ID_CORE SERCOM3_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM3_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21E18A

View file

@ -1,17 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Kevin Neubauer"
#define PRODUCT_NAME "CircuitBrains Basic"
#define VOLUME_LABEL "BOOT"
#define INDEX_URL "https://kevinneubauer.com/portfolio/circuitbrains-basic/"
#define BOARD_ID "SAMD21E18A-SOM-v1"
#define LED_PIN PIN_PA14
#define USB_VID 0x04D8
#define USB_PID 0xEC63
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,26 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Kevin Neubauer"
#define PRODUCT_NAME "CircuitBrains Deluxe"
#define VOLUME_LABEL "BOOT"
#define INDEX_URL "https://kevinneubauer.com/portfolio/circuitbrains-deluxe/"
#define BOARD_ID "SAMD51J19A-SOM-v1.3"
#define LED_PIN PIN_PB13
#define USB_VID 0x04D8
#define USB_PID 0xEC64
#define BOOT_USART_MODULE SERCOM3
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBBMASK_SERCOM3
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA22C_SERCOM3_PAD0
#define BOOT_USART_PAD0 PINMUX_PA23C_SERCOM3_PAD1
#define BOOT_GCLK_ID_CORE SERCOM3_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM3_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,19 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "crickit"
#define VOLUME_LABEL "CRICKITBOOT"
#define INDEX_URL "http://adafru.it/"
#define BOARD_ID "SAMD21G18A-crickit-v0"
#define USB_VID 0x239A
#define USB_PID 0x002D
#define LED_PIN PIN_PB22
#define BOARD_NEOPIXEL_PIN PIN_PA27
#define BOARD_NEOPIXEL_COUNT 1
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,20 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define __SAMD21G18A__ 1
#define VENDOR_NAME "dadamachines"
#define PRODUCT_NAME "automat"
#define VOLUME_LABEL "AUTOMAT"
#define INDEX_URL "http://dadamachines.com/"
#define BOARD_ID "SAMD21G18A-dadamachines-automat-v0"
#define USB_VID 0x16D0
#define USB_PID 0x0CDA
#define USB_POWER_MA 20
#define LED_PIN PIN_PA17
//#define LED_TX_PIN PIN_PA27
//#define LED_RX_PIN PIN_PB03
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,17 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define __SAMD21G18A__ 1
#define VENDOR_NAME "Eitech"
#define PRODUCT_NAME "Robotics"
#define VOLUME_LABEL "ROBOTICS"
#define INDEX_URL "http://www.eitech.de/"
#define BOARD_ID "SAMD21G18A-Eitech-Robotics-v0"
#define USB_VID 0x1D50
#define USB_PID 0x6110 // PID from Openmoko Project
#define LED_PIN PIN_PA30
#endif

View file

@ -4,12 +4,16 @@
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Feather M0"
#define VOLUME_LABEL "FEATHERBOOT"
#define INDEX_URL "http://adafru.it/"
#define INDEX_URL "http://adafru.it/3403"
#define BOARD_ID "SAMD21G18A-Feather-v0"
#define USB_VID 0x239A
#define USB_PID 0x0015
#define USB_PID 0x001B
#define LED_PIN PIN_PA17
#define BOARD_NEOPIXEL_PIN PIN_PA06
#define BOARD_NEOPIXEL_COUNT 1
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,19 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Feather M0 Express"
#define VOLUME_LABEL "FEATHERBOOT"
#define INDEX_URL "http://adafru.it/3403"
#define BOARD_ID "SAMD21G18A-Feather-M0-Express-v0"
#define USB_VID 0x239A
#define USB_PID 0x001B
#define LED_PIN PIN_PA17
#define BOARD_NEOPIXEL_PIN PIN_PA06
#define BOARD_NEOPIXEL_COUNT 1
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,29 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Feather M4 Express"
#define VOLUME_LABEL "FEATHERBOOT"
#define INDEX_URL "http://adafru.it/3857"
#define BOARD_ID "SAMD51J19A-FeatherM4-v0"
#define USB_VID 0x239A
#define USB_PID 0x0022
#define LED_PIN PIN_PA23
#define BOARD_NEOPIXEL_PIN PIN_PB03
#define BOARD_NEOPIXEL_COUNT 1
#define BOOT_USART_MODULE SERCOM0
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBAMASK_SERCOM0
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD3_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_PA07D_SERCOM0_PAD3
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_UNUSED
#define BOOT_USART_PAD0 PINMUX_PA04D_SERCOM0_PAD0
#define BOOT_GCLK_ID_CORE SERCOM0_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM0_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21E18A

View file

@ -1,15 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Radomir Dopieralski"
#define PRODUCT_NAME "Fluff M0"
#define VOLUME_LABEL "FLUFFBOOT"
#define INDEX_URL "https://hackaday.io/project/171381"
#define BOARD_ID "SAMD21E18A-Fluff-v0"
#define USB_VID 0x239A
#define USB_PID 0x00AF
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAME54N20A

View file

@ -1,26 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Generic Corp."
#define PRODUCT_NAME "SAME54 Board"
#define VOLUME_LABEL "SAME54"
#define USB_VID 0x03EB // Atmel
#define USB_PID 0x2402 // Generic HID device
#define BOARD_ID "SAME54N20A-Generic"
#define LED_PIN PIN_PB31
#define BOOT_USART_MODULE SERCOM4
#define BOOT_USART_MASK APBDMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBDMASK_SERCOM4
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PB09D_SERCOM4_PAD1
#define BOOT_USART_PAD0 PINMUX_PB08D_SERCOM4_PAD0
#define BOOT_GCLK_ID_CORE SERCOM4_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM4_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51P20A

View file

@ -1,31 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Grand Central M4 Express"
#define VOLUME_LABEL "GCM4BOOT"
#define INDEX_URL "http://adafru.it/4064"
#define BOARD_ID "SAMD51P20A-GrandCentral-v0"
#define USB_VID 0x239A
#define USB_PID 0x0031
#define LED_PIN PIN_PB01
#define LED_TX_PIN PIN_PC30
#define LED_RX_PIN PIN_PC31
#define BOARD_NEOPIXEL_PIN PIN_PC24
#define BOARD_NEOPIXEL_COUNT 1
#define BOOT_USART_MODULE SERCOM0
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBAMASK_SERCOM0
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PB25C_SERCOM0_PAD1
#define BOOT_USART_PAD0 PINMUX_PB24C_SERCOM0_PAD0
#define BOOT_GCLK_ID_CORE SERCOM0_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM0_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,19 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Hallowing M0"
#define VOLUME_LABEL "HALLOWBOOT"
#define INDEX_URL "http://adafru.it/3900"
#define BOARD_ID "SAMD21G18A-Hallowing-v0"
#define USB_VID 0x239A
#define USB_PID 0xB000
#define LED_PIN PIN_PA23
#define BOARD_NEOPIXEL_PIN PIN_PA12
#define BOARD_NEOPIXEL_COUNT 1
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,31 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "HalloWing M4"
#define VOLUME_LABEL "HALLOM4BOOT"
#define INDEX_URL "http://adafru.it/"
#define BOARD_ID "SAMD51J19A-HalloM4-v0"
#define USB_VID 0x239A
#define USB_PID 0x0049
#define LED_PIN PIN_PA23
#define BOARD_NEOPIXEL_PIN PIN_PB16
#define BOARD_NEOPIXEL_COUNT 4
#define BOOT_USART_MODULE SERCOM4
#define BOOT_USART_MASK APBDMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBDMASK_SERCOM4
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PB13C_SERCOM4_PAD1
#define BOOT_USART_PAD0 PINMUX_PB12C_SERCOM4_PAD0
#define BOOT_GCLK_ID_CORE SERCOM4_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM4_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51G19A

View file

@ -1,29 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Hallowing Mask M4"
#define VOLUME_LABEL "MASKM4BOOT"
#define INDEX_URL "http://adafru.it/"
#define BOARD_ID "SAMD51G19A-Mask-v0"
#define USB_VID 0x239A
#define USB_PID 0x0047
#define LED_PIN PIN_PA27
// There isnt a clear UART but we can make one on the D2/D3 ports
#define BOOT_USART_MODULE SERCOM4
#define BOOT_USART_MASK APBDMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBDMASK_SERCOM4
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PB09D_SERCOM4_PAD1
#define BOOT_USART_PAD0 PINMUX_PB08D_SERCOM4_PAD0
#define BOOT_GCLK_ID_CORE SERCOM4_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM4_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51G19A

View file

@ -1,31 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "ItsyBitsy M4 Express"
#define VOLUME_LABEL "ITSYM4BOOT"
#define INDEX_URL "http://adafru.it/"
#define BOARD_ID "SAMD51G19A-Itsy-v0"
#define USB_VID 0x239A
#define USB_PID 0x002B
#define LED_PIN PIN_PA22
#define BOARD_RGBLED_CLOCK_PIN PIN_PB02
#define BOARD_RGBLED_DATA_PIN PIN_PB03
#define BOOT_USART_MODULE SERCOM3
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBBMASK_SERCOM3
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA22C_SERCOM3_PAD0
#define BOOT_USART_PAD0 PINMUX_PA23C_SERCOM3_PAD1
#define BOOT_GCLK_ID_CORE SERCOM3_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM3_GCLK_ID_SLOW
#endif

View file

@ -1,6 +1,8 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define __SAMD21G18A__ 1
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Metro M0"
#define VOLUME_LABEL "METROBOOT"

View file

@ -2,30 +2,30 @@
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Metro M4 Express"
#define PRODUCT_NAME "Metro M4"
#define VOLUME_LABEL "METROM4BOOT"
#define INDEX_URL "http://adafru.it/3382"
#define INDEX_URL "http://adafru.it/3505"
#define BOARD_ID "SAMD51J19A-Metro-v0"
#define USB_VID 0x239A
#define USB_PID 0x0021
#define LED_PIN PIN_PA16
#define LED_PIN PIN_PA21
#define LED_TX_PIN PIN_PA27
#define LED_RX_PIN PIN_PB06
#define BOARD_NEOPIXEL_PIN PIN_PB22
#define BOARD_NEOPIXEL_PIN PIN_PB17
#define BOARD_NEOPIXEL_COUNT 1
#define BOOT_USART_MODULE SERCOM3
#define BOOT_USART_MODULE SERCOM0
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBBMASK_SERCOM3
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBAMASK_SERCOM0
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD3_TX_PAD2
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA22C_SERCOM3_PAD0
#define BOOT_USART_PAD0 PINMUX_PA23C_SERCOM3_PAD1
#define BOOT_GCLK_ID_CORE SERCOM3_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM3_GCLK_ID_SLOW
#define BOOT_USART_PAD1 PINMUX_PA10C_SERCOM0_PAD2
#define BOOT_USART_PAD0 PINMUX_PA11C_SERCOM0_PAD3
#define BOOT_GCLK_ID_CORE SERCOM0_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM0_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,31 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Metro M4 AirLift"
#define VOLUME_LABEL "METROM4BOOT"
#define INDEX_URL "http://adafru.it/"
#define BOARD_ID "SAMD51J19A-Metro-AirLift-v0"
#define USB_VID 0x239A
#define USB_PID 0x0037
#define LED_PIN PIN_PA16
#define LED_TX_PIN PIN_PB07
#define LED_RX_PIN PIN_PB06
#define BOARD_NEOPIXEL_PIN PIN_PB22
#define BOARD_NEOPIXEL_COUNT 1
#define BOOT_USART_MODULE SERCOM3
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBBMASK_SERCOM3
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA22C_SERCOM3_PAD0
#define BOOT_USART_PAD0 PINMUX_PA23C_SERCOM3_PAD1
#define BOOT_GCLK_ID_CORE SERCOM3_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM3_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,31 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Metro M4 Rev B"
#define VOLUME_LABEL "METROM4BOOT"
#define INDEX_URL "http://adafru.it/3505"
#define BOARD_ID "SAMD51J19A-Metro-v0"
#define USB_VID 0x239A
#define USB_PID 0x0021
#define LED_PIN PIN_PA21
#define LED_TX_PIN PIN_PA27
#define LED_RX_PIN PIN_PB06
#define BOARD_NEOPIXEL_PIN PIN_PB17
#define BOARD_NEOPIXEL_COUNT 1
#define BOOT_USART_MODULE SERCOM0
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBAMASK_SERCOM0
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD3_TX_PAD2
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA10C_SERCOM0_PAD2
#define BOOT_USART_PAD0 PINMUX_PA11C_SERCOM0_PAD3
#define BOOT_GCLK_ID_CORE SERCOM0_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM0_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,20 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Benjamin Shockley"
#define PRODUCT_NAME "Mini SAM M0"
#define VOLUME_LABEL "MINISAMBOOT"
#define INDEX_URL "httpw://www.minifigboards.com"
#define BOARD_ID "SAMD21G18A-MiniSAMM0-v0"
#define USB_VID 0x1209
#define USB_PID 0x7102
#define LED_PIN PIN_PA15
#define BOARD_RGBLED_CLOCK_PIN PIN_PB02
#define BOARD_RGBLED_DATA_PIN PIN_PA00
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51G19A

View file

@ -1,29 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Benjamin Shockley"
#define PRODUCT_NAME "Mini SAM M4"
#define VOLUME_LABEL "MINISAMBOOT"
#define INDEX_URL "https://minisam.cc"
#define BOARD_ID "SAMD51G19A-MiniSamM4-v0"
#define USB_VID 0x1209
#define USB_PID 0x2017
#define LED_PIN PIN_PA15
#define BOARD_RGBLED_CLOCK_PIN PIN_PB02
#define BOARD_RGBLED_DATA_PIN PIN_PB03
#define BOOT_USART_MODULE SERCOM3
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBBMASK_SERCOM3
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA22C_SERCOM3_PAD0
#define BOOT_USART_PAD0 PINMUX_PA23C_SERCOM3_PAD1
#define BOOT_GCLK_ID_CORE SERCOM3_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM3_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,15 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Arduino LLC"
#define PRODUCT_NAME "Arduino MKR1300"
#define VOLUME_LABEL "MKR1300"
#define BOARD_ID "SAMD21G18A-MKR1300-v0"
#define USB_VID 0x2341
#define USB_PID 0x8053
#define LED_PIN PIN_PA20
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,16 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Arduino LLC"
#define PRODUCT_NAME "Arduino MKRZero"
#define VOLUME_LABEL "MKRZEROBOOT"
#define BOARD_ID "SAMD21G18A-MKRZero-v0"
// Adafruit VID/PID assigned to MKRZero for hobby use
#define USB_VID 0x239A
#define USB_PID 0x0035
#define LED_PIN PIN_PB08
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,17 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Arduino SA"
#define PRODUCT_NAME "Arduino NANO 33 IoT"
#define VOLUME_LABEL "NANOBOOT"
#define INDEX_URL "https://store.arduino.cc/usa/nano-33-iot"
#define BOARD_ID "SAMD21G18A-NANO-33"
#define USB_VID 0x2341
#define USB_PID 0x0057
#define LED_PIN PIN_PA17
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21E18A

View file

@ -1,17 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "ndGarage"
#define PRODUCT_NAME "ndBit6"
#define VOLUME_LABEL "ND6BOOT"
#define INDEX_URL "https://ndgarage.github.io/"
#define BOARD_ID "SAMD21E18A-ND6"
#define USB_VID 0x239A
#define USB_PID 0x0065
#define LED_PIN PIN_PA23
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,31 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Oddly Specific Objects"
#define PRODUCT_NAME "The Open Book Feather"
#define VOLUME_LABEL "BOOKBOOT"
#define INDEX_URL "https://github.com/joeycastillo/The-Open-Book"
#define BOARD_ID "OSO-BOOK-A1-04"
#define USB_VID 0x239A
#define USB_PID 0x007D
#define LED_PIN PIN_PA23
#define BOARD_NEOPIXEL_PIN PIN_PA15
#define BOARD_NEOPIXEL_COUNT 1
#define BOOT_USART_MODULE SERCOM5
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBDMASK_SERCOM5
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PB17C_SERCOM5_PAD1
#define BOOT_USART_PAD0 PINMUX_PB16C_SERCOM5_PAD0
#define BOOT_GCLK_ID_CORE SERCOM5_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM5_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,74 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Radomir Dopieralski"
#define PRODUCT_NAME "PewPew"
#define VOLUME_LABEL "PEWBOOT"
#define INDEX_URL "http://pewpew.rtfd.io"
#define BOARD_ID "SAMD51J19A-PewPew-M4"
#define USB_VID 0x239A
#define USB_PID 0x0034
#define BOARD_NEOPIXEL_COUNT 0
#define BOARD_SCREEN 1
#define BOOT_USART_MODULE SERCOM3
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBBMASK_SERCOM3
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA22C_SERCOM3_PAD0
#define BOOT_USART_PAD0 PINMUX_PA23C_SERCOM3_PAD1
#define BOOT_GCLK_ID_CORE SERCOM3_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM3_GCLK_ID_SLOW
#define HAS_CONFIG_DATA 1
// This configuration data should be edited at https://microsoft.github.io/uf2/patcher/
// Just drop this file there.
// Alternatively, it can be also binary edited there after the bootloader is compiled.
#ifdef DEFINE_CONFIG_DATA
const uint32_t config_data[] = {
/* CF2 START */
513675505, 539130489, // magic
23, 100, // used entries, total entries
4, 0xa, // PIN_BTN_A = PA10
5, 0x9, // PIN_BTN_B = PA09
26, 0x2, // PIN_SPEAKER_AMP = PA02
32, 0xd, // PIN_DISPLAY_SCK = PA13
34, 0xf, // PIN_DISPLAY_MOSI = PA15
35, 0xb, // PIN_DISPLAY_CS = PA11
36, 0x10, // PIN_DISPLAY_DC = PA16
37, 0xa0, // DISPLAY_WIDTH = 160
38, 0x80, // DISPLAY_HEIGHT = 128
39, 0x20180, // DISPLAY_CFG0 = 0x20180
40, 0x12c2d, // DISPLAY_CFG1 = 0x12c2d
41, 0x18, // DISPLAY_CFG2 = 0x18
43, 0x11, // PIN_DISPLAY_RST = PA17
47, 0x37, // PIN_BTN_LEFT = PB23
48, 0x36, // PIN_BTN_RIGHT = PB22
49, 0x17, // PIN_BTN_UP = PA23
50, 0x1b, // PIN_BTN_DOWN = PA27
51, 0x16, // PIN_BTN_MENU = PA22
204, 0x80000, // FLASH_BYTES = 0x80000
205, 0x30000, // RAM_BYTES = 0x30000
208, 0x470c08e2, // BOOTLOADER_BOARD_ID = 0x470c08e2
209, 0x55114460, // UF2_FAMILY = ATSAMD51
210, 0x20, // PINS_PORT_SIZE = PA_32
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* CF2 END */
};
#endif
#endif

View file

@ -4,9 +4,9 @@
#define CRYSTALLESS 1
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "pIRKey M0"
#define PRODUCT_NAME "pIRKey"
#define VOLUME_LABEL "PIRKEYBOOT"
#define INDEX_URL "http://adafru.it/3364"
#define INDEX_URL "http://adafru.it/"
#define BOARD_ID "SAMD21E18A-pIRKey-v0"
#define USB_VID 0x239A

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J19A

View file

@ -1,28 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "maholli"
#define PRODUCT_NAME "PyCubedv04"
#define VOLUME_LABEL "PYCUBEDBOOT"
#define INDEX_URL "http://pycubed.org"
#define BOARD_ID "PYCUBED"
#define USB_VID 0x04D8
#define USB_PID 0xEC44 // PID sublicensed from Microchip
#define LED_PIN PIN_PA16 // not actually used, but build fails without it?
#define BOARD_NEOPIXEL_PIN PIN_PA21
#define BOARD_NEOPIXEL_COUNT 1
#define BOOT_USART_MODULE SERCOM0
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBAMASK_SERCOM0
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD3_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_PA07D_SERCOM0_PAD3
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_UNUSED
#define BOOT_USART_PAD0 PINMUX_PA04D_SERCOM0_PAD0
#define BOOT_GCLK_ID_CORE SERCOM0_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM0_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J20A

View file

@ -1,31 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "PyPortal M4 Express"
#define VOLUME_LABEL "PORTALBOOT"
#define INDEX_URL "http://adafru.it/4116"
#define BOARD_ID "SAMD51J20A-PyPortal-v0"
#define CRYSTALLESS 1
#define USB_VID 0x239A
#define USB_PID 0x0035
#define LED_PIN PIN_PB23
#define BOARD_NEOPIXEL_PIN PIN_PB22
#define BOARD_NEOPIXEL_COUNT 1
#define BOOT_USART_MODULE SERCOM5
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBDMASK_SERCOM5
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PB03D_SERCOM5_PAD1
#define BOOT_USART_PAD0 PINMUX_PB02D_SERCOM5_PAD0
#define BOOT_GCLK_ID_CORE SERCOM0_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM0_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,19 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "Adafruit Industries"
#define PRODUCT_NAME "Radiofruit M0"
#define VOLUME_LABEL "RADIOBOOT"
#define INDEX_URL "http://adafru.it/3403"
#define BOARD_ID "SAMR21G18A-Radiofruit-v0"
#define USB_VID 0x239A
#define USB_PID 0x0024
#define LED_PIN PIN_PA27
#define BOARD_NEOPIXEL_PIN PIN_PA22
#define BOARD_NEOPIXEL_COUNT 1
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,17 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Robotics Masters"
#define PRODUCT_NAME "Robo HAT MM1"
#define VOLUME_LABEL "ROBOM0BOOT"
#define INDEX_URL "https://roboticsmasters.co"
#define BOARD_ID "SAMD21G18A-robohat-v8"
#define USB_VID 0x1209
#define USB_PID 0x4D44
#define LED_PIN PIN_PB22
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51G19A

View file

@ -1,28 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "Robotics Masters"
#define PRODUCT_NAME "Robo HAT MM1 M4"
#define VOLUME_LABEL "ROBOM4BOOT"
#define INDEX_URL "https://roboticsmasters.co"
#define BOARD_ID "SAMD51G19A-RoboHATMM1-v24"
#define USB_VID 0x1209
#define USB_PID 0x4D44
#define LED_PIN PIN_PB22
#define BOOT_USART_MODULE SERCOM1
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBAMASK_SERCOM1
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA17C_SERCOM1_PAD1
#define BOOT_USART_PAD0 PINMUX_PA16C_SERCOM1_PAD0
#define BOOT_GCLK_ID_CORE SERCOM1_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM1_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51J20A

View file

@ -1,29 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "maholli"
#define PRODUCT_NAME "SAM32"
#define VOLUME_LABEL "SAM32BOOT"
#define INDEX_URL "https://github.com/maholli"
#define BOARD_ID "SAM32"
#define USB_VID 0x04D8
#define USB_PID 0xEDBE // PID sublicensed from Microchip
#define LED_PIN PIN_PA27
#define BOARD_NEOPIXEL_PIN PIN_PA15
#define BOARD_NEOPIXEL_COUNT 1
#define BOOT_USART_MODULE SERCOM3
#define BOOT_USART_MASK APBAMASK
#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBBMASK_SERCOM3
#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0
#define BOOT_USART_PAD3 PINMUX_UNUSED
#define BOOT_USART_PAD2 PINMUX_UNUSED
#define BOOT_USART_PAD1 PINMUX_PA22C_SERCOM3_PAD0
#define BOOT_USART_PAD0 PINMUX_PA23C_SERCOM3_PAD1
#define BOOT_GCLK_ID_CORE SERCOM3_GCLK_ID_CORE
#define BOOT_GCLK_ID_SLOW SERCOM3_GCLK_ID_SLOW
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,18 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define __SAMD21G18A__ 1
#define VENDOR_NAME "eduSense"
#define PRODUCT_NAME "senseBox MCU"
#define VOLUME_LABEL "SENSEBOX"
#define INDEX_URL "http://www.sensebox.de"
#define BOARD_ID "SAMD21G18A-senseBox-MCU-v0"
#define USB_VID 0x04D8
#define USB_PID 0xEF66 // PID sublicensed from Microchip
#define USB_POWER_MA 20
#define LED_PIN PIN_PA27 // red LED
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21E18A

View file

@ -1,17 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "arturo182"
#define PRODUCT_NAME "Serpente"
#define VOLUME_LABEL "SERPENTBOOT"
#define INDEX_URL "https://serpente.solder.party/"
#define BOARD_ID "SAMD21E18A-Serpente"
#define USB_VID 0x239A
#define USB_PID 0x0057
#define LED_PIN PIN_PA23
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21E18A

View file

@ -1,17 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define CRYSTALLESS 1
#define VENDOR_NAME "@sarfata"
#define PRODUCT_NAME "shIRtty"
#define VOLUME_LABEL "shIRtty"
#define INDEX_URL "https://github.com/sarfata/shirtty-addon"
#define BOARD_ID "shIRtty"
#define USB_VID 0x239A
#define USB_PID 0x006B
#define LED_PIN PIN_PA14
#endif

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd21
CHIP_VARIANT = SAMD21G18A

View file

@ -1,18 +0,0 @@
#ifndef BOARD_CONFIG_H
#define BOARD_CONFIG_H
#define VENDOR_NAME "keithp.com"
#define PRODUCT_NAME "snekboard"
#define VOLUME_LABEL "SNEKBOOT"
#define INDEX_URL "https://keithp.com/snek"
#define BOARD_ID "SAMD21G18A-snekboard"
#define USB_VID 0x239A
#define USB_PID 0x004D
#define LED_PIN PIN_PA02
#define BOARD_NEOPIXEL_PIN PIN_PB11
#define BOARD_NEOPIXEL_COUNT 2
#endif

View file

@ -8,7 +8,7 @@
#define BOARD_ID "SAMD21G18A-Dev-Sparkfun-v0"
#define USB_VID 0x1B4F
#define USB_PID 0x0D23
#define USB_PID 0x0D21
#define LED_PIN PIN_PA17

View file

@ -8,7 +8,7 @@
#define BOARD_ID "SAMD21G18A-Mini-Sparkfun-v0"
#define USB_VID 0x1B4F
#define USB_PID 0x0D22
#define USB_PID 0x0D21
#define LED_PIN PIN_PA17

View file

@ -1,2 +0,0 @@
CHIP_FAMILY = samd51
CHIP_VARIANT = SAMD51G19A

Some files were not shown because too many files have changed in this diff Show more