blob: f19948cca166db734ff5c552b439d09176ae5d2a [file] [log] [blame]
developer37161fe2022-09-09 20:00:09 +08001/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2022 MediaTek Inc. All rights reserved.
4 *
5 * Author: Sam Shih <sam.shih@mediatek.com>
6 */
7
8#ifndef _DT_BINDINGS_CLK_MT7986_H
9#define _DT_BINDINGS_CLK_MT7986_H
10
11/* INFRACFG */
12
Christian Marangiab4de132024-08-03 10:40:38 +020013#define CK_INFRA_SYSAXI_D2 0
14#define CLK_INFRA_NR_CLK 1
developer37161fe2022-09-09 20:00:09 +080015
16/* TOPCKGEN */
17
Christian Marangi0178c612024-08-03 10:40:35 +020018#define CK_TOP_XTAL 0
Christian Marangi9276f072024-08-03 10:40:41 +020019#define CK_TOP_CB_MPLL_416M 1
20#define CK_TOP_MPLL_D2 2
21#define CK_TOP_MPLL_D4 3
22#define CK_TOP_MPLL_D8 4
23#define CK_TOP_MPLL_D8_D2 5
24#define CK_TOP_MPLL_D3_D2 6
25#define CK_TOP_MMPLL_D2 7
26#define CK_TOP_MMPLL_D4 8
27#define CK_TOP_MMPLL_D8 9
28#define CK_TOP_MMPLL_D8_D2 10
29#define CK_TOP_MMPLL_D3_D8 11
30#define CK_TOP_MMPLL_U2PHYD 12
developer37161fe2022-09-09 20:00:09 +080031#define CK_TOP_CB_APLL2_196M 13
32#define CK_TOP_APLL2_D4 14
Christian Marangi9276f072024-08-03 10:40:41 +020033#define CK_TOP_NET1PLL_D4 15
34#define CK_TOP_NET1PLL_D5 16
35#define CK_TOP_NET1PLL_D5_D2 17
36#define CK_TOP_NET1PLL_D5_D4 18
37#define CK_TOP_NET1PLL_D8_D2 19
38#define CK_TOP_NET1PLL_D8_D4 20
39#define CK_TOP_CB_NET2PLL_800M 21
40#define CK_TOP_NET2PLL_D4 22
41#define CK_TOP_NET2PLL_D4_D2 23
42#define CK_TOP_NET2PLL_D3_D2 24
43#define CK_TOP_CB_WEDMCUPLL_760M 25
44#define CK_TOP_WEDMCUPLL_D5_D2 26
45#define CK_TOP_CB_SGMPLL_325M 27
Christian Marangi0178c612024-08-03 10:40:35 +020046#define CK_TOP_XTAL_D2 28
Christian Marangi9276f072024-08-03 10:40:41 +020047#define CK_TOP_RTC_32K 29
48#define CK_TOP_RTC_32P7K 30
developer37161fe2022-09-09 20:00:09 +080049#define CK_TOP_NFI1X 31
50#define CK_TOP_USB_EQ_RX250M 32
51#define CK_TOP_USB_TX250M 33
52#define CK_TOP_USB_LN0_CK 34
53#define CK_TOP_USB_CDR_CK 35
54#define CK_TOP_SPINFI_BCK 36
55#define CK_TOP_I2C_BCK 37
56#define CK_TOP_PEXTP_TL 38
57#define CK_TOP_EMMC_250M 39
58#define CK_TOP_EMMC_416M 40
59#define CK_TOP_F_26M_ADC_CK 41
60#define CK_TOP_SYSAXI 42
61#define CK_TOP_NETSYS_WED_MCU 43
62#define CK_TOP_NETSYS_2X 44
63#define CK_TOP_SGM_325M 45
64#define CK_TOP_A1SYS 46
65#define CK_TOP_EIP_B 47
66#define CK_TOP_F26M 48
67#define CK_TOP_AUD_L 49
68#define CK_TOP_A_TUNER 50
69#define CK_TOP_U2U3_REF 51
70#define CK_TOP_U2U3_SYS 52
71#define CK_TOP_U2U3_XHCI 53
72#define CK_TOP_AP2CNN_HOST 54
73#define CK_TOP_NFI1X_SEL 55
74#define CK_TOP_SPINFI_SEL 56
75#define CK_TOP_SPI_SEL 57
76#define CK_TOP_SPIM_MST_SEL 58
77#define CK_TOP_UART_SEL 59
78#define CK_TOP_PWM_SEL 60
79#define CK_TOP_I2C_SEL 61
80#define CK_TOP_PEXTP_TL_SEL 62
81#define CK_TOP_EMMC_250M_SEL 63
82#define CK_TOP_EMMC_416M_SEL 64
83#define CK_TOP_F_26M_ADC_SEL 65
84#define CK_TOP_DRAMC_SEL 66
85#define CK_TOP_DRAMC_MD32_SEL 67
86#define CK_TOP_SYSAXI_SEL 68
87#define CK_TOP_SYSAPB_SEL 69
88#define CK_TOP_ARM_DB_MAIN_SEL 70
89#define CK_TOP_ARM_DB_JTSEL 71
90#define CK_TOP_NETSYS_SEL 72
91#define CK_TOP_NETSYS_500M_SEL 73
92#define CK_TOP_NETSYS_MCU_SEL 74
93#define CK_TOP_NETSYS_2X_SEL 75
94#define CK_TOP_SGM_325M_SEL 76
95#define CK_TOP_SGM_REG_SEL 77
96#define CK_TOP_A1SYS_SEL 78
97#define CK_TOP_CONN_MCUSYS_SEL 79
98#define CK_TOP_EIP_B_SEL 80
99#define CK_TOP_PCIE_PHY_SEL 81
100#define CK_TOP_USB3_PHY_SEL 82
101#define CK_TOP_F26M_SEL 83
102#define CK_TOP_AUD_L_SEL 84
103#define CK_TOP_A_TUNER_SEL 85
104#define CK_TOP_U2U3_SEL 86
105#define CK_TOP_U2U3_SYS_SEL 87
106#define CK_TOP_U2U3_XHCI_SEL 88
107#define CK_TOP_DA_U2_REFSEL 89
108#define CK_TOP_DA_U2_CK_1P_SEL 90
109#define CK_TOP_AP2CNN_HOST_SEL 91
110#define CLK_TOP_NR_CLK 92
111
112/*
113 * INFRACFG_AO
114 * clock muxes need to be append to infracfg domain, and clock gates
115 * need to be keep in infracgh_ao domain
116 */
117
118#define CK_INFRA_UART0_SEL (0 + CLK_INFRA_NR_CLK)
119#define CK_INFRA_UART1_SEL (1 + CLK_INFRA_NR_CLK)
120#define CK_INFRA_UART2_SEL (2 + CLK_INFRA_NR_CLK)
121#define CK_INFRA_SPI0_SEL (3 + CLK_INFRA_NR_CLK)
122#define CK_INFRA_SPI1_SEL (4 + CLK_INFRA_NR_CLK)
123#define CK_INFRA_PWM1_SEL (5 + CLK_INFRA_NR_CLK)
124#define CK_INFRA_PWM2_SEL (6 + CLK_INFRA_NR_CLK)
125#define CK_INFRA_PWM_BSEL (7 + CLK_INFRA_NR_CLK)
126#define CK_INFRA_PCIE_SEL (8 + CLK_INFRA_NR_CLK)
127#define CK_INFRA_GPT_STA 0
128#define CK_INFRA_PWM_HCK 1
129#define CK_INFRA_PWM_STA 2
130#define CK_INFRA_PWM1_CK 3
131#define CK_INFRA_PWM2_CK 4
132#define CK_INFRA_CQ_DMA_CK 5
133#define CK_INFRA_EIP97_CK 6
134#define CK_INFRA_AUD_BUS_CK 7
135#define CK_INFRA_AUD_26M_CK 8
136#define CK_INFRA_AUD_L_CK 9
137#define CK_INFRA_AUD_AUD_CK 10
138#define CK_INFRA_AUD_EG2_CK 11
139#define CK_INFRA_DRAMC_26M_CK 12
140#define CK_INFRA_DBG_CK 13
141#define CK_INFRA_AP_DMA_CK 14
142#define CK_INFRA_SEJ_CK 15
143#define CK_INFRA_SEJ_13M_CK 16
144#define CK_INFRA_THERM_CK 17
Christian Marangi30c4b862024-08-03 10:40:40 +0200145#define CK_INFRA_I2C0_CK 18
developer37161fe2022-09-09 20:00:09 +0800146#define CK_INFRA_TRNG_CK 19
147#define CK_INFRA_UART0_CK 20
148#define CK_INFRA_UART1_CK 21
149#define CK_INFRA_UART2_CK 22
150#define CK_INFRA_NFI1_CK 23
151#define CK_INFRA_SPINFI1_CK 24
152#define CK_INFRA_NFI_HCK_CK 25
153#define CK_INFRA_SPI0_CK 26
154#define CK_INFRA_SPI1_CK 27
155#define CK_INFRA_SPI0_HCK_CK 28
156#define CK_INFRA_SPI1_HCK_CK 29
157#define CK_INFRA_FRTC_CK 30
158#define CK_INFRA_MSDC_CK 31
159#define CK_INFRA_MSDC_HCK_CK 32
160#define CK_INFRA_MSDC_133M_CK 33
161#define CK_INFRA_MSDC_66M_CK 34
162#define CK_INFRA_ADC_26M_CK 35
163#define CK_INFRA_ADC_FRC_CK 36
164#define CK_INFRA_FBIST2FPC_CK 37
165#define CK_INFRA_IUSB_133_CK 38
166#define CK_INFRA_IUSB_66M_CK 39
167#define CK_INFRA_IUSB_SYS_CK 40
168#define CK_INFRA_IUSB_CK 41
169#define CK_INFRA_IPCIE_CK 42
Christian Marangi6a89a382024-08-03 10:40:39 +0200170#define CK_INFRA_IPCIE_PIPE_CK 43
171#define CK_INFRA_IPCIER_CK 44
172#define CK_INFRA_IPCIEB_CK 45
173#define CLK_INFRA_AO_NR_CLK 46
developer37161fe2022-09-09 20:00:09 +0800174
175/* APMIXEDSYS */
176
177#define CK_APMIXED_ARMPLL 0
178#define CK_APMIXED_NET2PLL 1
179#define CK_APMIXED_MMPLL 2
180#define CK_APMIXED_SGMPLL 3
181#define CK_APMIXED_WEDMCUPLL 4
182#define CK_APMIXED_NET1PLL 5
183#define CK_APMIXED_MPLL 6
184#define CK_APMIXED_APLL2 7
185#define CLK_APMIXED_NR_CLK 8
186
187/* SGMIISYS_0 */
188
189#define CK_SGM0_TX_EN 0
190#define CK_SGM0_RX_EN 1
191#define CK_SGM0_CK0_EN 2
192#define CK_SGM0_CDR_CK0_EN 3
193#define CLK_SGMII0_NR_CLK 4
194
195/* SGMIISYS_1 */
196
197#define CK_SGM1_TX_EN 0
198#define CK_SGM1_RX_EN 1
199#define CK_SGM1_CK1_EN 2
200#define CK_SGM1_CDR_CK1_EN 3
201#define CLK_SGMII1_NR_CLK 4
202
203/* ETHSYS */
204
205#define CK_ETH_FE_EN 0
206#define CK_ETH_GP2_EN 1
207#define CK_ETH_GP1_EN 2
208#define CK_ETH_WOCPU1_EN 3
209#define CK_ETH_WOCPU0_EN 4
210#define CLK_ETH_NR_CLK 5
211
212#endif
213
214/* _DT_BINDINGS_CLK_MT7986_H */