xref: /optee_os/core/include/dt-bindings/clock/at91.h (revision 3006d24de21210d5be12c446bb4ff9517e3034e4)
1dd7e1845SClément Léger /* SPDX-License-Identifier: GPL-2.0-or-later or BSD-3-Clause  */
2dd7e1845SClément Léger /*
3dd7e1845SClément Léger  * Copyright (C) 2021 Microchip
4dd7e1845SClément Léger  *
5dd7e1845SClément Léger  * This header provides constants for AT91 pmc status.
6dd7e1845SClément Léger  *
7dd7e1845SClément Léger  * The constants defined in this header are being used in dts.
8dd7e1845SClément Léger  */
9dd7e1845SClément Léger 
10dd7e1845SClément Léger #ifndef _DT_BINDINGS_CLK_AT91_H
11dd7e1845SClément Léger #define _DT_BINDINGS_CLK_AT91_H
12dd7e1845SClément Léger 
13dd7e1845SClément Léger #define PMC_TYPE_CORE		0
14dd7e1845SClément Léger #define PMC_TYPE_SYSTEM		1
15dd7e1845SClément Léger #define PMC_TYPE_PERIPHERAL	2
16dd7e1845SClément Léger #define PMC_TYPE_GCK		3
17dd7e1845SClément Léger #define PMC_TYPE_PROGRAMMABLE	4
18dd7e1845SClément Léger 
19dd7e1845SClément Léger #define PMC_SLOW		0
20dd7e1845SClément Léger #define PMC_MCK			1
21dd7e1845SClément Léger #define PMC_UTMI		2
22dd7e1845SClément Léger #define PMC_MAIN		3
23dd7e1845SClément Léger #define PMC_MCK2		4
24dd7e1845SClément Léger #define PMC_I2S0_MUX		5
25dd7e1845SClément Léger #define PMC_I2S1_MUX		6
26dd7e1845SClément Léger #define PMC_PLLACK		7
27dd7e1845SClément Léger #define PMC_PLLBCK		8
28dd7e1845SClément Léger #define PMC_AUDIOPLLCK		9
29dd7e1845SClément Léger #define PMC_MCK_PRES		10
3090dee57aSClément Léger #define PMC_AUDIOPLL_FRACCK	11
3190dee57aSClément Léger #define PMC_USBCK		12
3290dee57aSClément Léger #define PMC_SAMA5D2_CORE_CLK_COUNT	13
33dd7e1845SClément Léger 
34dd7e1845SClément Léger /* SAMA7G5 */
35dd7e1845SClément Léger #define PMC_CPUPLL		(PMC_MAIN + 1)
36dd7e1845SClément Léger #define PMC_SYSPLL		(PMC_MAIN + 2)
37dd7e1845SClément Léger #define PMC_DDRPLL		(PMC_MAIN + 3)
38dd7e1845SClément Léger #define PMC_IMGPLL		(PMC_MAIN + 4)
39dd7e1845SClément Léger #define PMC_BAUDPLL		(PMC_MAIN + 5)
40dd7e1845SClément Léger #define PMC_AUDIOPMCPLL		(PMC_MAIN + 6)
41943d822aSTony Han /* Reserved for PMC_MCK_PRES */
42943d822aSTony Han #define PMC_AUDIOIOPLL		(PMC_MAIN + 8)
43943d822aSTony Han #define PMC_ETHPLL		(PMC_MAIN + 9)
44943d822aSTony Han #define PMC_MCK1		(PMC_MAIN + 10)
45943d822aSTony Han /* Reserved for MCK2, MCK3, MCK4 */
46943d822aSTony Han #define PMC_UTMI1		(PMC_MAIN + 14)
47943d822aSTony Han #define PMC_UTMI2		(PMC_MAIN + 15)
48943d822aSTony Han #define PMC_UTMI3		(PMC_MAIN + 16)
49943d822aSTony Han #define PMC_SAMA7G5_CORE_CLK_COUNT	(PMC_MAIN + 17)
50dd7e1845SClément Léger 
511e91da09SClément Léger #define AT91_SCMI_CLK_CORE_MCK		0
521e91da09SClément Léger #define AT91_SCMI_CLK_CORE_UTMI		1
531e91da09SClément Léger #define AT91_SCMI_CLK_CORE_MAIN		2
541e91da09SClément Léger #define AT91_SCMI_CLK_CORE_MCK2		3
551e91da09SClément Léger #define AT91_SCMI_CLK_CORE_I2S0_MUX	4
561e91da09SClément Léger #define AT91_SCMI_CLK_CORE_I2S1_MUX	5
571e91da09SClément Léger #define AT91_SCMI_CLK_CORE_PLLACK	6
581e91da09SClément Léger #define AT91_SCMI_CLK_CORE_PLLBCK	7
591e91da09SClément Léger #define AT91_SCMI_CLK_CORE_AUDIOPLLCK	8
601e91da09SClément Léger #define AT91_SCMI_CLK_CORE_MCK_PRES	9
611e91da09SClément Léger 
621e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_DDRCK	10
631e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_LCDCK	11
641e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_UHPCK	12
651e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_UDPCK	13
661e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_PCK0	14
671e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_PCK1	15
681e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_PCK2	16
691e91da09SClément Léger #define AT91_SCMI_CLK_SYSTEM_ISCCK	17
701e91da09SClément Léger 
711e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_MACB0_CLK		18
721e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TDES_CLK		19
731e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_MATRIX1_CLK	20
741e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_HSMC_CLK		21
751e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_PIOA_CLK		22
761e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_FLX0_CLK		23
771e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_FLX1_CLK		24
781e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_FLX2_CLK		25
791e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_FLX3_CLK		26
801e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_FLX4_CLK		27
811e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UART0_CLK		28
821e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UART1_CLK		29
831e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UART2_CLK		30
841e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UART3_CLK		31
851e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UART4_CLK		32
861e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TWI0_CLK		33
871e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TWI1_CLK		34
881e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SPI0_CLK		35
891e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SPI1_CLK		36
901e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TCB0_CLK		37
911e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TCB1_CLK		38
921e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_PWM_CLK		39
931e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_ADC_CLK		40
941e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UHPHS_CLK		41
951e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_UDPHS_CLK		42
961e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SSC0_CLK		43
971e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SSC1_CLK		44
981e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_TRNG_CLK		45
991e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_PDMIC_CLK		46
1001e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SECURAM_CLK	47
1011e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_I2S0_CLK		48
1021e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_I2S1_CLK		49
1031e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_CAN0_CLK		50
1041e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_CAN1_CLK		51
1051e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_PTC_CLK		52
1061e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_CLASSD_CLK		53
1071e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_DMA0_CLK		54
1081e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_DMA1_CLK		55
1091e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_AES_CLK		56
1101e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_AESB_CLK		57
1111e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SHA_CLK		58
1121e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_MPDDR_CLK		59
1131e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_MATRIX0_CLK	60
1141e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SDMMC0_HCLK	61
1151e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_SDMMC1_HCLK	62
1161e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_LCDC_CLK		63
1171e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_ISC_CLK		64
1181e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_QSPI0_CLK		65
1191e91da09SClément Léger #define AT91_SCMI_CLK_PERIPH_QSPI1_CLK		66
1201e91da09SClément Léger 
1211e91da09SClément Léger #define AT91_SCMI_CLK_GCK_SDMMC0_GCLK	67
1221e91da09SClément Léger #define AT91_SCMI_CLK_GCK_SDMMC1_GCLK	68
1231e91da09SClément Léger #define AT91_SCMI_CLK_GCK_TCB0_GCLK	69
1241e91da09SClément Léger #define AT91_SCMI_CLK_GCK_TCB1_GCLK	70
1251e91da09SClément Léger #define AT91_SCMI_CLK_GCK_PWM_GCLK	71
1261e91da09SClément Léger #define AT91_SCMI_CLK_GCK_ISC_GCLK	72
1271e91da09SClément Léger #define AT91_SCMI_CLK_GCK_PDMIC_GCLK	73
1281e91da09SClément Léger #define AT91_SCMI_CLK_GCK_I2S0_GCLK	74
1291e91da09SClément Léger #define AT91_SCMI_CLK_GCK_I2S1_GCLK	75
1301e91da09SClément Léger #define AT91_SCMI_CLK_GCK_CAN0_GCLK	76
1311e91da09SClément Léger #define AT91_SCMI_CLK_GCK_CAN1_GCLK	77
1321e91da09SClément Léger #define AT91_SCMI_CLK_GCK_CLASSD_GCLK	78
1331e91da09SClément Léger 
1341e91da09SClément Léger #define AT91_SCMI_CLK_PROG_PROG0	79
1351e91da09SClément Léger #define AT91_SCMI_CLK_PROG_PROG1	80
1361e91da09SClément Léger #define AT91_SCMI_CLK_PROG_PROG2	81
1371e91da09SClément Léger 
1381e91da09SClément Léger #define AT91_SCMI_CLK_SCKC_SLOWCK_32K	82
139b432ec14STony Han #define AT91_SCMI_CLK_CPU_OPP		101
1401e91da09SClément Léger 
141609ba8e3STony Han #ifdef CFG_SAMA7G5
142609ba8e3STony Han #define AT91_SCMI_CLK_CORE_CPUPLLCK		4
143609ba8e3STony Han #define AT91_SCMI_CLK_CORE_SYSPLLCK		5
144609ba8e3STony Han #define AT91_SCMI_CLK_CORE_DDRPLLCK		6
145609ba8e3STony Han #define AT91_SCMI_CLK_CORE_IMGPLLCK		7
146609ba8e3STony Han #define AT91_SCMI_CLK_CORE_ETHPLLCK		10
147609ba8e3STony Han #define AT91_SCMI_CLK_SYSTEM_PCK3		11
148609ba8e3STony Han #define AT91_SCMI_CLK_SYSTEM_PCK4		12
149609ba8e3STony Han #define AT91_SCMI_CLK_SYSTEM_PCK5		13
150609ba8e3STony Han #define AT91_SCMI_CLK_SYSTEM_PCK6		17
151609ba8e3STony Han #define AT91_SCMI_CLK_SYSTEM_PCK7		20
152609ba8e3STony Han #define AT91_SCMI_CLK_UTMI1			97
153609ba8e3STony Han #define AT91_SCMI_CLK_UTMI2			98
154609ba8e3STony Han #define AT91_SCMI_CLK_UTMI3			99
155609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_DMA2_CLK		100
156609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX5_CLK		28
157609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX6_CLK		29
158609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX7_CLK		30
159609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX8_CLK		31
160609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX9_CLK		32
161609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX10_CLK		33
162609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_FLX11_CLK		34
163609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_UDPHSB_CLK		35
164609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_PDMC1_CLK		36
165609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_UDPHSA_CLK		42
166609ba8e3STony Han #define AT91_SCMI_CLK_GCK_ADC_GCLK		40
167609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_PDMC0_CLK		46
168609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_CAN2_CLK		52
169609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_CAN3_CLK		53
170609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_CAN4_CLK		59
171609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_CAN5_CLK		60
172609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_SDMMC2_HCLK	63
173609ba8e3STony Han #define AT91_SCMI_CLK_GCK_SDMMC2_GCLK		71
174609ba8e3STony Han #define AT91_SCMI_CLK_GCK_MACB0_GCLK		72
175609ba8e3STony Han #define AT91_SCMI_CLK_GCK_MACB0_TSU		73
176609ba8e3STony Han #define AT91_SCMI_CLK_GCK_CAN2_GCLK		78
177609ba8e3STony Han #define AT91_SCMI_CLK_GCK_CAN3_GCLK		79
178609ba8e3STony Han #define AT91_SCMI_CLK_GCK_CAN4_GCLK		80
179609ba8e3STony Han #define AT91_SCMI_CLK_GCK_CAN5_GCLK		81
180609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_SPDIFRX_CLK	83
181609ba8e3STony Han #define AT91_SCMI_CLK_PERIPH_SPDIFTX_CLK	84
182609ba8e3STony Han #define AT91_SCMI_CLK_GCK_QSPI0_GCLK		85
183609ba8e3STony Han #define AT91_SCMI_CLK_GCK_QSPI1_GCLK		86
184609ba8e3STony Han #define AT91_SCMI_CLK_GCK_SPDIFRX_GCLK		87
185609ba8e3STony Han #define AT91_SCMI_CLK_GCK_SPDIFTX_GCLK		88
186eb3951bfSThomas Perrot #define AT91_SCMI_CLK_GCK_MACB1_GCLK		89
187eb3951bfSThomas Perrot #define AT91_SCMI_CLK_PERIPH_MACB1_CLK		90
188eb3951bfSThomas Perrot #define AT91_SCMI_CLK_GCK_MACB1_TSU		91
189eb3951bfSThomas Perrot #define AT91_SCMI_CLK_PERIPH_CSI_CLK		92
190eb3951bfSThomas Perrot #define AT91_SCMI_CLK_GCK_CSI_GCLK		93
191eb3951bfSThomas Perrot #define AT91_SCMI_CLK_PERIPH_CSI2DC_CLK		94
192eb3951bfSThomas Perrot #define AT91_SCMI_CLK_PERIPH_ASRC_CLK		95
193eb3951bfSThomas Perrot #define AT91_SCMI_CLK_GCK_ASRC_GCLK		96
194*3006d24dSTony Han #define AT91_SCMI_CLK_GCK_PDMC0_GCLK		102
195*3006d24dSTony Han #define AT91_SCMI_CLK_GCK_PDMC1_GCLK		103
196609ba8e3STony Han #endif
197609ba8e3STony Han 
198dd7e1845SClément Léger #endif
199