1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

6656 Commits

Author SHA1 Message Date
Leandro Lanzieri
fcafb89671
Merge pull request #15893 from benpicco/cpu/kinetis-float
cpu/kinetis: enable floating point support
2021-02-01 15:48:35 +01:00
Francisco
b9ebeccff2
Merge pull request #15895 from bergzand/pr/stm32/expose_ram
stm32: Resolve RAM size to bytes
2021-02-01 14:09:24 +01:00
Benjamin Valentin
2ffd7b4261 cpu/kinetis: enable floating point support
I think this CPU was added before RIOT had support for the FPU on
Cortex-M4F, this should now have been long fixed.

Advertise the FPU on these CPUs.
2021-02-01 12:18:13 +01:00
118643ab2d
stm32: Resolve RAM size to bytes
The ram size is exposed as macro value and available for use in code.
For the stm32 it has a value in kilobytes suffixed with 'k'. This is
less than optimal for usage in arithmetic. This commit modifies the
value to bytes so that it can be used in preprocessor magic
2021-02-01 10:53:40 +01:00
benpicco
e87874ae54
Merge pull request #15689 from iosabi/qn908x_spi
cpu/qn908x: Implement blocking SPI support
2021-01-31 18:35:13 +01:00
iosabi
dfdd076125 cpu/qn908x: Implement blocking SPI support.
This patch implements the basic support the last of the FLEXCOMM modes,
Serial Peripheral Interface, in a simple blocking mode with busy wait,
which is enough to test all the SPI functionality end-to-end.

Tested reading and writing registers on a SPI peripheral, and checked
with the oscilloscope that the frequencies were as expected.

Results from `tests/periph_spi`:

```
> init 0 0 2 -1 0
SPI_DEV(0) initialized: mode: 0, clk: 2, cs_port: -1, cs_pin: 0
> bench

 1 - write 1000 times 1 byte:			16002	16009
 2 - write 1000 times 2 byte:			18001	18008
 3 - write 1000 times 100 byte:		802000	802007
 4 - write 1000 times 1 byte to register:	24003	24010
 5 - write 1000 times 2 byte to register:	26001	26008
 6 - write 1000 times 100 byte to register:	810001	810008
 7 - read 1000 times 2 byte:			23003	23009
 8 - read 1000 times 100 byte:		807002	807009
 9 - read 1000 times 2 byte from register:	32002	32009
10 - read 1000 times 100 byte from register:	816002	816009
11 - transfer 1000 times 2 byte:		23003	23009
12 - transfer 1000 times 100 byte:		807003	807010
13 - transfer 1000 times 2 byte to register:	32003	32009
14 - transfer 1000 times 100 byte to register:816002	816009
15 - acquire/release 1000 times:		7222	7228
-- - SUM:					5059250	5059351

```
2021-01-31 16:27:20 +00:00
iosabi
e085232da4 cpu/qn908x: Fix BOARD_HAS_ADC_PA06_CAP usage.
The macro was moved from Kconfig to the periph_cpu.h which means that
the macro name needed to be updated to BOARD_HAS_ADC_PA06_CAP instead
of CONFIG_BOARD_HAS_ADC_PA06_CAP.
2021-01-30 23:30:43 +00:00
iosabi
965ebaa15b cpu/qn908x: Implement ADC support
The ADC in the QN908x cpu offers multiple options for ADC conversion
using up to 8 external pins, one external reference pin and some
internal signals like a 1.2V reference, Vss, Vcc and an internal
temperature monitor.

This patch implements support for sampling ADC values from the ADC lines
defined in the board configuration. Some configurations are really
always present and don't require a board configuration, like the Vcc or
internal temperature monitor but to coexist with other board ADC line
options they are only set as part of the board configuration.
2021-01-30 17:25:09 +00:00
Hauke Petersen
deafa9074a cpu/nrf/radio/nrfble: request HFXO clock source 2021-01-29 11:10:15 +01:00
Hauke Petersen
11a914ed8a cpu/nrf/radio/nrfmin: request HFXO clock source 2021-01-29 11:10:15 +01:00
Hauke Petersen
cea6d8dd2d cpu/nrf/radio/nrf802154: request HFXO clock source 2021-01-29 11:10:15 +01:00
Hauke Petersen
9d1692c45a cpu/nrf5x: allow to request/release HFXO clk src 2021-01-29 11:10:15 +01:00
Dylan Laduranty
1d0dbb4626
Merge pull request #15846 from benpicco/cpu/sam0_common-spi_fixes
cpu/sam0_common: SPI: MOSI only operation & fix for adafruit-itsybitsy-m4
2021-01-28 09:26:28 +01:00
ce97e9d8ce
Merge pull request #15859 from fjmolinas/pr_newlib_feature
treewide: model newlib as a FEATURE
2021-01-27 10:06:08 +01:00
Francisco Molina
63a2a6ce1b
treewide: model newlib as a FEATURE 2021-01-27 09:24:25 +01:00
Benjamin Valentin
31bf0c5257 cpu/sam0_common: SPI: only mux MISO on spi_acquire() 2021-01-26 21:42:06 +01:00
Benjamin Valentin
b894b280f4 cpu/samd21: update doc.txt with supported MCUs
SAMD10, SAMD20, SAMD21, SAMR21 all belong to the same family/generation
of Atmel MCUs, they are all supported by `cpu/samd21`.
2021-01-26 19:23:52 +01:00
benpicco
98726ded6d
Merge pull request #14662 from benpicco/cpu/samd20
cpu/samd21: add support for SAMD20 & SAM D20 Xplained Pro board
2021-01-26 19:14:36 +01:00
b3ffb690b1
Merge pull request #15857 from bergzand/pr/fe310/remove_nanostubs
cpu/fe310: Use newlib_syscalls_default stub implementations
2021-01-26 14:50:24 +01:00
128423edc6
cpu/fe310: Use newlib_syscalls_default stub implementations
This switches the fe310 to use the common newlib_syscalls_default
implementation.
2021-01-26 13:42:52 +01:00
Marian Buschsieweke
38188017a8
Merge pull request #15610 from maribu/stm32-ethernet-rx-timestamp
drivers/stm32_eth: add RX timestamps
2021-01-26 13:32:19 +01:00
Marian Buschsieweke
62aa3d103f
cpu/stm32/periph_eth: RX Timestamps 2021-01-26 10:44:04 +01:00
Francisco
de9f29cf42
Merge pull request #15835 from leandrolanzieri/pr/makefile/fix_default_modules_in_usemodules
Makefile.include: avoid recursive expansion of USEMODULE
2021-01-25 21:50:03 +01:00
87cd41a6d1
Merge pull request #15657 from aabadie/pr/cpu/stm32_merge_clock_headers
cpu/stm32: merge clock source selection headers
2021-01-25 13:57:05 +01:00
49a3592f92
Merge pull request #15849 from benpicco/cpu/stm32f7-adc
cpu/stm32: add periph_adc for STM32F7
2021-01-25 13:12:22 +01:00
5fef40ab5a
cpu/stm32/clk: cleanup common clock configuration 2021-01-25 11:46:35 +01:00
dfed1b0567
cpu/stm32: merge g0 and g4 clock configuration headers 2021-01-25 11:46:34 +01:00
0aadf367cc
cpu/stm32: rework common clock source selection header 2021-01-25 11:46:34 +01:00
Francisco
947c63666e
Merge pull request #15834 from leandrolanzieri/pr/cpu/stm32/kconfig_features_conflict_fix
cpu/stm32/kconfig: fix rtt/rtc error symbol
2021-01-25 10:15:32 +01:00
Leandro Lanzieri
2e2dcd5c27
cpu/msp430: move default module to Makefile.default 2021-01-25 09:17:00 +01:00
AravindKarri
63252d17c0 cpu/stm32/adc_f4: add support for stm32f7 2021-01-24 22:30:49 +01:00
Benjamin Valentin
00a467e86d cpu/sam0_common: SPI: allow to only configure MOSI/CLK
Some slave devices (e.g. LED strips) don't have a back-channel and
will only need MOSI and CLK.
2021-01-24 17:51:44 +01:00
Leandro Lanzieri
e5aca465bd
cpu/stm32/kconfig: fix rtt:rtc error symbol
It only exists conflict between the usage of RTC and RTT on the F1
family, but the error symbol was being set for all of them. This fixes
the issue.
2021-01-23 09:59:03 +01:00
b57b3d490d
cpu/fe310: Allow using immediates for ecall arguments
The mv instruction (which is usually implemented as `add rd, x0, r1`) is
changed to `add rd, x0, %input`. This can either be used as a load
immediate or as an move.

The code size grows by two bytes. This because GCC does not compress the
li instruction to the compressed version (even though this is possible).
2021-01-22 20:49:52 +01:00
896227ab08
cpu/fe310: Add used registers to clobbers 2021-01-22 20:49:17 +01:00
benpicco
46337efd93
Merge pull request #15783 from maribu/stm32_eth_fix_error_handling
cpu/stm32/periph_eth: fix error handling in send()
2021-01-22 20:25:25 +01:00
benpicco
4c403d6559
Merge pull request #15788 from bergzand/pr/core/inline_thread_yield_higher
core/thread: Allow for inline thread_yield_higher
2021-01-22 20:25:11 +01:00
benpicco
1a30a3a280
Merge pull request #15707 from ML-PA-Consulting-GmbH/fix/20210105__sam0_common-periph-flashpage__fix_unaligned_write
sam0_common/periph/flashpage: fix unaligned write
2021-01-22 20:24:53 +01:00
Marian Buschsieweke
0d432b59fe
Merge pull request #15840 from benpicco/cpu/atmega-rm_ldscripts_compat
cpu/atmega*: drop ldscripts_compat
2021-01-22 20:20:57 +01:00
Benjamin Valentin
236c4db83e cpu/atmega*: drop ldscripts_compat
Those were only needed with very old toolchains.
These days they cause more confusion than benefit, so drop them.
2021-01-22 19:05:20 +01:00
benpicco
e1052f0152
Merge pull request #15833 from yarrick/esp_emac_debug
cpu/esp32: Add newline to emac_main debug prints
2021-01-22 14:36:24 +01:00
517fc585b1
cpu/native: Add dummy thread_arch.h header 2021-01-22 09:21:46 +01:00
Erik Ekman
1d6aa2e865 cpu/esp32: Add newline to emac_main debug prints 2021-01-21 20:55:02 +01:00
Benjamin Valentin
f11fc64af6 cpu/sam0_common: PWM: fix build on samd20
There is no SYNCBUSY register, so the dummy fallback does not work.
This code path is not used anyway, so just ifdef it out.
2021-01-21 20:29:15 +01:00
b1f7fd3905
cpu/stm32: fix wrong max clock for stm32f423xx line 2021-01-21 18:31:15 +01:00
84dfc88ca3
cpu/arm7_common: Inline thread_yield_higher function 2021-01-20 10:37:42 +01:00
Marian Buschsieweke
21264b80cf
cpu/stm32/periph_eth: improve debugging output
Add ENABLE_DEBUG_VERBOSE flag, so that the noise during debugging can be
reduced. This is super helpful when testing under load, as otherwise there is
just too much noise in the output.
2021-01-20 10:36:59 +01:00
Marian Buschsieweke
788f997452
cpu/stm32/periph_eth: fix error handling
An earlier version of periph_eth used to always pack the first chunk of the
outgoing frame to the first DMA descriptor by telling the DMA to jump back
to the first descriptor within the last descriptor. This worked fine unless
the frame was send in one chunk (as e.g. lwip does), which resulted due to a
hardware bug in a frame being send out twice. For that reason, the behavior was
changed to cycle throw the linked DMA descriptor list in round-robin fashion.
However, the error checking was not updated accordingly. Hence, the error
check might run over (parts of) unrelated frames and fail to detect errors
correctly.

This commit fixes the issue and also provides proper return codes for errors.

Additionally, an DMA reset is performed on detected errors during RX/TX. I'm
not sure if/when this is needed, as error conditions are neigh impossible to
produce. But better be safe than sorry.
2021-01-20 10:35:05 +01:00
Francisco
4cc6c23ec6
Merge pull request #15809 from maribu/bitband-fix
sys/bit: provide CPU_HAS_SRAM_BITBAND
2021-01-20 10:22:04 +01:00
Daniel Lockau
ef7cbdb312 cpu/sam0_common/periph/flashpage: fix unaligned writes 2021-01-20 09:55:47 +01:00