@@ -475,10 +475,6 @@ macro_rules! variant_return_type {
475475// Peripherals with an individual kernel clock must be marked "kernel clk". If a
476476// kernel clock multiplexer is shared between multiple peripherals, all those
477477// 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).
482478peripheral_reset_and_enable_control ! {
483479
484480 #[ cfg( all( ) ) ]
@@ -495,6 +491,19 @@ peripheral_reset_and_enable_control! {
495491 AHB1 , "" => [
496492 ( NoReset ) Gtzc1
497493 ] ;
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+ ] ;
498507
499508 #[ cfg( all( ) ) ]
500509 AHB2 , "AMBA High-performance Bus (AHB2) peripherals" => [
@@ -504,69 +513,117 @@ peripheral_reset_and_enable_control! {
504513 Gpiod ,
505514 Gpioc ,
506515 Gpiob ,
507- Gpioa
516+ Gpioa ,
517+ Rng [ kernel clk: Rng RNG ccipr5 "RNG" ] ,
518+ Adc [ group clk: AdcDac ( Variant ) ADCDAC ccipr5 "ADC/DAC" ]
508519 ] ;
509520 #[ cfg( feature = "rm0492" ) ]
510521 AHB2 , "" => [
511- Rng [ kernel clk: Rng RNG ccipr5 "RNG" ] ,
512- Adc [ group clk: AdcDac ( Variant ) ADCDAC ccipr5 "ADC/DAC" ] ,
513522 Dac12 [ group clk: AdcDac ]
514523 ] ;
524+ #[ cfg( feature = "rm0481" ) ]
525+ AHB2 , "" => [
526+ Gpioi ,
527+ Gpiog ,
528+ Gpiof ,
529+ Gpioe ,
530+ Dac1 [ group clk: AdcDac ]
531+ ] ;
515532
533+ #[ cfg( feature = "rm0481" ) ]
534+ AHB4 , "AMBA High-performance Bus (AHB4) peripherals" => [
535+ Octospi1 [ kernel clk: Octospi1 OCTOSPI1 ccipr4 "OCTOSPI1" ] ,
536+ Fmc ,
537+
538+ Sdmmc1 [ kernel clk: Sdmmc1 SDMMC ccipr4 "SDMMC1" ]
539+ ] ;
540+ #[ cfg( feature = "sdmmc2" ) ]
541+ AHB4 , "" => [
542+ Sdmmc2 [ kernel clk: Sdmmc2 SDMMC ccipr4 "SDMMC2" ]
543+ ] ;
544+ #[ cfg( feature = "otfdec" ) ]
545+ AHB4 , "" => [
546+ Otfdec1
547+ ] ;
516548
517549 #[ cfg( all( ) ) ]
518550 APB1L , "Advanced Peripheral Bus 1L (APB1L) peripherals" => [
551+ Usart2 [ kernel clk: Usart2 ( Variant ) USART ccipr1 "USART2" ] ,
552+ Usart3 [ kernel clk: Usart3 ( Variant ) USART ccipr1 "USART3" ] ,
519553 Crs ,
554+ I3c1 [ kernel clk: I3c1 ( Variant ) I3C ccipr4 "I3C1" ] ,
555+ I2c2 [ kernel clk: I2c2 I2C ccipr4 "I2C2" ] ,
556+ I2c1 [ kernel clk: I2c1 I2C ccipr4 "I2C1" ] ,
557+ Spi3 [ kernel clk: Spi3 ( Variant ) SPI123 ccipr3 "SPI3" ] ,
558+ Spi2 [ kernel clk: Spi2 ( Variant ) SPI123 ccipr3 "SPI2" ] ,
520559 ( NoReset ) Wwdg ,
521560 Tim2 , Tim3 , Tim6 , Tim7
522561 ] ;
523562 #[ cfg( feature = "rm0492" ) ]
524563 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" ] ,
535564 Opamp ,
536565 Comp
537566 ] ;
567+ #[ cfg( feature = "rm0481" ) ]
568+ APB1L , "" => [
569+ Uart8 [ kernel clk: Uart8 ( Variant ) USART ccipr1 "UART8" ] ,
570+ Uart7 [ kernel clk: Uart7 ( Variant ) USART ccipr1 "UART7" ] ,
571+ Cec [ kernel clk: Cec ( Variant ) CEC ccipr5 "CEC" ] ,
572+ Usart11 [ kernel clk: Usart11 ( Variant ) USART ccipr2 "USART11" ] ,
573+ Usart10 [ kernel clk: Usart10 ( Variant ) USART ccipr1 "USART10" ] ,
574+ Usart6 [ kernel clk: Usart6 ( Variant ) USART ccipr1 "USART6" ] ,
575+ Uart5 [ kernel clk: Uart5 ( Variant ) USART ccipr1 "USART5" ] ,
576+ Uart4 [ kernel clk: Uart4 ( Variant ) USART ccipr1 "USART4" ] ,
577+ Tim14 , Tim13 , Tim12 , Tim5 , Tim4
578+ ] ;
538579
539580 #[ cfg( all( ) ) ]
540581 APB1H , "Advanced Peripheral Bus 1H (APB1H) peripherals" => [
582+ Fdcan [ kernel clk: Fdcan ( Variant ) FDCAN ccipr5 "FDCAN" ] ,
583+ Lptim2 [ kernel clk: Lptim2 ( Variant ) LPTIM ccipr2 "LPTIM2" ] ,
541584 Dts
542585 ] ;
543- #[ cfg( feature = "rm0492 " ) ]
586+ #[ cfg( feature = "rm0481 " ) ]
544587 APB1H , "" => [
545- Lptim2 [ kernel clk: Lptim2 ( Variant ) LPTIM ccipr2 "LPTIM2" ] ,
546- Fdcan [ kernel clk: Fdcan ( Variant ) FDCAN ccipr5 "FDCAN" ]
588+ Ucpd1 ,
589+ Uart12 [ kernel clk: Uart12 ( Variant ) USART ccipr2 "USART12" ] ,
590+ Uart9 [ kernel clk: Uart9 ( Variant ) USART ccipr1 "UART9" ]
547591 ] ;
548592
549593 #[ cfg( all( ) ) ]
550594 APB2 , "Advanced Peripheral Bus 2 (APB2) peripherals" => [
595+ Usb [ kernel clk: Usb USB ccipr4 "USB" ] ,
596+ Usart1 [ kernel clk: Usart1 ( Variant ) USART ccipr1 "USART1" ] ,
597+ Spi1 [ kernel clk: Spi1 ( Variant ) SPI123 ccipr3 "SPI1" ] ,
551598 Tim1
552599 ] ;
553- #[ cfg( feature = "rm0492 " ) ]
600+ #[ cfg( feature = "rm0481 " ) ]
554601 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" ]
602+ Sai2 [ kernel clk: Sai2 ( Variant ) SAI ccipr5 "SAI2" ] ,
603+ Sai1 [ kernel clk: Sai1 ( Variant ) SAI ccipr5 "SAI1" ] ,
604+ Spi6 [ kernel clk: Spi6 ( Variant ) SPI456 ccipr3 "SPI6" ] ,
605+ Spi4 [ kernel clk: Spi4 ( Variant ) SPI456 ccipr3 "SPI4" ] ,
606+ Tim17 , Tim16 , Tim15 , Tim8
558607 ] ;
559608
560609 #[ cfg( all( ) ) ]
561610 APB3 , "Advanced Peripheral Bus 3 (APB3) peripherals" => [
562611 ( NoReset ) RtcApb ,
612+ LpTim1 [ kernel clk: LpTim1 ( Variant ) LPTIM ccipr2 "LPTIM1" ] ,
613+ I3c2 [ kernel clk: I3c2 ( Variant ) I3C ccipr4 "I3C2" ] ,
614+ LpUart1 [ kernel clk: LpUart1 ( Variant ) USART ccipr3 "LPUART1" ] ,
563615 ( NoReset ) Sbs
564616 ] ;
565- #[ cfg( feature = "rm0492 " ) ]
617+ #[ cfg( feature = "rm0481 " ) ]
566618 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" ]
619+ Vref ,
620+ LpTim6 [ kernel clk: LpTim6 ( Variant ) LPTIM ccipr2 "LPTIM6" ] ,
621+ LpTim5 [ kernel clk: LpTim5 ( Variant ) LPTIM ccipr2 "LPTIM5" ] ,
622+ LpTim4 [ kernel clk: LpTim4 ( Variant ) LPTIM ccipr2 "LPTIM4" ] ,
623+ LpTim3 [ kernel clk: LpTim3 ( Variant ) LPTIM ccipr2 "LPTIM3" ] ,
624+ I2c4 [ kernel clk: I2c4 I2C ccipr4 "I2C4" ] ,
625+ I2c3 [ kernel clk: I2c3 I2C ccipr4 "I2C3" ] ,
626+ Spi5 [ kernel clk: Spi5 ( Variant ) SPI456 ccipr3 "SPI5" ]
570627 ] ;
571628
572629}
0 commit comments