1*4c3aebd5SPatrice Chotard /* SYS, CORE AND BUS CLOCKS */
2*4c3aebd5SPatrice Chotard #define SYS_D1CPRE 0
3*4c3aebd5SPatrice Chotard #define HCLK 1
4*4c3aebd5SPatrice Chotard #define PCLK1 2
5*4c3aebd5SPatrice Chotard #define PCLK2 3
6*4c3aebd5SPatrice Chotard #define PCLK3 4
7*4c3aebd5SPatrice Chotard #define PCLK4 5
8*4c3aebd5SPatrice Chotard #define HSI_DIV 6
9*4c3aebd5SPatrice Chotard #define HSE_1M 7
10*4c3aebd5SPatrice Chotard #define I2S_CKIN 8
11*4c3aebd5SPatrice Chotard #define CK_DSI_PHY 9
12*4c3aebd5SPatrice Chotard #define HSE_CK 10
13*4c3aebd5SPatrice Chotard #define LSE_CK 11
14*4c3aebd5SPatrice Chotard #define CSI_KER_DIV122 12
15*4c3aebd5SPatrice Chotard #define RTC_CK 13
16*4c3aebd5SPatrice Chotard #define CPU_SYSTICK 14
17*4c3aebd5SPatrice Chotard 
18*4c3aebd5SPatrice Chotard /* OSCILLATOR BANK */
19*4c3aebd5SPatrice Chotard #define OSC_BANK 18
20*4c3aebd5SPatrice Chotard #define HSI_CK 18
21*4c3aebd5SPatrice Chotard #define HSI_KER_CK 19
22*4c3aebd5SPatrice Chotard #define CSI_CK 20
23*4c3aebd5SPatrice Chotard #define CSI_KER_CK 21
24*4c3aebd5SPatrice Chotard #define RC48_CK 22
25*4c3aebd5SPatrice Chotard #define LSI_CK 23
26*4c3aebd5SPatrice Chotard 
27*4c3aebd5SPatrice Chotard /* MCLOCK BANK */
28*4c3aebd5SPatrice Chotard #define MCLK_BANK 28
29*4c3aebd5SPatrice Chotard #define PER_CK 28
30*4c3aebd5SPatrice Chotard #define PLLSRC 29
31*4c3aebd5SPatrice Chotard #define SYS_CK 30
32*4c3aebd5SPatrice Chotard #define TRACEIN_CK 31
33*4c3aebd5SPatrice Chotard 
34*4c3aebd5SPatrice Chotard /* ODF BANK */
35*4c3aebd5SPatrice Chotard #define ODF_BANK 32
36*4c3aebd5SPatrice Chotard #define PLL1_P 32
37*4c3aebd5SPatrice Chotard #define PLL1_Q 33
38*4c3aebd5SPatrice Chotard #define PLL1_R 34
39*4c3aebd5SPatrice Chotard #define PLL2_P 35
40*4c3aebd5SPatrice Chotard #define PLL2_Q 36
41*4c3aebd5SPatrice Chotard #define PLL2_R 37
42*4c3aebd5SPatrice Chotard #define PLL3_P 38
43*4c3aebd5SPatrice Chotard #define PLL3_Q 39
44*4c3aebd5SPatrice Chotard #define PLL3_R 40
45*4c3aebd5SPatrice Chotard 
46*4c3aebd5SPatrice Chotard /* MCO BANK */
47*4c3aebd5SPatrice Chotard #define MCO_BANK 41
48*4c3aebd5SPatrice Chotard #define MCO1 41
49*4c3aebd5SPatrice Chotard #define MCO2 42
50*4c3aebd5SPatrice Chotard 
51*4c3aebd5SPatrice Chotard /* PERIF BANK */
52*4c3aebd5SPatrice Chotard #define PERIF_BANK 50
53*4c3aebd5SPatrice Chotard #define D1SRAM1_CK 50
54*4c3aebd5SPatrice Chotard #define ITCM_CK 51
55*4c3aebd5SPatrice Chotard #define DTCM2_CK 52
56*4c3aebd5SPatrice Chotard #define DTCM1_CK 53
57*4c3aebd5SPatrice Chotard #define FLITF_CK 54
58*4c3aebd5SPatrice Chotard #define JPGDEC_CK 55
59*4c3aebd5SPatrice Chotard #define DMA2D_CK 56
60*4c3aebd5SPatrice Chotard #define MDMA_CK 57
61*4c3aebd5SPatrice Chotard #define USB2ULPI_CK 58
62*4c3aebd5SPatrice Chotard #define USB1ULPI_CK 59
63*4c3aebd5SPatrice Chotard #define ETH1RX_CK 60
64*4c3aebd5SPatrice Chotard #define ETH1TX_CK 61
65*4c3aebd5SPatrice Chotard #define ETH1MAC_CK 62
66*4c3aebd5SPatrice Chotard #define ART_CK 63
67*4c3aebd5SPatrice Chotard #define DMA2_CK 64
68*4c3aebd5SPatrice Chotard #define DMA1_CK 65
69*4c3aebd5SPatrice Chotard #define D2SRAM3_CK 66
70*4c3aebd5SPatrice Chotard #define D2SRAM2_CK 67
71*4c3aebd5SPatrice Chotard #define D2SRAM1_CK 68
72*4c3aebd5SPatrice Chotard #define HASH_CK 69
73*4c3aebd5SPatrice Chotard #define CRYPT_CK 70
74*4c3aebd5SPatrice Chotard #define CAMITF_CK 71
75*4c3aebd5SPatrice Chotard #define BKPRAM_CK 72
76*4c3aebd5SPatrice Chotard #define HSEM_CK 73
77*4c3aebd5SPatrice Chotard #define BDMA_CK 74
78*4c3aebd5SPatrice Chotard #define CRC_CK 75
79*4c3aebd5SPatrice Chotard #define GPIOK_CK 76
80*4c3aebd5SPatrice Chotard #define GPIOJ_CK 77
81*4c3aebd5SPatrice Chotard #define GPIOI_CK 78
82*4c3aebd5SPatrice Chotard #define GPIOH_CK 79
83*4c3aebd5SPatrice Chotard #define GPIOG_CK 80
84*4c3aebd5SPatrice Chotard #define GPIOF_CK 81
85*4c3aebd5SPatrice Chotard #define GPIOE_CK 82
86*4c3aebd5SPatrice Chotard #define GPIOD_CK 83
87*4c3aebd5SPatrice Chotard #define GPIOC_CK 84
88*4c3aebd5SPatrice Chotard #define GPIOB_CK 85
89*4c3aebd5SPatrice Chotard #define GPIOA_CK 86
90*4c3aebd5SPatrice Chotard #define WWDG1_CK 87
91*4c3aebd5SPatrice Chotard #define DAC12_CK 88
92*4c3aebd5SPatrice Chotard #define WWDG2_CK 89
93*4c3aebd5SPatrice Chotard #define TIM14_CK 90
94*4c3aebd5SPatrice Chotard #define TIM13_CK 91
95*4c3aebd5SPatrice Chotard #define TIM12_CK 92
96*4c3aebd5SPatrice Chotard #define TIM7_CK 93
97*4c3aebd5SPatrice Chotard #define TIM6_CK 94
98*4c3aebd5SPatrice Chotard #define TIM5_CK 95
99*4c3aebd5SPatrice Chotard #define TIM4_CK 96
100*4c3aebd5SPatrice Chotard #define TIM3_CK 97
101*4c3aebd5SPatrice Chotard #define TIM2_CK 98
102*4c3aebd5SPatrice Chotard #define MDIOS_CK 99
103*4c3aebd5SPatrice Chotard #define OPAMP_CK 100
104*4c3aebd5SPatrice Chotard #define CRS_CK 101
105*4c3aebd5SPatrice Chotard #define TIM17_CK 102
106*4c3aebd5SPatrice Chotard #define TIM16_CK 103
107*4c3aebd5SPatrice Chotard #define TIM15_CK 104
108*4c3aebd5SPatrice Chotard #define TIM8_CK 105
109*4c3aebd5SPatrice Chotard #define TIM1_CK 106
110*4c3aebd5SPatrice Chotard #define TMPSENS_CK 107
111*4c3aebd5SPatrice Chotard #define RTCAPB_CK 108
112*4c3aebd5SPatrice Chotard #define VREF_CK 109
113*4c3aebd5SPatrice Chotard #define COMP12_CK 110
114*4c3aebd5SPatrice Chotard #define SYSCFG_CK 111
115*4c3aebd5SPatrice Chotard /* must be equal to last peripheral clock index */
116*4c3aebd5SPatrice Chotard #define LAST_PERIF_BANK SYSCFG_CK
117*4c3aebd5SPatrice Chotard 
118*4c3aebd5SPatrice Chotard /* KERNEL BANK */
119*4c3aebd5SPatrice Chotard #define KERN_BANK 120
120*4c3aebd5SPatrice Chotard #define SDMMC1_CK 120
121*4c3aebd5SPatrice Chotard #define QUADSPI_CK 121
122*4c3aebd5SPatrice Chotard #define FMC_CK 122
123*4c3aebd5SPatrice Chotard #define USB2OTG_CK 123
124*4c3aebd5SPatrice Chotard #define USB1OTG_CK 124
125*4c3aebd5SPatrice Chotard #define ADC12_CK 125
126*4c3aebd5SPatrice Chotard #define SDMMC2_CK 126
127*4c3aebd5SPatrice Chotard #define RNG_CK 127
128*4c3aebd5SPatrice Chotard #define ADC3_CK 128
129*4c3aebd5SPatrice Chotard #define DSI_CK 129
130*4c3aebd5SPatrice Chotard #define LTDC_CK 130
131*4c3aebd5SPatrice Chotard #define USART8_CK 131
132*4c3aebd5SPatrice Chotard #define USART7_CK 132
133*4c3aebd5SPatrice Chotard #define HDMICEC_CK 133
134*4c3aebd5SPatrice Chotard #define I2C3_CK 134
135*4c3aebd5SPatrice Chotard #define I2C2_CK 135
136*4c3aebd5SPatrice Chotard #define I2C1_CK 136
137*4c3aebd5SPatrice Chotard #define UART5_CK 137
138*4c3aebd5SPatrice Chotard #define UART4_CK 138
139*4c3aebd5SPatrice Chotard #define USART3_CK 139
140*4c3aebd5SPatrice Chotard #define USART2_CK 140
141*4c3aebd5SPatrice Chotard #define SPDIFRX_CK 141
142*4c3aebd5SPatrice Chotard #define SPI3_CK 142
143*4c3aebd5SPatrice Chotard #define SPI2_CK 143
144*4c3aebd5SPatrice Chotard #define LPTIM1_CK 144
145*4c3aebd5SPatrice Chotard #define FDCAN_CK 145
146*4c3aebd5SPatrice Chotard #define SWP_CK 146
147*4c3aebd5SPatrice Chotard #define HRTIM_CK 147
148*4c3aebd5SPatrice Chotard #define DFSDM1_CK 148
149*4c3aebd5SPatrice Chotard #define SAI3_CK 149
150*4c3aebd5SPatrice Chotard #define SAI2_CK 150
151*4c3aebd5SPatrice Chotard #define SAI1_CK 151
152*4c3aebd5SPatrice Chotard #define SPI5_CK 152
153*4c3aebd5SPatrice Chotard #define SPI4_CK 153
154*4c3aebd5SPatrice Chotard #define SPI1_CK 154
155*4c3aebd5SPatrice Chotard #define USART6_CK 155
156*4c3aebd5SPatrice Chotard #define USART1_CK 156
157*4c3aebd5SPatrice Chotard #define SAI4B_CK 157
158*4c3aebd5SPatrice Chotard #define SAI4A_CK 158
159*4c3aebd5SPatrice Chotard #define LPTIM5_CK 159
160*4c3aebd5SPatrice Chotard #define LPTIM4_CK 160
161*4c3aebd5SPatrice Chotard #define LPTIM3_CK 161
162*4c3aebd5SPatrice Chotard #define LPTIM2_CK 162
163*4c3aebd5SPatrice Chotard #define I2C4_CK 163
164*4c3aebd5SPatrice Chotard #define SPI6_CK 164
165*4c3aebd5SPatrice Chotard #define LPUART1_CK 165
166*4c3aebd5SPatrice Chotard 
167*4c3aebd5SPatrice Chotard #define STM32H7_MAX_CLKS 166
168