1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

142 Commits

Author SHA1 Message Date
Francisco Molina
3a4f30ec80 drivers/periph_common: add periph_uart_hw_fc 2021-11-26 10:39:40 +01:00
Leandro Lanzieri
7036388769
drivers/periph_common: add RTC ms module to Kconfig 2021-11-22 12:25:57 +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
Benjamin Valentin
f89d0c7c25 drivers/periph/uart: add periph_uart_collision feature 2021-11-10 15:57:45 +01:00
MrKevinWeiss
9b6a63a951
drivers/kconfig: simplify shared rtt/rtc hardware in kconfig 2021-10-14 11:28:46 +02:00
MrKevinWeiss
c7820cf7e5
*/rtt|rtc: Fix Kconfig modeling 2021-10-14 11:28:44 +02:00
MrKevinWeiss
0c5c657912
drivers/spi: Model Kconfig spi_gpio_mode 2021-10-14 11:28:43 +02:00
Benjamin Valentin
f903ec90d4 drivers/flashpage: flashpage_page() takes a const argument
All addresses to flashpage_page() must be in flash. Flash memory is
`const`, therefore this function must also take `const` pointers.
2021-08-27 14:08:25 +02:00
benpicco
feac187d54
Merge pull request #16506 from benpicco/drivers/dose-rx_start
drivers/dose: make use of start condition received interrupt
2021-07-28 17:21:29 +02:00
Benjamin Valentin
9194440ead drivers/periph/uart: add periph_uart_rx_start feature 2021-07-27 16:29:30 +02:00
Francisco Molina
c62f6e0590
cpu/stm32/flashpage: adapt to non dual-core stm32wl 2021-07-21 11:28:16 +02:00
Benjamin Valentin
eb7dfdb6ad drivers/periph: flashpage: fix type error 2021-04-28 14:17:42 +02:00
Benjamin Valentin
917cf85225 drivers/periph: flashpage: add common helper functions 2021-04-27 16:52:36 +02:00
Akshai M
2cf081b509 cpu/stm32wl: Flashpage configuration 2021-04-20 21:04:36 +02:00
Marian Buschsieweke
ab89234040
drivers/periph/rtt: add periph_rtt_set_counter feature
Some periph_rtt implementations do not provide `rtt_set_counter()`. This
adds `periph_rtt_set_counter` as feature to allow testing for its
availability. The feature is provided at CPU level if periph_rtt is
provided by the board for all CPUs implementing `rtt_set_counter()`.
2021-03-08 14:16:46 +01:00
c93c3e46d6
flashpage: Support non uniform flashpage sizes 2021-02-01 14:27:22 +01:00
Marian Buschsieweke
7d1edd51f4
drivers/periph: Added PTP clock API 2020-12-02 17:53:00 +01:00
Leandro Lanzieri
283b1f015d
drivers/periph_common: add temperature peripheral to Kconfig 2020-11-25 12:00:13 +01:00
Leandro Lanzieri
2306516d0d
drivers/periph_common: add CPU specific RTC Kconfig 2020-11-18 10:08:00 +01:00
Leandro Lanzieri
1d1a96fb8a
drivers/periph_common/kconfig.gpio: include CPU configs 2020-11-18 10:07:59 +01:00
41bbaa7442
flashpage: Make pagewise API optional
flashpage currently requires pagewise implementation with an optional
extension for per block writes (flashpage_raw). Most implementations
with flashpage_raw implement the pagewise access via the flashpage_raw
functions. This commit makes the flashpage raw the main access method
and adds an extension feature for the pagewise access.

The functions and defines are renamed to reflect this. The API is also
extended with a dedicated function for erasing a sector.
2020-11-11 22:26:33 +01:00
Leandro Lanzieri
8b74702c7e
drivers/periph_common: add gpio_fast_read module to Kconfig 2020-11-06 15:57:59 +01:00
Leandro Lanzieri
98cc3c317a
drivers/periph_common: add LPUART module to Kconfig 2020-11-06 15:57:57 +01:00
Bas Stottelaar
92b1dfc703 drivers/*: realign ENABLE_DEBUG 2020-10-23 01:26:09 +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
Francisco Molina
4648329c66
drivers/periph_common: remove redundant entry
- Use same file for MODULE inclusion and configuration
- Fix guard
- Add Kconfig.wdt
2020-09-02 15:31:28 +02:00
Francisco Molina
86ea4b42e4
drivers/Kconfig: add peripheral drivers config menu 2020-09-01 19:04:53 +02:00
Cenk Gündoğan
538155c344
Merge pull request #14904 from leandrolanzieri/pr/kconfig/change_prefix_convention
treewide: modify Kconfig symbol prefixes
2020-09-01 15:57:06 +02:00
Gunar Schorcht
6d61381d2a drivers: use inline functions for GPIO comparisons
The expandable GPIO API requires the comparison of structured GPIO types. This means that inline functions must be used instead of direct comparisons. For the migration process, drivers must first be changed so that they use the inline comparison functions.
2020-08-31 13:10:28 +02:00
Leandro Lanzieri
2e79e00ca7
treewide: change Kconfig prefix for module symbols
This changes the prefix used for the symbols that reprensent modules
(not the ones generated from USEMODULE).

MOD_ => MODULE_
2020-08-31 09:57:28 +02:00
Leandro Lanzieri
d25fc243c4
treewide: change prefix for generated Kconfig symbols.
This changes the prefixes of the symbols generated from USEMODULE and
USEPKG variables. The changes are as follow:

   KCONFIG_MODULE_ => KCONFIG_USEMODULE_
   KCONFIG_PKG_ => KCONFIG_USEPKG_
   MODULE_ => USEMODULE_
   PKG_ => USEPKG_
2020-08-31 09:37:09 +02:00
Leandro Lanzieri
14499e3b7e
drivers/periph_common: Add modules to Kconfig 2020-08-12 12:22:40 +02:00
Leandro Lanzieri
4ad2180f81
kconfig: Add default modules' symbols 2020-08-12 12:22:38 +02:00
Benjamin Valentin
7543e714c1 drivers/periph_common: RTC: move RIOT_EPOCH to header, document it. 2020-08-07 13:22:19 +02:00
Leandro Lanzieri
67a43e0ada
drivers/wdt/kconfig: Rename HAS_WDT_WARNING_PERIOD
The symbol now is HAS_PERIPH_WDT_WARNING_PERIOD.
2020-06-02 17:43:19 +02:00
Leandro Lanzieri
8cca9bfc28
drivers/wdt: Expose configuration to Kconfig 2020-03-31 13:39:38 +02:00
Francisco Molina
9fa0099d62
cpu/stm32wb: add flashpage support
- Since flash access is shared with CPU2 we resize ROM_LEN
  according to CPU2 secure flash memmory area.
- Add assert to prevent unauthorized reads from CPU2 secure
  flash area
2020-03-25 09:29:56 +01:00
Benjamin Valentin
d716195ecb drivers/periph_common: init RTT before RTC 2020-03-19 15:25:14 +01:00
Francisco Molina
6b6479e6e9
drivers/periph_common: add periph_init% module 2020-03-06 11:21:19 +01:00
Benjamin Valentin
725311a054 periph_common/rtc: add rtc_tm_valid()
Add a function to verify all members of a struct tm are within
the valid range.
2020-03-03 16:26:14 +01:00
Benjamin Valentin
5b64ae4ef5 periph_common/rtc: add rtc_localtime()
Add function to convert a RTC timestamp (non-UNIX) to a time struct.
2020-03-03 11:01:02 +01:00
Benjamin Valentin
fbada0df58 periph_common/rtc: handle m_mday == 0 in rtc_tm_normalize() 2020-02-29 17:42:50 +01:00
Benjamin Valentin
becff61e20 periph_common/rtc: add rtc_mktime()
Add a function to convert a time struct to an unsigned timestamp (non-UNIX).
2020-02-29 17:42:50 +01:00
chrysn
e65f3f372b USB VID/PID: Set whitelist define for internals that use usb.h
This list is probably incomplete as it was created experimentally.
2020-01-30 15:04:10 +01:00
Michel Rottleuthner
8e7a1edd11 drivers/periph_common/timer: protect timer_set from IRQs 2020-01-10 09:58:18 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
Benjamin Valentin
513a3a7d59 periph_common/rtc: add rtc_tm_compare()
Add an easy way to compare two points in time.
2019-11-05 12:52:45 +01:00
aed12b4853
Merge pull request #11252 from fjmolinas/pr_wdg_stm32
cpu/stm32_common: add watchdog for stm32
2019-09-13 09:16:18 +02:00
Francisco Molina
8bd34c4ba3 drivers/periph_common: init wdt if HAS_WDT_INIT 2019-09-12 17:45:31 +02:00
Benjamin Valentin
fa9e9064cf periph_common/rtc: add rtc_tm_normalize() 2019-09-12 11:32:08 +02:00
Federico Pellegrin
1779abafb5 periph/i2c: make sure i2c registers is big-endian on all archs 2019-05-29 05:15:23 +02:00
Philipp Blum
9f2ef5e367 drivers/periph_common/gpio_util: introduce gpio_util_shiftin() 2019-04-18 07:09:32 +02:00
Dylan Laduranty
ccf12c57a8
Merge pull request #10884 from fedepell/sam_rwee_support
sam0 flashpage RWWEE flash support
2019-03-28 11:00:25 +01:00
Federico Pellegrin
5faafac092 sam0 flashpage RWWEE flash support 2019-03-21 04:27:41 +01:00
cf093c5a25
periph: add low level usbdev initialization 2019-03-20 09:12:24 +01:00
MrKevinWeiss
e14e6ead92 drivers/periph_common/i2c: Add not supported codes
This commit returns accurate error codes and prevents improper i2c states.
If since i2c_read_reg and i2c_write_reg are full frames the I2C_NOSTOP/START commands should not be supported
2018-12-10 09:49:18 +01:00
1008ab4fdf drivers/periph_eeprom: add eeprom_set function 2018-12-04 11:24:57 +01:00
50f19d1d1f drivers/periph_eeprom: add clear and erase functions 2018-12-04 11:24:57 +01:00
e9a6ebc409 cpu: drivers/eeprom: refactor periph_eeprom implementation 2018-10-16 10:39:10 +02:00
Francisco Acosta
71d3c14354 drivers/periph_common/eeprom: remove the now unnecessary cpu.h include 2018-08-15 15:27:03 +02:00
Francisco Acosta
a22d7ad5cd drivers: prepare for moving EEPROM definitions
IMHO and I think it's more logical, EEPROM definitions don't belong
to cpu_conf.h but to periph_conf.h, thus I moved all of them to that
place.
2018-08-15 14:53:56 +02:00
dylad
ef8ed2620c periph_common/i2c: introduce new ret codes scheme 2018-07-25 12:01:34 +02:00
c85e84bbde drivers/periph_common: init i2c only if module is loaded 2018-07-25 12:01:34 +02:00
c2eb316039 drivers/i2c: improve common i2c driver
- fix reag/write regs function (NOSTART/NOSTOP flags missing)
- use ret variable name instead of err (cosmetic)
- split PERIPH_I2C_NEED_READ/WRITE_REGS to simplify cpu side implementation
2018-07-25 12:01:34 +02:00
d8e0745c06 drivers/periph_i2c: fix build issue with return code type 2018-07-25 12:01:34 +02:00
dylad
39cb0e2bdb periph_common/i2c: fix ret code handling
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2018-07-25 12:01:34 +02:00
6f25886d77 drivers/periph/i2c: fixes issues in API
- non matching doxygen input parameter to i2c_write_reg
- non/matching missing function parameter
- invalid return type to i2c_release
2018-07-25 12:01:34 +02:00
dylad
7fccd21dad periph/i2c: fix unspotted typos
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2018-07-25 12:01:34 +02:00
dylad
4a24ce8212 drivers/i2c: add default fallback wrappers
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2018-07-25 12:01:34 +02:00
dylad
496175b361 periph/i2c: add default fallback wrappers I2C functions
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2018-07-25 12:01:34 +02:00
Hauke Petersen
5e1467e747 drivers/periph_common: included I2C initialization 2018-07-25 12:01:34 +02:00
Vincent Dupont
071614bf04
Merge pull request #8543 from OTAkeys/pr/rtt_clean_up
periph_rtt: remove RTT_NUMOF guard and init from periph_common
2018-07-10 15:00:53 +02:00
9fa58af73b drivers/periph: add API for internal MCU EEPROM 2018-05-24 14:07:55 +02:00
d6eddde5e1 drivers/periph: fix doxygen groups in implementation 2018-05-24 09:11:43 +02:00
Vincent Dupont
1f409d09dd drivers/flashpage: use const ptrs for write/verify 2018-03-13 21:51:37 +01:00
Vincent Dupont
bb8c2df413 periph_common: call rtt_init from common init 2018-02-09 15:51:30 +01:00
Joakim Nohlgård
774abe4e28 periph_common: hwrng_init in periph_init if enabled 2017-12-08 08:08:15 +01: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
Vincent Dupont
f2466fb8dc periph/rtc: move init from auto_init to periph_init 2017-11-09 12:56:43 +01:00
3ebcdfd400 drivers/periph_common: guard spi_init() by spi module 2017-11-06 12:01:19 +01:00
Hauke Petersen
5920d99752 pm: fix weak-based default implementations
Instead of using `weak` function definitions, this PR handles
default implementations using `PROVIDES_x` defines, allowing
for cpus/pm realted modules to use their own implementations.
2017-10-16 14:27:35 +02:00
94c753c07a drivers: doxygen cleanup 2017-09-01 15:12:20 +02:00
Hauke Petersen
a1499f4190 cpu: add and use shared code for timer_set() 2017-06-02 12:21:56 +02:00
Joakim Nohlgård
6cda6a6560 periph/cpuid: Unify implementations to a common driver for several platforms 2017-04-05 09:03:49 +02:00
Hauke Petersen
4bfce892d3 drivers/periph&cpu: add and use common periph_init() 2017-01-25 16:46:46 +01:00
Hauke Petersen
96fe0fd63e drivers/periph_common: reworked SPI driver parts 2017-01-25 16:46:04 +01:00
6150e2753a drivers: periph: pm: introduce new power management API 2017-01-12 11:24:15 +01:00
Hauke Petersen
41f453066c drivers: added interface for writing flash pages 2016-11-30 16:51:09 +01:00
Hauke Petersen
08610ee84f drivers/periph_common: added spi_transfer_byte() 2016-10-17 16:58:26 +02:00
Oleg Hahm
426816b9ae drivers: fix pedantic compiler warnings 2015-12-07 20:28:52 +01:00
Cenk Gündoğan
400c95aa6b drivers/periph_common/spi: reuse trans_bytes for loop counter 2015-09-15 09:47:13 +02:00
10a77b7775 drivers: add periph_common
This module contains shared functions for periph implementations.
2015-08-14 14:46:35 +02:00