Commit Graph

24 Commits

Author SHA1 Message Date
Ulf Lilleengen
95532726b2 Add minimal RCC impls for L4 and F4 2021-06-14 11:33:11 +02:00
Ulf Lilleengen
952f525af5 Provide a way for a peripheral to query its clock frequency
Currently this looks up the frequency in the global singleton that must
be initialized by the per-chip RCC implementation. At present, this is
only done for the L0 family of chips.
2021-06-14 11:33:11 +02:00
Ulf Lilleengen
6c7fd3e3c4 Refactor 2021-06-11 16:21:51 +02:00
Ulf Lilleengen
8dd3ddd228 Special handling for timers instead 2021-06-10 09:52:57 +02:00
Ulf Lilleengen
0a9022d59f Enable timer clock in RCC on timer start
* Moves the tim2-specific code into macro which always uses TIM2
* For peripherals without clock specified, attempt to locate enable and
  reset registers in the RCC block matching the peripheral name. This
  could be useful for peripherals where deducing the clock name might
  not be feasible, but it remains to be tested with more chip families
  to see if it is sufficiently accurate.
2021-06-10 09:37:30 +02:00
Dario Nieuwenhuis
5b8ac447f2 stm32-metapac: add new codegen, allows pregenerating the entire pac 2021-06-10 02:33:38 +02:00
Ulf Lilleengen
9a2adec584 Make RCC lookup optional 2021-06-09 19:33:29 +02:00
Ulf Lilleengen
a92d6a372b Cleanup and fix l4s 2021-06-09 13:50:04 +02:00
Ulf Lilleengen
bd759510ba Generate clock peripherals for all peripherals with register block
Infers clock for a peripheral using the selected clock as a prefix, in
order to work with split registers
2021-06-09 13:40:34 +02:00
Ulf Lilleengen
f7394e56ef Handle other L4 variants 2021-06-08 17:37:41 +02:00
Ulf Lilleengen
459049d604 Workaround for L4 2021-06-08 17:20:29 +02:00
Ulf Lilleengen
ee47a3e802 Add workaround for STM32H7 2021-06-08 17:20:29 +02:00
Ulf Lilleengen
ee3b82b743 Auto generate SPI v2 clock enable
Adds RccPeripheral trait for peripherals implementing clock enable and reset for a given peripheral.

Add macro table generting implementations of RccPeripheral for peripherals with clock set, currently restricted to SPI.
2021-06-08 17:20:29 +02:00
Dario Nieuwenhuis
b65c3c7160 stm32-metapac: Do not generate cfgs metadata 2021-06-07 05:13:30 +02:00
Dario Nieuwenhuis
3be49d3e79 fmt: Add dunmy use to avoid "unused variable" errors when no log is enabled. 2021-06-07 03:21:37 +02:00
Bob McWhirter
d75bf143eb Remove the exti_interrupts table. 2021-06-03 14:18:58 -04:00
Bob McWhirter
fe47f781be Migrate exti_irq stuff to macro tables. 2021-06-03 13:35:27 -04:00
Bob McWhirter
6958091b50 Move DAC, I2C, SPI and RNG to macro-tables. 2021-06-03 13:12:38 -04:00
Bob McWhirter
d4d914ea50 Remove the Option around the pins Vec. 2021-06-03 13:12:38 -04:00
Bob McWhirter
be180c1c52 Create the new peripheral_pins! macro table. 2021-06-03 13:12:38 -04:00
Dario Nieuwenhuis
2aa836b068 Fix L4+ family cfg 2021-06-01 15:57:25 +02:00
Dario Nieuwenhuis
1f2097ab11 cortex-m-rt is not a build dep 2021-06-01 15:53:44 +02:00
Dario Nieuwenhuis
60f12c78dd Add resolver=2 2021-05-31 02:43:59 +02:00
Dario Nieuwenhuis
d8e4421fc6 Add stm32-metapac crate, with codegen in rust 2021-05-31 02:40:58 +02:00