xref: /optee_os/core/include/dt-bindings/clock/stm32mp13-clksrc.h (revision bd64a3f4644ba9ba01a7b23af50bf39d4c9a4795)
119a4632eSGabriel Fernandez /* SPDX-License-Identifier: GPL-2.0+ or BSD-3-Clause */
219a4632eSGabriel Fernandez /*
319a4632eSGabriel Fernandez  * Copyright (C) STMicroelectronics 2022 - All Rights Reserved
419a4632eSGabriel Fernandez  * Author: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
519a4632eSGabriel Fernandez  */
619a4632eSGabriel Fernandez 
719a4632eSGabriel Fernandez #ifndef _DT_BINDINGS_CLOCK_STM32MP13_CLKSRC_H_
819a4632eSGabriel Fernandez #define _DT_BINDINGS_CLOCK_STM32MP13_CLKSRC_H_
919a4632eSGabriel Fernandez 
1019a4632eSGabriel Fernandez #define CMD_DIV		0
1119a4632eSGabriel Fernandez #define CMD_MUX		1
1219a4632eSGabriel Fernandez #define CMD_CLK		2
1319a4632eSGabriel Fernandez 
1419a4632eSGabriel Fernandez #define CMD_SHIFT	26
1519a4632eSGabriel Fernandez #define CMD_MASK	0xFC000000
1619a4632eSGabriel Fernandez #define CMD_DATA_MASK	0x03FFFFFF
1719a4632eSGabriel Fernandez 
1819a4632eSGabriel Fernandez #define DIV_ID_SHIFT	8
1919a4632eSGabriel Fernandez #define DIV_ID_MASK	0x0000FF00
2019a4632eSGabriel Fernandez 
2119a4632eSGabriel Fernandez #define DIV_DIVN_SHIFT	0
2219a4632eSGabriel Fernandez #define DIV_DIVN_MASK	0x000000FF
2319a4632eSGabriel Fernandez 
2419a4632eSGabriel Fernandez #define MUX_ID_SHIFT	4
2519a4632eSGabriel Fernandez #define MUX_ID_MASK	0x00000FF0
2619a4632eSGabriel Fernandez 
2719a4632eSGabriel Fernandez #define MUX_SEL_SHIFT	0
2819a4632eSGabriel Fernandez #define MUX_SEL_MASK	0x0000000F
2919a4632eSGabriel Fernandez 
3019a4632eSGabriel Fernandez #define CLK_ID_MASK	GENMASK_32(19, 11)
3119a4632eSGabriel Fernandez #define CLK_ID_SHIFT	11
3219a4632eSGabriel Fernandez #define CLK_ON_MASK	0x00000400
3319a4632eSGabriel Fernandez #define CLK_ON_SHIFT	10
3419a4632eSGabriel Fernandez #define CLK_DIV_MASK	GENMASK_32(9, 4)
3519a4632eSGabriel Fernandez #define CLK_DIV_SHIFT	4
3619a4632eSGabriel Fernandez #define CLK_SEL_MASK	GENMASK_32(3, 0)
3719a4632eSGabriel Fernandez #define CLK_SEL_SHIFT	0
3819a4632eSGabriel Fernandez 
3919a4632eSGabriel Fernandez #define DIV_PLL1DIVP	0
4019a4632eSGabriel Fernandez #define DIV_PLL2DIVP	1
4119a4632eSGabriel Fernandez #define DIV_PLL2DIVQ	2
4219a4632eSGabriel Fernandez #define DIV_PLL2DIVR	3
4319a4632eSGabriel Fernandez #define DIV_PLL3DIVP	4
4419a4632eSGabriel Fernandez #define DIV_PLL3DIVQ	5
4519a4632eSGabriel Fernandez #define DIV_PLL3DIVR	6
4619a4632eSGabriel Fernandez #define DIV_PLL4DIVP	7
4719a4632eSGabriel Fernandez #define DIV_PLL4DIVQ	8
4819a4632eSGabriel Fernandez #define DIV_PLL4DIVR	9
4919a4632eSGabriel Fernandez #define DIV_MPU		10
5019a4632eSGabriel Fernandez #define DIV_AXI		11
5119a4632eSGabriel Fernandez #define DIV_MLAHB	12
5219a4632eSGabriel Fernandez #define DIV_APB1	13
5319a4632eSGabriel Fernandez #define DIV_APB2	14
5419a4632eSGabriel Fernandez #define DIV_APB3	15
5519a4632eSGabriel Fernandez #define DIV_APB4	16
5619a4632eSGabriel Fernandez #define DIV_APB5	17
5719a4632eSGabriel Fernandez #define DIV_APB6	18
5819a4632eSGabriel Fernandez #define DIV_RTC		19
5919a4632eSGabriel Fernandez #define DIV_MCO1	20
6019a4632eSGabriel Fernandez #define DIV_MCO2	21
6119a4632eSGabriel Fernandez #define DIV_HSI		22
6219a4632eSGabriel Fernandez #define DIV_TRACE	23
6319a4632eSGabriel Fernandez #define DIV_ETH1PTP	24
6419a4632eSGabriel Fernandez #define DIV_ETH2PTP	25
6519a4632eSGabriel Fernandez #define DIV_NB		26
6619a4632eSGabriel Fernandez 
6719a4632eSGabriel Fernandez #define DIV(div_id, div)	((CMD_DIV << CMD_SHIFT) |\
6819a4632eSGabriel Fernandez 				 ((div_id) << DIV_ID_SHIFT) |\
6919a4632eSGabriel Fernandez 				 (div))
7019a4632eSGabriel Fernandez 
7119a4632eSGabriel Fernandez #define CLKSRC(mux_id, sel)	((CMD_MUX << CMD_SHIFT) |\
7219a4632eSGabriel Fernandez 				 ((mux_id) << MUX_ID_SHIFT) |\
7319a4632eSGabriel Fernandez 				 (sel))
7419a4632eSGabriel Fernandez 
7519a4632eSGabriel Fernandez /* CLK output is enable */
7619a4632eSGabriel Fernandez #define CLK_SRC(clk_id, sel)	((CMD_CLK << CMD_SHIFT) |\
7719a4632eSGabriel Fernandez 				 ((clk_id) << CLK_ID_SHIFT) |\
7819a4632eSGabriel Fernandez 				 (sel) | CLK_ON_MASK)
7919a4632eSGabriel Fernandez 
8019a4632eSGabriel Fernandez #define CLK_DISABLED(clk_id)	((CMD_CLK << CMD_SHIFT) |\
8119a4632eSGabriel Fernandez 				 ((clk_id) << CLK_ID_SHIFT))
8219a4632eSGabriel Fernandez 
8319a4632eSGabriel Fernandez #define MUX_MPU			0
8419a4632eSGabriel Fernandez #define MUX_AXI			1
8519a4632eSGabriel Fernandez #define MUX_MLAHB		2
8619a4632eSGabriel Fernandez #define MUX_PLL12		3
8719a4632eSGabriel Fernandez #define MUX_PLL3		4
8819a4632eSGabriel Fernandez #define MUX_PLL4		5
8919a4632eSGabriel Fernandez #define MUX_RTC			6
9019a4632eSGabriel Fernandez #define MUX_MCO1		7
9119a4632eSGabriel Fernandez #define MUX_MCO2		8
9219a4632eSGabriel Fernandez #define MUX_CKPER		9
9319a4632eSGabriel Fernandez #define MUX_ADC1		10
9419a4632eSGabriel Fernandez #define MUX_ADC2		11
9519a4632eSGabriel Fernandez #define MUX_DCMIPP		12
9619a4632eSGabriel Fernandez #define MUX_ETH1		13
9719a4632eSGabriel Fernandez #define MUX_ETH2		14
9819a4632eSGabriel Fernandez #define MUX_FDCAN		15
9919a4632eSGabriel Fernandez #define MUX_FMC			16
10019a4632eSGabriel Fernandez #define MUX_I2C12		17
10119a4632eSGabriel Fernandez #define MUX_I2C3		18
10219a4632eSGabriel Fernandez #define MUX_I2C4		19
10319a4632eSGabriel Fernandez #define MUX_I2C5		20
10419a4632eSGabriel Fernandez #define MUX_LPTIM1		21
10519a4632eSGabriel Fernandez #define MUX_LPTIM2		22
10619a4632eSGabriel Fernandez #define MUX_LPTIM3		23
10719a4632eSGabriel Fernandez #define MUX_LPTIM45		24
10819a4632eSGabriel Fernandez #define MUX_QSPI		25
10919a4632eSGabriel Fernandez #define MUX_RNG1		26
11019a4632eSGabriel Fernandez #define MUX_SAES		27
11119a4632eSGabriel Fernandez #define MUX_SAI1		28
11219a4632eSGabriel Fernandez #define MUX_SAI2		29
11319a4632eSGabriel Fernandez #define MUX_SDMMC1		30
11419a4632eSGabriel Fernandez #define MUX_SDMMC2		31
11519a4632eSGabriel Fernandez #define MUX_SPDIF		32
11619a4632eSGabriel Fernandez #define MUX_SPI1		33
11719a4632eSGabriel Fernandez #define MUX_SPI23		34
11819a4632eSGabriel Fernandez #define MUX_SPI4		35
11919a4632eSGabriel Fernandez #define MUX_SPI5		36
12019a4632eSGabriel Fernandez #define MUX_STGEN		37
12119a4632eSGabriel Fernandez #define MUX_UART1		38
12219a4632eSGabriel Fernandez #define MUX_UART2		39
12319a4632eSGabriel Fernandez #define MUX_UART35		40
12419a4632eSGabriel Fernandez #define MUX_UART4		41
12519a4632eSGabriel Fernandez #define MUX_UART6		42
12619a4632eSGabriel Fernandez #define MUX_UART78		43
12719a4632eSGabriel Fernandez #define MUX_USBO		44
12819a4632eSGabriel Fernandez #define MUX_USBPHY		45
12919a4632eSGabriel Fernandez #define MUX_NB			46
13019a4632eSGabriel Fernandez 
13119a4632eSGabriel Fernandez /* ADC MUX is the first Kernel MUX */
13219a4632eSGabriel Fernandez #define MUX_KERNEL_BEGIN	MUX_ADC1
13319a4632eSGabriel Fernandez 
13419a4632eSGabriel Fernandez #define CLK_MPU_HSI		CLKSRC(MUX_MPU, 0)
13519a4632eSGabriel Fernandez #define CLK_MPU_HSE		CLKSRC(MUX_MPU, 1)
13619a4632eSGabriel Fernandez #define CLK_MPU_PLL1P		CLKSRC(MUX_MPU, 2)
13719a4632eSGabriel Fernandez #define CLK_MPU_PLL1P_DIV	CLKSRC(MUX_MPU, 3)
13819a4632eSGabriel Fernandez 
13919a4632eSGabriel Fernandez #define CLK_AXI_HSI		CLKSRC(MUX_AXI, 0)
14019a4632eSGabriel Fernandez #define CLK_AXI_HSE		CLKSRC(MUX_AXI, 1)
14119a4632eSGabriel Fernandez #define CLK_AXI_PLL2P		CLKSRC(MUX_AXI, 2)
14219a4632eSGabriel Fernandez 
14319a4632eSGabriel Fernandez #define CLK_MLAHBS_HSI		CLKSRC(MUX_MLAHB, 0)
14419a4632eSGabriel Fernandez #define CLK_MLAHBS_HSE		CLKSRC(MUX_MLAHB, 1)
14519a4632eSGabriel Fernandez #define CLK_MLAHBS_CSI		CLKSRC(MUX_MLAHB, 2)
14619a4632eSGabriel Fernandez #define CLK_MLAHBS_PLL3		CLKSRC(MUX_MLAHB, 3)
14719a4632eSGabriel Fernandez 
14819a4632eSGabriel Fernandez #define CLK_PLL12_HSI		CLKSRC(MUX_PLL12, 0)
14919a4632eSGabriel Fernandez #define CLK_PLL12_HSE		CLKSRC(MUX_PLL12, 1)
15019a4632eSGabriel Fernandez 
15119a4632eSGabriel Fernandez #define CLK_PLL3_HSI		CLKSRC(MUX_PLL3, 0)
15219a4632eSGabriel Fernandez #define CLK_PLL3_HSE		CLKSRC(MUX_PLL3, 1)
15319a4632eSGabriel Fernandez #define CLK_PLL3_CSI		CLKSRC(MUX_PLL3, 2)
15419a4632eSGabriel Fernandez 
15519a4632eSGabriel Fernandez #define CLK_PLL4_HSI		CLKSRC(MUX_PLL4, 0)
15619a4632eSGabriel Fernandez #define CLK_PLL4_HSE		CLKSRC(MUX_PLL4, 1)
15719a4632eSGabriel Fernandez #define CLK_PLL4_CSI		CLKSRC(MUX_PLL4, 2)
15819a4632eSGabriel Fernandez 
159*bd64a3f4SGabriel Fernandez #define CLK_RTC_DISABLED	CLKSRC(MUX_RTC, 0)
160*bd64a3f4SGabriel Fernandez #define CLK_RTC_LSE		CLKSRC(MUX_RTC, 1)
161*bd64a3f4SGabriel Fernandez #define CLK_RTC_LSI		CLKSRC(MUX_RTC, 2)
162*bd64a3f4SGabriel Fernandez #define CLK_RTC_HSE		CLKSRC(MUX_RTC, 3)
16319a4632eSGabriel Fernandez 
16419a4632eSGabriel Fernandez #define CLK_MCO1_HSI		CLK_SRC(CK_MCO1, 0)
16519a4632eSGabriel Fernandez #define CLK_MCO1_HSE		CLK_SRC(CK_MCO1, 1)
16619a4632eSGabriel Fernandez #define CLK_MCO1_CSI		CLK_SRC(CK_MCO1, 2)
16719a4632eSGabriel Fernandez #define CLK_MCO1_LSI		CLK_SRC(CK_MCO1, 3)
16819a4632eSGabriel Fernandez #define CLK_MCO1_LSE		CLK_SRC(CK_MCO1, 4)
16919a4632eSGabriel Fernandez #define CLK_MCO1_DISABLED	CLK_DISABLED(CK_MCO1)
17019a4632eSGabriel Fernandez 
17119a4632eSGabriel Fernandez #define CLK_MCO2_MPU		CLK_SRC(CK_MCO2, 0)
17219a4632eSGabriel Fernandez #define CLK_MCO2_AXI		CLK_SRC(CK_MCO2, 1)
17319a4632eSGabriel Fernandez #define CLK_MCO2_MLAHB		CLK_SRC(CK_MCO2, 2)
17419a4632eSGabriel Fernandez #define CLK_MCO2_PLL4		CLK_SRC(CK_MCO2, 3)
17519a4632eSGabriel Fernandez #define CLK_MCO2_HSE		CLK_SRC(CK_MCO2, 4)
17619a4632eSGabriel Fernandez #define CLK_MCO2_HSI		CLK_SRC(CK_MCO2, 5)
17719a4632eSGabriel Fernandez #define CLK_MCO2_DISABLED	CLK_DISABLED(CK_MCO2)
17819a4632eSGabriel Fernandez 
17919a4632eSGabriel Fernandez #define CLK_CKPER_HSI		CLKSRC(MUX_CKPER, 0)
18019a4632eSGabriel Fernandez #define CLK_CKPER_CSI		CLKSRC(MUX_CKPER, 1)
18119a4632eSGabriel Fernandez #define CLK_CKPER_HSE		CLKSRC(MUX_CKPER, 2)
18219a4632eSGabriel Fernandez #define CLK_CKPER_DISABLED	CLKSRC(MUX_CKPER, 3)
18319a4632eSGabriel Fernandez 
18419a4632eSGabriel Fernandez #define CLK_I2C12_PCLK1		CLKSRC(MUX_I2C12, 0)
18519a4632eSGabriel Fernandez #define CLK_I2C12_PLL4R		CLKSRC(MUX_I2C12, 1)
18619a4632eSGabriel Fernandez #define CLK_I2C12_HSI		CLKSRC(MUX_I2C12, 2)
18719a4632eSGabriel Fernandez #define CLK_I2C12_CSI		CLKSRC(MUX_I2C12, 3)
18819a4632eSGabriel Fernandez 
18919a4632eSGabriel Fernandez #define CLK_I2C3_PCLK6		CLKSRC(MUX_I2C3, 0)
19019a4632eSGabriel Fernandez #define CLK_I2C3_PLL4R		CLKSRC(MUX_I2C3, 1)
19119a4632eSGabriel Fernandez #define CLK_I2C3_HSI		CLKSRC(MUX_I2C3, 2)
19219a4632eSGabriel Fernandez #define CLK_I2C3_CSI		CLKSRC(MUX_I2C3, 3)
19319a4632eSGabriel Fernandez 
19419a4632eSGabriel Fernandez #define CLK_I2C4_PCLK6		CLKSRC(MUX_I2C4, 0)
19519a4632eSGabriel Fernandez #define CLK_I2C4_PLL4R		CLKSRC(MUX_I2C4, 1)
19619a4632eSGabriel Fernandez #define CLK_I2C4_HSI		CLKSRC(MUX_I2C4, 2)
19719a4632eSGabriel Fernandez #define CLK_I2C4_CSI		CLKSRC(MUX_I2C4, 3)
19819a4632eSGabriel Fernandez 
19919a4632eSGabriel Fernandez #define CLK_I2C5_PCLK6		CLKSRC(MUX_I2C5, 0)
20019a4632eSGabriel Fernandez #define CLK_I2C5_PLL4R		CLKSRC(MUX_I2C5, 1)
20119a4632eSGabriel Fernandez #define CLK_I2C5_HSI		CLKSRC(MUX_I2C5, 2)
20219a4632eSGabriel Fernandez #define CLK_I2C5_CSI		CLKSRC(MUX_I2C5, 3)
20319a4632eSGabriel Fernandez 
20419a4632eSGabriel Fernandez #define CLK_SPI1_PLL4P		CLKSRC(MUX_SPI1, 0)
20519a4632eSGabriel Fernandez #define CLK_SPI1_PLL3Q		CLKSRC(MUX_SPI1, 1)
20619a4632eSGabriel Fernandez #define CLK_SPI1_I2SCKIN	CLKSRC(MUX_SPI1, 2)
20719a4632eSGabriel Fernandez #define CLK_SPI1_CKPER		CLKSRC(MUX_SPI1, 3)
20819a4632eSGabriel Fernandez #define CLK_SPI1_PLL3R		CLKSRC(MUX_SPI1, 4)
20919a4632eSGabriel Fernandez 
21019a4632eSGabriel Fernandez #define CLK_SPI23_PLL4P		CLKSRC(MUX_SPI23, 0)
21119a4632eSGabriel Fernandez #define CLK_SPI23_PLL3Q		CLKSRC(MUX_SPI23, 1)
21219a4632eSGabriel Fernandez #define CLK_SPI23_I2SCKIN	CLKSRC(MUX_SPI23, 2)
21319a4632eSGabriel Fernandez #define CLK_SPI23_CKPER		CLKSRC(MUX_SPI23, 3)
21419a4632eSGabriel Fernandez #define CLK_SPI23_PLL3R		CLKSRC(MUX_SPI23, 4)
21519a4632eSGabriel Fernandez 
21619a4632eSGabriel Fernandez #define CLK_SPI4_PCLK6		CLKSRC(MUX_SPI4, 0)
21719a4632eSGabriel Fernandez #define CLK_SPI4_PLL4Q		CLKSRC(MUX_SPI4, 1)
21819a4632eSGabriel Fernandez #define CLK_SPI4_HSI		CLKSRC(MUX_SPI4, 2)
21919a4632eSGabriel Fernandez #define CLK_SPI4_CSI		CLKSRC(MUX_SPI4, 3)
22019a4632eSGabriel Fernandez #define CLK_SPI4_HSE		CLKSRC(MUX_SPI4, 4)
22119a4632eSGabriel Fernandez #define CLK_SPI4_I2SCKIN	CLKSRC(MUX_SPI4, 5)
22219a4632eSGabriel Fernandez 
22319a4632eSGabriel Fernandez #define CLK_SPI5_PCLK6		CLKSRC(MUX_SPI5, 0)
22419a4632eSGabriel Fernandez #define CLK_SPI5_PLL4Q		CLKSRC(MUX_SPI5, 1)
22519a4632eSGabriel Fernandez #define CLK_SPI5_HSI		CLKSRC(MUX_SPI5, 2)
22619a4632eSGabriel Fernandez #define CLK_SPI5_CSI		CLKSRC(MUX_SPI5, 3)
22719a4632eSGabriel Fernandez #define CLK_SPI5_HSE		CLKSRC(MUX_SPI5, 4)
22819a4632eSGabriel Fernandez 
22919a4632eSGabriel Fernandez #define CLK_UART1_PCLK6		CLKSRC(MUX_UART1, 0)
23019a4632eSGabriel Fernandez #define CLK_UART1_PLL3Q		CLKSRC(MUX_UART1, 1)
23119a4632eSGabriel Fernandez #define CLK_UART1_HSI		CLKSRC(MUX_UART1, 2)
23219a4632eSGabriel Fernandez #define CLK_UART1_CSI		CLKSRC(MUX_UART1, 3)
23319a4632eSGabriel Fernandez #define CLK_UART1_PLL4Q		CLKSRC(MUX_UART1, 4)
23419a4632eSGabriel Fernandez #define CLK_UART1_HSE		CLKSRC(MUX_UART1, 5)
23519a4632eSGabriel Fernandez 
23619a4632eSGabriel Fernandez #define CLK_UART2_PCLK6		CLKSRC(MUX_UART2, 0)
23719a4632eSGabriel Fernandez #define CLK_UART2_PLL3Q		CLKSRC(MUX_UART2, 1)
23819a4632eSGabriel Fernandez #define CLK_UART2_HSI		CLKSRC(MUX_UART2, 2)
23919a4632eSGabriel Fernandez #define CLK_UART2_CSI		CLKSRC(MUX_UART2, 3)
24019a4632eSGabriel Fernandez #define CLK_UART2_PLL4Q		CLKSRC(MUX_UART2, 4)
24119a4632eSGabriel Fernandez #define CLK_UART2_HSE		CLKSRC(MUX_UART2, 5)
24219a4632eSGabriel Fernandez 
24319a4632eSGabriel Fernandez #define CLK_UART35_PCLK1	CLKSRC(MUX_UART35, 0)
24419a4632eSGabriel Fernandez #define CLK_UART35_PLL4Q	CLKSRC(MUX_UART35, 1)
24519a4632eSGabriel Fernandez #define CLK_UART35_HSI		CLKSRC(MUX_UART35, 2)
24619a4632eSGabriel Fernandez #define CLK_UART35_CSI		CLKSRC(MUX_UART35, 3)
24719a4632eSGabriel Fernandez #define CLK_UART35_HSE		CLKSRC(MUX_UART35, 4)
24819a4632eSGabriel Fernandez 
24919a4632eSGabriel Fernandez #define CLK_UART4_PCLK1		CLKSRC(MUX_UART4, 0)
25019a4632eSGabriel Fernandez #define CLK_UART4_PLL4Q		CLKSRC(MUX_UART4, 1)
25119a4632eSGabriel Fernandez #define CLK_UART4_HSI		CLKSRC(MUX_UART4, 2)
25219a4632eSGabriel Fernandez #define CLK_UART4_CSI		CLKSRC(MUX_UART4, 3)
25319a4632eSGabriel Fernandez #define CLK_UART4_HSE		CLKSRC(MUX_UART4, 4)
25419a4632eSGabriel Fernandez 
25519a4632eSGabriel Fernandez #define CLK_UART6_PCLK2		CLKSRC(MUX_UART6, 0)
25619a4632eSGabriel Fernandez #define CLK_UART6_PLL4Q		CLKSRC(MUX_UART6, 1)
25719a4632eSGabriel Fernandez #define CLK_UART6_HSI		CLKSRC(MUX_UART6, 2)
25819a4632eSGabriel Fernandez #define CLK_UART6_CSI		CLKSRC(MUX_UART6, 3)
25919a4632eSGabriel Fernandez #define CLK_UART6_HSE		CLKSRC(MUX_UART6, 4)
26019a4632eSGabriel Fernandez 
26119a4632eSGabriel Fernandez #define CLK_UART78_PCLK1	CLKSRC(MUX_UART78, 0)
26219a4632eSGabriel Fernandez #define CLK_UART78_PLL4Q	CLKSRC(MUX_UART78, 1)
26319a4632eSGabriel Fernandez #define CLK_UART78_HSI		CLKSRC(MUX_UART78, 2)
26419a4632eSGabriel Fernandez #define CLK_UART78_CSI		CLKSRC(MUX_UART78, 3)
26519a4632eSGabriel Fernandez #define CLK_UART78_HSE		CLKSRC(MUX_UART78, 4)
26619a4632eSGabriel Fernandez 
26719a4632eSGabriel Fernandez #define CLK_LPTIM1_PCLK1	CLKSRC(MUX_LPTIM1, 0)
26819a4632eSGabriel Fernandez #define CLK_LPTIM1_PLL4P	CLKSRC(MUX_LPTIM1, 1)
26919a4632eSGabriel Fernandez #define CLK_LPTIM1_PLL3Q	CLKSRC(MUX_LPTIM1, 2)
27019a4632eSGabriel Fernandez #define CLK_LPTIM1_LSE		CLKSRC(MUX_LPTIM1, 3)
27119a4632eSGabriel Fernandez #define CLK_LPTIM1_LSI		CLKSRC(MUX_LPTIM1, 4)
27219a4632eSGabriel Fernandez #define CLK_LPTIM1_CKPER	CLKSRC(MUX_LPTIM1, 5)
27319a4632eSGabriel Fernandez 
27419a4632eSGabriel Fernandez #define CLK_LPTIM2_PCLK3	CLKSRC(MUX_LPTIM2, 0)
27519a4632eSGabriel Fernandez #define CLK_LPTIM2_PLL4Q	CLKSRC(MUX_LPTIM2, 1)
27619a4632eSGabriel Fernandez #define CLK_LPTIM2_CKPER	CLKSRC(MUX_LPTIM2, 2)
27719a4632eSGabriel Fernandez #define CLK_LPTIM2_LSE		CLKSRC(MUX_LPTIM2, 3)
27819a4632eSGabriel Fernandez #define CLK_LPTIM2_LSI		CLKSRC(MUX_LPTIM2, 4)
27919a4632eSGabriel Fernandez 
28019a4632eSGabriel Fernandez #define CLK_LPTIM3_PCLK3	CLKSRC(MUX_LPTIM3, 0)
28119a4632eSGabriel Fernandez #define CLK_LPTIM3_PLL4Q	CLKSRC(MUX_LPTIM3, 1)
28219a4632eSGabriel Fernandez #define CLK_LPTIM3_CKPER	CLKSRC(MUX_LPTIM3, 2)
28319a4632eSGabriel Fernandez #define CLK_LPTIM3_LSE		CLKSRC(MUX_LPTIM3, 3)
28419a4632eSGabriel Fernandez #define CLK_LPTIM3_LSI		CLKSRC(MUX_LPTIM3, 4)
28519a4632eSGabriel Fernandez 
28619a4632eSGabriel Fernandez #define CLK_LPTIM45_PCLK3	CLKSRC(MUX_LPTIM45, 0)
28719a4632eSGabriel Fernandez #define CLK_LPTIM45_PLL4P	CLKSRC(MUX_LPTIM45, 1)
28819a4632eSGabriel Fernandez #define CLK_LPTIM45_PLL3Q	CLKSRC(MUX_LPTIM45, 2)
28919a4632eSGabriel Fernandez #define CLK_LPTIM45_LSE		CLKSRC(MUX_LPTIM45, 3)
29019a4632eSGabriel Fernandez #define CLK_LPTIM45_LSI		CLKSRC(MUX_LPTIM45, 4)
29119a4632eSGabriel Fernandez #define CLK_LPTIM45_CKPER	CLKSRC(MUX_LPTIM45, 5)
29219a4632eSGabriel Fernandez 
29319a4632eSGabriel Fernandez #define CLK_SAI1_PLL4Q		CLKSRC(MUX_SAI1, 0)
29419a4632eSGabriel Fernandez #define CLK_SAI1_PLL3Q		CLKSRC(MUX_SAI1, 1)
29519a4632eSGabriel Fernandez #define CLK_SAI1_I2SCKIN	CLKSRC(MUX_SAI1, 2)
29619a4632eSGabriel Fernandez #define CLK_SAI1_CKPER		CLKSRC(MUX_SAI1, 3)
29719a4632eSGabriel Fernandez #define CLK_SAI1_PLL3R		CLKSRC(MUX_SAI1, 4)
29819a4632eSGabriel Fernandez 
29919a4632eSGabriel Fernandez #define CLK_SAI2_PLL4Q		CLKSRC(MUX_SAI2, 0)
30019a4632eSGabriel Fernandez #define CLK_SAI2_PLL3Q		CLKSRC(MUX_SAI2, 1)
30119a4632eSGabriel Fernandez #define CLK_SAI2_I2SCKIN	CLKSRC(MUX_SAI2, 2)
30219a4632eSGabriel Fernandez #define CLK_SAI2_CKPER		CLKSRC(MUX_SAI2, 3)
30319a4632eSGabriel Fernandez #define CLK_SAI2_SPDIF		CLKSRC(MUX_SAI2, 4)
30419a4632eSGabriel Fernandez #define CLK_SAI2_PLL3R		CLKSRC(MUX_SAI2, 5)
30519a4632eSGabriel Fernandez 
30619a4632eSGabriel Fernandez #define CLK_FDCAN_HSE		CLKSRC(MUX_FDCAN, 0)
30719a4632eSGabriel Fernandez #define CLK_FDCAN_PLL3Q		CLKSRC(MUX_FDCAN, 1)
30819a4632eSGabriel Fernandez #define CLK_FDCAN_PLL4Q		CLKSRC(MUX_FDCAN, 2)
30919a4632eSGabriel Fernandez #define CLK_FDCAN_PLL4R		CLKSRC(MUX_FDCAN, 3)
31019a4632eSGabriel Fernandez 
31119a4632eSGabriel Fernandez #define CLK_SPDIF_PLL4P		CLKSRC(MUX_SPDIF, 0)
31219a4632eSGabriel Fernandez #define CLK_SPDIF_PLL3Q		CLKSRC(MUX_SPDIF, 1)
31319a4632eSGabriel Fernandez #define CLK_SPDIF_HSI		CLKSRC(MUX_SPDIF, 2)
31419a4632eSGabriel Fernandez 
31519a4632eSGabriel Fernandez #define CLK_ADC1_PLL4R		CLKSRC(MUX_ADC1, 0)
31619a4632eSGabriel Fernandez #define CLK_ADC1_CKPER		CLKSRC(MUX_ADC1, 1)
31719a4632eSGabriel Fernandez #define CLK_ADC1_PLL3Q		CLKSRC(MUX_ADC1, 2)
31819a4632eSGabriel Fernandez 
31919a4632eSGabriel Fernandez #define CLK_ADC2_PLL4R		CLKSRC(MUX_ADC2, 0)
32019a4632eSGabriel Fernandez #define CLK_ADC2_CKPER		CLKSRC(MUX_ADC2, 1)
32119a4632eSGabriel Fernandez #define CLK_ADC2_PLL3Q		CLKSRC(MUX_ADC2, 2)
32219a4632eSGabriel Fernandez 
32319a4632eSGabriel Fernandez #define CLK_SDMMC1_HCLK6	CLKSRC(MUX_SDMMC1, 0)
32419a4632eSGabriel Fernandez #define CLK_SDMMC1_PLL3R	CLKSRC(MUX_SDMMC1, 1)
32519a4632eSGabriel Fernandez #define CLK_SDMMC1_PLL4P	CLKSRC(MUX_SDMMC1, 2)
32619a4632eSGabriel Fernandez #define CLK_SDMMC1_HSI		CLKSRC(MUX_SDMMC1, 3)
32719a4632eSGabriel Fernandez 
32819a4632eSGabriel Fernandez #define CLK_SDMMC2_HCLK6	CLKSRC(MUX_SDMMC2, 0)
32919a4632eSGabriel Fernandez #define CLK_SDMMC2_PLL3R	CLKSRC(MUX_SDMMC2, 1)
33019a4632eSGabriel Fernandez #define CLK_SDMMC2_PLL4P	CLKSRC(MUX_SDMMC2, 2)
33119a4632eSGabriel Fernandez #define CLK_SDMMC2_HSI		CLKSRC(MUX_SDMMC2, 3)
33219a4632eSGabriel Fernandez 
33319a4632eSGabriel Fernandez #define CLK_ETH1_PLL4P		CLKSRC(MUX_ETH1, 0)
33419a4632eSGabriel Fernandez #define CLK_ETH1_PLL3Q		CLKSRC(MUX_ETH1, 1)
33519a4632eSGabriel Fernandez 
33619a4632eSGabriel Fernandez #define CLK_ETH2_PLL4P		CLKSRC(MUX_ETH2, 0)
33719a4632eSGabriel Fernandez #define CLK_ETH2_PLL3Q		CLKSRC(MUX_ETH2, 1)
33819a4632eSGabriel Fernandez 
33919a4632eSGabriel Fernandez #define CLK_USBPHY_HSE		CLKSRC(MUX_USBPHY, 0)
34019a4632eSGabriel Fernandez #define CLK_USBPHY_PLL4R	CLKSRC(MUX_USBPHY, 1)
34119a4632eSGabriel Fernandez #define CLK_USBPHY_HSE_DIV2	CLKSRC(MUX_USBPHY, 2)
34219a4632eSGabriel Fernandez 
34319a4632eSGabriel Fernandez #define CLK_USBO_PLL4R		CLKSRC(MUX_USBO, 0)
34419a4632eSGabriel Fernandez #define CLK_USBO_USBPHY		CLKSRC(MUX_USBO, 1)
34519a4632eSGabriel Fernandez 
34619a4632eSGabriel Fernandez #define CLK_QSPI_ACLK		CLKSRC(MUX_QSPI, 0)
34719a4632eSGabriel Fernandez #define CLK_QSPI_PLL3R		CLKSRC(MUX_QSPI, 1)
34819a4632eSGabriel Fernandez #define CLK_QSPI_PLL4P		CLKSRC(MUX_QSPI, 2)
34919a4632eSGabriel Fernandez #define CLK_QSPI_CKPER		CLKSRC(MUX_QSPI, 3)
35019a4632eSGabriel Fernandez 
35119a4632eSGabriel Fernandez #define CLK_FMC_ACLK		CLKSRC(MUX_FMC, 0)
35219a4632eSGabriel Fernandez #define CLK_FMC_PLL3R		CLKSRC(MUX_FMC, 1)
35319a4632eSGabriel Fernandez #define CLK_FMC_PLL4P		CLKSRC(MUX_FMC, 2)
35419a4632eSGabriel Fernandez #define CLK_FMC_CKPER		CLKSRC(MUX_FMC, 3)
35519a4632eSGabriel Fernandez 
35619a4632eSGabriel Fernandez #define CLK_RNG1_CSI		CLKSRC(MUX_RNG1, 0)
35719a4632eSGabriel Fernandez #define CLK_RNG1_PLL4R		CLKSRC(MUX_RNG1, 1)
35819a4632eSGabriel Fernandez #define CLK_RNG1_LSE		CLKSRC(MUX_RNG1, 2)
35919a4632eSGabriel Fernandez #define CLK_RNG1_LSI		CLKSRC(MUX_RNG1, 3)
36019a4632eSGabriel Fernandez 
36119a4632eSGabriel Fernandez #define CLK_STGEN_HSI		CLKSRC(MUX_STGEN, 0)
36219a4632eSGabriel Fernandez #define CLK_STGEN_HSE		CLKSRC(MUX_STGEN, 1)
36319a4632eSGabriel Fernandez 
36419a4632eSGabriel Fernandez #define CLK_DCMIPP_ACLK		CLKSRC(MUX_DCMIPP, 0)
36519a4632eSGabriel Fernandez #define CLK_DCMIPP_PLL2Q	CLKSRC(MUX_DCMIPP, 1)
36619a4632eSGabriel Fernandez #define CLK_DCMIPP_PLL4P	CLKSRC(MUX_DCMIPP, 2)
36719a4632eSGabriel Fernandez #define CLK_DCMIPP_CKPER	CLKSRC(MUX_DCMIPP, 3)
36819a4632eSGabriel Fernandez 
36919a4632eSGabriel Fernandez #define CLK_SAES_AXI		CLKSRC(MUX_SAES, 0)
37019a4632eSGabriel Fernandez #define CLK_SAES_CKPER		CLKSRC(MUX_SAES, 1)
37119a4632eSGabriel Fernandez #define CLK_SAES_PLL4R		CLKSRC(MUX_SAES, 2)
37219a4632eSGabriel Fernandez #define CLK_SAES_LSI		CLKSRC(MUX_SAES, 3)
37319a4632eSGabriel Fernandez 
37419a4632eSGabriel Fernandez /* define for st,pll /csg */
37519a4632eSGabriel Fernandez #define SSCG_MODE_CENTER_SPREAD	0
37619a4632eSGabriel Fernandez #define SSCG_MODE_DOWN_SPREAD	1
37719a4632eSGabriel Fernandez 
37819a4632eSGabriel Fernandez /* define for st,drive */
37919a4632eSGabriel Fernandez #define LSEDRV_LOWEST		0
38019a4632eSGabriel Fernandez #define LSEDRV_MEDIUM_LOW	1
38119a4632eSGabriel Fernandez #define LSEDRV_MEDIUM_HIGH	2
38219a4632eSGabriel Fernandez #define LSEDRV_HIGHEST		3
38319a4632eSGabriel Fernandez 
38419a4632eSGabriel Fernandez #endif /* _DT_BINDINGS_CLOCK_STM32MP13_CLKSRC_H_ */
385