1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2/*
3 * Copyright (c) 2021 MediaTek Inc.
4 * Author: Wenzhen.Yu <wenzhen.yu@mediatek.com>
5 * Author: Jianhui Zhao <zhaojh329@gmail.com>
6 * Author: Daniel Golle <daniel@makrotopia.org>
7 */
8
9#ifndef _DT_BINDINGS_CLK_MT7981_H
10#define _DT_BINDINGS_CLK_MT7981_H
11
12/* TOPCKGEN */
13#define CLK_TOP_CB_CKSQ_40M		0
14#define CLK_TOP_CB_M_416M		1
15#define CLK_TOP_CB_M_D2			2
16#define CLK_TOP_CB_M_D3			3
17#define CLK_TOP_M_D3_D2			4
18#define CLK_TOP_CB_M_D4			5
19#define CLK_TOP_CB_M_D8			6
20#define CLK_TOP_M_D8_D2			7
21#define CLK_TOP_CB_MM_720M		8
22#define CLK_TOP_CB_MM_D2		9
23#define CLK_TOP_CB_MM_D3		10
24#define CLK_TOP_CB_MM_D3_D5		11
25#define CLK_TOP_CB_MM_D4		12
26#define CLK_TOP_CB_MM_D6		13
27#define CLK_TOP_MM_D6_D2		14
28#define CLK_TOP_CB_MM_D8		15
29#define CLK_TOP_CB_APLL2_196M		16
30#define CLK_TOP_APLL2_D2		17
31#define CLK_TOP_APLL2_D4		18
32#define CLK_TOP_NET1_2500M		19
33#define CLK_TOP_CB_NET1_D4		20
34#define CLK_TOP_CB_NET1_D5		21
35#define CLK_TOP_NET1_D5_D2		22
36#define CLK_TOP_NET1_D5_D4		23
37#define CLK_TOP_CB_NET1_D8		24
38#define CLK_TOP_NET1_D8_D2		25
39#define CLK_TOP_NET1_D8_D4		26
40#define CLK_TOP_CB_NET2_800M		27
41#define CLK_TOP_CB_NET2_D2		28
42#define CLK_TOP_CB_NET2_D4		29
43#define CLK_TOP_NET2_D4_D2		30
44#define CLK_TOP_NET2_D4_D4		31
45#define CLK_TOP_CB_NET2_D6		32
46#define CLK_TOP_CB_WEDMCU_208M		33
47#define CLK_TOP_CB_SGM_325M		34
48#define CLK_TOP_CKSQ_40M_D2		35
49#define CLK_TOP_CB_RTC_32K		36
50#define CLK_TOP_CB_RTC_32P7K		37
51#define CLK_TOP_USB_TX250M		38
52#define CLK_TOP_FAUD			39
53#define CLK_TOP_NFI1X			40
54#define CLK_TOP_USB_EQ_RX250M		41
55#define CLK_TOP_USB_CDR_CK		42
56#define CLK_TOP_USB_LN0_CK		43
57#define CLK_TOP_SPINFI_BCK		44
58#define CLK_TOP_SPI			45
59#define CLK_TOP_SPIM_MST		46
60#define CLK_TOP_UART_BCK		47
61#define CLK_TOP_PWM_BCK			48
62#define CLK_TOP_I2C_BCK			49
63#define CLK_TOP_PEXTP_TL		50
64#define CLK_TOP_EMMC_208M		51
65#define CLK_TOP_EMMC_400M		52
66#define CLK_TOP_DRAMC_REF		53
67#define CLK_TOP_DRAMC_MD32		54
68#define CLK_TOP_SYSAXI			55
69#define CLK_TOP_SYSAPB			56
70#define CLK_TOP_ARM_DB_MAIN		57
71#define CLK_TOP_AP2CNN_HOST		58
72#define CLK_TOP_NETSYS			59
73#define CLK_TOP_NETSYS_500M		60
74#define CLK_TOP_NETSYS_WED_MCU		61
75#define CLK_TOP_NETSYS_2X		62
76#define CLK_TOP_SGM_325M		63
77#define CLK_TOP_SGM_REG			64
78#define CLK_TOP_F26M			65
79#define CLK_TOP_EIP97B			66
80#define CLK_TOP_USB3_PHY		67
81#define CLK_TOP_AUD			68
82#define CLK_TOP_A1SYS			69
83#define CLK_TOP_AUD_L			70
84#define CLK_TOP_A_TUNER			71
85#define CLK_TOP_U2U3_REF		72
86#define CLK_TOP_U2U3_SYS		73
87#define CLK_TOP_U2U3_XHCI		74
88#define CLK_TOP_USB_FRMCNT		75
89#define CLK_TOP_NFI1X_SEL		76
90#define CLK_TOP_SPINFI_SEL		77
91#define CLK_TOP_SPI_SEL			78
92#define CLK_TOP_SPIM_MST_SEL		79
93#define CLK_TOP_UART_SEL		80
94#define CLK_TOP_PWM_SEL			81
95#define CLK_TOP_I2C_SEL			82
96#define CLK_TOP_PEXTP_TL_SEL		83
97#define CLK_TOP_EMMC_208M_SEL		84
98#define CLK_TOP_EMMC_400M_SEL		85
99#define CLK_TOP_F26M_SEL		86
100#define CLK_TOP_DRAMC_SEL		87
101#define CLK_TOP_DRAMC_MD32_SEL		88
102#define CLK_TOP_SYSAXI_SEL		89
103#define CLK_TOP_SYSAPB_SEL		90
104#define CLK_TOP_ARM_DB_MAIN_SEL		91
105#define CLK_TOP_AP2CNN_HOST_SEL		92
106#define CLK_TOP_NETSYS_SEL		93
107#define CLK_TOP_NETSYS_500M_SEL		94
108#define CLK_TOP_NETSYS_MCU_SEL		95
109#define CLK_TOP_NETSYS_2X_SEL		96
110#define CLK_TOP_SGM_325M_SEL		97
111#define CLK_TOP_SGM_REG_SEL		98
112#define CLK_TOP_EIP97B_SEL		99
113#define CLK_TOP_USB3_PHY_SEL		100
114#define CLK_TOP_AUD_SEL			101
115#define CLK_TOP_A1SYS_SEL		102
116#define CLK_TOP_AUD_L_SEL		103
117#define CLK_TOP_A_TUNER_SEL		104
118#define CLK_TOP_U2U3_SEL		105
119#define CLK_TOP_U2U3_SYS_SEL		106
120#define CLK_TOP_U2U3_XHCI_SEL		107
121#define CLK_TOP_USB_FRMCNT_SEL		108
122#define CLK_TOP_AUD_I2S_M		109
123
124/* INFRACFG */
125#define CLK_INFRA_66M_MCK		0
126#define CLK_INFRA_UART0_SEL		1
127#define CLK_INFRA_UART1_SEL		2
128#define CLK_INFRA_UART2_SEL		3
129#define CLK_INFRA_SPI0_SEL		4
130#define CLK_INFRA_SPI1_SEL		5
131#define CLK_INFRA_SPI2_SEL		6
132#define CLK_INFRA_PWM1_SEL		7
133#define CLK_INFRA_PWM2_SEL		8
134#define CLK_INFRA_PWM3_SEL		9
135#define CLK_INFRA_PWM_BSEL		10
136#define CLK_INFRA_PCIE_SEL		11
137#define CLK_INFRA_GPT_STA		12
138#define CLK_INFRA_PWM_HCK		13
139#define CLK_INFRA_PWM_STA		14
140#define CLK_INFRA_PWM1_CK		15
141#define CLK_INFRA_PWM2_CK		16
142#define CLK_INFRA_PWM3_CK		17
143#define CLK_INFRA_CQ_DMA_CK		18
144#define CLK_INFRA_AUD_BUS_CK		19
145#define CLK_INFRA_AUD_26M_CK		20
146#define CLK_INFRA_AUD_L_CK		21
147#define CLK_INFRA_AUD_AUD_CK		22
148#define CLK_INFRA_AUD_EG2_CK		23
149#define CLK_INFRA_DRAMC_26M_CK		24
150#define CLK_INFRA_DBG_CK		25
151#define CLK_INFRA_AP_DMA_CK		26
152#define CLK_INFRA_SEJ_CK		27
153#define CLK_INFRA_SEJ_13M_CK		28
154#define CLK_INFRA_THERM_CK		29
155#define CLK_INFRA_I2C0_CK		30
156#define CLK_INFRA_UART0_CK		31
157#define CLK_INFRA_UART1_CK		32
158#define CLK_INFRA_UART2_CK		33
159#define CLK_INFRA_SPI2_CK		34
160#define CLK_INFRA_SPI2_HCK_CK		35
161#define CLK_INFRA_NFI1_CK		36
162#define CLK_INFRA_SPINFI1_CK		37
163#define CLK_INFRA_NFI_HCK_CK		38
164#define CLK_INFRA_SPI0_CK		39
165#define CLK_INFRA_SPI1_CK		40
166#define CLK_INFRA_SPI0_HCK_CK		41
167#define CLK_INFRA_SPI1_HCK_CK		42
168#define CLK_INFRA_FRTC_CK		43
169#define CLK_INFRA_MSDC_CK		44
170#define CLK_INFRA_MSDC_HCK_CK		45
171#define CLK_INFRA_MSDC_133M_CK		46
172#define CLK_INFRA_MSDC_66M_CK		47
173#define CLK_INFRA_ADC_26M_CK		48
174#define CLK_INFRA_ADC_FRC_CK		49
175#define CLK_INFRA_FBIST2FPC_CK		50
176#define CLK_INFRA_I2C_MCK_CK		51
177#define CLK_INFRA_I2C_PCK_CK		52
178#define CLK_INFRA_IUSB_133_CK		53
179#define CLK_INFRA_IUSB_66M_CK		54
180#define CLK_INFRA_IUSB_SYS_CK		55
181#define CLK_INFRA_IUSB_CK		56
182#define CLK_INFRA_IPCIE_CK		57
183#define CLK_INFRA_IPCIE_PIPE_CK		58
184#define CLK_INFRA_IPCIER_CK		59
185#define CLK_INFRA_IPCIEB_CK		60
186
187/* APMIXEDSYS */
188#define CLK_APMIXED_ARMPLL		0
189#define CLK_APMIXED_NET2PLL		1
190#define CLK_APMIXED_MMPLL		2
191#define CLK_APMIXED_SGMPLL		3
192#define CLK_APMIXED_WEDMCUPLL		4
193#define CLK_APMIXED_NET1PLL		5
194#define CLK_APMIXED_MPLL		6
195#define CLK_APMIXED_APLL2		7
196
197/* SGMIISYS_0 */
198#define CLK_SGM0_TX_EN			0
199#define CLK_SGM0_RX_EN			1
200#define CLK_SGM0_CK0_EN			2
201#define CLK_SGM0_CDR_CK0_EN		3
202
203/* SGMIISYS_1 */
204#define CLK_SGM1_TX_EN			0
205#define CLK_SGM1_RX_EN			1
206#define CLK_SGM1_CK1_EN			2
207#define CLK_SGM1_CDR_CK1_EN		3
208
209/* ETHSYS */
210#define CLK_ETH_FE_EN			0
211#define CLK_ETH_GP2_EN			1
212#define CLK_ETH_GP1_EN			2
213#define CLK_ETH_WOCPU0_EN		3
214
215#endif /* _DT_BINDINGS_CLK_MT7981_H */
216