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