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

292 Commits

Author SHA1 Message Date
Jose Alamos
fa0dd8b5e2 netdev_ieee802154_submac: set addresses using netdev_register 2020-10-19 15:18:35 +02:00
Jose Alamos
c1a9d352f3 cc2538_rf: unify auto_init for HAL and netdev 2020-10-19 15:18:34 +02:00
benpicco
0f726b17d5
Merge pull request #15228 from jia200x/pr/hal_read_func
ieee802154/radio: add `read` function
2020-10-15 21:31:10 +02:00
Jose Alamos
ee5adad401 ieee802154/radio: replace indication mechanism 2020-10-14 18:07:28 +02:00
Francisco Molina
8df42f2390
cpu/cc2538: add RTT_MIN_OFFSET 2020-10-02 12:49:15 +02:00
Francisco Molina
eb8f747a34
cpu/cc2538: reset rtt on init 2020-10-02 12:49:06 +02:00
Benjamin Valentin
d9116684e5 cpu/cortexm_common: advertise puf_sram feature
`puf_sram` is a feature of the linker script, it does not need vendor
specific hardware support.
2020-09-11 16:30:45 +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
1811686540 cc2538_rf: register with netdev 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
benpicco
84e36e6fcc
Merge pull request #14985 from jia200x/pr/hal/cc2538_rf/fix_style_issues
cc2538_rf_hal: fix style issues
2020-09-09 17:41:02 +02:00
Jose Alamos
9d770ec1bd cc2538_rf_hal: fix style issues 2020-09-09 13:07:58 +02:00
Jose Alamos
d3630dcabe cc2538_rf: add missing const qualifiers 2020-09-09 11:18:01 +02:00
63554b1a0c
cpu/cc2538/radio: only build required files 2020-09-04 15:25:36 +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
Jose Alamos
2d7c316226 cc2538_netdev: disable netdev if radio hal is present 2020-09-03 18:20:50 +02:00
Jose Alamos
2917879407 cc2538: move chunks of init function to netdev 2020-09-03 18:20:49 +02:00
Jose Alamos
4cbd3a91b2 cc2538: move IRQ clear to netdev irq handler 2020-09-03 18:20:49 +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
Francisco Molina
8ed8daa493
cpu/cc2538/timer: fix 32 bit timer reload value
The interval load value was only set to 0xffff regardless of the counter
mode used which mad the 32bit timer apparently stop after 0xffff (it
would never reach values >0xffff).

When a GPTM is configured to one of the 32-bit modes, TAILR appears as a
32-bit register (the upper 16-bits correspond to the contents of the
GPTM Timer B Interval Load (TBILR) register). In a 16-bit mode, the
upper 16 bits of this register read as 0s and have no effect on the
state of TBILR.

Thsi commit set the correct value for TAILR depending on the configured
timer mode.
2020-08-12 11:35:42 +02:00
Marian Buschsieweke
234a720571
Merge pull request #14516 from benpicco/bitband_hw
cortexm_common: fix check for bitbanding feature
2020-08-08 14:26:49 +02:00
Benjamin Valentin
b8d49fe627 cpu/cc2538: set CPU_HAS_BITBAND 2020-08-08 12:44:11 +02:00
Benjamin Valentin
a8d5f13ad9
cpu/cc2538: rtt: allow to set alarm and overflow cb independently
Previously the setting the alarm would overwrite the overflow callback
and vice versa.

Since we can only set one alarm in hardware, always set the alarm to the
closest event of the two.
2020-08-04 16:22:44 +02:00
Benjamin Valentin
852fd7f531
cpu/cc2538: rtt: implement rtt_get_alarm()
We can't read back the alarm, so just store it in a variable.
2020-08-04 16:21:19 +02:00
Benjamin Valentin
d7f722e98f
cpu/cc2538: rtt: implement rtt_set_counter()
We can't set the hardware counter directly, so always add an offset.
2020-08-04 16:21:17 +02:00
Peter Kietzmann
6adf07caf0
Merge pull request #14672 from jia200x/pr/fix_cc2538_rssi
cc2538: fix RSSI offset
2020-08-03 09:45:16 +02:00
Jose Alamos
519f8f4529 cc2538: fix RSSI offset 2020-07-31 16:08:04 +02:00
Benjamin Valentin
08b3e2bd6b cpu/cc2538: GPIO: use bitarithm_test_and_clear() 2020-07-28 12:44:23 +02:00
Francisco Molina
da171f2254
cpu/cc2538/uart: uart_write wait for all bytes to be sent
uart_write should block until all bytes are sent out, so wait for
transmit fifo to empty before returning.
2020-07-22 12:56:12 +02:00
Benjamin Valentin
9d836888c2 treewide: fix file permissions
C files should not be executable.
2020-07-08 17:32:36 +02:00
Leandro Lanzieri
7d543fe091
cpu/cc2538: Add Kconfig symbols
Also specify CPU_FAM in Makefile.features
2020-06-24 15:15:43 +02:00
Leandro Lanzieri
4d65bc8e0a
cpu: Rename CPU_ARCH to CPU_CORE 2020-06-16 12:05:40 +02:00
Matthew Bradbury
ba51e90228 cpu/cc2538: Flush the RX FIFO (if overflowed) after a receive 2020-04-20 18:19:23 +01:00
Matthew Bradbury
bcfb437746 cpu/cc2538: Do not check XREG_RSSISTATbits for RSSI_VALID 2020-04-20 18:18:56 +01:00
Matthew Bradbury
ecfe4a4e8f cpu/cc2538: Check CRC of received message after reading message contents 2020-04-20 18:18:56 +01:00
Matthew Bradbury
fc0581056a cpu/cc2538: Check for a minimum length to read from a received frame 2020-04-20 18:18:56 +01:00
Matthew Bradbury
f0e48f0741 cpu/cc2538: Prevent underflow of the RX FIFO 2020-04-20 18:18:53 +01:00
Jose Alamos
77325b4cde ieee802154: add CONFIG_ prefix to config macros 2020-04-08 19:08:25 +02:00
Leandro Lanzieri
64552a3b9a
cpu/cortexm_common: Move common modules to Makefile.dep
This moves the following modules to a architecture-specific Makefile.dep
file:
- cortexm_common
- cortexm_common_periph
- newlib
- newlib_nano
- periph
2020-04-01 09:46:21 +02:00
Francisco Molina
dcd6b7f226
cpu/cc2538/timer: fix GPT enabling wait 2020-03-25 20:16:23 +01:00
benpicco
e9b71254ff
Merge pull request #13694 from fjmolinas/pr_boards_common_cc2538
boards: add common cc2538
2020-03-25 11:11:50 +01:00
Francisco Molina
194af687a0
boards/common: add cc2538 2020-03-25 08:20:52 +01:00
benpicco
457c5245ce
Merge pull request #13507 from benpicco/cpu/cc2538-gpio-cycles
cpu/cc2538: gpio: save a few cycles in handle_isr()
2020-03-23 20:53:52 +01:00
Francisco Molina
0cc6a51ea8
cpu/cc2538/periph/timer: cleanup styling 2020-03-23 10:59:53 +01:00
Francisco Molina
7e913fe0d9
cpu/cc2538/periph/timer: set pending timer_set_absolute
GPT timer needs to be gated to write to TnMATCHR register. If set
when timer is stopped save values and set on next timer_start()
2020-03-23 10:59:30 +01:00
Francisco Molina
ce696c6caa
cpu/cc2538/timer: enable GPT clock in active, sleep and PM0 2020-03-23 10:58:56 +01:00
Benjamin Valentin
345827ce7b cpu/cc2538: gpio: save a few cycles in handle_isr()
If only one it is set in state (one GPIO pin caused an interrupt),
don't loop over all 8 bits.

Use clz to get the position of the first interrupt bit and clear it,
looping only as many times as there are actual interrupts.
2020-03-23 09:21:14 +01:00
Francisco Molina
9a2190cd24
cpu/cc2538/periph/pm: unset OSC_PD when running on 32Mhz
Setting OSC_PD before WFI allows for faster wakeup from sleep.

Wait for cc2538_sys_ctrl_clk_sta and not cc2538_sys_ctrl_clk_ctrl
to be set.
2020-03-21 19:32:24 +01:00