xref: /freebsd/sys/contrib/device-tree/include/dt-bindings/clock/mt7986-clk.h (revision e67e85659c0de33e617e5fbf1028c6e8b49eee53)
1*e67e8565SEmmanuel Vadot /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2*e67e8565SEmmanuel Vadot /*
3*e67e8565SEmmanuel Vadot  * Copyright (c) 2021 MediaTek Inc.
4*e67e8565SEmmanuel Vadot  * Author: Sam Shih <sam.shih@mediatek.com>
5*e67e8565SEmmanuel Vadot  */
6*e67e8565SEmmanuel Vadot 
7*e67e8565SEmmanuel Vadot #ifndef _DT_BINDINGS_CLK_MT7986_H
8*e67e8565SEmmanuel Vadot #define _DT_BINDINGS_CLK_MT7986_H
9*e67e8565SEmmanuel Vadot 
10*e67e8565SEmmanuel Vadot /* APMIXEDSYS */
11*e67e8565SEmmanuel Vadot 
12*e67e8565SEmmanuel Vadot #define CLK_APMIXED_ARMPLL		0
13*e67e8565SEmmanuel Vadot #define CLK_APMIXED_NET2PLL		1
14*e67e8565SEmmanuel Vadot #define CLK_APMIXED_MMPLL		2
15*e67e8565SEmmanuel Vadot #define CLK_APMIXED_SGMPLL		3
16*e67e8565SEmmanuel Vadot #define CLK_APMIXED_WEDMCUPLL		4
17*e67e8565SEmmanuel Vadot #define CLK_APMIXED_NET1PLL		5
18*e67e8565SEmmanuel Vadot #define CLK_APMIXED_MPLL		6
19*e67e8565SEmmanuel Vadot #define CLK_APMIXED_APLL2		7
20*e67e8565SEmmanuel Vadot 
21*e67e8565SEmmanuel Vadot /* TOPCKGEN */
22*e67e8565SEmmanuel Vadot 
23*e67e8565SEmmanuel Vadot #define CLK_TOP_XTAL			0
24*e67e8565SEmmanuel Vadot #define CLK_TOP_XTAL_D2			1
25*e67e8565SEmmanuel Vadot #define CLK_TOP_RTC_32K			2
26*e67e8565SEmmanuel Vadot #define CLK_TOP_RTC_32P7K		3
27*e67e8565SEmmanuel Vadot #define CLK_TOP_MPLL_D2			4
28*e67e8565SEmmanuel Vadot #define CLK_TOP_MPLL_D4			5
29*e67e8565SEmmanuel Vadot #define CLK_TOP_MPLL_D8			6
30*e67e8565SEmmanuel Vadot #define CLK_TOP_MPLL_D8_D2		7
31*e67e8565SEmmanuel Vadot #define CLK_TOP_MPLL_D3_D2		8
32*e67e8565SEmmanuel Vadot #define CLK_TOP_MMPLL_D2		9
33*e67e8565SEmmanuel Vadot #define CLK_TOP_MMPLL_D4		10
34*e67e8565SEmmanuel Vadot #define CLK_TOP_MMPLL_D8		11
35*e67e8565SEmmanuel Vadot #define CLK_TOP_MMPLL_D8_D2		12
36*e67e8565SEmmanuel Vadot #define CLK_TOP_MMPLL_D3_D8		13
37*e67e8565SEmmanuel Vadot #define CLK_TOP_MMPLL_U2PHY		14
38*e67e8565SEmmanuel Vadot #define CLK_TOP_APLL2_D4		15
39*e67e8565SEmmanuel Vadot #define CLK_TOP_NET1PLL_D4		16
40*e67e8565SEmmanuel Vadot #define CLK_TOP_NET1PLL_D5		17
41*e67e8565SEmmanuel Vadot #define CLK_TOP_NET1PLL_D5_D2		18
42*e67e8565SEmmanuel Vadot #define CLK_TOP_NET1PLL_D5_D4		19
43*e67e8565SEmmanuel Vadot #define CLK_TOP_NET1PLL_D8_D2		20
44*e67e8565SEmmanuel Vadot #define CLK_TOP_NET1PLL_D8_D4		21
45*e67e8565SEmmanuel Vadot #define CLK_TOP_NET2PLL_D4		22
46*e67e8565SEmmanuel Vadot #define CLK_TOP_NET2PLL_D4_D2		23
47*e67e8565SEmmanuel Vadot #define CLK_TOP_NET2PLL_D3_D2		24
48*e67e8565SEmmanuel Vadot #define CLK_TOP_WEDMCUPLL_D5_D2		25
49*e67e8565SEmmanuel Vadot #define CLK_TOP_NFI1X_SEL		26
50*e67e8565SEmmanuel Vadot #define CLK_TOP_SPINFI_SEL		27
51*e67e8565SEmmanuel Vadot #define CLK_TOP_SPI_SEL			28
52*e67e8565SEmmanuel Vadot #define CLK_TOP_SPIM_MST_SEL		29
53*e67e8565SEmmanuel Vadot #define CLK_TOP_UART_SEL		30
54*e67e8565SEmmanuel Vadot #define CLK_TOP_PWM_SEL			31
55*e67e8565SEmmanuel Vadot #define CLK_TOP_I2C_SEL			32
56*e67e8565SEmmanuel Vadot #define CLK_TOP_PEXTP_TL_SEL		33
57*e67e8565SEmmanuel Vadot #define CLK_TOP_EMMC_250M_SEL		34
58*e67e8565SEmmanuel Vadot #define CLK_TOP_EMMC_416M_SEL		35
59*e67e8565SEmmanuel Vadot #define CLK_TOP_F_26M_ADC_SEL		36
60*e67e8565SEmmanuel Vadot #define CLK_TOP_DRAMC_SEL		37
61*e67e8565SEmmanuel Vadot #define CLK_TOP_DRAMC_MD32_SEL		38
62*e67e8565SEmmanuel Vadot #define CLK_TOP_SYSAXI_SEL		39
63*e67e8565SEmmanuel Vadot #define CLK_TOP_SYSAPB_SEL		40
64*e67e8565SEmmanuel Vadot #define CLK_TOP_ARM_DB_MAIN_SEL		41
65*e67e8565SEmmanuel Vadot #define CLK_TOP_ARM_DB_JTSEL		42
66*e67e8565SEmmanuel Vadot #define CLK_TOP_NETSYS_SEL		43
67*e67e8565SEmmanuel Vadot #define CLK_TOP_NETSYS_500M_SEL		44
68*e67e8565SEmmanuel Vadot #define CLK_TOP_NETSYS_MCU_SEL		45
69*e67e8565SEmmanuel Vadot #define CLK_TOP_NETSYS_2X_SEL		46
70*e67e8565SEmmanuel Vadot #define CLK_TOP_SGM_325M_SEL		47
71*e67e8565SEmmanuel Vadot #define CLK_TOP_SGM_REG_SEL		48
72*e67e8565SEmmanuel Vadot #define CLK_TOP_A1SYS_SEL		49
73*e67e8565SEmmanuel Vadot #define CLK_TOP_CONN_MCUSYS_SEL		50
74*e67e8565SEmmanuel Vadot #define CLK_TOP_EIP_B_SEL		51
75*e67e8565SEmmanuel Vadot #define CLK_TOP_PCIE_PHY_SEL		52
76*e67e8565SEmmanuel Vadot #define CLK_TOP_USB3_PHY_SEL		53
77*e67e8565SEmmanuel Vadot #define CLK_TOP_F26M_SEL		54
78*e67e8565SEmmanuel Vadot #define CLK_TOP_AUD_L_SEL		55
79*e67e8565SEmmanuel Vadot #define CLK_TOP_A_TUNER_SEL		56
80*e67e8565SEmmanuel Vadot #define CLK_TOP_U2U3_SEL		57
81*e67e8565SEmmanuel Vadot #define CLK_TOP_U2U3_SYS_SEL		58
82*e67e8565SEmmanuel Vadot #define CLK_TOP_U2U3_XHCI_SEL		59
83*e67e8565SEmmanuel Vadot #define CLK_TOP_DA_U2_REFSEL		60
84*e67e8565SEmmanuel Vadot #define CLK_TOP_DA_U2_CK_1P_SEL		61
85*e67e8565SEmmanuel Vadot #define CLK_TOP_AP2CNN_HOST_SEL		62
86*e67e8565SEmmanuel Vadot #define CLK_TOP_JTAG			63
87*e67e8565SEmmanuel Vadot 
88*e67e8565SEmmanuel Vadot /* INFRACFG */
89*e67e8565SEmmanuel Vadot 
90*e67e8565SEmmanuel Vadot #define CLK_INFRA_SYSAXI_D2		0
91*e67e8565SEmmanuel Vadot #define CLK_INFRA_UART0_SEL		1
92*e67e8565SEmmanuel Vadot #define CLK_INFRA_UART1_SEL		2
93*e67e8565SEmmanuel Vadot #define CLK_INFRA_UART2_SEL		3
94*e67e8565SEmmanuel Vadot #define CLK_INFRA_SPI0_SEL		4
95*e67e8565SEmmanuel Vadot #define CLK_INFRA_SPI1_SEL		5
96*e67e8565SEmmanuel Vadot #define CLK_INFRA_PWM1_SEL		6
97*e67e8565SEmmanuel Vadot #define CLK_INFRA_PWM2_SEL		7
98*e67e8565SEmmanuel Vadot #define CLK_INFRA_PWM_BSEL		8
99*e67e8565SEmmanuel Vadot #define CLK_INFRA_PCIE_SEL		9
100*e67e8565SEmmanuel Vadot #define CLK_INFRA_GPT_STA		10
101*e67e8565SEmmanuel Vadot #define CLK_INFRA_PWM_HCK		11
102*e67e8565SEmmanuel Vadot #define CLK_INFRA_PWM_STA		12
103*e67e8565SEmmanuel Vadot #define CLK_INFRA_PWM1_CK		13
104*e67e8565SEmmanuel Vadot #define CLK_INFRA_PWM2_CK		14
105*e67e8565SEmmanuel Vadot #define CLK_INFRA_CQ_DMA_CK		15
106*e67e8565SEmmanuel Vadot #define CLK_INFRA_EIP97_CK		16
107*e67e8565SEmmanuel Vadot #define CLK_INFRA_AUD_BUS_CK		17
108*e67e8565SEmmanuel Vadot #define CLK_INFRA_AUD_26M_CK		18
109*e67e8565SEmmanuel Vadot #define CLK_INFRA_AUD_L_CK		19
110*e67e8565SEmmanuel Vadot #define CLK_INFRA_AUD_AUD_CK		20
111*e67e8565SEmmanuel Vadot #define CLK_INFRA_AUD_EG2_CK		21
112*e67e8565SEmmanuel Vadot #define CLK_INFRA_DRAMC_26M_CK		22
113*e67e8565SEmmanuel Vadot #define CLK_INFRA_DBG_CK		23
114*e67e8565SEmmanuel Vadot #define CLK_INFRA_AP_DMA_CK		24
115*e67e8565SEmmanuel Vadot #define CLK_INFRA_SEJ_CK		25
116*e67e8565SEmmanuel Vadot #define CLK_INFRA_SEJ_13M_CK		26
117*e67e8565SEmmanuel Vadot #define CLK_INFRA_THERM_CK		27
118*e67e8565SEmmanuel Vadot #define CLK_INFRA_I2C0_CK		28
119*e67e8565SEmmanuel Vadot #define CLK_INFRA_UART0_CK		29
120*e67e8565SEmmanuel Vadot #define CLK_INFRA_UART1_CK		30
121*e67e8565SEmmanuel Vadot #define CLK_INFRA_UART2_CK		31
122*e67e8565SEmmanuel Vadot #define CLK_INFRA_NFI1_CK		32
123*e67e8565SEmmanuel Vadot #define CLK_INFRA_SPINFI1_CK		33
124*e67e8565SEmmanuel Vadot #define CLK_INFRA_NFI_HCK_CK		34
125*e67e8565SEmmanuel Vadot #define CLK_INFRA_SPI0_CK		35
126*e67e8565SEmmanuel Vadot #define CLK_INFRA_SPI1_CK		36
127*e67e8565SEmmanuel Vadot #define CLK_INFRA_SPI0_HCK_CK		37
128*e67e8565SEmmanuel Vadot #define CLK_INFRA_SPI1_HCK_CK		38
129*e67e8565SEmmanuel Vadot #define CLK_INFRA_FRTC_CK		39
130*e67e8565SEmmanuel Vadot #define CLK_INFRA_MSDC_CK		40
131*e67e8565SEmmanuel Vadot #define CLK_INFRA_MSDC_HCK_CK		41
132*e67e8565SEmmanuel Vadot #define CLK_INFRA_MSDC_133M_CK		42
133*e67e8565SEmmanuel Vadot #define CLK_INFRA_MSDC_66M_CK		43
134*e67e8565SEmmanuel Vadot #define CLK_INFRA_ADC_26M_CK		44
135*e67e8565SEmmanuel Vadot #define CLK_INFRA_ADC_FRC_CK		45
136*e67e8565SEmmanuel Vadot #define CLK_INFRA_FBIST2FPC_CK		46
137*e67e8565SEmmanuel Vadot #define CLK_INFRA_IUSB_133_CK		47
138*e67e8565SEmmanuel Vadot #define CLK_INFRA_IUSB_66M_CK		48
139*e67e8565SEmmanuel Vadot #define CLK_INFRA_IUSB_SYS_CK		49
140*e67e8565SEmmanuel Vadot #define CLK_INFRA_IUSB_CK		50
141*e67e8565SEmmanuel Vadot #define CLK_INFRA_IPCIE_CK		51
142*e67e8565SEmmanuel Vadot #define CLK_INFRA_IPCIE_PIPE_CK		52
143*e67e8565SEmmanuel Vadot #define CLK_INFRA_IPCIER_CK		53
144*e67e8565SEmmanuel Vadot #define CLK_INFRA_IPCIEB_CK		54
145*e67e8565SEmmanuel Vadot #define CLK_INFRA_TRNG_CK		55
146*e67e8565SEmmanuel Vadot 
147*e67e8565SEmmanuel Vadot /* SGMIISYS_0 */
148*e67e8565SEmmanuel Vadot 
149*e67e8565SEmmanuel Vadot #define CLK_SGMII0_TX250M_EN		0
150*e67e8565SEmmanuel Vadot #define CLK_SGMII0_RX250M_EN		1
151*e67e8565SEmmanuel Vadot #define CLK_SGMII0_CDR_REF		2
152*e67e8565SEmmanuel Vadot #define CLK_SGMII0_CDR_FB		3
153*e67e8565SEmmanuel Vadot 
154*e67e8565SEmmanuel Vadot /* SGMIISYS_1 */
155*e67e8565SEmmanuel Vadot 
156*e67e8565SEmmanuel Vadot #define CLK_SGMII1_TX250M_EN		0
157*e67e8565SEmmanuel Vadot #define CLK_SGMII1_RX250M_EN		1
158*e67e8565SEmmanuel Vadot #define CLK_SGMII1_CDR_REF		2
159*e67e8565SEmmanuel Vadot #define CLK_SGMII1_CDR_FB		3
160*e67e8565SEmmanuel Vadot 
161*e67e8565SEmmanuel Vadot /* ETHSYS */
162*e67e8565SEmmanuel Vadot 
163*e67e8565SEmmanuel Vadot #define CLK_ETH_FE_EN			0
164*e67e8565SEmmanuel Vadot #define CLK_ETH_GP2_EN			1
165*e67e8565SEmmanuel Vadot #define CLK_ETH_GP1_EN			2
166*e67e8565SEmmanuel Vadot #define CLK_ETH_WOCPU1_EN		3
167*e67e8565SEmmanuel Vadot #define CLK_ETH_WOCPU0_EN		4
168*e67e8565SEmmanuel Vadot 
169*e67e8565SEmmanuel Vadot #endif /* _DT_BINDINGS_CLK_MT7986_H */
170