aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob McWhirter <[email protected]>2021-05-10 15:21:57 -0400
committerBob McWhirter <[email protected]>2021-05-10 15:33:37 -0400
commit0470abb3530785c802fb81d0e16fae518766eac6 (patch)
tree83f43265b0670fc9dd028bc00891509cc11b50a6
parentc4294d97ff137cb98e4bb3efc8be1c18919bfbc6 (diff)
Checkpoint.
-rw-r--r--embassy-stm32/Cargo.toml160
-rw-r--r--embassy-stm32/gen.py3
-rw-r--r--embassy-stm32/src/lib.rs2
-rw-r--r--embassy-stm32/src/pac/stm32f429zi.rs32
-rw-r--r--embassy-stm32/src/pac/stm32l431cb.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l431cc.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l431kb.rs7
-rw-r--r--embassy-stm32/src/pac/stm32l431kc.rs7
-rw-r--r--embassy-stm32/src/pac/stm32l431rb.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l431rc.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l431vc.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l432kb.rs8
-rw-r--r--embassy-stm32/src/pac/stm32l432kc.rs8
-rw-r--r--embassy-stm32/src/pac/stm32l433cb.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l433cc.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l433rb.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l433rc.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l433vc.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l442kc.rs8
-rw-r--r--embassy-stm32/src/pac/stm32l443cc.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l443rc.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l443vc.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496ae.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496ag.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496qe.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496qg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496re.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496rg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496ve.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496vg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496wg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496ze.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l496zg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4a6ag.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4a6qg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4a6rg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4a6vg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4a6zg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5ae.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5ag.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5ce.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5cg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5qe.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5qg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5re.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5rg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5ve.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5vg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5ze.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4p5zg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4q5ag.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4q5cg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4q5qg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4q5rg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4q5vg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4q5zg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r5ag.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r5ai.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r5qg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r5qi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r5vg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r5vi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r5zg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r5zi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r7ai.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r7vi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r7zi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r9ag.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r9ai.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r9vg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r9vi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r9zg.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4r9zi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4s5ai.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4s5qi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4s5vi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4s5zi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4s7ai.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4s7vi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4s7zi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4s9ai.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4s9vi.rs9
-rw-r--r--embassy-stm32/src/pac/stm32l4s9zi.rs9
-rw-r--r--embassy-stm32/src/spi.rs62
84 files changed, 789 insertions, 174 deletions
diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml
index 7d4bee298..cd940c589 100644
--- a/embassy-stm32/Cargo.toml
+++ b/embassy-stm32/Cargo.toml
@@ -189,24 +189,24 @@ stm32l422cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_r
189stm32l422kb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 189stm32l422kb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
190stm32l422rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 190stm32l422rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
191stm32l422tb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 191stm32l422tb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
192stm32l431cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 192stm32l431cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
193stm32l431cc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 193stm32l431cc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
194stm32l431kb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 194stm32l431kb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
195stm32l431kc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 195stm32l431kc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
196stm32l431rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 196stm32l431rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
197stm32l431rc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 197stm32l431rc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
198stm32l431vc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 198stm32l431vc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
199stm32l432kb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 199stm32l432kb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
200stm32l432kc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 200stm32l432kc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
201stm32l433cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 201stm32l433cb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
202stm32l433cc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 202stm32l433cc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
203stm32l433rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 203stm32l433rb = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
204stm32l433rc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 204stm32l433rc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
205stm32l433vc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 205stm32l433vc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
206stm32l442kc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 206stm32l442kc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
207stm32l443cc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 207stm32l443cc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
208stm32l443rc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 208stm32l443rc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
209stm32l443vc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 209stm32l443vc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
210stm32l451cc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 210stm32l451cc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
211stm32l451ce = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 211stm32l451ce = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
212stm32l451rc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 212stm32l451rc = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
@@ -257,67 +257,67 @@ stm32l486qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_r
257stm32l486rg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 257stm32l486rg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
258stm32l486vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 258stm32l486vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
259stm32l486zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 259stm32l486zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
260stm32l496ae = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 260stm32l496ae = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
261stm32l496ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 261stm32l496ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
262stm32l496qe = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 262stm32l496qe = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
263stm32l496qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 263stm32l496qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
264stm32l496re = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 264stm32l496re = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
265stm32l496rg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 265stm32l496rg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
266stm32l496ve = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 266stm32l496ve = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
267stm32l496vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 267stm32l496vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
268stm32l496wg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 268stm32l496wg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
269stm32l496ze = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 269stm32l496ze = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
270stm32l496zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 270stm32l496zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
271stm32l4a6ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 271stm32l4a6ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
272stm32l4a6qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 272stm32l4a6qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
273stm32l4a6rg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 273stm32l4a6rg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
274stm32l4a6vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 274stm32l4a6vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
275stm32l4a6zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",] 275stm32l4a6zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4", "_syscfg", "_syscfg_l4", "_usart", "_usart_v2",]
276stm32l4p5ae = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 276stm32l4p5ae = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
277stm32l4p5ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 277stm32l4p5ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
278stm32l4p5ce = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 278stm32l4p5ce = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
279stm32l4p5cg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 279stm32l4p5cg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
280stm32l4p5qe = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 280stm32l4p5qe = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
281stm32l4p5qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 281stm32l4p5qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
282stm32l4p5re = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 282stm32l4p5re = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
283stm32l4p5rg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 283stm32l4p5rg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
284stm32l4p5ve = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 284stm32l4p5ve = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
285stm32l4p5vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 285stm32l4p5vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
286stm32l4p5ze = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 286stm32l4p5ze = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
287stm32l4p5zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 287stm32l4p5zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
288stm32l4q5ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 288stm32l4q5ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
289stm32l4q5cg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 289stm32l4q5cg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
290stm32l4q5qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 290stm32l4q5qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
291stm32l4q5rg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 291stm32l4q5rg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
292stm32l4q5vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 292stm32l4q5vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
293stm32l4q5zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 293stm32l4q5zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
294stm32l4r5ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 294stm32l4r5ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
295stm32l4r5ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 295stm32l4r5ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
296stm32l4r5qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 296stm32l4r5qg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
297stm32l4r5qi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 297stm32l4r5qi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
298stm32l4r5vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 298stm32l4r5vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
299stm32l4r5vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 299stm32l4r5vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
300stm32l4r5zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 300stm32l4r5zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
301stm32l4r5zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 301stm32l4r5zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
302stm32l4r7ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 302stm32l4r7ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
303stm32l4r7vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 303stm32l4r7vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
304stm32l4r7zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 304stm32l4r7zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
305stm32l4r9ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 305stm32l4r9ag = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
306stm32l4r9ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 306stm32l4r9ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
307stm32l4r9vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 307stm32l4r9vg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
308stm32l4r9vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 308stm32l4r9vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
309stm32l4r9zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 309stm32l4r9zg = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
310stm32l4r9zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 310stm32l4r9zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
311stm32l4s5ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 311stm32l4s5ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
312stm32l4s5qi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 312stm32l4s5qi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
313stm32l4s5vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 313stm32l4s5vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
314stm32l4s5zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 314stm32l4s5zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
315stm32l4s7ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 315stm32l4s7ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
316stm32l4s7vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 316stm32l4s7vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
317stm32l4s7zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 317stm32l4s7zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
318stm32l4s9ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 318stm32l4s9ai = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
319stm32l4s9vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 319stm32l4s9vi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
320stm32l4s9zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_stm32l4p", "_syscfg", "_syscfg_l4",] 320stm32l4s9zi = [ "_dma", "_dma_v1", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_rng", "_rng_v1", "_spi", "_spi_v2", "_stm32l4p", "_syscfg", "_syscfg_l4",]
321_dma = [] 321_dma = []
322_dma_v1 = [] 322_dma_v1 = []
323_dma_v2 = [] 323_dma_v2 = []
@@ -327,6 +327,8 @@ _gpio = []
327_gpio_v2 = [] 327_gpio_v2 = []
328_rng = [ "rand_core",] 328_rng = [ "rand_core",]
329_rng_v1 = [] 329_rng_v1 = []
330_spi = []
331_spi_v2 = []
330_stm32f4 = [] 332_stm32f4 = []
331_stm32l4 = [] 333_stm32l4 = []
332_stm32l4p = [] 334_stm32l4p = []
diff --git a/embassy-stm32/gen.py b/embassy-stm32/gen.py
index ce4bdc1df..c04de7d46 100644
--- a/embassy-stm32/gen.py
+++ b/embassy-stm32/gen.py
@@ -115,6 +115,9 @@ for chip in chips.values():
115 if block_mod == 'rng': 115 if block_mod == 'rng':
116 f.write(f'impl_rng!({name});') 116 f.write(f'impl_rng!({name});')
117 117
118 if block_mod == 'spi':
119 f.write(f'impl_spi!({name});')
120
118 if block_mod == 'gpio': 121 if block_mod == 'gpio':
119 custom_singletons = True 122 custom_singletons = True
120 port = name[4:] 123 port = name[4:]
diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs
index 3ec6013a5..6f300263e 100644
--- a/embassy-stm32/src/lib.rs
+++ b/embassy-stm32/src/lib.rs
@@ -17,11 +17,13 @@ pub mod exti;
17pub mod gpio; 17pub mod gpio;
18#[cfg(feature = "_rng")] 18#[cfg(feature = "_rng")]
19pub mod rng; 19pub mod rng;
20pub mod spi;
20#[cfg(feature = "_usart")] 21#[cfg(feature = "_usart")]
21pub mod usart; 22pub mod usart;
22 23
23// This must go LAST so that it sees the `impl_foo!` macros 24// This must go LAST so that it sees the `impl_foo!` macros
24mod pac; 25mod pac;
26
25pub use embassy_macros::interrupt; 27pub use embassy_macros::interrupt;
26pub use pac::{interrupt, peripherals, Peripherals}; 28pub use pac::{interrupt, peripherals, Peripherals};
27 29
diff --git a/embassy-stm32/src/pac/stm32f429zi.rs b/embassy-stm32/src/pac/stm32f429zi.rs
index a1a3ab422..b76378e03 100644
--- a/embassy-stm32/src/pac/stm32f429zi.rs
+++ b/embassy-stm32/src/pac/stm32f429zi.rs
@@ -6,23 +6,23 @@ pub fn GPIO(n: usize) -> gpio::Gpio {
6 gpio::Gpio((0x40020000 + 0x400 * n) as _) 6 gpio::Gpio((0x40020000 + 0x400 * n) as _)
7} 7}
8pub const DMA1: dma::Dma = dma::Dma(0x40026000 as _); 8pub const DMA1: dma::Dma = dma::Dma(0x40026000 as _);
9impl_dma_channel!(DMA1_CH0, DMA1, 0); 9impl_dma_channel!(DMA1_CH0, 1, 0);
10impl_dma_channel!(DMA1_CH1, DMA1, 1); 10impl_dma_channel!(DMA1_CH1, 1, 1);
11impl_dma_channel!(DMA1_CH2, DMA1, 2); 11impl_dma_channel!(DMA1_CH2, 1, 2);
12impl_dma_channel!(DMA1_CH3, DMA1, 3); 12impl_dma_channel!(DMA1_CH3, 1, 3);
13impl_dma_channel!(DMA1_CH4, DMA1, 4); 13impl_dma_channel!(DMA1_CH4, 1, 4);
14impl_dma_channel!(DMA1_CH5, DMA1, 5); 14impl_dma_channel!(DMA1_CH5, 1, 5);
15impl_dma_channel!(DMA1_CH6, DMA1, 6); 15impl_dma_channel!(DMA1_CH6, 1, 6);
16impl_dma_channel!(DMA1_CH7, DMA1, 7); 16impl_dma_channel!(DMA1_CH7, 1, 7);
17pub const DMA2: dma::Dma = dma::Dma(0x40026400 as _); 17pub const DMA2: dma::Dma = dma::Dma(0x40026400 as _);
18impl_dma_channel!(DMA2_CH0, DMA2, 0); 18impl_dma_channel!(DMA2_CH0, 2, 0);
19impl_dma_channel!(DMA2_CH1, DMA2, 1); 19impl_dma_channel!(DMA2_CH1, 2, 1);
20impl_dma_channel!(DMA2_CH2, DMA2, 2); 20impl_dma_channel!(DMA2_CH2, 2, 2);
21impl_dma_channel!(DMA2_CH3, DMA2, 3); 21impl_dma_channel!(DMA2_CH3, 2, 3);
22impl_dma_channel!(DMA2_CH4, DMA2, 4); 22impl_dma_channel!(DMA2_CH4, 2, 4);
23impl_dma_channel!(DMA2_CH5, DMA2, 5); 23impl_dma_channel!(DMA2_CH5, 2, 5);
24impl_dma_channel!(DMA2_CH6, DMA2, 6); 24impl_dma_channel!(DMA2_CH6, 2, 6);
25impl_dma_channel!(DMA2_CH7, DMA2, 7); 25impl_dma_channel!(DMA2_CH7, 2, 7);
26pub const EXTI: exti::Exti = exti::Exti(0x40013c00 as _); 26pub const EXTI: exti::Exti = exti::Exti(0x40013c00 as _);
27pub const GPIOA: gpio::Gpio = gpio::Gpio(0x40020000 as _); 27pub const GPIOA: gpio::Gpio = gpio::Gpio(0x40020000 as _);
28impl_gpio_pin!(PA0, 0, 0, EXTI0); 28impl_gpio_pin!(PA0, 0, 0, EXTI0);
diff --git a/embassy-stm32/src/pac/stm32l431cb.rs b/embassy-stm32/src/pac/stm32l431cb.rs
index cab88d7ae..4201a5308 100644
--- a/embassy-stm32/src/pac/stm32l431cb.rs
+++ b/embassy-stm32/src/pac/stm32l431cb.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l431cc.rs b/embassy-stm32/src/pac/stm32l431cc.rs
index cab88d7ae..4201a5308 100644
--- a/embassy-stm32/src/pac/stm32l431cc.rs
+++ b/embassy-stm32/src/pac/stm32l431cc.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l431kb.rs b/embassy-stm32/src/pac/stm32l431kb.rs
index cb3c2eb5e..088aa0640 100644
--- a/embassy-stm32/src/pac/stm32l431kb.rs
+++ b/embassy-stm32/src/pac/stm32l431kb.rs
@@ -128,6 +128,10 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
134impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 135pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 136pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 137impl_usart!(USART1);
@@ -158,6 +162,7 @@ pub use regs::dma_v1 as dma;
158pub use regs::exti_v1 as exti; 162pub use regs::exti_v1 as exti;
159pub use regs::gpio_v2 as gpio; 163pub use regs::gpio_v2 as gpio;
160pub use regs::rng_v1 as rng; 164pub use regs::rng_v1 as rng;
165pub use regs::spi_v2 as spi;
161pub use regs::syscfg_l4 as syscfg; 166pub use regs::syscfg_l4 as syscfg;
162pub use regs::usart_v2 as usart; 167pub use regs::usart_v2 as usart;
163mod regs; 168mod regs;
@@ -172,7 +177,7 @@ peripherals!(
172 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 177 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
173 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 178 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
174 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 179 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
175 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2 180 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI3, SYSCFG, USART1, USART2
176); 181);
177 182
178pub mod interrupt { 183pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l431kc.rs b/embassy-stm32/src/pac/stm32l431kc.rs
index cb3c2eb5e..088aa0640 100644
--- a/embassy-stm32/src/pac/stm32l431kc.rs
+++ b/embassy-stm32/src/pac/stm32l431kc.rs
@@ -128,6 +128,10 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
134impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 135pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 136pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 137impl_usart!(USART1);
@@ -158,6 +162,7 @@ pub use regs::dma_v1 as dma;
158pub use regs::exti_v1 as exti; 162pub use regs::exti_v1 as exti;
159pub use regs::gpio_v2 as gpio; 163pub use regs::gpio_v2 as gpio;
160pub use regs::rng_v1 as rng; 164pub use regs::rng_v1 as rng;
165pub use regs::spi_v2 as spi;
161pub use regs::syscfg_l4 as syscfg; 166pub use regs::syscfg_l4 as syscfg;
162pub use regs::usart_v2 as usart; 167pub use regs::usart_v2 as usart;
163mod regs; 168mod regs;
@@ -172,7 +177,7 @@ peripherals!(
172 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 177 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
173 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 178 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
174 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 179 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
175 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2 180 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI3, SYSCFG, USART1, USART2
176); 181);
177 182
178pub mod interrupt { 183pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l431rb.rs b/embassy-stm32/src/pac/stm32l431rb.rs
index cab88d7ae..4201a5308 100644
--- a/embassy-stm32/src/pac/stm32l431rb.rs
+++ b/embassy-stm32/src/pac/stm32l431rb.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l431rc.rs b/embassy-stm32/src/pac/stm32l431rc.rs
index cab88d7ae..4201a5308 100644
--- a/embassy-stm32/src/pac/stm32l431rc.rs
+++ b/embassy-stm32/src/pac/stm32l431rc.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l431vc.rs b/embassy-stm32/src/pac/stm32l431vc.rs
index cab88d7ae..4201a5308 100644
--- a/embassy-stm32/src/pac/stm32l431vc.rs
+++ b/embassy-stm32/src/pac/stm32l431vc.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l432kb.rs b/embassy-stm32/src/pac/stm32l432kb.rs
index 78ef53b1f..a9dd16c94 100644
--- a/embassy-stm32/src/pac/stm32l432kb.rs
+++ b/embassy-stm32/src/pac/stm32l432kb.rs
@@ -94,6 +94,10 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
94impl_gpio_pin!(PH15, 7, 15, EXTI15); 94impl_gpio_pin!(PH15, 7, 15, EXTI15);
95pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 95pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
96impl_rng!(RNG); 96impl_rng!(RNG);
97pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
98impl_spi!(SPI1);
99pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
100impl_spi!(SPI3);
97pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 101pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
98pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 102pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
99impl_usart!(USART1); 103impl_usart!(USART1);
@@ -119,6 +123,7 @@ pub use regs::dma_v1 as dma;
119pub use regs::exti_v1 as exti; 123pub use regs::exti_v1 as exti;
120pub use regs::gpio_v2 as gpio; 124pub use regs::gpio_v2 as gpio;
121pub use regs::rng_v1 as rng; 125pub use regs::rng_v1 as rng;
126pub use regs::spi_v2 as spi;
122pub use regs::syscfg_l4 as syscfg; 127pub use regs::syscfg_l4 as syscfg;
123pub use regs::usart_v2 as usart; 128pub use regs::usart_v2 as usart;
124mod regs; 129mod regs;
@@ -131,7 +136,8 @@ peripherals!(
131 PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15, PB0, PB1, 136 PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15, PB0, PB1,
132 PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15, PC0, PC1, PC2, PC3, 137 PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15, PC0, PC1, PC2, PC3,
133 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PH0, PH1, PH2, PH3, PH4, PH5, 138 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PH0, PH1, PH2, PH3, PH4, PH5,
134 PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2 139 PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI3, SYSCFG, USART1,
140 USART2
135); 141);
136 142
137pub mod interrupt { 143pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l432kc.rs b/embassy-stm32/src/pac/stm32l432kc.rs
index 78ef53b1f..a9dd16c94 100644
--- a/embassy-stm32/src/pac/stm32l432kc.rs
+++ b/embassy-stm32/src/pac/stm32l432kc.rs
@@ -94,6 +94,10 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
94impl_gpio_pin!(PH15, 7, 15, EXTI15); 94impl_gpio_pin!(PH15, 7, 15, EXTI15);
95pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 95pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
96impl_rng!(RNG); 96impl_rng!(RNG);
97pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
98impl_spi!(SPI1);
99pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
100impl_spi!(SPI3);
97pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 101pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
98pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 102pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
99impl_usart!(USART1); 103impl_usart!(USART1);
@@ -119,6 +123,7 @@ pub use regs::dma_v1 as dma;
119pub use regs::exti_v1 as exti; 123pub use regs::exti_v1 as exti;
120pub use regs::gpio_v2 as gpio; 124pub use regs::gpio_v2 as gpio;
121pub use regs::rng_v1 as rng; 125pub use regs::rng_v1 as rng;
126pub use regs::spi_v2 as spi;
122pub use regs::syscfg_l4 as syscfg; 127pub use regs::syscfg_l4 as syscfg;
123pub use regs::usart_v2 as usart; 128pub use regs::usart_v2 as usart;
124mod regs; 129mod regs;
@@ -131,7 +136,8 @@ peripherals!(
131 PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15, PB0, PB1, 136 PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15, PB0, PB1,
132 PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15, PC0, PC1, PC2, PC3, 137 PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15, PC0, PC1, PC2, PC3,
133 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PH0, PH1, PH2, PH3, PH4, PH5, 138 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PH0, PH1, PH2, PH3, PH4, PH5,
134 PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2 139 PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI3, SYSCFG, USART1,
140 USART2
135); 141);
136 142
137pub mod interrupt { 143pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l433cb.rs b/embassy-stm32/src/pac/stm32l433cb.rs
index 2736824db..3d3c1e40f 100644
--- a/embassy-stm32/src/pac/stm32l433cb.rs
+++ b/embassy-stm32/src/pac/stm32l433cb.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l433cc.rs b/embassy-stm32/src/pac/stm32l433cc.rs
index 2736824db..3d3c1e40f 100644
--- a/embassy-stm32/src/pac/stm32l433cc.rs
+++ b/embassy-stm32/src/pac/stm32l433cc.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l433rb.rs b/embassy-stm32/src/pac/stm32l433rb.rs
index 2736824db..3d3c1e40f 100644
--- a/embassy-stm32/src/pac/stm32l433rb.rs
+++ b/embassy-stm32/src/pac/stm32l433rb.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l433rc.rs b/embassy-stm32/src/pac/stm32l433rc.rs
index 2736824db..3d3c1e40f 100644
--- a/embassy-stm32/src/pac/stm32l433rc.rs
+++ b/embassy-stm32/src/pac/stm32l433rc.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l433vc.rs b/embassy-stm32/src/pac/stm32l433vc.rs
index 2736824db..3d3c1e40f 100644
--- a/embassy-stm32/src/pac/stm32l433vc.rs
+++ b/embassy-stm32/src/pac/stm32l433vc.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l442kc.rs b/embassy-stm32/src/pac/stm32l442kc.rs
index 2bcd51e9f..b193e51e1 100644
--- a/embassy-stm32/src/pac/stm32l442kc.rs
+++ b/embassy-stm32/src/pac/stm32l442kc.rs
@@ -94,6 +94,10 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
94impl_gpio_pin!(PH15, 7, 15, EXTI15); 94impl_gpio_pin!(PH15, 7, 15, EXTI15);
95pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 95pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
96impl_rng!(RNG); 96impl_rng!(RNG);
97pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
98impl_spi!(SPI1);
99pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
100impl_spi!(SPI3);
97pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 101pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
98pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 102pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
99impl_usart!(USART1); 103impl_usart!(USART1);
@@ -119,6 +123,7 @@ pub use regs::dma_v1 as dma;
119pub use regs::exti_v1 as exti; 123pub use regs::exti_v1 as exti;
120pub use regs::gpio_v2 as gpio; 124pub use regs::gpio_v2 as gpio;
121pub use regs::rng_v1 as rng; 125pub use regs::rng_v1 as rng;
126pub use regs::spi_v2 as spi;
122pub use regs::syscfg_l4 as syscfg; 127pub use regs::syscfg_l4 as syscfg;
123pub use regs::usart_v2 as usart; 128pub use regs::usart_v2 as usart;
124mod regs; 129mod regs;
@@ -131,7 +136,8 @@ peripherals!(
131 PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15, PB0, PB1, 136 PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15, PB0, PB1,
132 PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15, PC0, PC1, PC2, PC3, 137 PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15, PC0, PC1, PC2, PC3,
133 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PH0, PH1, PH2, PH3, PH4, PH5, 138 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PH0, PH1, PH2, PH3, PH4, PH5,
134 PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2 139 PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI3, SYSCFG, USART1,
140 USART2
135); 141);
136 142
137pub mod interrupt { 143pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l443cc.rs b/embassy-stm32/src/pac/stm32l443cc.rs
index 93f7c8bfa..ed14584f6 100644
--- a/embassy-stm32/src/pac/stm32l443cc.rs
+++ b/embassy-stm32/src/pac/stm32l443cc.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l443rc.rs b/embassy-stm32/src/pac/stm32l443rc.rs
index 93f7c8bfa..ed14584f6 100644
--- a/embassy-stm32/src/pac/stm32l443rc.rs
+++ b/embassy-stm32/src/pac/stm32l443rc.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l443vc.rs b/embassy-stm32/src/pac/stm32l443vc.rs
index 93f7c8bfa..ed14584f6 100644
--- a/embassy-stm32/src/pac/stm32l443vc.rs
+++ b/embassy-stm32/src/pac/stm32l443vc.rs
@@ -128,6 +128,12 @@ impl_gpio_pin!(PH14, 7, 14, EXTI14);
128impl_gpio_pin!(PH15, 7, 15, EXTI15); 128impl_gpio_pin!(PH15, 7, 15, EXTI15);
129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 129pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
130impl_rng!(RNG); 130impl_rng!(RNG);
131pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
132impl_spi!(SPI1);
133pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
134impl_spi!(SPI2);
135pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
136impl_spi!(SPI3);
131pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 137pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
132pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 138pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
133impl_usart!(USART1); 139impl_usart!(USART1);
@@ -180,6 +186,7 @@ pub use regs::dma_v1 as dma;
180pub use regs::exti_v1 as exti; 186pub use regs::exti_v1 as exti;
181pub use regs::gpio_v2 as gpio; 187pub use regs::gpio_v2 as gpio;
182pub use regs::rng_v1 as rng; 188pub use regs::rng_v1 as rng;
189pub use regs::spi_v2 as spi;
183pub use regs::syscfg_l4 as syscfg; 190pub use regs::syscfg_l4 as syscfg;
184pub use regs::usart_v2 as usart; 191pub use regs::usart_v2 as usart;
185mod regs; 192mod regs;
@@ -194,7 +201,7 @@ peripherals!(
194 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5, 201 PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
195 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, 202 PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
196 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, 203 PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
197 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SYSCFG, USART1, USART2, USART3 204 PH10, PH11, PH12, PH13, PH14, PH15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
198); 205);
199 206
200pub mod interrupt { 207pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496ae.rs b/embassy-stm32/src/pac/stm32l496ae.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496ae.rs
+++ b/embassy-stm32/src/pac/stm32l496ae.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496ag.rs b/embassy-stm32/src/pac/stm32l496ag.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496ag.rs
+++ b/embassy-stm32/src/pac/stm32l496ag.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496qe.rs b/embassy-stm32/src/pac/stm32l496qe.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496qe.rs
+++ b/embassy-stm32/src/pac/stm32l496qe.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496qg.rs b/embassy-stm32/src/pac/stm32l496qg.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496qg.rs
+++ b/embassy-stm32/src/pac/stm32l496qg.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496re.rs b/embassy-stm32/src/pac/stm32l496re.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496re.rs
+++ b/embassy-stm32/src/pac/stm32l496re.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496rg.rs b/embassy-stm32/src/pac/stm32l496rg.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496rg.rs
+++ b/embassy-stm32/src/pac/stm32l496rg.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496ve.rs b/embassy-stm32/src/pac/stm32l496ve.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496ve.rs
+++ b/embassy-stm32/src/pac/stm32l496ve.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496vg.rs b/embassy-stm32/src/pac/stm32l496vg.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496vg.rs
+++ b/embassy-stm32/src/pac/stm32l496vg.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496wg.rs b/embassy-stm32/src/pac/stm32l496wg.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496wg.rs
+++ b/embassy-stm32/src/pac/stm32l496wg.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496ze.rs b/embassy-stm32/src/pac/stm32l496ze.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496ze.rs
+++ b/embassy-stm32/src/pac/stm32l496ze.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l496zg.rs b/embassy-stm32/src/pac/stm32l496zg.rs
index 336533a16..3f97aeec1 100644
--- a/embassy-stm32/src/pac/stm32l496zg.rs
+++ b/embassy-stm32/src/pac/stm32l496zg.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4a6ag.rs b/embassy-stm32/src/pac/stm32l4a6ag.rs
index 2bc671656..2fc3593f9 100644
--- a/embassy-stm32/src/pac/stm32l4a6ag.rs
+++ b/embassy-stm32/src/pac/stm32l4a6ag.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4a6qg.rs b/embassy-stm32/src/pac/stm32l4a6qg.rs
index 2bc671656..2fc3593f9 100644
--- a/embassy-stm32/src/pac/stm32l4a6qg.rs
+++ b/embassy-stm32/src/pac/stm32l4a6qg.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4a6rg.rs b/embassy-stm32/src/pac/stm32l4a6rg.rs
index 2bc671656..2fc3593f9 100644
--- a/embassy-stm32/src/pac/stm32l4a6rg.rs
+++ b/embassy-stm32/src/pac/stm32l4a6rg.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4a6vg.rs b/embassy-stm32/src/pac/stm32l4a6vg.rs
index 2bc671656..2fc3593f9 100644
--- a/embassy-stm32/src/pac/stm32l4a6vg.rs
+++ b/embassy-stm32/src/pac/stm32l4a6vg.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4a6zg.rs b/embassy-stm32/src/pac/stm32l4a6zg.rs
index 2bc671656..2fc3593f9 100644
--- a/embassy-stm32/src/pac/stm32l4a6zg.rs
+++ b/embassy-stm32/src/pac/stm32l4a6zg.rs
@@ -179,6 +179,12 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub const USART1: usart::Usart = usart::Usart(0x40013800 as _); 189pub const USART1: usart::Usart = usart::Usart(0x40013800 as _);
184impl_usart!(USART1); 190impl_usart!(USART1);
@@ -236,6 +242,7 @@ pub use regs::dma_v1 as dma;
236pub use regs::exti_v1 as exti; 242pub use regs::exti_v1 as exti;
237pub use regs::gpio_v2 as gpio; 243pub use regs::gpio_v2 as gpio;
238pub use regs::rng_v1 as rng; 244pub use regs::rng_v1 as rng;
245pub use regs::spi_v2 as spi;
239pub use regs::syscfg_l4 as syscfg; 246pub use regs::syscfg_l4 as syscfg;
240pub use regs::usart_v2 as usart; 247pub use regs::usart_v2 as usart;
241mod regs; 248mod regs;
@@ -253,7 +260,7 @@ peripherals!(
253 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 260 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
254 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 261 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
255 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 262 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
256 PI13, PI14, PI15, RNG, SYSCFG, USART1, USART2, USART3 263 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG, USART1, USART2, USART3
257); 264);
258 265
259pub mod interrupt { 266pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5ae.rs b/embassy-stm32/src/pac/stm32l4p5ae.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5ae.rs
+++ b/embassy-stm32/src/pac/stm32l4p5ae.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5ag.rs b/embassy-stm32/src/pac/stm32l4p5ag.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5ag.rs
+++ b/embassy-stm32/src/pac/stm32l4p5ag.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5ce.rs b/embassy-stm32/src/pac/stm32l4p5ce.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5ce.rs
+++ b/embassy-stm32/src/pac/stm32l4p5ce.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5cg.rs b/embassy-stm32/src/pac/stm32l4p5cg.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5cg.rs
+++ b/embassy-stm32/src/pac/stm32l4p5cg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5qe.rs b/embassy-stm32/src/pac/stm32l4p5qe.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5qe.rs
+++ b/embassy-stm32/src/pac/stm32l4p5qe.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5qg.rs b/embassy-stm32/src/pac/stm32l4p5qg.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5qg.rs
+++ b/embassy-stm32/src/pac/stm32l4p5qg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5re.rs b/embassy-stm32/src/pac/stm32l4p5re.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5re.rs
+++ b/embassy-stm32/src/pac/stm32l4p5re.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5rg.rs b/embassy-stm32/src/pac/stm32l4p5rg.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5rg.rs
+++ b/embassy-stm32/src/pac/stm32l4p5rg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5ve.rs b/embassy-stm32/src/pac/stm32l4p5ve.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5ve.rs
+++ b/embassy-stm32/src/pac/stm32l4p5ve.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5vg.rs b/embassy-stm32/src/pac/stm32l4p5vg.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5vg.rs
+++ b/embassy-stm32/src/pac/stm32l4p5vg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5ze.rs b/embassy-stm32/src/pac/stm32l4p5ze.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5ze.rs
+++ b/embassy-stm32/src/pac/stm32l4p5ze.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4p5zg.rs b/embassy-stm32/src/pac/stm32l4p5zg.rs
index 7d8ca0863..ae3342f44 100644
--- a/embassy-stm32/src/pac/stm32l4p5zg.rs
+++ b/embassy-stm32/src/pac/stm32l4p5zg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4q5ag.rs b/embassy-stm32/src/pac/stm32l4q5ag.rs
index 03c5b6793..2313edd87 100644
--- a/embassy-stm32/src/pac/stm32l4q5ag.rs
+++ b/embassy-stm32/src/pac/stm32l4q5ag.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4q5cg.rs b/embassy-stm32/src/pac/stm32l4q5cg.rs
index 03c5b6793..2313edd87 100644
--- a/embassy-stm32/src/pac/stm32l4q5cg.rs
+++ b/embassy-stm32/src/pac/stm32l4q5cg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4q5qg.rs b/embassy-stm32/src/pac/stm32l4q5qg.rs
index 03c5b6793..2313edd87 100644
--- a/embassy-stm32/src/pac/stm32l4q5qg.rs
+++ b/embassy-stm32/src/pac/stm32l4q5qg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4q5rg.rs b/embassy-stm32/src/pac/stm32l4q5rg.rs
index 03c5b6793..2313edd87 100644
--- a/embassy-stm32/src/pac/stm32l4q5rg.rs
+++ b/embassy-stm32/src/pac/stm32l4q5rg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4q5vg.rs b/embassy-stm32/src/pac/stm32l4q5vg.rs
index 03c5b6793..2313edd87 100644
--- a/embassy-stm32/src/pac/stm32l4q5vg.rs
+++ b/embassy-stm32/src/pac/stm32l4q5vg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4q5zg.rs b/embassy-stm32/src/pac/stm32l4q5zg.rs
index 03c5b6793..2313edd87 100644
--- a/embassy-stm32/src/pac/stm32l4q5zg.rs
+++ b/embassy-stm32/src/pac/stm32l4q5zg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r5ag.rs b/embassy-stm32/src/pac/stm32l4r5ag.rs
index 70339417f..c97414141 100644
--- a/embassy-stm32/src/pac/stm32l4r5ag.rs
+++ b/embassy-stm32/src/pac/stm32l4r5ag.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r5ai.rs b/embassy-stm32/src/pac/stm32l4r5ai.rs
index 70339417f..c97414141 100644
--- a/embassy-stm32/src/pac/stm32l4r5ai.rs
+++ b/embassy-stm32/src/pac/stm32l4r5ai.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r5qg.rs b/embassy-stm32/src/pac/stm32l4r5qg.rs
index 70339417f..c97414141 100644
--- a/embassy-stm32/src/pac/stm32l4r5qg.rs
+++ b/embassy-stm32/src/pac/stm32l4r5qg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r5qi.rs b/embassy-stm32/src/pac/stm32l4r5qi.rs
index 70339417f..c97414141 100644
--- a/embassy-stm32/src/pac/stm32l4r5qi.rs
+++ b/embassy-stm32/src/pac/stm32l4r5qi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r5vg.rs b/embassy-stm32/src/pac/stm32l4r5vg.rs
index 70339417f..c97414141 100644
--- a/embassy-stm32/src/pac/stm32l4r5vg.rs
+++ b/embassy-stm32/src/pac/stm32l4r5vg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r5vi.rs b/embassy-stm32/src/pac/stm32l4r5vi.rs
index 70339417f..c97414141 100644
--- a/embassy-stm32/src/pac/stm32l4r5vi.rs
+++ b/embassy-stm32/src/pac/stm32l4r5vi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r5zg.rs b/embassy-stm32/src/pac/stm32l4r5zg.rs
index 70339417f..c97414141 100644
--- a/embassy-stm32/src/pac/stm32l4r5zg.rs
+++ b/embassy-stm32/src/pac/stm32l4r5zg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r5zi.rs b/embassy-stm32/src/pac/stm32l4r5zi.rs
index 70339417f..c97414141 100644
--- a/embassy-stm32/src/pac/stm32l4r5zi.rs
+++ b/embassy-stm32/src/pac/stm32l4r5zi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r7ai.rs b/embassy-stm32/src/pac/stm32l4r7ai.rs
index 9d88e59af..62ec35673 100644
--- a/embassy-stm32/src/pac/stm32l4r7ai.rs
+++ b/embassy-stm32/src/pac/stm32l4r7ai.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r7vi.rs b/embassy-stm32/src/pac/stm32l4r7vi.rs
index 9d88e59af..62ec35673 100644
--- a/embassy-stm32/src/pac/stm32l4r7vi.rs
+++ b/embassy-stm32/src/pac/stm32l4r7vi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r7zi.rs b/embassy-stm32/src/pac/stm32l4r7zi.rs
index 9d88e59af..62ec35673 100644
--- a/embassy-stm32/src/pac/stm32l4r7zi.rs
+++ b/embassy-stm32/src/pac/stm32l4r7zi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r9ag.rs b/embassy-stm32/src/pac/stm32l4r9ag.rs
index edb5287c2..dedc37886 100644
--- a/embassy-stm32/src/pac/stm32l4r9ag.rs
+++ b/embassy-stm32/src/pac/stm32l4r9ag.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r9ai.rs b/embassy-stm32/src/pac/stm32l4r9ai.rs
index edb5287c2..dedc37886 100644
--- a/embassy-stm32/src/pac/stm32l4r9ai.rs
+++ b/embassy-stm32/src/pac/stm32l4r9ai.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r9vg.rs b/embassy-stm32/src/pac/stm32l4r9vg.rs
index edb5287c2..dedc37886 100644
--- a/embassy-stm32/src/pac/stm32l4r9vg.rs
+++ b/embassy-stm32/src/pac/stm32l4r9vg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r9vi.rs b/embassy-stm32/src/pac/stm32l4r9vi.rs
index edb5287c2..dedc37886 100644
--- a/embassy-stm32/src/pac/stm32l4r9vi.rs
+++ b/embassy-stm32/src/pac/stm32l4r9vi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r9zg.rs b/embassy-stm32/src/pac/stm32l4r9zg.rs
index edb5287c2..dedc37886 100644
--- a/embassy-stm32/src/pac/stm32l4r9zg.rs
+++ b/embassy-stm32/src/pac/stm32l4r9zg.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4r9zi.rs b/embassy-stm32/src/pac/stm32l4r9zi.rs
index edb5287c2..dedc37886 100644
--- a/embassy-stm32/src/pac/stm32l4r9zi.rs
+++ b/embassy-stm32/src/pac/stm32l4r9zi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4s5ai.rs b/embassy-stm32/src/pac/stm32l4s5ai.rs
index e7d2eb0ce..95c47ae1a 100644
--- a/embassy-stm32/src/pac/stm32l4s5ai.rs
+++ b/embassy-stm32/src/pac/stm32l4s5ai.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4s5qi.rs b/embassy-stm32/src/pac/stm32l4s5qi.rs
index e7d2eb0ce..95c47ae1a 100644
--- a/embassy-stm32/src/pac/stm32l4s5qi.rs
+++ b/embassy-stm32/src/pac/stm32l4s5qi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4s5vi.rs b/embassy-stm32/src/pac/stm32l4s5vi.rs
index e7d2eb0ce..95c47ae1a 100644
--- a/embassy-stm32/src/pac/stm32l4s5vi.rs
+++ b/embassy-stm32/src/pac/stm32l4s5vi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4s5zi.rs b/embassy-stm32/src/pac/stm32l4s5zi.rs
index e7d2eb0ce..95c47ae1a 100644
--- a/embassy-stm32/src/pac/stm32l4s5zi.rs
+++ b/embassy-stm32/src/pac/stm32l4s5zi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4s7ai.rs b/embassy-stm32/src/pac/stm32l4s7ai.rs
index 072ffc23b..6ff9debf6 100644
--- a/embassy-stm32/src/pac/stm32l4s7ai.rs
+++ b/embassy-stm32/src/pac/stm32l4s7ai.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4s7vi.rs b/embassy-stm32/src/pac/stm32l4s7vi.rs
index 072ffc23b..6ff9debf6 100644
--- a/embassy-stm32/src/pac/stm32l4s7vi.rs
+++ b/embassy-stm32/src/pac/stm32l4s7vi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4s7zi.rs b/embassy-stm32/src/pac/stm32l4s7zi.rs
index 072ffc23b..6ff9debf6 100644
--- a/embassy-stm32/src/pac/stm32l4s7zi.rs
+++ b/embassy-stm32/src/pac/stm32l4s7zi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4s9ai.rs b/embassy-stm32/src/pac/stm32l4s9ai.rs
index c3ef398d3..7031b3ac5 100644
--- a/embassy-stm32/src/pac/stm32l4s9ai.rs
+++ b/embassy-stm32/src/pac/stm32l4s9ai.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4s9vi.rs b/embassy-stm32/src/pac/stm32l4s9vi.rs
index c3ef398d3..7031b3ac5 100644
--- a/embassy-stm32/src/pac/stm32l4s9vi.rs
+++ b/embassy-stm32/src/pac/stm32l4s9vi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/pac/stm32l4s9zi.rs b/embassy-stm32/src/pac/stm32l4s9zi.rs
index c3ef398d3..7031b3ac5 100644
--- a/embassy-stm32/src/pac/stm32l4s9zi.rs
+++ b/embassy-stm32/src/pac/stm32l4s9zi.rs
@@ -179,11 +179,18 @@ impl_gpio_pin!(PI14, 8, 14, EXTI14);
179impl_gpio_pin!(PI15, 8, 15, EXTI15); 179impl_gpio_pin!(PI15, 8, 15, EXTI15);
180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _); 180pub const RNG: rng::Rng = rng::Rng(0x50060800 as _);
181impl_rng!(RNG); 181impl_rng!(RNG);
182pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
183impl_spi!(SPI1);
184pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
185impl_spi!(SPI2);
186pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
187impl_spi!(SPI3);
182pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _); 188pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40010000 as _);
183pub use regs::dma_v1 as dma; 189pub use regs::dma_v1 as dma;
184pub use regs::exti_v1 as exti; 190pub use regs::exti_v1 as exti;
185pub use regs::gpio_v2 as gpio; 191pub use regs::gpio_v2 as gpio;
186pub use regs::rng_v1 as rng; 192pub use regs::rng_v1 as rng;
193pub use regs::spi_v2 as spi;
187pub use regs::syscfg_l4 as syscfg; 194pub use regs::syscfg_l4 as syscfg;
188mod regs; 195mod regs;
189use embassy_extras::peripherals; 196use embassy_extras::peripherals;
@@ -200,7 +207,7 @@ peripherals!(
200 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, 207 PF10, PF11, PF12, PF13, PF14, PF15, PG0, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10,
201 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, 208 PG11, PG12, PG13, PG14, PG15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11,
202 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, 209 PH12, PH13, PH14, PH15, PI0, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12,
203 PI13, PI14, PI15, RNG, SYSCFG 210 PI13, PI14, PI15, RNG, SPI1, SPI2, SPI3, SYSCFG
204); 211);
205 212
206pub mod interrupt { 213pub mod interrupt {
diff --git a/embassy-stm32/src/spi.rs b/embassy-stm32/src/spi.rs
new file mode 100644
index 000000000..b4b1d3d8c
--- /dev/null
+++ b/embassy-stm32/src/spi.rs
@@ -0,0 +1,62 @@
1pub use embedded_hal::spi::{Mode, Phase, Polarity, MODE_0, MODE_1, MODE_2, MODE_3};
2use core::marker::PhantomData;
3use embassy::interrupt::Interrupt;
4use embedded_hal::blocking::spi::Write;
5use crate::pac::spi
6
7pub struct Spi<'d, T: Instance> {
8 peri: T,
9 irq: T::Interrupt,
10 phantom: PhantomData<&'d mut T>,
11}
12
13pub enum Error {
14
15}
16
17impl<'d, T: Instance> embedded_hal::blocking::spi::Write<u8> for Spim<'d, T> {
18 type Error = Error;
19
20 fn write(&mut self, words: &[u8]) -> Result<(), Self::Error> {
21 let mut recv: &mut [u8] = &mut [];
22
23 }
24}
25
26mod sealed {
27 use super::*;
28 use embassy::util::AtomicWaker;
29
30 pub struct State {
31 pub end_waker: AtomicWaker,
32 }
33
34 impl State {
35 pub const fn new() -> Self {
36 Self {
37 end_waker: AtomicWaker::new(),
38 }
39 }
40 }
41
42 pub trait Instance {
43 fn regs() -> &'static crate::pac::spi::Spi;
44 fn state() -> &'static State;
45 }
46}
47
48pub trait Instance: sealed::Instance + 'static {
49 type Interrupt: Interrupt;
50}
51
52macro_rules! impl_spi {
53 ($inst:ident) => {
54 impl crate::spi::sealed::Instance for peripherals::$inst {
55 fn regs() -> crate::pac::spi::Spi {
56 crate::pac::$inst
57 }
58 }
59
60 impl crate::spi::Instance for peripherals::$inst {}
61 };
62} \ No newline at end of file