Marian Buschsieweke
33195d7965
cpu/sam{d21,d5x,l21}: Claim support for BlackMagic Probe
...
Using `PROGRAMMER=bmp` has been proven to work reliably at least on
SAMD21, SAMD5x and SAML21.
Since using unsupported programmers is treated as a warning, this change
only reduces the noise in the shell a bit and is not a functional
change.
[1]: https://black-magic.org/supported-targets.html
2024-11-21 17:20:48 +01:00
Marian Buschsieweke
2ea8601b69
cpu/samd5x/periph_cph.h: drop non-UTF-8 chars
...
There were some bogus chars in a comment. Let's drop them.
2024-10-08 14:16:24 +02:00
Marian Buschsieweke
20e218680c
cpu/samd5x/cpu.c: reformat code
...
This formats the code to improve readability and apply the coding
convention. This is a whitespace only change that will not change
generated binaries.
2024-09-17 22:07:46 +02:00
Dylan Laduranty
26b3583aa9
cpu/samd5x: avoid the use of bitfield in periph
...
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2024-06-29 13:26:51 +02:00
Dylan Laduranty
41c003d670
cpu/samd5x: avoid the use of bitfield in cpu init
...
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2024-06-27 21:51:13 +02:00
Firas Hamdi
59c9f68307
cpu/samd5x: Enable and handle errors interrupts
2024-05-16 15:00:28 +02:00
Firas Hamdi
b35e60e720
cpu/samd5x: add CAN error codes
2024-05-16 15:00:28 +02:00
Karl Fessel
c623c50fcf
cpu/samd5x/can: assert eff-flag if extended id range
2024-05-08 22:43:01 +02:00
Karl Fessel
1d53d31339
cpu/samd5x/can: set EFF and RTR Flag if received
2024-05-07 10:48:14 +02:00
Firas Hamdi
599967fe26
cpu/samd5x: reword & correct debug output
2024-04-18 15:42:57 +02:00
Karl Fessel
9d2dda27ce
Merge branch 'master' into cpu/samd5x-write-CAN-driver
2024-03-28 09:52:26 +01:00
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model
2024-03-27 10:28:12 +01:00
Benjamin Valentin
16cfaab235
cpu/samd5x: fix C++ build
2024-03-27 00:15:36 +01:00
Firas Hamdi
e4e5558694
cpu/samd5x: implement driver for samd5x CAN controller
...
cpu/samd5x: load RX mailbox
2024-03-26 15:17:48 +01:00
Urs Gompper
12acc8dec9
cpu/samd5x: make GCLK definitions overwritable
2023-11-23 21:00:16 +01:00
Urs Gompper
b1e31fbf61
cpu/samd5x: define GCLK pins
2023-11-23 21:00:15 +01:00
Urs Gompper
5479c7eb96
cpu/samd5x: add conditional enabling of freqm peripheral
2023-11-23 20:53:14 +01:00
Gunar Schorcht
33d1e82b73
cpu/samd5x: define power modes
2023-09-23 19:26:30 +02:00
Gunar Schorcht
b859da8495
cpu/samd5x: change FDPLL1 frequency to 100 MHz
...
The only peripheral that currently uses the FDPLL1 is SDHC. However, the SDHC IP can only be clocked at up to 150 MHz. Therefore, 100 MHz is currently used as the frequency of the FDPLL1. If another peripheral device requires 200 MHz in the future, this must be realized via different clock generators.
2023-06-20 12:48:54 +02:00
Dylan Laduranty
6607ed10f6
cpu/samd5x: add support for FDPLL1 running at 200MHz
...
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-05-16 16:04:17 +02:00
Dylan Laduranty
f790d9fe36
cpu/samd5x: replace fdpll0_init by two generic functions
...
These functions can be used to set both FDPLL0 and FDPLL1 by using an extra argument 'idx' (index) and allow to set the ONDEMAND bit using the 'flags' argument
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-05-16 16:03:15 +02:00
Dylan Laduranty
af2fa99470
cpu/samd5x: remove duplicate USE_VREG_BUCK
...
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-05-16 15:54:18 +02:00
Dylan Laduranty
ba83e13d10
cpu/samd5x: fix SAM0_DPLL_FREQ_MAX_HZ value
...
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-05-16 15:53:20 +02:00
Benjamin Valentin
9dcb3991d2
cpu/sam0_common: move adc_res_t to common code
2023-01-17 17:18:07 +01:00
Benjamin Valentin
124b849503
cpu: call early_init()
2023-01-08 22:26:12 +01:00
benpicco
baf1687951
Merge pull request #18146 from benpicco/cpu/sam0_common/adc-diffmode
...
cpu/sam0_common: adc: add support for differential mode
2022-09-27 17:34:07 +02:00
Benjamin Valentin
361a94460a
cpu/sam0_common: add ADC pin aliases
2022-08-31 18:23:44 +02:00
Benjamin Valentin
babee877ce
cpu/sam0_common: add SD Host Controller implementation
2022-05-31 11:07:20 +02:00
Benjamin Valentin
75ee373b01
cpu/samd5x: define ADC pins
...
rg define\ PIN_.*_AIN | grep ADC | cut -d' ' -f2 | sort | uniq | sed -E "s/PIN_(P[A-F])([0-9][0-9])B_ADC0_AIN([0-9]*)/\3 GPIO_PIN(\1, \2),/" | sort -n | grep GPIO | cut -d ' ' -f2- | sed -E "s/0([0-9])/\1/"
rg define\ PIN_.*_AIN | grep ADC | cut -d' ' -f2 | sort | uniq | sed -E "s/PIN_(P[A-F])([0-9][0-9])B_ADC1_AIN([0-9]*)/\3 GPIO_PIN(\1, \2),/" | sort -n | grep GPIO | cut -d ' ' -f2- | sed -E "s/0([0-9])/\1/"
2022-05-30 20:41:18 +02:00
Benjamin Valentin
11acdd0526
cpu/samd*: adjust PM_BLOCKER_INITIAL to the new API
...
For saml1x and samd5x this becomes now obsolete as the default provides
this behavior.
2022-04-06 12:29:25 +02:00
Benjamin Valentin
7c3bfb980e
cpu/samd5x: allow to block IDLE mode
...
Make it possible to prevent the CPU clock from stopping.
2022-03-29 18:14:41 +02:00
benpicco
e8cbf1ea90
Merge pull request #16681 from benpicco/drivers/dose-collision
...
drivers/dose: make use of UART collision detection feature
2021-12-08 20:48:28 +01:00
Benjamin Valentin
a51fb298dc
cpu/sam0_common: implement periph_uart_collision feature
2021-12-08 17:35:00 +01:00
Benjamin Valentin
669104d841
cpu/sam0_common: SPI: don't perform DMA transfer for small buffers
...
Setting up a DMA transfer can take longer than sending out a buffer
byte by byte if the buffer is small.
DMA only shows advantages for large buffers, using it for every transfer
will cause a net slowdown.
Since we did not come up with a good way to determine the treshold based
on the SPI frequency, just use a fixed buffer for now so that DMA can be
used without slowing things down overall.
2021-11-19 17:22:51 +01:00
Jean-Pierre De Jesus DIAZ
480e22be66
cpu/sam*: fix doxygen grouping warnings
...
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Benjamin Valentin
3fbf473a07
cpu/sam0_common: implement periph_rtc_mem
2021-09-03 11:43:43 +02:00
benpicco
6929577c76
Merge pull request #15845 from benpicco/boards/adafruit-itsybitsy-m4
...
boards: add adafruit-itsybitsy-m4
2021-02-09 19:41:43 +01:00
Benjamin Valentin
73f58bfa04
cpu/samd5x: Kconfig: don't provide periph_eth on CPU level
...
It's up to the board to expose it.
2021-02-09 16:15:33 +01:00
Benjamin Valentin
9c1455d55f
cpu: make pm_layered a DEFAULT_MODULE
...
Allow to disable pm_layered in the bootloader to save some ROM.
2021-01-27 13:21:20 +01:00
Benjamin Valentin
8004aa4d34
cpu/sam0_common: not every CPU has DMA
2021-01-12 15:48:37 +01:00
dylad
c934d5dde3
kconfig: add PERIPH_ETH feature to samd5x
2020-12-13 22:30:54 +01:00
Benjamin Valentin
8f72212eb0
cpu/sam0_common: SPI: add support for QSPI in SPI mode
...
We can use the QSPI peripheral as an additional (non-Quad) SPI peripheral.
2020-12-11 22:33:08 +01:00
Benjamin Valentin
edbb5fe9d0
cpu/samd5x: add NVM User Page Mapping
2020-11-10 12:18:47 +01:00
Bas Stottelaar
22243aec7a
cpu/*: realign ENABLE_DEBUG
2020-10-23 00:46:26 +02:00
Bas Stottelaar
ab6188cea3
cpu/*: add missing include of assert.h
2020-10-22 11:13:08 +02:00
Benjamin Valentin
310eb4970c
cpu/sam0_common: GPIO: use tamper detection to wake from Deep Sleep
...
On samd5x only the RTC can wake the CPU from Deep Sleep (pm modes 0 & 1).
The external interrupt controller is disabled, but we can use the tamper
detection of the RTC.
If an gpio interrupt is configured on one of the five tamper detect pins,
those can be used to wake the CPU from Deep Sleep / Hibernate.
2020-09-17 18:46:25 +02:00
Benjamin Valentin
cd5a847684
cpu/sam0_common: define CPU_FAM based on CPU_MODEL
2020-08-24 16:13:18 +02:00
Benjamin Valentin
7ed4979148
cpu/samd5x: define CPU_COMMON_SAMD5X symbol and use it
2020-08-24 16:13:18 +02:00
Benjamin Valentin
2cd0236a8c
cpu/samd5x: add all parts to Kconfig
2020-08-24 16:11:48 +02:00
János Brodbeck
7a7f06a3e1
cpu/samd5x: add ADC resolution type
2020-08-19 17:48:37 +02:00