xref: /OK3568_Linux_fs/kernel/include/dt-bindings/clock/pistachio-clk.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (C) 2014 Google, Inc.
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun #ifndef _DT_BINDINGS_CLOCK_PISTACHIO_H
7*4882a593Smuzhiyun #define _DT_BINDINGS_CLOCK_PISTACHIO_H
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun /* PLLs */
10*4882a593Smuzhiyun #define CLK_MIPS_PLL			0
11*4882a593Smuzhiyun #define CLK_AUDIO_PLL			1
12*4882a593Smuzhiyun #define CLK_RPU_V_PLL			2
13*4882a593Smuzhiyun #define CLK_RPU_L_PLL			3
14*4882a593Smuzhiyun #define CLK_SYS_PLL			4
15*4882a593Smuzhiyun #define CLK_WIFI_PLL			5
16*4882a593Smuzhiyun #define CLK_BT_PLL			6
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun /* Fixed-factor clocks */
19*4882a593Smuzhiyun #define CLK_WIFI_DIV4			16
20*4882a593Smuzhiyun #define CLK_WIFI_DIV8			17
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun /* Gate clocks */
23*4882a593Smuzhiyun #define CLK_MIPS			32
24*4882a593Smuzhiyun #define CLK_AUDIO_IN			33
25*4882a593Smuzhiyun #define CLK_AUDIO			34
26*4882a593Smuzhiyun #define CLK_I2S				35
27*4882a593Smuzhiyun #define CLK_SPDIF			36
28*4882a593Smuzhiyun #define CLK_AUDIO_DAC			37
29*4882a593Smuzhiyun #define CLK_RPU_V			38
30*4882a593Smuzhiyun #define CLK_RPU_L			39
31*4882a593Smuzhiyun #define CLK_RPU_SLEEP			40
32*4882a593Smuzhiyun #define CLK_WIFI_PLL_GATE		41
33*4882a593Smuzhiyun #define CLK_RPU_CORE			42
34*4882a593Smuzhiyun #define CLK_WIFI_ADC			43
35*4882a593Smuzhiyun #define CLK_WIFI_DAC			44
36*4882a593Smuzhiyun #define CLK_USB_PHY			45
37*4882a593Smuzhiyun #define CLK_ENET_IN			46
38*4882a593Smuzhiyun #define CLK_ENET			47
39*4882a593Smuzhiyun #define CLK_UART0			48
40*4882a593Smuzhiyun #define CLK_UART1			49
41*4882a593Smuzhiyun #define CLK_PERIPH_SYS			50
42*4882a593Smuzhiyun #define CLK_SPI0			51
43*4882a593Smuzhiyun #define CLK_SPI1			52
44*4882a593Smuzhiyun #define CLK_EVENT_TIMER			53
45*4882a593Smuzhiyun #define CLK_AUX_ADC_INTERNAL		54
46*4882a593Smuzhiyun #define CLK_AUX_ADC			55
47*4882a593Smuzhiyun #define CLK_SD_HOST			56
48*4882a593Smuzhiyun #define CLK_BT				57
49*4882a593Smuzhiyun #define CLK_BT_DIV4			58
50*4882a593Smuzhiyun #define CLK_BT_DIV8			59
51*4882a593Smuzhiyun #define CLK_BT_1MHZ			60
52*4882a593Smuzhiyun 
53*4882a593Smuzhiyun /* Divider clocks */
54*4882a593Smuzhiyun #define CLK_MIPS_INTERNAL_DIV		64
55*4882a593Smuzhiyun #define CLK_MIPS_DIV			65
56*4882a593Smuzhiyun #define CLK_AUDIO_DIV			66
57*4882a593Smuzhiyun #define CLK_I2S_DIV			67
58*4882a593Smuzhiyun #define CLK_SPDIF_DIV			68
59*4882a593Smuzhiyun #define CLK_AUDIO_DAC_DIV		69
60*4882a593Smuzhiyun #define CLK_RPU_V_DIV			70
61*4882a593Smuzhiyun #define CLK_RPU_L_DIV			71
62*4882a593Smuzhiyun #define CLK_RPU_SLEEP_DIV		72
63*4882a593Smuzhiyun #define CLK_RPU_CORE_DIV		73
64*4882a593Smuzhiyun #define CLK_USB_PHY_DIV			74
65*4882a593Smuzhiyun #define CLK_ENET_DIV			75
66*4882a593Smuzhiyun #define CLK_UART0_INTERNAL_DIV		76
67*4882a593Smuzhiyun #define CLK_UART0_DIV			77
68*4882a593Smuzhiyun #define CLK_UART1_INTERNAL_DIV		78
69*4882a593Smuzhiyun #define CLK_UART1_DIV			79
70*4882a593Smuzhiyun #define CLK_SYS_INTERNAL_DIV		80
71*4882a593Smuzhiyun #define CLK_SPI0_INTERNAL_DIV		81
72*4882a593Smuzhiyun #define CLK_SPI0_DIV			82
73*4882a593Smuzhiyun #define CLK_SPI1_INTERNAL_DIV		83
74*4882a593Smuzhiyun #define CLK_SPI1_DIV			84
75*4882a593Smuzhiyun #define CLK_EVENT_TIMER_INTERNAL_DIV	85
76*4882a593Smuzhiyun #define CLK_EVENT_TIMER_DIV		86
77*4882a593Smuzhiyun #define CLK_AUX_ADC_INTERNAL_DIV	87
78*4882a593Smuzhiyun #define CLK_AUX_ADC_DIV			88
79*4882a593Smuzhiyun #define CLK_SD_HOST_DIV			89
80*4882a593Smuzhiyun #define CLK_BT_DIV			90
81*4882a593Smuzhiyun #define CLK_BT_DIV4_DIV			91
82*4882a593Smuzhiyun #define CLK_BT_DIV8_DIV			92
83*4882a593Smuzhiyun #define CLK_BT_1MHZ_INTERNAL_DIV	93
84*4882a593Smuzhiyun #define CLK_BT_1MHZ_DIV			94
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun /* Mux clocks */
87*4882a593Smuzhiyun #define CLK_AUDIO_REF_MUX		96
88*4882a593Smuzhiyun #define CLK_MIPS_PLL_MUX		97
89*4882a593Smuzhiyun #define CLK_AUDIO_PLL_MUX		98
90*4882a593Smuzhiyun #define CLK_AUDIO_MUX			99
91*4882a593Smuzhiyun #define CLK_RPU_V_PLL_MUX		100
92*4882a593Smuzhiyun #define CLK_RPU_L_PLL_MUX		101
93*4882a593Smuzhiyun #define CLK_RPU_L_MUX			102
94*4882a593Smuzhiyun #define CLK_WIFI_PLL_MUX		103
95*4882a593Smuzhiyun #define CLK_WIFI_DIV4_MUX		104
96*4882a593Smuzhiyun #define CLK_WIFI_DIV8_MUX		105
97*4882a593Smuzhiyun #define CLK_RPU_CORE_MUX		106
98*4882a593Smuzhiyun #define CLK_SYS_PLL_MUX			107
99*4882a593Smuzhiyun #define CLK_ENET_MUX			108
100*4882a593Smuzhiyun #define CLK_EVENT_TIMER_MUX		109
101*4882a593Smuzhiyun #define CLK_SD_HOST_MUX			110
102*4882a593Smuzhiyun #define CLK_BT_PLL_MUX			111
103*4882a593Smuzhiyun #define CLK_DEBUG_MUX			112
104*4882a593Smuzhiyun 
105*4882a593Smuzhiyun #define CLK_NR_CLKS			113
106*4882a593Smuzhiyun 
107*4882a593Smuzhiyun /* Peripheral gate clocks */
108*4882a593Smuzhiyun #define PERIPH_CLK_SYS			0
109*4882a593Smuzhiyun #define PERIPH_CLK_SYS_BUS		1
110*4882a593Smuzhiyun #define PERIPH_CLK_DDR			2
111*4882a593Smuzhiyun #define PERIPH_CLK_ROM			3
112*4882a593Smuzhiyun #define PERIPH_CLK_COUNTER_FAST		4
113*4882a593Smuzhiyun #define PERIPH_CLK_COUNTER_SLOW		5
114*4882a593Smuzhiyun #define PERIPH_CLK_IR			6
115*4882a593Smuzhiyun #define PERIPH_CLK_WD			7
116*4882a593Smuzhiyun #define PERIPH_CLK_PDM			8
117*4882a593Smuzhiyun #define PERIPH_CLK_PWM			9
118*4882a593Smuzhiyun #define PERIPH_CLK_I2C0			10
119*4882a593Smuzhiyun #define PERIPH_CLK_I2C1			11
120*4882a593Smuzhiyun #define PERIPH_CLK_I2C2			12
121*4882a593Smuzhiyun #define PERIPH_CLK_I2C3			13
122*4882a593Smuzhiyun 
123*4882a593Smuzhiyun /* Peripheral divider clocks */
124*4882a593Smuzhiyun #define PERIPH_CLK_ROM_DIV		32
125*4882a593Smuzhiyun #define PERIPH_CLK_COUNTER_FAST_DIV	33
126*4882a593Smuzhiyun #define PERIPH_CLK_COUNTER_SLOW_PRE_DIV	34
127*4882a593Smuzhiyun #define PERIPH_CLK_COUNTER_SLOW_DIV	35
128*4882a593Smuzhiyun #define PERIPH_CLK_IR_PRE_DIV		36
129*4882a593Smuzhiyun #define PERIPH_CLK_IR_DIV		37
130*4882a593Smuzhiyun #define PERIPH_CLK_WD_PRE_DIV		38
131*4882a593Smuzhiyun #define PERIPH_CLK_WD_DIV		39
132*4882a593Smuzhiyun #define PERIPH_CLK_PDM_PRE_DIV		40
133*4882a593Smuzhiyun #define PERIPH_CLK_PDM_DIV		41
134*4882a593Smuzhiyun #define PERIPH_CLK_PWM_PRE_DIV		42
135*4882a593Smuzhiyun #define PERIPH_CLK_PWM_DIV		43
136*4882a593Smuzhiyun #define PERIPH_CLK_I2C0_PRE_DIV		44
137*4882a593Smuzhiyun #define PERIPH_CLK_I2C0_DIV		45
138*4882a593Smuzhiyun #define PERIPH_CLK_I2C1_PRE_DIV		46
139*4882a593Smuzhiyun #define PERIPH_CLK_I2C1_DIV		47
140*4882a593Smuzhiyun #define PERIPH_CLK_I2C2_PRE_DIV		48
141*4882a593Smuzhiyun #define PERIPH_CLK_I2C2_DIV		49
142*4882a593Smuzhiyun #define PERIPH_CLK_I2C3_PRE_DIV		50
143*4882a593Smuzhiyun #define PERIPH_CLK_I2C3_DIV		51
144*4882a593Smuzhiyun 
145*4882a593Smuzhiyun #define PERIPH_CLK_NR_CLKS		52
146*4882a593Smuzhiyun 
147*4882a593Smuzhiyun /* System gate clocks */
148*4882a593Smuzhiyun #define SYS_CLK_I2C0			0
149*4882a593Smuzhiyun #define SYS_CLK_I2C1			1
150*4882a593Smuzhiyun #define SYS_CLK_I2C2			2
151*4882a593Smuzhiyun #define SYS_CLK_I2C3			3
152*4882a593Smuzhiyun #define SYS_CLK_I2S_IN			4
153*4882a593Smuzhiyun #define SYS_CLK_PAUD_OUT		5
154*4882a593Smuzhiyun #define SYS_CLK_SPDIF_OUT		6
155*4882a593Smuzhiyun #define SYS_CLK_SPI0_MASTER		7
156*4882a593Smuzhiyun #define SYS_CLK_SPI0_SLAVE		8
157*4882a593Smuzhiyun #define SYS_CLK_PWM			9
158*4882a593Smuzhiyun #define SYS_CLK_UART0			10
159*4882a593Smuzhiyun #define SYS_CLK_UART1			11
160*4882a593Smuzhiyun #define SYS_CLK_SPI1			12
161*4882a593Smuzhiyun #define SYS_CLK_MDC			13
162*4882a593Smuzhiyun #define SYS_CLK_SD_HOST			14
163*4882a593Smuzhiyun #define SYS_CLK_ENET			15
164*4882a593Smuzhiyun #define SYS_CLK_IR			16
165*4882a593Smuzhiyun #define SYS_CLK_WD			17
166*4882a593Smuzhiyun #define SYS_CLK_TIMER			18
167*4882a593Smuzhiyun #define SYS_CLK_I2S_OUT			24
168*4882a593Smuzhiyun #define SYS_CLK_SPDIF_IN		25
169*4882a593Smuzhiyun #define SYS_CLK_EVENT_TIMER		26
170*4882a593Smuzhiyun #define SYS_CLK_HASH			27
171*4882a593Smuzhiyun 
172*4882a593Smuzhiyun #define SYS_CLK_NR_CLKS			28
173*4882a593Smuzhiyun 
174*4882a593Smuzhiyun /* Gates for external input clocks */
175*4882a593Smuzhiyun #define EXT_CLK_AUDIO_IN		0
176*4882a593Smuzhiyun #define EXT_CLK_ENET_IN			1
177*4882a593Smuzhiyun 
178*4882a593Smuzhiyun #define EXT_CLK_NR_CLKS			2
179*4882a593Smuzhiyun 
180*4882a593Smuzhiyun #endif /* _DT_BINDINGS_CLOCK_PISTACHIO_H */
181