Karl Palsson
88f4d111ba
README: update toolchain recommendations
...
This hadn't been touched in a while, and we now need gcc6+
Fixes: https://github.com/libopencm3/libopencm3/issues/1459
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-01-24 21:25:40 +00:00
Karl Palsson
88e91c9a7c
stm32:rcc: update _get_clock (uart/i2c) to handle all cases
...
Adds handling for missing cases. While i2c only has 3 cases, uarts have
all 4, so make sure they're handled properly.
Removes duplicated/redundant definitions.
Adds doxygen wrappers, even if only for internal use.
Fixes: e41ac6ea71 stm32: added peripheral clock get helpers for all stm32
Signed-of-by: Karl Palsson <karlp@tweak.au >
2023-01-13 02:15:41 +00:00
Karl Palsson
df654d7f28
stm32: spi: drop spi_reset()
...
It's simply a wrapper around rcc_reset_pulse already.
Just drop it. See 034dbf20ff for the same deletion for timers.
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-01-13 02:15:41 +00:00
Karl Palsson
b3bdf025d7
stm32: i2c: drop i2c_reset()
...
It's simply a wrapper around rcc_reset_pulse already.
Just drop it. See 034dbf20ff for the same deletion for timers.
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-01-13 02:15:41 +00:00
Karl Palsson
2c180d8431
stm32g0: rcc: add missing periphs
...
A bunch of periphs on newer parts weren't defined. Add their
enable/reset bit definitions so they can be used.
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-01-13 02:15:41 +00:00
Karl Palsson
5796f41caa
[BREAKING] stm32g0: add/rename missing periphs/irqs
...
Updated to RM0444_rev5
Breaking: renames some irqs to be more specific and better match with
refman. We're still in the "between" tags, so break all the toys!
Signed-off-by: Karl Palsson <karlp@tweak.au >
2023-01-13 02:15:41 +00:00
Sebastien Lorquet
84a59d925d
devices.data: stm32h7: fix fpu and mem offsets
...
Filed via: https://github.com/libopencm3/libopencm3/pull/1451
We've decided that the 1 based numbering is saner, and should be the new
norm going forwards, even though SAM3 and LPC both use zero based
numbering.
Reviewed-by: Karl Palsson <karlp@tweak.au >
2023-01-05 12:13:53 +00:00
Karl Palsson
de96f0f4aa
stm32g0: adc: fix setting sampling time on all channels
...
Fixes: https://github.com/libopencm3/libopencm3/issues/1448
Signed-off-by: Karl Palsson <karlp@tweak.net.au >
2022-11-29 14:10:52 +00:00
Karl Palsson
7c09d0d14c
stm32f3: enable RTC
...
Fixes: https://github.com/libopencm3/libopencm3/issues/1446
Fixes: 18f4d7c1b7 stm32f3: rtc: include correct shared header
No testing on real hardware, but the docs imply that this should have
always had the "basic" rtc-v2 peripheral.
Signed-off-by: Karl Palsson <karlp@tweak.net.au >
2022-11-17 21:15:47 +00:00
Karl Palsson
e1ec3e4e18
stm32: rcc: clarify flash_prefetch_enable documentation
...
It's not globally enabled by default, and it has consumption impacts as
well. Reported on IRC.
2022-11-07 14:38:19 +00:00
Karl Palsson
0b414ff649
stm32g0: adc: only clear desired flags in ADC_ISR
...
Verified against RM0444rev5.
Fixes: https://github.com/libopencm3/libopencm3/issues/1443
Signed-off-by: Karl Palsson <karlp@tweak.net.au >
2022-10-27 21:56:50 +00:00
Karl Palsson
5db7e87e6e
doxygen: stm32:cordic: add a title
2022-10-27 21:37:00 +00:00
Oskar
d8d33ca36d
stm32: cordic: add new peripheral
...
Review-URL: https://github.com/libopencm3/libopencm3/pull/1418
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
Edits: removed non-existant u5 code, squished to a single commit,
whitespace cleanup.
2022-10-27 21:37:00 +00:00
Karl Palsson
5980c58f9b
stm32g4: syscfg: fix doxygen
...
Signed-off-by: Karl Palsson <karlp@tweak.net.au >
2022-09-19 12:59:05 +00:00
andrej
2f29614133
stm32: Support CRC, SYSCFG and USART on G4
2022-09-19 13:43:46 +02:00
neoxic
0a132c0f6c
stm32: dmamux: Fix tabs as tab size 8
2022-09-16 10:24:45 +00:00
neoxic
b37811915e
stm32:dmamux: fix individual DMAMUX register aliases DMAMUXn_*
...
Argument 'dmamux_base' is set by an alias and hence is always unused.
2022-09-15 21:36:38 -07:00
hepoun
c82c7406aa
stm32:dmamux: Fix request generator reset
...
There was reset of DMAMUX request multiplexer channel instead of the DMAMUX request generator channel.
2022-09-08 11:42:52 +00:00
Karl Palsson
44e142d4f9
cm3: scb: C11 keyword compliance
...
Avoid use of the gnu specific "asm" keyword, and use the __asm__
keyword, as used everywhere else in the library. This fixes compilation
in C11, and unifies all uses of asm literals in the codebase.
Reported-by: @dragonmux
Fixes: https://github.com/libopencm3/libopencm3/pull/1425
Signed-off-by: Karl Palsson <karlp@tweak.net.au >
2022-07-05 16:55:11 +00:00
Oskar
4675227783
stm32g4: rng: enable common code support
...
Also fixes an error in the memory map exposed by enabling this.
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
2022-06-03 21:02:19 +00:00
Oskar
1e71f18be2
stm32g4: i2c: enable common peripheral code.
2022-06-03 20:59:34 +00:00
Vlad Logyin
3122c0b33f
stm32l4: rcc: Implement PLL helper as seen in other MCU families
...
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
2022-06-03 20:53:15 +00:00
Stefan Tauner
757a0a14eb
doc: cm3: mpu: document defines of individual register fields
2022-06-03 20:34:59 +00:00
Karl Palsson
e9d87a9cb7
stm32: adc-v2-multi: fix JSQR
...
Fixes: https://github.com/libopencm3/libopencm3/issues/1412
Verified against RM0394 (L4), RM0440 (G4) and RM0316 (F3)
Signed-off-by: Karl Palsson <karlp@tweak.net.au >
2022-05-17 11:06:53 +00:00
Stéphane Chevigny
203202e939
Add nrf51822 device in devices.data
2022-05-04 18:56:40 -04:00
me@me.net
d8aa2f17b0
stm32: timer: Add API to set external clock mode 2
2022-04-27 13:11:58 +00:00
Karl Palsson
664701d7a7
gadget-zero: ti: use correct part name
...
Fixes build breakage from using legacy board name instead of part name.
2022-04-13 20:31:42 +00:00
Karl Palsson
9209bde784
devices.data: drop invalid TI board name part.
...
As pointed out, this is not an actual part number, but a board id.
2022-04-13 20:24:18 +00:00
Karl Palsson
c1e4107007
lm4f: fix more typos
2022-04-13 20:23:41 +00:00
Stefan Tauner
5bcf2a0c35
stm32l4: fix various problems with rcc_get* functions
...
- rcc_get_i2c_clk_freq: Add support by taking RCC_CCIPR2 into account for I2C4.
- rcc_get_timer_clk_freq: Add support for LP timers
- rcc_get_usart_clk_freq: Fix APB freq used for LPUART1 and UART1, respectively.
2022-04-13 20:22:47 +00:00
Stefan Tauner
a6927e410c
treewide: Fix some typos
2022-04-13 20:22:24 +00:00
Stefan Tauner
93e0ccaf26
devices.data: add TI Cortex M4 chips except MSP432
...
Based on the following chip selection guides:
- https://www.ti.com/lit/spmt285 (TM4C)
- https://www.ti.com/lit/spmt273 (LM4F)
2022-04-13 20:22:24 +00:00
Stefan Tauner
778318c307
ld: add symbols for starts and ends of all regions
...
This makes the boundaries accessible from within the code,
e.g., to set up the MPU.
2022-04-07 02:35:19 +02:00
Stefan Tauner
20c0cfb650
ld: fix typo in ram5 definition
2022-04-07 02:35:19 +02:00
Eduard Drusa
66bf499e1b
NRF5x: I2C EasyDMA support for NRF5x, extended API
...
This commit adds support for NRF52 TWI Master mode and slightly extends
existing I2C API. This is a breaking change, while mode selection needs to be
done during enabling I2C. There is one additional breaking change done because:
1) Unicore MX API design was PITA for writes
2) It is incompatible with EasyDMA
I strongly apologize to all two users who might be affected by this change.
2022-04-05 15:40:44 +00:00
Eduard Drusa
458766398f
NRF5x: Enable generation of Doxygen docs
...
Add NRF51 and NRF52 into list of targets Doxygen docs are generated for.
Fixes missing documentation.
2022-03-31 11:24:59 +02:00
Karl Palsson
c78007338e
stm32l: lptimer: stylecheck
2022-03-08 20:57:20 +00:00
Karl Palsson
bef7df02b0
stm32h7: rcc: stylecheck fixes
2022-03-08 20:57:20 +00:00
Karl Palsson
f92a52bef5
stm32g0: rcc: fix i2s1 clksel definition
...
Stylecheck uncovered a bad define.
2022-03-08 20:57:20 +00:00
Karl Palsson
c13ad2fce4
stm32g0:adc: stylecheck
2022-03-08 20:57:20 +00:00
Karl Palsson
bb31308bc7
stm32: hrtim: stylecheck cleanup
2022-03-08 20:57:20 +00:00
Karl Palsson
c08df942d7
msp432: replace spaces with tabs: stylecheck
2022-03-08 20:57:20 +00:00
Karl Palsson
b05865a854
pac55xx: fix stylecheck warning
2022-03-08 20:57:20 +00:00
Parth Panchal
192d7fec2e
stm32f1:gpio: Added missing definitions for usart1
...
Add missing explicit gpio definitions for remainder of usart1 signals.
Fixes: https://github.com/libopencm3/libopencm3/issues/1326
2022-03-08 20:18:54 +00:00
Marek Koza
bd4a970de9
stm32:fdcan: Fix FDCAN_FIFO_XTD bit position
2022-03-08 20:07:43 +00:00
Eduard Drusa
5c65f0f653
STM32H7: Add support for RAM4 & RAM5, cleanup
...
* added: Linker script adds support for RAM4 and RAM5 memory regions, so
that those are usable by code. This also fixes the fact that RAM4 was
declared, but inaccessible previously
* changed: RAM1 is renamed to RAM2, shifting numbering of all regions.
This is done in order to be in line with other STM32 definitions,
similarly ROM1 became ROM2.
2022-03-03 09:45:03 +00:00
Eduard Drusa
af3b62cc18
STM32H7: Fix FP spec
...
* fixed: Use correct FP spec for H7
2022-03-03 09:45:03 +00:00
Eduard Drusa
96ae7ff38a
STM32H7: Add linker support for STM32H7[2345] families
...
* added: device data for STM32H7[2345] MCUs. CPU spec prefers presence of
Cortex-M7 core, where Cortex-M7 and Cortex-M4 are both present
2022-03-03 09:45:03 +00:00
Keenan Tims
9a5a6a2bfd
LM4F: Make SYSCTL enum definitions C++ compliant
...
Refactor definitions to remove pointer-to-int casts
2022-03-03 09:18:27 +00:00
Evgenii Iarkov
72d4064744
stm32/g0: rcc: Correct RCC_CCIPR_TIM1SEL_SHIFT value (20 -> 22)
...
Reviewed-by: Karl Palsson <karlp@tweak.net.au >
2022-02-02 12:47:18 +00:00