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
Bas Stottelaar
22243aec7a
cpu/*: realign ENABLE_DEBUG
2020-10-23 00:46:26 +02:00
Benjamin Valentin
824f7aa82b
cpu/sam0_common: move PWM to common code
2020-06-07 16:50:17 +02:00
Benjamin Valentin
da89f6ac5f
cpu/samd21: don't hard-code number of channels
...
Each TCC can have 8 PWM channels, so don't hard-code
3 channels/TCC.
2020-04-26 22:26:01 +02:00
Benjamin Valentin
4d90a9c6b5
cpu/samd21: pwm: fix GCLK_ID & APBCMASK calculation
...
GCLK_ID and APBCMASK entries are not always uniform.
The previous hack would already break for TCC3.
Just explosively write down the cases, there are only 5 at most.
2020-04-08 15:24:05 +02:00
Benjamin Valentin
01c573c612
cpu/samd21: pwm: allow to use channels > 3
...
Channels 4…7 are on the CCB register.
2020-04-03 01:02:38 +02:00
Juergen Fitschen
1265efc785
cpu/sam0*: Wrap cortexm_sleep call
2020-02-24 11:48:13 +01:00
Benjamin Valentin
b8c4ab5b69
cpu: make use of ARRAY_SIZE macro
2019-08-06 19:43:54 +02:00
Benjamin Valentin
849dd4cdce
sam0_common: make Timer implementation common across all sam0 MCUs
...
The currently supported SAM0 MCUs (samd21, saml21, saml1x) share the same
Timer peripheral, yet each of them carries it's own copy of the Timer
driver.
This introduces a new timer driver that is common for all sam0 MCUs and
uses structs for configuration instead of defines.
2019-05-21 11:47:59 +02:00
Benjamin Valentin
077056b949
sam0_common: make RTT implementation common across all sam0 MCUs
...
The currently supported SAM0 MCUs (samd21, saml21, saml1x) share the
same RTC peripheral, yet each of them carries it's own copy of the RTT
driver.
Unify the drivers and move them to sam0_common.
2019-05-09 20:54:00 +02:00
Benjamin Valentin
9aa8c619c1
sam0_common: make RTC implementation common across all sam0 MCUs
...
The currently supported SAM0 MCUs (samd21, saml21, saml1x) share the
same RTC peripheral, yet each of them carries it's own copy of the RTC
driver.
Unify the drivers and move them to sam0_common.
2019-04-15 22:25:47 +02:00
ca5b5a6d0f
samd21: Expose numerical PM states
2019-03-18 13:44:26 +01:00
Joakim Nohlgård
dfa342b5f8
cpu/samd21: Avoid clearing interrupt bits unintentionally
...
The INTENSET, INTENCLR, INTFLAG registers are write-1-to-confirm
registers, so writing zeroes will not affect anything, on the other
hand, a compiler generated read-modify-write cycle may unintentionally
affect more bits than the one being set. Avoid by using direct
assignment instead of or-assignment (|=) or bitfield writes (.bit.xxx=).
2018-03-27 07:54:18 +02:00
smlng
e381317fbf
make: fix sign-compare errors
...
cpu, nrf5x_common: fix sign-compare in periph/flashpage
drivers, periph_common: fix sign-compare in flashpage
cpu, sam0_common: fix sign-compare error in periph/gpio
cpu, cc2538: fix sign-compare in periph/timer
cpu, sam3: fix sign-compare in periph/gpio
cpu, stm32_common: fix sign-compare in periph/pwm
cpu, stm32_common: fix sign-compare in periph/timer
cpu, stm32_common: fix sign-compare in periph/flashpage
cpu, nrf5x_common: fix sign-compare in radio/nrfmin
cpu, samd21: fix sign-compare in periph/pwm
cpu, ezr32wg: fix sign-compare in periph/gpio
cpu, ezr32wg: fix sign-compare in periph/timer
drivers, ethos: fix sign-compare
sys, net: fix sign-compare
cpu, atmega_common: fix sign-compare error
cpu, msp430fxyz: fix sign-compare in periph/gpio
boards, msb-430-common: fix sign-compare in board_init
driver, cc2420: fix sign-compared
sys/net: fix sign-compare in gnrc_tftp
driver, pcd8544: fix sign-compare
driver, pn532: fix sign-compare
driver, sdcard_spi: fix sign-compare
tests: fix sign_compare
sys/net, lwmac: fix sign_compare
pkg, lwip: fix sign-compare
boards, waspmote: make CORECLOCK unsigned long to fix sign_compare error
tests, sock_ip: fix sign compare
tests, msg_avail: fix sign compare
tests, sock_udp: fix sign compare
boards: fix sign-compare for calliope and microbit matrix
2017-11-28 11:55:48 +01:00
Hauke Petersen
b3962f8d2c
cpu/sam0: removed guards form periph drivers
2017-11-09 12:57:02 +01:00
a20745b6c5
cpu: make use of Makefile.periph
2017-11-06 12:01:19 +01:00
6be74db22b
cpu/samd21: skip pwm if not defined in board config
2017-10-12 12:07:41 +02:00
Hauke Petersen
b75672628a
Merge pull request #7632 from smlng/cpu/sam0_common/vendor_header
...
cpu, sam0_common: update vendor headers
2017-10-09 10:45:36 +02:00
Dan Evans
a59714b02c
samd21:add prescaler option for rtt.c
2017-10-02 20:35:07 -07:00
dylad
1e5262506d
cpu/sam0: merge GPIO driver
2017-10-01 14:48:12 +02:00
smlng
700793e1ce
cpu, samd21: adapt periph drivers for rtt and timer to updated vendor headers
2017-09-20 17:12:10 +02:00
dylad
89c885ea40
sam0/uart: merge samd21 & saml21 uart driver
...
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2017-08-29 21:26:42 +02:00
Thomas Eichinger
f286f2a276
Merge pull request #7492 from Hyungsin/forupstream_samr21_uart
2017-08-29 08:58:08 -07:00
Hyungsin
5dac8fc263
cpu/samd21: include uart driver only when UART_NUMOF is defined
2017-08-29 08:51:10 -07:00
03caac8951
Merge pull request #7307 from Hyungsin/forupstream_gpio_fix
...
samd21: gpio support samr21e18a
2017-08-15 19:44:27 +02:00
Hyungsin
e8e06949eb
cpu/samd21: add gpio support for samr21e18a
2017-08-15 09:43:18 -07:00
Francisco Acosta
f2efd88f98
Merge pull request #7129 from haukepetersen/opt_periph_sharetimerset
...
cpu: add and use shared code for timer_set()
2017-08-01 15:09:48 +02:00
Dan Evans
08224bd85a
samd21/clock: add xosc32/DFLL option
2017-06-26 10:42:23 -06:00
smlng
692cf96297
doc: fix doxygen grouping of cpu periph drivers
2017-06-26 14:42:11 +02:00
1d062a93d7
Merge pull request #7125 from kbumsik/mkr-fix
...
cpu/samd21: Added CPU_MODEL_SAMD21G18A interrupt config
2017-06-22 16:00:39 +02:00
biboc
0e41861db0
Change my email address:
...
<baptiste.clenet@xsoen.com>
to
<bapclenet@gmail.com>
2017-06-19 10:38:16 +02:00
Hauke Petersen
a1499f4190
cpu: add and use shared code for timer_set()
2017-06-02 12:21:56 +02:00
Bumsik Kim
ab7ab168fb
samd21: Added CPU_MODEL_SAMD21G18A interrupt config
2017-06-01 15:40:07 -04:00
8501a03cbc
cleanup: apply enable_debug_false.cocci to codebase (coccinelle)
...
Skipped sys/cbor/cbor.c, examples/microcoap_server/microcoap_sock.c,
as they use different semantics.
2017-05-15 18:45:43 +02:00
6b0cf6a728
Merge pull request #7027 from dylad/saml21_adc
...
saml21/adc: initial support
2017-05-12 23:33:47 +02:00
dylad
44dd56c3e8
sam0/adc: merged samd21 & saml21 adc driver
...
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2017-05-12 21:02:17 +02:00
8f239e4c61
Merge pull request #6812 from haukepetersen/fix_cortexm_usecommonsleep
...
cpu/sam0|stm32: use common cortexm_sleep()
2017-05-11 14:44:05 +02:00
Travis Griggs
828a47dd6a
samd21/adc: initial implementation
2017-04-27 14:54:29 -07:00
dylad
0bb43529b3
cpu/samd21: do the difference between samr21 and samd21 EXTI
...
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2017-04-25 21:47:54 +02:00
dylad
e5ef668ac1
cpu/samd21: fix or add missing EXTI on GPIO
...
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2017-04-10 21:03:16 +02:00
Hauke Petersen
190f319066
cpu/sam0|stm32: use common cortexm_sleep()
2017-03-28 20:00:03 +02:00
Hauke Petersen
8064bd9fa9
periph/pwm: remove pwm_(start|stop) + doc
...
- joined start/stop and poweron/poweroff
- added general documentation
2017-02-13 09:37:31 +01:00
Hauke Petersen
ea07a6817c
cpu/sam0+boards: adapted to new SPI API
...
- adapted the SPI driver
- merged SPI driver for samr21 and saml21
- adapted all boards using the CPU
2017-01-25 16:46:45 +01:00
9ec39de1d0
cpu: samd21: misc Wextra fixes
2017-01-25 10:10:47 +01:00
Oleg Hahm
d0316fa7ae
periph timer: remove timer_irq_(en|dis)able
2017-01-14 15:34:53 +01:00
f42e5381ee
cpu: samd21: add periph/pm support
2017-01-12 16:26:01 +01:00
Hauke Petersen
3a00fe8e49
cpus: make use of cortexm_isr_end()
2016-12-21 11:28:46 +01:00
Hauke Petersen
2eebf36eb2
cpu/uart: make use of named return values
2016-10-28 10:32:00 +02:00
Hauke Petersen
ac6b73a35c
cpu/samd21(common): cleaned up pad selection macros
...
- renamed uart and spi pad selection macros to consistent style
- adapted uart and spi implementation to use new names
2016-10-07 11:02:14 +02:00
Hauke Petersen
d3e41e7b58
cpu/sam21: removed superfluous gpio_init_sercom
...
This function was a duplication of the existing gpio_init_mux,
where the exiting function is the more general one, as the mux
inititalization is not only valid for the sercom module...
2016-10-05 13:19:52 +02:00