247 Commits

Author SHA1 Message Date
Marian Buschsieweke
125c892c03
drivers/periph/timer: Use uint32_t for frequency
For all currently supported platforms `unsigned long` is 32 bit in width. But
better use `uint32_t` to be safe.
2020-10-30 22:02:12 +01:00
Alexandre Abadie
7fbfb92f03
boards/stm32gx: move Kconfig clock config to cpu 2020-10-29 23:00:44 +01:00
Marian Buschsieweke
45dc86acce
cpu/stm32: Fix reception bug in periph_eth
The reception code hands RX DMA descriptors back to the DMA right after its
contents were copied into the network stack internal buffer. This increases
the odds that the DMA never runs out of DMA descriptors to fill, even under
high load. However, the loop fetching the Ethernet frame stops to iterate at the
end of the frame. If the DMA used one more descriptor to store the FCS, this
was not returned back to the DMA. This commit fixes it.
2020-10-28 14:23:25 +01:00
Marian Buschsieweke
7ced6a8ac8
cpu/stm32: Improve debug output for periph_eth 2020-10-28 14:22:54 +01:00
benpicco
2050193030
Merge pull request #15273 from aabadie/pr/cpu/stm32_clk_cfg_in_cpu
boards/stm32: cpu/stm32: move clock configuration from boards to cpu
2020-10-27 10:04:01 +01:00
Alexandre Abadie
0bd70a46bc
cpu/stm32: rework clock configuration documentation 2020-10-27 08:54:09 +01:00
Alexandre Abadie
ec5b47fc61
cpu/stm32l4+/wb: centralize max core clock define, adapt related boards 2020-10-27 08:44:55 +01:00
Alexandre Abadie
05f67a0a00
cpu/stm32: remove useless include in clock configuration 2020-10-26 11:21:07 +01:00
Alexandre Abadie
d6d85a3370
cpu/stm32: add common clock configuration header 2020-10-26 11:21:07 +01:00
Alexandre Abadie
f2e2c89424
cpu/stm32: move clock configuration headers to cpu 2020-10-26 11:16:23 +01:00
Alexandre Abadie
4e50feb4a8
cpu/stm32: adapt Kconfig for stm32l5 2020-10-23 18:28:27 +02:00
Alexandre Abadie
bd24a71fe0
cpu/stm32/kconfig: create family directory if not exist 2020-10-23 18:21:51 +02:00
Alexandre Abadie
7f26d5c389
cpu/stm32l5: adapt flashpage periph 2020-10-23 18:21:50 +02:00
Alexandre Abadie
a416b2793f
cpu/stm32: add basic support for stm32l5 2020-10-23 18:21:50 +02:00
Alexandre Abadie
b1b6c33104
cpu/stm32/dist/irqs: adapt for stm32l5 2020-10-23 18:13:07 +02:00
Alexandre Abadie
02c4b05a5a
cpu/stm32: configure stm32l5 cmsis repository version 2020-10-23 18:13:07 +02:00
benpicco
ad294aa340
Merge pull request #15203 from maribu/stm32-eth-negotiate
cpu/stm32: periph_eth: Use auto-negotation
2020-10-23 14:22:56 +02:00
Bas Stottelaar
7eb3414cff cpu/*: remove unneeded ENABLE_DEBUG 2020-10-23 11:29:57 +02:00
Bas Stottelaar
22243aec7a cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
Bas Stottelaar
bd34cf8fc0 cpu/*: reorder ENABLE_DEBUG after last include 2020-10-23 00:45:55 +02:00
Marian Buschsieweke
5f9b55a182
cpu/stm32: Add stm32_eth_auto for auto-negotiation
Expose the auto-negotiation feature of the Ethernet device via the
pseudo-module stm32_eth_auto. With this enabled, the static speed configuration
set in the boards periph_conf.h will only be used if the PHY lacks
auto-negotiation capabilities - which is unlikely to ever happen.
2020-10-22 12:37:23 +02:00
Bas Stottelaar
ab6188cea3 cpu/*: add missing include of assert.h 2020-10-22 11:13:08 +02:00
Alexandre Abadie
72c17588b9
boards/stm32: remove unused CLOCK_LSE define 2020-10-21 12:11:17 +02:00
Alexandre Abadie
9f985e8e56
cpu/stm32: use CONFIG_BOARD_HAS_LSE instead of CLOCK_LSE 2020-10-21 12:10:53 +02:00
Alexandre Abadie
fed1c4dbbe
Merge pull request #15259 from aabadie/pr/cpu/stm32_cleanup_disable_hsi
cpu/stm32: simplify stmclk_disable_hsi function
2020-10-21 11:19:30 +02:00
Alexandre Abadie
84306f1122
cpu/stm32: remove unused CLOCK_HSE define 2020-10-21 10:11:46 +02:00
Alexandre Abadie
0480490a2b
cpu/stm32/dist: adapt gen_kconfig.py with new directory 2020-10-21 09:18:30 +02:00
Alexandre Abadie
2720c5526c
cpu/stm32: rename kconfig directory to kconfigs
The kconfig directory names clashes with Kconfig file on non case sensitive filesystems
2020-10-21 09:18:24 +02:00
Alexandre Abadie
42f71914a5
cpu/stm32: simplify stmclk_disable_hsi function
There is no need to check for CLOCK_HSE or to check if HSI is used as SYSCLK, this is already checked at compile time in the clock initialization code
2020-10-20 22:13:50 +02:00
Alexandre Abadie
2f053c90bd
cpu/stm32gx: improve clock initialization sequence 2020-10-20 15:47:21 +02:00
Alexandre Abadie
e2ae50258a
cpu/stm32gx: factorize HSE clock activation 2020-10-20 14:29:22 +02:00
Alexandre Abadie
2d603269dd
cpu/stm32gx: disable hsi only if unused 2020-10-20 14:29:11 +02:00
Alexandre Abadie
20894e47a6
cpu: boards: stm32gx: use IS_ACTIVE macro for clock config 2020-10-20 14:29:11 +02:00
Alexandre Abadie
a96ca57f66
cpu/stm32gx: remove useless LSE clock initialization 2020-10-20 14:29:11 +02:00
Alexandre Abadie
d78a316139
cpu: boards: stm32gx: compile code for all possible clock modes 2020-10-20 14:29:11 +02:00
Alexandre Abadie
d1724d6718
cpu/stm32l4: correctly handle clock freq > 80MHz 2020-10-20 11:37:46 +02:00
Alexandre Abadie
00ea7ffa55
cpu/stm32l4wb: cleanup clock initialization 2020-10-20 11:37:46 +02:00
Alexandre Abadie
d7d5d9d651
boards/stm32l4: extend clock configuration
- add PLLQ default value
- better tune default PLLM value depending on HSE value
- ensure CLOCK_PLL_SRC is always defined
2020-10-20 11:37:45 +02:00
Alexandre Abadie
b11d65ab70
cpu/stm32l4: enable PLLQ as 48MHz source if possible 2020-10-20 11:37:45 +02:00
Alexandre Abadie
58ad0168e7
cpu/stm32: stm32l011 lines doesn't provide hwrng 2020-10-15 16:24:33 +02:00
Alexandre Abadie
2e2b87dda5
cpu/stm32: define EEPROM size for stm32l011k4 2020-10-15 16:24:33 +02:00
Alexandre Abadie
e51279b228
cpu/stm32l0: fix clk control register reset
on stm32l011, RCC_CR_CSSON is not defined
2020-10-15 16:24:33 +02:00
Alexandre Abadie
044acf1175
cpu/stm32: enable power overdrive on f4 and f7
This is only enabled if the HCLK clock is above 168MHz on F4 and 180MHz on f7
2020-10-14 13:36:20 +02:00
Cenk Gündoğan
0741f161ae
Merge pull request #15198 from leandrolanzieri/pr/kconfig/add_error_symbols
Kconfig: add error symbols and makefile check
2020-10-13 13:09:42 +02:00
Marian Buschsieweke
d84caa50d2
cpu/stm32: Fix link status in periph_eth
Previously, only an link-up event was triggered, not an link down event. And
additionally, once the link-up event was sent, the link status was no longer
monitored. As a result, once a link-up was sent, no further link event were
triggered.
2020-10-12 14:53:41 +02:00
Marian Buschsieweke
6294382627
cpu/stm32: Use mii.h for periph_eth
Use shared MII definitions and utilities instead own definitions.
2020-10-12 08:46:20 +02:00
benpicco
94e78cd1dd
Merge pull request #15193 from maribu/stm32_eth_fix
cpu/stm32: Fix & cleanup periph_eth
2020-10-11 21:40:36 +02:00
Marian Buschsieweke
0e43c927b1
cpu/stm32: Fix/cleanup periph_eth
The methods to read from / write to MII registers had an address argument to
allow specifying the PHY to communicate with. However, only a single PHY is
available on all boards supported and the driver is not able to operate with
multiple PHYs anyway - thus, drop this parameter for ease of use.

This fixes a bug in the _get_link_status() function, which used hard coded the
address 0; which might not be correct for all boards.
2020-10-09 20:20:54 +02:00
Leandro Lanzieri
fe6d66d92a
kconfig: add ERROR symbol for conflicting modules 2020-10-09 18:04:17 +02:00
Alexandre Abadie
42067b0091
cpu/stm32/kconfig: restore features provided at cpu lines level 2020-10-09 12:39:22 +02:00