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

120 Commits

Author SHA1 Message Date
HavingaThijs
0c72444f24 cpu/cc2538: mask length byte before checking CRC 2024-11-18 08:34:29 +01:00
Benjamin Valentin
94ad4d7ba3 cpu/cc2538: update function signature of EUI provider 2024-01-04 13:15:47 +01:00
Benjamin Valentin
0340ac6129 cpu: include IDLE in PM_NUM_MODES 2022-04-06 12:29:25 +02:00
3c0e405f32
boards/cc2538: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:10 +01:00
benpicco
3b002cc4c8
Merge pull request #16821 from jia200x/pr/cc2538/rx_busy
cc2538_rf: remove RX Busy detection in request_set_trx_state
2021-10-05 00:08:40 +02:00
Jose Alamos
474838ba15
cc2538_rf: remove RX Busy detection in request_set_trx_state
This PR removes the RX Busy detection because it doesn't seem to be
reliable enough to ensure the radio is not locked. Some radios such as
nrf802154 don't provide RX Busy detection mechanisms, so this is not
uncommon. It's intended that the MAC layer takes care of this (e.g
slots, CSMA-CA with retransmissions, etc)
2021-09-29 16:05:34 +02:00
Benjamin Valentin
97de8afaf6 cpu/cc2538: don't pollute global namespace with cc2538_rfcore.h
`cc2538_rfcore.h` contains enums with non-prefixed single-word constants.
Those cause ugly naming conflicts down the line.
Only include the file when needed, don't include it in `cpu_conf.h` which
gets pulled in everywhere.
2021-09-16 15:31:22 +02:00
Jean-Pierre De Jesus DIAZ
5750dc0270 cpu/cc2538: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jose Alamos
ddc9c7c686
ieee802154/radio_hal: detach hal descriptor from driver 2021-08-18 15:24:10 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
Jose Alamos
3fce21a62b
drivers/cc2538_rf: disable RX detection during CCA 2021-08-09 11:37:17 +02:00
Jose Alamos
8f553488d1
drivers/cc2538_rf: remove cc2538_rf legacy 2021-07-08 15:37:42 +02:00
Jose Alamos
44934d300c
cc2538_rf: adapt to Radio HAL changes 2021-06-17 10:07:42 +02:00
Leandro Lanzieri
f0e7dfdf76
cpu/cc2538/radio: use driver specific legacy pseudomodule
This introduces the cc2538_rf_netdev_legacy pseudomodule that switches
to the netdev-based implementation of the cc2538 radio driver.
2021-03-10 14:18:12 +01:00
benpicco
89c32e5be2
Update cpu/cc2538/include/cc2538_eui_primary.h
Co-authored-by: Marian Buschsieweke <maribu@users.noreply.github.com>
2020-12-14 15:23:13 +01:00
Benjamin Valentin
fe9ae5bc80 net/eui_provider: provide index to the callback function
If the same callback function is used for multiple interfaces
(`NETDEV_INDEX_ANY`), it is necessary to also provide the index of
the interface to hand out and address.
2020-12-14 00:22:18 +01:00
Francisco Molina
bc737a1f76
cpu/cc2538: add periph_uart_nonblocking
Add periph_uart_nonblocking. Since cc2538 has a transmit FIFO write
to the FIFO first and to a tsrb buffer only when the transmit FIFO
is full.

Rely on the FIFO TXIFLSEL condition to fill up FIFO as space becomes
available.
2020-12-11 09:36:16 +01:00
f626758aaf
Merge pull request #15392 from fjmolinas/pr_cc2538_riotboot
boards/cc2538: add riotboot feature
2020-11-13 15:39:55 +01:00
Francisco Molina
ab9abf2f51
cpu/cc2538: add riotboot
Flash Customer Configuration Area (CCA) is never written when the
riotboot module is used. This required a riot application to have
been previously flashed. riotboot will completely ignore this
section, neither writing or erasing it.

Slot flashing is currenly only supported with Jlink.

Co-authored-by: Brenton Chetty <brent7984@gmail.com>
2020-11-13 14:51:57 +01:00
3c10425b4c
cc2538: Adapt to flashpage/flashpage_pagewise API 2020-11-11 23:16:38 +01:00
Francisco Molina
c4edff3a59
boards cpu: move OpenWSN defintions to openwsn_defs.h 2020-11-10 07:46:35 +01:00
Francisco Molina
dcfc7f1158
cpu/cc2538: add flashpage & flashpage_raw 2020-11-06 18:00:17 +01:00
Francisco Molina
e06ef467d9
cpu/cc2538/include/cc2538_rf.h: fix typo 2020-10-23 15:31:58 +02:00
Francisco Molina
1b8c78219b
cpu/cc2538/cpu_conf: add OpenWSN conf 2020-10-23 15:31:56 +02:00
Francisco Molina
e2c57cde95
cpu/cc2538: cleanup init, add cc2538_rf_obs_sig module 2020-10-22 18:17:08 +02:00
Francisco Molina
145d24499d
cpu/cc2538_rf: remove RADIO_IRQ_PRIO 2020-10-22 17:26:08 +02:00
Jose Alamos
c1a9d352f3 cc2538_rf: unify auto_init for HAL and netdev 2020-10-19 15:18:34 +02:00
Francisco Molina
8df42f2390
cpu/cc2538: add RTT_MIN_OFFSET 2020-10-02 12:49:15 +02:00
Benjamin Valentin
a1a67265cd cc2538_rf: use prefix for global function name 2020-09-11 13:33:37 +02:00
Benjamin Valentin
8ac3332cb6 cc2538_rf: add EUI provoder for primary EUI-64 2020-09-11 13:33:37 +02:00
Benjamin Valentin
6675c5f5c0 cc2538_rf: pass address via pointer 2020-09-11 13:33:37 +02:00
Jose Alamos
1401635787 cc2538: implement radio hal 2020-09-04 11:09:17 +02:00
Jose Alamos
18d188c5d9 cc2538: add IRQ bit definitions 2020-09-03 18:20:50 +02:00
Benjamin Valentin
18fe16298c cpu/cc2538: add Watchdog implementation
The Watchdog on the CC2538 only supports 4 intervals (2ms, 16ms, 250ms & 1s).
Since the watchdog timer API specifies a `max_time`, the interval equal or
below that time is selected.

E.g. for `max_time=125ms` the 16ms interval would be selected.
This is outside the tolerance of the `tests/periph_wdt` test.

Co-authored-by: Thomas Geithner <thomas.geithner@dai-labor.de>
2020-08-30 11:46:39 +02:00
Benjamin Valentin
b8d49fe627 cpu/cc2538: set CPU_HAS_BITBAND 2020-08-08 12:44:11 +02:00
Benjamin Valentin
9d836888c2 treewide: fix file permissions
C files should not be executable.
2020-07-08 17:32:36 +02:00
Matthew Bradbury
ecfe4a4e8f cpu/cc2538: Check CRC of received message after reading message contents 2020-04-20 18:18:56 +01:00
Jose Alamos
77325b4cde ieee802154: add CONFIG_ prefix to config macros 2020-04-08 19:08:25 +02:00
Francisco Molina
194af687a0
boards/common: add cc2538 2020-03-25 08:20:52 +01:00
Francisco Molina
8c35335668
cpu/cc2538/cpu: cleanup clock intialization 2020-03-21 19:32:22 +01:00
benpicco
5d038a24bf
Merge pull request #13510 from benpicco/cpu/cc2538-pm
cpu/cc2538: implement periph/pm
2020-03-12 12:18:18 +01:00
Dylan Laduranty
077a15f254 cpu/cc2538: use generic hw fc module 2020-03-10 14:22:34 +01:00
Benjamin Valentin
5d8c00e302 cpu/cc2538: implement periph/pm
cc2538 implements 4 sleep modes.
In the lightest mode (3) any interrupt source can wake up the CPU.
In mode 2, only RTT, GPIO or USB may wake the CPU.
In mode 1 only RTT and GPIO can wake the CPU.
In mode 0 only GPIO can wake the CPU.

In mode 0 and 1 the lower 16k RAM are lost. This is a problem since those
are usually used by RIOT.

The linkerscripts in cc2538/ldscripts take different approaches towards that.
Some only use the upper 16k and leave the other half to be managed by the
application.

`cc2538sf53.ld` which is used by `openmote-b` uses the entire RAM starting
at the lower half, so it will not be able to wake up from those modes.

A quick fix to test those modes with `tests/periph_pm` would be

--- a/cpu/cc2538/ldscripts/cc2538sf53.ld
+++ b/cpu/cc2538/ldscripts/cc2538sf53.ld
@@ -21,7 +21,7 @@ MEMORY
 {
     rom (rx)    : ORIGIN = 0x00200000, LENGTH = 512K - 44
     cca         : ORIGIN = 0x0027ffd4, LENGTH = 44
-    ram (w!rx)  : ORIGIN = 0x20000000, LENGTH = 32K
+    ram (w!rx)  : ORIGIN = 0x20004000, LENGTH = 16K
 }
2020-03-10 10:35:46 +01:00
82d1d40042
cpu/cc2538: define radio irq prio at cpu level 2020-01-08 14:41:01 +01:00
Francisco Molina
1801f4f085 cpu/cc2538: add periph_rtt 2020-01-08 09:16:49 +01:00
b01c6707a5 cpu/cc2538: fix typos 2019-11-23 22:39:36 +01:00
Yegor Yefremov
df7e760588 doxygen/I2C: don't include overridden typedefs
Add missing #ifndefs to overridden I2C typedefs.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:33 +01:00
Yegor Yefremov
cf65070b06 doxygen/GPIO: don't include overridden typedefs
Add missing #ifndefs to overridden GPIO typedefs.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:33 +01:00
Yegor Yefremov
fa3b0ff04b doxygen/SPI: don't include overridden typedefs
Add missing #ifndefs to overridden SPI typedefs.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:32 +01:00
Yegor Yefremov
5b0252b150 doxygen/ADC: don't include overridden typedefs
Add missing #ifndefs to overridden ADC resolution typedefs.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:32 +01:00