@@ -475,10 +475,6 @@ macro_rules! variant_return_type {
475
475
// Peripherals with an individual kernel clock must be marked "kernel clk". If a
476
476
// kernel clock multiplexer is shared between multiple peripherals, all those
477
477
// peripherals must instead be marked with a common "group clk".
478
- //
479
- // NOTE: The stm32h5 crate does not have definitions for the clock source variants for registers for
480
- // any processors other than the STM32H503 at this time. Therefore, peripherals which have
481
- // selectable clock sources are currently only specified for the H503 (rm0492).
482
478
peripheral_reset_and_enable_control ! {
483
479
484
480
#[ cfg( all( ) ) ]
@@ -495,6 +491,19 @@ peripheral_reset_and_enable_control! {
495
491
AHB1 , "" => [
496
492
( NoReset ) Gtzc1
497
493
] ;
494
+ #[ cfg( feature = "rm0481" ) ]
495
+ AHB1 , "" => [
496
+ ( NoReset ) Dcache ,
497
+ ( NoReset ) Tzsc1 ,
498
+ Fmac ,
499
+ Cordic
500
+ ] ;
501
+ #[ cfg( feature = "ethernet" ) ]
502
+ AHB1 , "" => [
503
+ ( NoReset ) Ethrx ,
504
+ ( NoReset ) Ethtx ,
505
+ Eth
506
+ ] ;
498
507
499
508
#[ cfg( all( ) ) ]
500
509
AHB2 , "AMBA High-performance Bus (AHB2) peripherals" => [
@@ -504,69 +513,136 @@ peripheral_reset_and_enable_control! {
504
513
Gpiod ,
505
514
Gpioc ,
506
515
Gpiob ,
507
- Gpioa
516
+ Gpioa ,
517
+ Rng [ kernel clk: Rng RNG ccipr5 "RNG" ] ,
518
+ Adc [ group clk: AdcDac ( Variant ) ADCDAC ccipr5 "ADC/DAC" ]
508
519
] ;
509
520
#[ cfg( feature = "rm0492" ) ]
510
521
AHB2 , "" => [
511
- Rng [ kernel clk: Rng RNG ccipr5 "RNG" ] ,
512
- Adc [ group clk: AdcDac ( Variant ) ADCDAC ccipr5 "ADC/DAC" ] ,
513
522
Dac12 [ group clk: AdcDac ]
514
523
] ;
524
+ #[ cfg( feature = "rm0481" ) ]
525
+ AHB2 , "" => [
526
+ Gpiog ,
527
+ Gpiof ,
528
+ Gpioe ,
529
+ Dac1 [ group clk: AdcDac ]
530
+ ] ;
531
+ #[ cfg( feature = "h56x_h573" ) ]
532
+ AHB2 , "" => [
533
+ Gpioi
534
+ ] ;
515
535
536
+ #[ cfg( feature = "rm0481" ) ]
537
+ AHB4 , "AMBA High-performance Bus (AHB4) peripherals" => [
538
+ Octospi1 [ kernel clk: Octospi1 OCTOSPI1 ccipr4 "OCTOSPI1" ] ,
539
+ Fmc ,
540
+
541
+ Sdmmc1 [ kernel clk: Sdmmc1 SDMMC ccipr4 "SDMMC1" ]
542
+ ] ;
543
+ #[ cfg( feature = "sdmmc2" ) ]
544
+ AHB4 , "" => [
545
+ Sdmmc2 [ kernel clk: Sdmmc2 SDMMC ccipr4 "SDMMC2" ]
546
+ ] ;
547
+ #[ cfg( feature = "otfdec" ) ]
548
+ AHB4 , "" => [
549
+ Otfdec1
550
+ ] ;
516
551
517
552
#[ cfg( all( ) ) ]
518
553
APB1L , "Advanced Peripheral Bus 1L (APB1L) peripherals" => [
554
+ Usart2 [ kernel clk: Usart2 ( Variant ) USART ccipr1 "USART2" ] ,
555
+ Usart3 [ kernel clk: Usart3 ( Variant ) USART ccipr1 "USART3" ] ,
519
556
Crs ,
557
+ I3c1 [ kernel clk: I3c1 ( Variant ) I3C ccipr4 "I3C1" ] ,
558
+ I2c2 [ kernel clk: I2c2 I2C ccipr4 "I2C2" ] ,
559
+ I2c1 [ kernel clk: I2c1 I2C ccipr4 "I2C1" ] ,
560
+ Spi3 [ kernel clk: Spi3 ( Variant ) SPI123 ccipr3 "SPI3" ] ,
561
+ Spi2 [ kernel clk: Spi2 ( Variant ) SPI123 ccipr3 "SPI2" ] ,
520
562
( NoReset ) Wwdg ,
521
563
Tim2 , Tim3 , Tim6 , Tim7
522
564
] ;
523
565
#[ cfg( feature = "rm0492" ) ]
524
566
APB1L , "" => [
525
- I3c1 [ kernel clk: I3c1 ( Variant ) I3C ccipr4 "I3C1" ] ,
526
-
527
- I2c1 [ kernel clk: I2c1 I2C ccipr4 "I2C1" ] ,
528
- I2c2 [ kernel clk: I2c2 I2C ccipr4 "I2C2" ] ,
529
-
530
- Usart2 [ kernel clk: Usart2 ( Variant ) USART ccipr1 "USART2" ] ,
531
- Usart3 [ kernel clk: Usart3 ( Variant ) USART ccipr1 "USART3" ] ,
532
-
533
- Spi2 [ kernel clk: Spi2 ( Variant ) SPI123 ccipr3 "SPI2" ] ,
534
- Spi3 [ kernel clk: Spi3 ( Variant ) SPI123 ccipr3 "SPI3" ] ,
535
567
Opamp ,
536
568
Comp
537
569
] ;
570
+ #[ cfg( feature = "rm0481" ) ]
571
+ APB1L , "" => [
572
+ Cec [ kernel clk: Cec ( Variant ) CEC ccipr5 "CEC" ] ,
573
+ Usart6 [ kernel clk: Usart6 ( Variant ) USART ccipr1 "USART6" ] ,
574
+ Uart5 [ kernel clk: Uart5 ( Variant ) USART ccipr1 "USART5" ] ,
575
+ Uart4 [ kernel clk: Uart4 ( Variant ) USART ccipr1 "USART4" ] ,
576
+ Tim12 , Tim5 , Tim4
577
+ ] ;
578
+ #[ cfg( feature = "h56x_h573" ) ]
579
+ APB1L , "" => [
580
+ Uart8 [ kernel clk: Uart8 ( Variant ) USART ccipr1 "UART8" ] ,
581
+ Uart7 [ kernel clk: Uart7 ( Variant ) USART ccipr1 "UART7" ] ,
582
+ Usart11 [ kernel clk: Usart11 ( Variant ) USART ccipr2 "USART11" ] ,
583
+ Usart10 [ kernel clk: Usart10 ( Variant ) USART ccipr1 "USART10" ] ,
584
+ Tim14 , Tim13
585
+ ] ;
538
586
539
587
#[ cfg( all( ) ) ]
540
588
APB1H , "Advanced Peripheral Bus 1H (APB1H) peripherals" => [
589
+ Fdcan [ kernel clk: Fdcan ( Variant ) FDCAN ccipr5 "FDCAN" ] ,
590
+ Lptim2 [ kernel clk: Lptim2 ( Variant ) LPTIM ccipr2 "LPTIM2" ] ,
541
591
Dts
542
592
] ;
543
- #[ cfg( feature = "rm0492 " ) ]
593
+ #[ cfg( feature = "rm0481 " ) ]
544
594
APB1H , "" => [
545
- Lptim2 [ kernel clk: Lptim2 ( Variant ) LPTIM ccipr2 "LPTIM2" ] ,
546
- Fdcan [ kernel clk: Fdcan ( Variant ) FDCAN ccipr5 "FDCAN" ]
595
+ Ucpd1
596
+ ] ;
597
+ #[ cfg( feature = "h56x_h573" ) ]
598
+ APB1H , "" => [
599
+ Uart12 [ kernel clk: Uart12 ( Variant ) USART ccipr2 "USART12" ] ,
600
+ Uart9 [ kernel clk: Uart9 ( Variant ) USART ccipr1 "UART9" ]
547
601
] ;
548
602
549
603
#[ cfg( all( ) ) ]
550
604
APB2 , "Advanced Peripheral Bus 2 (APB2) peripherals" => [
605
+ Usb [ kernel clk: Usb USB ccipr4 "USB" ] ,
606
+ Usart1 [ kernel clk: Usart1 ( Variant ) USART ccipr1 "USART1" ] ,
607
+ Spi1 [ kernel clk: Spi1 ( Variant ) SPI123 ccipr3 "SPI1" ] ,
551
608
Tim1
552
609
] ;
553
- #[ cfg( feature = "rm0492 " ) ]
610
+ #[ cfg( feature = "rm0481 " ) ]
554
611
APB2 , "" => [
555
- Usb [ kernel clk: Usb USB ccipr4 "USB" ] ,
556
- Usart1 [ kernel clk: Usart1 ( Variant ) USART ccipr1 "USART1" ] ,
557
- Spi1 [ kernel clk: Spi1 ( Variant ) SPI123 ccipr3 "SPI1" ]
612
+ Sai2 [ kernel clk: Sai2 ( Variant ) SAI ccipr5 "SAI2" ] ,
613
+ Sai1 [ kernel clk: Sai1 ( Variant ) SAI ccipr5 "SAI1" ] ,
614
+ Spi4 [ kernel clk: Spi4 ( Variant ) SPI456 ccipr3 "SPI4" ] ,
615
+ Tim15 , Tim8
616
+ ] ;
617
+ #[ cfg( feature = "h56x_h573" ) ]
618
+ APB2 , "" => [
619
+ Spi6 [ kernel clk: Spi6 ( Variant ) SPI456 ccipr3 "SPI6" ] ,
620
+ Tim17 , Tim16
558
621
] ;
559
622
560
623
#[ cfg( all( ) ) ]
561
624
APB3 , "Advanced Peripheral Bus 3 (APB3) peripherals" => [
562
625
( NoReset ) RtcApb ,
626
+ LpTim1 [ kernel clk: LpTim1 ( Variant ) LPTIM ccipr2 "LPTIM1" ] ,
627
+ LpUart1 [ kernel clk: LpUart1 ( Variant ) USART ccipr3 "LPUART1" ] ,
563
628
( NoReset ) Sbs
564
629
] ;
565
- #[ cfg( feature = "rm0492 " ) ]
630
+ #[ cfg( feature = "rm0481 " ) ]
566
631
APB3 , "" => [
567
- I3c2 [ kernel clk: I3c2 ( Variant ) I3C ccipr4 "I3C2" ] ,
568
- LpTim1 [ kernel clk: LpTim1 ( Variant ) LPTIM ccipr2 "LPTIM1" ] ,
569
- LpUart1 [ kernel clk: LpUart1 ( Variant ) USART ccipr3 "LPUART1" ]
632
+ Vref ,
633
+ I2c3 [ kernel clk: I2c3 I2C ccipr4 "I2C3" ]
634
+ ] ;
635
+ #[ cfg( feature = "h56x_h573" ) ]
636
+ APB3 , "" => [
637
+ LpTim6 [ kernel clk: LpTim6 ( Variant ) LPTIM ccipr2 "LPTIM6" ] ,
638
+ LpTim5 [ kernel clk: LpTim5 ( Variant ) LPTIM ccipr2 "LPTIM5" ] ,
639
+ LpTim4 [ kernel clk: LpTim4 ( Variant ) LPTIM ccipr2 "LPTIM4" ] ,
640
+ LpTim3 [ kernel clk: LpTim3 ( Variant ) LPTIM ccipr2 "LPTIM3" ] ,
641
+ I2c4 [ kernel clk: I2c4 I2C ccipr4 "I2C4" ] ,
642
+ Spi5 [ kernel clk: Spi5 ( Variant ) SPI456 ccipr3 "SPI5" ]
643
+ ] ;
644
+ #[ cfg( any( feature = "rm0492" , feature = "h523_h533" ) ) ]
645
+ APB3 , "" => [
646
+ I3c2 [ kernel clk: I3c2 ( Variant ) I3C ccipr4 "I3C2" ]
570
647
] ;
571
-
572
648
}
0 commit comments