1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2/*
3 * Copyright (c) 2023 MediaTek Inc.
4 * Author: Sam Shih <sam.shih@mediatek.com>
5 * Author: Xiufeng Li <Xiufeng.Li@mediatek.com>
6 */
7
8#ifndef _DT_BINDINGS_CLK_MT7988_H
9#define _DT_BINDINGS_CLK_MT7988_H
10
11/* APMIXEDSYS */
12
13#define CLK_APMIXED_NETSYSPLL			0
14#define CLK_APMIXED_MPLL			1
15#define CLK_APMIXED_MMPLL			2
16#define CLK_APMIXED_APLL2			3
17#define CLK_APMIXED_NET1PLL			4
18#define CLK_APMIXED_NET2PLL			5
19#define CLK_APMIXED_WEDMCUPLL			6
20#define CLK_APMIXED_SGMPLL			7
21#define CLK_APMIXED_ARM_B			8
22#define CLK_APMIXED_CCIPLL2_B			9
23#define CLK_APMIXED_USXGMIIPLL			10
24#define CLK_APMIXED_MSDCPLL			11
25
26/* TOPCKGEN */
27
28#define CLK_TOP_XTAL				0
29#define CLK_TOP_XTAL_D2				1
30#define CLK_TOP_RTC_32K				2
31#define CLK_TOP_RTC_32P7K			3
32#define CLK_TOP_MPLL_D2				4
33#define CLK_TOP_MPLL_D3_D2			5
34#define CLK_TOP_MPLL_D4				6
35#define CLK_TOP_MPLL_D8				7
36#define CLK_TOP_MPLL_D8_D2			8
37#define CLK_TOP_MMPLL_D2			9
38#define CLK_TOP_MMPLL_D3_D5			10
39#define CLK_TOP_MMPLL_D4			11
40#define CLK_TOP_MMPLL_D6_D2			12
41#define CLK_TOP_MMPLL_D8			13
42#define CLK_TOP_APLL2_D4			14
43#define CLK_TOP_NET1PLL_D4			15
44#define CLK_TOP_NET1PLL_D5			16
45#define CLK_TOP_NET1PLL_D5_D2			17
46#define CLK_TOP_NET1PLL_D5_D4			18
47#define CLK_TOP_NET1PLL_D8			19
48#define CLK_TOP_NET1PLL_D8_D2			20
49#define CLK_TOP_NET1PLL_D8_D4			21
50#define CLK_TOP_NET1PLL_D8_D8			22
51#define CLK_TOP_NET1PLL_D8_D16			23
52#define CLK_TOP_NET2PLL_D2			24
53#define CLK_TOP_NET2PLL_D4			25
54#define CLK_TOP_NET2PLL_D4_D4			26
55#define CLK_TOP_NET2PLL_D4_D8			27
56#define CLK_TOP_NET2PLL_D6			28
57#define CLK_TOP_NET2PLL_D8			29
58#define CLK_TOP_NETSYS_SEL			30
59#define CLK_TOP_NETSYS_500M_SEL			31
60#define CLK_TOP_NETSYS_2X_SEL			32
61#define CLK_TOP_NETSYS_GSW_SEL			33
62#define CLK_TOP_ETH_GMII_SEL			34
63#define CLK_TOP_NETSYS_MCU_SEL			35
64#define CLK_TOP_NETSYS_PAO_2X_SEL		36
65#define CLK_TOP_EIP197_SEL			37
66#define CLK_TOP_AXI_INFRA_SEL			38
67#define CLK_TOP_UART_SEL			39
68#define CLK_TOP_EMMC_250M_SEL			40
69#define CLK_TOP_EMMC_400M_SEL			41
70#define CLK_TOP_SPI_SEL				42
71#define CLK_TOP_SPIM_MST_SEL			43
72#define CLK_TOP_NFI1X_SEL			44
73#define CLK_TOP_SPINFI_SEL			45
74#define CLK_TOP_PWM_SEL				46
75#define CLK_TOP_I2C_SEL				47
76#define CLK_TOP_PCIE_MBIST_250M_SEL		48
77#define CLK_TOP_PEXTP_TL_SEL			49
78#define CLK_TOP_PEXTP_TL_P1_SEL			50
79#define CLK_TOP_PEXTP_TL_P2_SEL			51
80#define CLK_TOP_PEXTP_TL_P3_SEL			52
81#define CLK_TOP_USB_SYS_SEL			53
82#define CLK_TOP_USB_SYS_P1_SEL			54
83#define CLK_TOP_USB_XHCI_SEL			55
84#define CLK_TOP_USB_XHCI_P1_SEL			56
85#define CLK_TOP_USB_FRMCNT_SEL			57
86#define CLK_TOP_USB_FRMCNT_P1_SEL		58
87#define CLK_TOP_AUD_SEL				59
88#define CLK_TOP_A1SYS_SEL			60
89#define CLK_TOP_AUD_L_SEL			61
90#define CLK_TOP_A_TUNER_SEL			62
91#define CLK_TOP_SSPXTP_SEL			63
92#define CLK_TOP_USB_PHY_SEL			64
93#define CLK_TOP_USXGMII_SBUS_0_SEL		65
94#define CLK_TOP_USXGMII_SBUS_1_SEL		66
95#define CLK_TOP_SGM_0_SEL			67
96#define CLK_TOP_SGM_SBUS_0_SEL			68
97#define CLK_TOP_SGM_1_SEL			69
98#define CLK_TOP_SGM_SBUS_1_SEL			70
99#define CLK_TOP_XFI_PHY_0_XTAL_SEL		71
100#define CLK_TOP_XFI_PHY_1_XTAL_SEL		72
101#define CLK_TOP_SYSAXI_SEL			73
102#define CLK_TOP_SYSAPB_SEL			74
103#define CLK_TOP_ETH_REFCK_50M_SEL		75
104#define CLK_TOP_ETH_SYS_200M_SEL		76
105#define CLK_TOP_ETH_SYS_SEL			77
106#define CLK_TOP_ETH_XGMII_SEL			78
107#define CLK_TOP_BUS_TOPS_SEL			79
108#define CLK_TOP_NPU_TOPS_SEL			80
109#define CLK_TOP_DRAMC_SEL			81
110#define CLK_TOP_DRAMC_MD32_SEL			82
111#define CLK_TOP_INFRA_F26M_SEL			83
112#define CLK_TOP_PEXTP_P0_SEL			84
113#define CLK_TOP_PEXTP_P1_SEL			85
114#define CLK_TOP_PEXTP_P2_SEL			86
115#define CLK_TOP_PEXTP_P3_SEL			87
116#define CLK_TOP_DA_XTP_GLB_P0_SEL		88
117#define CLK_TOP_DA_XTP_GLB_P1_SEL		89
118#define CLK_TOP_DA_XTP_GLB_P2_SEL		90
119#define CLK_TOP_DA_XTP_GLB_P3_SEL		91
120#define CLK_TOP_CKM_SEL				92
121#define CLK_TOP_DA_SEL				93
122#define CLK_TOP_PEXTP_SEL			94
123#define CLK_TOP_TOPS_P2_26M_SEL			95
124#define CLK_TOP_MCUSYS_BACKUP_625M_SEL		96
125#define CLK_TOP_NETSYS_SYNC_250M_SEL		97
126#define CLK_TOP_MACSEC_SEL			98
127#define CLK_TOP_NETSYS_TOPS_400M_SEL		99
128#define CLK_TOP_NETSYS_PPEFB_250M_SEL		100
129#define CLK_TOP_NETSYS_WARP_SEL			101
130#define CLK_TOP_ETH_MII_SEL			102
131#define CLK_TOP_NPU_SEL				103
132#define CLK_TOP_AUD_I2S_M			104
133
134/* MCUSYS */
135
136#define CLK_MCU_BUS_DIV_SEL			0
137#define CLK_MCU_ARM_DIV_SEL			1
138
139/* INFRACFG_AO */
140
141#define CLK_INFRA_MUX_UART0_SEL			0
142#define CLK_INFRA_MUX_UART1_SEL			1
143#define CLK_INFRA_MUX_UART2_SEL			2
144#define CLK_INFRA_MUX_SPI0_SEL			3
145#define CLK_INFRA_MUX_SPI1_SEL			4
146#define CLK_INFRA_MUX_SPI2_SEL			5
147#define CLK_INFRA_PWM_SEL			6
148#define CLK_INFRA_PWM_CK1_SEL			7
149#define CLK_INFRA_PWM_CK2_SEL			8
150#define CLK_INFRA_PWM_CK3_SEL			9
151#define CLK_INFRA_PWM_CK4_SEL			10
152#define CLK_INFRA_PWM_CK5_SEL			11
153#define CLK_INFRA_PWM_CK6_SEL			12
154#define CLK_INFRA_PWM_CK7_SEL			13
155#define CLK_INFRA_PWM_CK8_SEL			14
156#define CLK_INFRA_PCIE_GFMUX_TL_O_P0_SEL	15
157#define CLK_INFRA_PCIE_GFMUX_TL_O_P1_SEL	16
158#define CLK_INFRA_PCIE_GFMUX_TL_O_P2_SEL	17
159#define CLK_INFRA_PCIE_GFMUX_TL_O_P3_SEL	18
160
161/* INFRACFG */
162
163#define CLK_INFRA_PCIE_PERI_26M_CK_P0		19
164#define CLK_INFRA_PCIE_PERI_26M_CK_P1		20
165#define CLK_INFRA_PCIE_PERI_26M_CK_P2		21
166#define CLK_INFRA_PCIE_PERI_26M_CK_P3		22
167#define CLK_INFRA_66M_GPT_BCK			23
168#define CLK_INFRA_66M_PWM_HCK			24
169#define CLK_INFRA_66M_PWM_BCK			25
170#define CLK_INFRA_66M_PWM_CK1			26
171#define CLK_INFRA_66M_PWM_CK2			27
172#define CLK_INFRA_66M_PWM_CK3			28
173#define CLK_INFRA_66M_PWM_CK4			29
174#define CLK_INFRA_66M_PWM_CK5			30
175#define CLK_INFRA_66M_PWM_CK6			31
176#define CLK_INFRA_66M_PWM_CK7			32
177#define CLK_INFRA_66M_PWM_CK8			33
178#define CLK_INFRA_133M_CQDMA_BCK		34
179#define CLK_INFRA_66M_AUD_SLV_BCK		35
180#define CLK_INFRA_AUD_26M			36
181#define CLK_INFRA_AUD_L				37
182#define CLK_INFRA_AUD_AUD			38
183#define CLK_INFRA_AUD_EG2			39
184#define CLK_INFRA_DRAMC_F26M			40
185#define CLK_INFRA_133M_DBG_ACKM			41
186#define CLK_INFRA_66M_AP_DMA_BCK		42
187#define CLK_INFRA_66M_SEJ_BCK			43
188#define CLK_INFRA_PRE_CK_SEJ_F13M		44
189#define CLK_INFRA_26M_THERM_SYSTEM		45
190#define CLK_INFRA_I2C_BCK			46
191#define CLK_INFRA_52M_UART0_CK			47
192#define CLK_INFRA_52M_UART1_CK			48
193#define CLK_INFRA_52M_UART2_CK			49
194#define CLK_INFRA_NFI				50
195#define CLK_INFRA_SPINFI			51
196#define CLK_INFRA_66M_NFI_HCK			52
197#define CLK_INFRA_104M_SPI0			53
198#define CLK_INFRA_104M_SPI1			54
199#define CLK_INFRA_104M_SPI2_BCK			55
200#define CLK_INFRA_66M_SPI0_HCK			56
201#define CLK_INFRA_66M_SPI1_HCK			57
202#define CLK_INFRA_66M_SPI2_HCK			58
203#define CLK_INFRA_66M_FLASHIF_AXI		59
204#define CLK_INFRA_RTC				60
205#define CLK_INFRA_26M_ADC_BCK			61
206#define CLK_INFRA_RC_ADC			62
207#define CLK_INFRA_MSDC400			63
208#define CLK_INFRA_MSDC2_HCK			64
209#define CLK_INFRA_133M_MSDC_0_HCK		65
210#define CLK_INFRA_66M_MSDC_0_HCK		66
211#define CLK_INFRA_133M_CPUM_BCK			67
212#define CLK_INFRA_BIST2FPC			68
213#define CLK_INFRA_I2C_X16W_MCK_CK_P1		69
214#define CLK_INFRA_I2C_X16W_PCK_CK_P1		70
215#define CLK_INFRA_133M_USB_HCK			71
216#define CLK_INFRA_133M_USB_HCK_CK_P1		72
217#define CLK_INFRA_66M_USB_HCK			73
218#define CLK_INFRA_66M_USB_HCK_CK_P1		74
219#define CLK_INFRA_USB_SYS			75
220#define CLK_INFRA_USB_SYS_CK_P1			76
221#define CLK_INFRA_USB_REF			77
222#define CLK_INFRA_USB_CK_P1			78
223#define CLK_INFRA_USB_FRMCNT			79
224#define CLK_INFRA_USB_FRMCNT_CK_P1		80
225#define CLK_INFRA_USB_PIPE			81
226#define CLK_INFRA_USB_PIPE_CK_P1		82
227#define CLK_INFRA_USB_UTMI			83
228#define CLK_INFRA_USB_UTMI_CK_P1		84
229#define CLK_INFRA_USB_XHCI			85
230#define CLK_INFRA_USB_XHCI_CK_P1		86
231#define CLK_INFRA_PCIE_GFMUX_TL_P0		87
232#define CLK_INFRA_PCIE_GFMUX_TL_P1		88
233#define CLK_INFRA_PCIE_GFMUX_TL_P2		89
234#define CLK_INFRA_PCIE_GFMUX_TL_P3		90
235#define CLK_INFRA_PCIE_PIPE_P0			91
236#define CLK_INFRA_PCIE_PIPE_P1			92
237#define CLK_INFRA_PCIE_PIPE_P2			93
238#define CLK_INFRA_PCIE_PIPE_P3			94
239#define CLK_INFRA_133M_PCIE_CK_P0		95
240#define CLK_INFRA_133M_PCIE_CK_P1		96
241#define CLK_INFRA_133M_PCIE_CK_P2		97
242#define CLK_INFRA_133M_PCIE_CK_P3		98
243
244/* ETHDMA */
245
246#define CLK_ETHDMA_XGP1_EN			0
247#define CLK_ETHDMA_XGP2_EN			1
248#define CLK_ETHDMA_XGP3_EN			2
249#define CLK_ETHDMA_FE_EN			3
250#define CLK_ETHDMA_GP2_EN			4
251#define CLK_ETHDMA_GP1_EN			5
252#define CLK_ETHDMA_GP3_EN			6
253#define CLK_ETHDMA_ESW_EN			7
254#define CLK_ETHDMA_CRYPT0_EN			8
255#define CLK_ETHDMA_NR_CLK			9
256
257/* SGMIISYS_0 */
258
259#define CLK_SGM0_TX_EN				0
260#define CLK_SGM0_RX_EN				1
261#define CLK_SGMII0_NR_CLK			2
262
263/* SGMIISYS_1 */
264
265#define CLK_SGM1_TX_EN				0
266#define CLK_SGM1_RX_EN				1
267#define CLK_SGMII1_NR_CLK			2
268
269/* ETHWARP */
270
271#define CLK_ETHWARP_WOCPU2_EN			0
272#define CLK_ETHWARP_WOCPU1_EN			1
273#define CLK_ETHWARP_WOCPU0_EN			2
274#define CLK_ETHWARP_NR_CLK			3
275
276/* XFIPLL */
277#define CLK_XFIPLL_PLL				0
278#define CLK_XFIPLL_PLL_EN			1
279
280#endif /* _DT_BINDINGS_CLK_MT7988_H */
281