Francisco Molina
c62f6e0590
cpu/stm32/flashpage: adapt to non dual-core stm32wl
2021-07-21 11:28:16 +02:00
Francisco Molina
8a8e023d04
cpu/stm32/wl: common subghz debug pin initialization
2021-07-21 11:28:15 +02:00
Francisco Molina
f2995240d4
cpu/stm32: handle parsing stm32wlex CPU_MODELs
2021-07-21 11:23:47 +02:00
benpicco
4f905bfa8c
Merge pull request #15493 from benpicco/riotboot-serial
...
riotboot: implement serial flasher
2021-07-21 11:01:31 +02:00
Benjamin Valentin
a93deb4e95
cpu/stm32: usbdev: fix pm_layered include
2021-07-20 22:51:59 +02:00
aidiaz
5b9d8bd6c8
Update rtc_all.c for CPU_FAM_STM32L5 support.
2021-07-19 10:49:38 -04:00
José Alamos
934c875aba
Merge pull request #16579 from akshaim/pr/wl55jc_lorawan_final
...
drivers/sx126x: Add support for Nucleo -WL55JC
2021-07-09 14:48:11 +02:00
Akshai M
f58a021f6d
cpu/stm32wl : Add HW Debug pins
2021-07-09 11:16:41 +02:00
Akshai M
a4bbf0cffc
cpu/stm32 : APB3 and VDDTCXO config
...
Add APB3 disable, Enable VDDTCXO for Radio
2021-07-09 11:16:41 +02:00
Akshai M
f68dab9ccb
cpu/stm32: add GPIO_AF_UNDEF
2021-07-09 11:16:41 +02:00
Jose Alamos
97f20198a0
stm32/eth: avoid explicit cast to netdev
2021-07-09 10:38:35 +02:00
Akshai M
d3aa6ca00b
stm32/periph/spi : Add check for GPIO_UNDEF
2021-07-08 13:38:07 +02:00
MrKevinWeiss
02a2de4916
cpu/stm32: Add Kconfig dependency modeling
2021-07-02 15:11:05 +02:00
Francisco
52f5746904
Merge pull request #16545 from aidiaz/periph_rtt_l5
...
cpu/stm32/periph/rtt_all: RTT peripheral support for CPU_FAM_STM32L5
2021-06-15 18:19:11 +02:00
aidiaz
fc1cd85c76
cpu/stm32/periph_rtt: RTT peripheral support for CPU_FAM_STM32L5
2021-06-15 09:49:55 -04:00
Rémy Grünblatt
deb8d34c43
cpu/stm32: Generate the irqs in a reproducible manner
2021-05-29 14:28:36 +02:00
Jean Pierre Dudey
5fd6daac3e
Merge pull request #16319 from jue89/fix/stm32-gpio_all-isr
...
cpu/stm32/gpio_all: fix IRQ handler for G0/L5/MP1 families
2021-05-23 21:40:02 +02:00
Francisco
967cbcd7e1
Merge pull request #16478 from jue89/fix/stm32-gpio_f1-isr
...
cpu/stm32/gpio_f1: fix IRQ handler
2021-05-19 08:55:04 +02:00
Hugues Larrive
1cf34afb76
cpu/stm32/periph/adc_f3.c: e-mail update
2021-05-15 05:53:45 +02:00
127d6853c7
cpu/stm32/gen_kconfig: use openpyxl package instead of xlrd
2021-05-01 11:31:56 +02:00
d39fd7c773
cpu/stm32/genkconfig: make copyright year configurable
2021-05-01 11:31:11 +02:00
benpicco
08f1f9768d
Merge pull request #16418 from fjmolinas/pr_stm32_spi_param_order
...
cpu/stm32/periph/spi: fix wrong parameter order
2021-04-30 14:37:17 +02:00
Benjamin Valentin
d47a880915
cpu: add periph_rtt_overflow feature
...
The RTT overflow callback is not available on all RTT implementations.
This means it is either a no-op or `rtt_set_overflow_cb()` is a no-op
or it will overwrite the alarm set with `rtt_set_alarm()`.
This adds a feature to indicate that proper overflow reporting is available.
2021-04-30 11:58:00 +02:00
Francisco Molina
fc9fc5c057
cpu/stm32/periph/spi: fix wrong parameter order
2021-04-30 09:17:38 +02:00
Benjamin Valentin
49585fc517
cpu/stm32: flashpage: use common helper functions
2021-04-27 16:52:37 +02:00
Akshai M
1f7a10305a
stm32/periph/flashpage: Reset cache
...
Co-authored-by: Francisco <femolina@uc.cl>
2021-04-20 21:04:36 +02:00
Akshai M
efb86039c6
cpu/stm32wl: Add RTT support
2021-04-20 21:04:36 +02:00
Akshai M
2cf081b509
cpu/stm32wl: Flashpage configuration
2021-04-20 21:04:36 +02:00
Akshai M
df1cae172c
stm32/irqs: Adapt generators to support WL
...
Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2021-04-20 21:04:36 +02:00
Akshai M
b816c67bdd
nucleo-wl55jc: Add Kconfig files
2021-04-20 21:04:35 +02:00
Akshai M
fd8ddd6161
boards: add nucleo-wl55jc
...
Co-authored-by: Kevin "Tristate Tom" Weiss <weiss.kevin604@gmail.com>
2021-04-20 21:04:29 +02:00
Akshai M
c485c774cf
cpu/stm32: add stm32wl
2021-04-20 20:57:48 +02:00
Jue
80360e5308
cpu/stm32/gpio_f1: fix IRQ handler
2021-04-12 18:45:04 +02:00
Jue
2f503f11fa
cpu/stm32/gpio_all: fix IRQ handler for G0/L5/MP1 families
2021-04-12 17:01:33 +02:00
Francisco
700046238f
Merge pull request #16261 from maribu/cpu/stm32/periph_eth
...
cpu/stm32/periph_eth: fix format specifier in DEBUG()
2021-04-07 09:32:09 +02:00
Francisco
e04dd4dcce
Merge pull request #16272 from jue89/fix/stm32_gpio_irq
...
cpu/stm32/gpio: fix IRQ handler
2021-04-02 13:07:39 +02:00
Jue
43f83a520b
cpu/stm32/gpio: fix IRQ handler
2021-04-01 19:31:27 +01:00
Marian Buschsieweke
164aa72250
cpu/stm32/periph_eth: fix format specifier in DEBUG()
...
Use PRIu32 instead of lu to make LLVM happy.
2021-03-31 10:11:46 +02:00
Karl Fessel
cf7078ab0a
stm32/ptp: avoid creating a new rounding rule
2021-03-29 16:27:27 +02:00
Marian Buschsieweke
28e6544748
Merge pull request #16236 from maribu/cpu/stm32/periph_eth
...
cpu/stm32/periph_eth: bugfix
2021-03-28 09:20:15 +02:00
Marian Buschsieweke
7b08b97eb6
cpu/stm32/periph_eth: bugfix & cleanup
...
Fix compilation with module `stm32_eth_link_up` when `stm32_eth_auto`
is not used by relying on the compiler to optimize unused functions
and variables out, rather than using the preprocessor.
2021-03-26 17:42:45 +01:00
Marian Buschsieweke
650559276f
cpu/stm32/periph_ptp: bugfix & better debug output
...
- Clear the PTP timer interrupt *after* the user callback is executed
- Otherwise it would be possible that the ISR sets another super
short timeout that triggers during ISR, which also gets cleared
- This is a pretty nasty race condition :-/
- The debug output was a bit too verbose to be generally useful. Some
noise is now silenced unless `DEBUG_VERBOSE` is `#define`d to 1
2021-03-23 22:58:10 +01:00
Benjamin Valentin
dde3ca5f46
cpu/stm32: candev: derive number of CAN interfaces from vendor header
...
We can deduce the number of available CAN interfaces from the vendor headers
so no need to hard-code this number for individual part numbers.
2021-03-09 11:30:21 +01:00
benpicco
b09f799038
Merge pull request #16161 from madokapeng/nucleo722ze_CAN_support
...
boards/nucleo-f722ze: Add periph_can
2021-03-08 19:22:38 +01:00
madokapeng
905723be59
sys/include/can: Add loopback operation mode
...
tests/candev: Add loopback mode for testing purpose
2021-03-08 12:13:15 -05: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
madokapeng
a38cd1477e
boards/nucleo-f722ze: Add periph_can support
...
cpu/stm32: Add CAN support for f722ze board
f722ze board has ONLY 1 CAN interface, fix compiling error which
treats f722xx has more than 1 CAN.
2021-03-05 23:22:44 -05:00
Marian Buschsieweke
b9cb75fedf
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-04 18:05:06 +01:00
Marian Buschsieweke
720b350f6f
cpu/stm32: fix periph_rtt
...
For some reason rtt_get_alarm was never implemented. This adds the
missing function.
2021-03-03 17:02:59 +01:00
Francisco
c91499997e
Merge pull request #16030 from benpicco/drivers/mtd_flashpage-fix_native
...
drivers/mtd_flashpage: fixes for native (and stm32l0, stm32l4)
2021-02-23 15:12:06 +01:00
benpicco
d014f5e6d0
Merge pull request #14911 from OTAkeys/pr/can_stm32_deepsleep_opt
...
stm32/can: add option to enable deep-sleep per device
2021-02-22 22:52:46 +01:00
Benjamin Valentin
2bdc5cf6d7
cpu/stm32: fix FLASHPAGE_ERASE_STATE for stm32l4
2021-02-18 14:22:11 +01:00
benpicco
77035d6df3
Merge pull request #15900 from benpicco/cpu/stm32f1-gpio_test_and_clear
...
cpu/stm32: GPIO/f1: use bitarithm_test_and_clear()
2021-02-17 15:32:39 +01:00
Marian Buschsieweke
dbd241ef26
cpu/stm32/periph_ptp: update to new API
2021-02-10 10:09:26 +01:00
Francisco Molina
85caf7cbc7
drivers/flashpage: add FLASHPAGE_ERASE_STATE definition
2021-02-09 11:11:46 +01:00
b666b78602
Merge pull request #15914 from fjmolinas/pr_stm32_flashpage_fix_per
...
cpu/stm32/flashpage: reset PER after erase
2021-02-03 10:21:04 +01:00
Francisco
3b2a55a923
Merge pull request #15865 from benpicco/pm_layered-default
...
cpu: make pm_layered a DEFAULT_MODULE
2021-02-03 08:17:29 +01:00
Vincent Dupont
2edf37ed5b
cpu/stm32/can: use en_deep_sleep_wake_up by default
...
Add en_deep_sleep_wake_up = true in default candev_conf in can_params.h
2021-02-02 15:39:27 +01:00
Vincent Dupont
eb0f6582c7
stm32/can: add option to enable deep-sleep per device
...
Deep-sleep was based on using rx pin as external interrupt to be able to
wake up from stop mode. If rx pin cannot be used as interrupt or user
does not need to wake up from stop from the CAN, an option is now
present. If en_deep_sleep_wake_up is set to false, setting the device to
sleep simply unblock stop mode. Otherwise the behavior is unchanged.
2021-02-02 15:32:25 +01:00
Francisco Molina
3d68406c5b
cpu/stm32/flashpage: reset PER after erase
2021-02-02 11:42:09 +01:00
benpicco
837b55fc17
Merge pull request #15420 from bergzand/pr/stm32f4/flashpage_support
...
stm32f{2,4,7}: Initial flashpage support
2021-02-01 19:23:51 +01:00
b6e80bf487
stm32f4: Initial flashpage support
2021-02-01 18:23:05 +01:00
benpicco
efd8afd3ab
Merge pull request #15899 from OTAkeys/pr/stm32-fix-exti
...
cpu/stm32/gpio: fix EXTI flag clearing
2021-02-01 18:22:25 +01:00
Benjamin Valentin
a5c222d830
cpu/stm32: GPIO/f1: use bitarithm_test_and_clear()
2021-02-01 13:47:41 +01:00
Vincent Dupont
3e8e109e8b
cpu/stm32/gpio: fix EXTI flag clearing
...
In case a non-gpio EXTI (>= 16) is pending, the isr_exti() used to clear
the flag and try to call a callback, which was out-of-bouds, thus
generating a hard fault.
This fixes it by masking the pending_isr variables with 0xFFFF.
2021-02-01 13:30:48 +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
Benjamin Valentin
f12a82e4f9
cpu/stm32: use common pm_off() function
...
The code is identical to the one found in sys/pm_layered/pm.c
2021-01-27 14:07:22 +01:00
Benjamin Valentin
9c1455d55f
cpu: make pm_layered a DEFAULT_MODULE
...
Allow to disable pm_layered in the bootloader to save some ROM.
2021-01-27 13:21:20 +01:00
Marian Buschsieweke
62aa3d103f
cpu/stm32/periph_eth: RX Timestamps
2021-01-26 10:44:04 +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
AravindKarri
63252d17c0
cpu/stm32/adc_f4: add support for stm32f7
2021-01-24 22:30:49 +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
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
b1f7fd3905
cpu/stm32: fix wrong max clock for stm32f423xx line
2021-01-21 18:31:15 +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
e1941d8976
cpu/stm32f2f4f7: expose clock settings in Kconfig
2021-01-19 22:09:16 +01:00
Francisco Molina
7c12ea7416
cpu/stm32/rtc: add unlock/lock to rtc_clear_alarm
2021-01-19 13:33:17 +01:00
Sebastiaan de Schaetzen
6e90111eb9
stm32/periph/uart: set flow control bits before enabling uart
2021-01-12 07:37:19 +01:00
b13598cdc4
cpu/stm32: fix ENABLE_DEBUG definition
2021-01-08 14:37:33 +01:00
d027454ad4
cpu/stm32/kconfig: use depends on instead of if
2021-01-07 16:07:04 +01:00
e8a5493080
cpu/stm32: model MCO in Kconfig for l4/wb
2021-01-07 16:02:30 +01:00
0e39c2ba17
cpu/stm32: model MCO in Kconfig for l0/l1
2021-01-07 16:02:29 +01:00
a9b154b4ac
cpu/stm32: model MCO in Kconfig for g0/g4
2021-01-07 16:02:29 +01:00
1f0e6c1057
cpu/stm32: model MCO in Kconfig for f0/f1/f3
2021-01-07 16:02:29 +01:00
5e719816d2
cpu/stm32/kconfigs: select cpu fam/lines without mco prescaler
2021-01-07 16:02:29 +01:00
048e8446ef
cpu/stm32f0: remove old clock configuration header
2020-12-17 08:38:40 +01:00
45c2b19f25
cpu/stm32: merge f0f1f3 clock configuration headers
2020-12-17 08:38:40 +01:00
8f6005b26e
boards: cpu: stm32f1: use .config for specific iotlab PLL_PREDIV
2020-12-08 18:02:57 +01:00
c68f63b318
cpu/stm32f1f3: handle custom pll prediv/mul at cpu level
2020-12-08 17:36:52 +01:00
0f23c875a2
cpu/stm32: adapt Kconfig clock configuration for f1/f3
2020-12-08 17:36:51 +01:00
benpicco
a80631a297
Merge pull request #15074 from maribu/ptp-clock
...
drivers/periph/ptp_clock
2020-12-03 09:59:07 +01:00
Marian Buschsieweke
ea3752db77
cpu/stm32: Added PTP clock implementation
2020-12-02 17:53:00 +01:00
b0b19203a7
Merge pull request #15190 from benpicco/boards/wefun-f401cc
...
boards/common/weact-f4x1cx: create common WeAct boards
2020-12-01 12:03:38 +01:00
Benjamin Valentin
0ed34cdb4d
cpu/stm32: periph_eth: drop addr from eth_conf_t
...
MAC address is now supplied by EUI provider, no need to hard-code
it for the board.
2020-11-29 23:11:14 +01:00