xref: /rk3399_ARM-atf/plat/imx/common/include/imx_clock.h (revision 82e350830030cf9f5000be89a2a52982330b93c6)
1*82e35083SBryan O'Donoghue /*
2*82e35083SBryan O'Donoghue  * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3*82e35083SBryan O'Donoghue  *
4*82e35083SBryan O'Donoghue  * SPDX-License-Identifier: BSD-3-Clause
5*82e35083SBryan O'Donoghue  */
6*82e35083SBryan O'Donoghue #ifndef __IMX_CLOCK_H__
7*82e35083SBryan O'Donoghue #define __IMX_CLOCK_H__
8*82e35083SBryan O'Donoghue 
9*82e35083SBryan O'Donoghue #include <stdint.h>
10*82e35083SBryan O'Donoghue #include <stdbool.h>
11*82e35083SBryan O'Donoghue 
12*82e35083SBryan O'Donoghue struct ccm_pll_ctrl {
13*82e35083SBryan O'Donoghue 	uint32_t ccm_pll_ctrl;
14*82e35083SBryan O'Donoghue 	uint32_t ccm_pll_ctrl_set;
15*82e35083SBryan O'Donoghue 	uint32_t ccm_pll_ctrl_clr;
16*82e35083SBryan O'Donoghue 	uint32_t ccm_pll_ctrl_tog;
17*82e35083SBryan O'Donoghue };
18*82e35083SBryan O'Donoghue 
19*82e35083SBryan O'Donoghue /* Clock gate control */
20*82e35083SBryan O'Donoghue struct ccm_clk_gate_ctrl {
21*82e35083SBryan O'Donoghue 	uint32_t ccm_ccgr;
22*82e35083SBryan O'Donoghue 	uint32_t ccm_ccgr_set;
23*82e35083SBryan O'Donoghue 	uint32_t ccm_ccgr_clr;
24*82e35083SBryan O'Donoghue 	uint32_t ccm_ccgr_tog;
25*82e35083SBryan O'Donoghue };
26*82e35083SBryan O'Donoghue 
27*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING0_DOM_CLK_NONE		0
28*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING0_DOM_CLK_RUN		BIT(0)
29*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING0_DOM_CLK_RUN_WAIT	BIT(1)
30*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING0_DOM_CLK_ALWAYS	(BIT(1) | BIT(0))
31*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING1_DOM_CLK_NONE		0
32*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING1_DOM_CLK_RUN		BIT(4)
33*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING1_DOM_CLK_RUN_WAIT	BIT(5)
34*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING1_DOM_CLK_ALWAYS	(BIT(5) | BIT(4))
35*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING2_DOM_CLK_NONE		0
36*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING2_DOM_CLK_RUN		BIT(8)
37*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING2_DOM_CLK_RUN_WAIT	BIT(9)
38*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING2_DOM_CLK_ALWAYS	(BIT(9) | BIT(8))
39*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING3_DOM_CLK_NONE		0
40*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING3_DOM_CLK_RUN		BIT(12)
41*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING3_DOM_CLK_RUN_WAIT	BIT(13)
42*82e35083SBryan O'Donoghue #define CCM_CCGR_SETTING3_DOM_CLK_ALWAYS	(BIT(13) | BIT(12))
43*82e35083SBryan O'Donoghue 
44*82e35083SBryan O'Donoghue enum {
45*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_ADC = 32,
46*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_AIPS1TZ = 10,
47*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_AIPS2TZ = 11,
48*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_AIPS3TZ = 12,
49*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_APBHDMA = 20,
50*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_CAAM = 36,
51*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_CM4 = 1,
52*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_CSI = 73,
53*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_CSU = 45,
54*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_DAP = 47,
55*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_DBGMON = 46,
56*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_DDRC = 19,
57*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_ECSPI1 = 120,
58*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_ECSPI2 = 121,
59*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_ECSPI3 = 122,
60*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_ECSPI4 = 123,
61*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_EIM = 22,
62*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_ENET1 = 112,
63*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_ENET2 = 113,
64*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_EPDC = 74,
65*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_FLEXCAN1 = 116,
66*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_FLEXCAN2 = 117,
67*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_FLEXTIMER1 = 128,
68*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_FLEXTIMER2 = 129,
69*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO1 = 160,
70*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO2 = 161,
71*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO3 = 162,
72*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO4 = 163,
73*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO5 = 164,
74*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO6 = 165,
75*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO7 = 166,
76*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPT1 = 124,
77*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPT2 = 125,
78*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPT3 = 126,
79*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPT4 = 127,
80*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_I2C1 = 136,
81*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_I2C2 = 137,
82*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_I2C3 = 138,
83*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_I2C4 = 139,
84*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_IOMUXC1 = 168,
85*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_IOMUXC2 = 169,
86*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_KPP = 120,
87*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_LCDIF = 75,
88*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_MIPI_CSI = 100,
89*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_MIPI_DSI = 101,
90*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_MIPI_PHY = 102,
91*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_MU = 39,
92*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_OCOTP = 35,
93*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_OCRAM = 17,
94*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_OCRAM_S = 18,
95*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_PCIE = 96,
96*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_PCIE_PHY = 96,
97*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_PERFMON1 = 68,
98*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_PERFMON2 = 69,
99*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_PWM1 = 132,
100*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_PWM2 = 133,
101*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_PWM3 = 134,
102*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_PMM4 = 135,
103*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_PXP = 76,
104*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_QOS1 = 42,
105*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_QOS2 = 43,
106*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_QOS3 = 44,
107*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_QUADSPI = 21,
108*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_RDC = 38,
109*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_ROMCP = 16,
110*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SAI1 = 140,
111*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SAI2 = 141,
112*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SAI3 = 142,
113*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SCTR = 34,
114*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SDMA = 72,
115*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SEC = 49,
116*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SEMA42_1 = 64,
117*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SEMA42_2 = 65,
118*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_DISPLAY = 5,
119*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_ENET = 6,
120*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_M = 7,
121*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_MAIN = 4,
122*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_S = 8,
123*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_WAKEUP = 9,
124*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM1 = 144,
125*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM2 = 145,
126*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_NAND = 20,
127*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_DISPLAY_CM4 = 1,
128*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_DRAM = 19,
129*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SNVS = 37,
130*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_SPBA = 12,
131*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_TRACE = 48,
132*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_TZASC = 19,
133*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART1 = 148,
134*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART2 = 149,
135*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART3 = 150,
136*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART4 = 151,
137*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART5 = 152,
138*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART6 = 153,
139*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART7 = 154,
140*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_USB_HS = 40,
141*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_USB_IPG = 104,
142*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_USB_PHY_480MCLK = 105,
143*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_USB_OTG1_PHY = 106,
144*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_USB_OTG2_PHY = 107,
145*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_USBHDC1 = 108,
146*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_USBHDC2 = 109,
147*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_USBHDC3 = 110,
148*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_WDOG1 = 156,
149*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_WDOG2 = 157,
150*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_WDOG3 = 158,
151*82e35083SBryan O'Donoghue 	CCM_CCGR_ID_WDOG4 = 159,
152*82e35083SBryan O'Donoghue };
153*82e35083SBryan O'Donoghue 
154*82e35083SBryan O'Donoghue /* Clock target block */
155*82e35083SBryan O'Donoghue struct ccm_target_root_ctrl {
156*82e35083SBryan O'Donoghue 	uint32_t ccm_target_root;
157*82e35083SBryan O'Donoghue 	uint32_t ccm_target_root_set;
158*82e35083SBryan O'Donoghue 	uint32_t ccm_target_root_clr;
159*82e35083SBryan O'Donoghue 	uint32_t ccm_target_root_tog;
160*82e35083SBryan O'Donoghue 	uint32_t ccm_misc;
161*82e35083SBryan O'Donoghue 	uint32_t ccm_misc_set;
162*82e35083SBryan O'Donoghue 	uint32_t ccm_misc_clr;
163*82e35083SBryan O'Donoghue 	uint32_t ccm_misc_tog;
164*82e35083SBryan O'Donoghue 	uint32_t ccm_post;
165*82e35083SBryan O'Donoghue 	uint32_t ccm_post_set;
166*82e35083SBryan O'Donoghue 	uint32_t ccm_post_clr;
167*82e35083SBryan O'Donoghue 	uint32_t ccm_post_tog;
168*82e35083SBryan O'Donoghue 	uint32_t ccm_pre;
169*82e35083SBryan O'Donoghue 	uint32_t ccm_pre_set;
170*82e35083SBryan O'Donoghue 	uint32_t ccm_pre_clr;
171*82e35083SBryan O'Donoghue 	uint32_t ccm_pre_tog;
172*82e35083SBryan O'Donoghue 	uint32_t reserved[0x0c];
173*82e35083SBryan O'Donoghue 	uint32_t ccm_access_ctrl;
174*82e35083SBryan O'Donoghue 	uint32_t ccm_access_ctrl_set;
175*82e35083SBryan O'Donoghue 	uint32_t ccm_access_ctrl_clr;
176*82e35083SBryan O'Donoghue 	uint32_t ccm_access_ctrl_tog;
177*82e35083SBryan O'Donoghue };
178*82e35083SBryan O'Donoghue 
179*82e35083SBryan O'Donoghue #define CCM_TARGET_ROOT_ENABLE		BIT(28)
180*82e35083SBryan O'Donoghue #define CCM_TARGET_MUX(x)		(((x) - 1) << 24)
181*82e35083SBryan O'Donoghue #define CCM_TARGET_PRE_PODF(x)		(((x) - 1) << 16)
182*82e35083SBryan O'Donoghue #define CCM_TARGET_POST_PODF(x)		((x) - 1)
183*82e35083SBryan O'Donoghue 
184*82e35083SBryan O'Donoghue /* Target root MUX values - selects the clock source for a block */
185*82e35083SBryan O'Donoghue /* ARM_A7_CLK_ROOT */
186*82e35083SBryan O'Donoghue 
187*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_OSC_24M			0
188*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_ARM_PLL			BIT(24)
189*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_ENET_PLL_DIV2		BIT(25)
190*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_DDR_PLL			(BIT(25) | BIT(24))
191*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_SYS_PLL			BIT(26)
192*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_SYS_PLL_PFD0		(BIT(26) | BIT(24))
193*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
194*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
195*82e35083SBryan O'Donoghue 
196*82e35083SBryan O'Donoghue /* ARM_M4_CLK_ROOT */
197*82e35083SBryan O'Donoghue 
198*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_OSC_24M			0
199*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
200*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_ENET_PLL_DIV4		BIT(25)
201*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_SYS_PLL_PFD2		(BIT(25) | BIT(24))
202*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_DDR_PLL_DIV2		BIT(26)
203*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(24))
204*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOTV_IDEO_PLL			(BIT(26) | BIT(25))
205*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOTUSB_PLL			((BIT(26) | BIT(25) | BIT(24))
206*82e35083SBryan O'Donoghue 
207*82e35083SBryan O'Donoghue /* MAIN_AXI_CLK_ROOT */
208*82e35083SBryan O'Donoghue 
209*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_OSC_24M			0
210*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_SYS_PLL_PFD1		BIT(24)
211*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
212*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_ENET_PLL_DIV4		(BIT(25) | BIT(24))
213*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_SYS_PLL_PFD5		BIT(26)
214*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
215*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
216*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_SYS_PLL_PFD7		((BIT(26) | BIT(25) | BIT(24))
217*82e35083SBryan O'Donoghue 
218*82e35083SBryan O'Donoghue /* DISP_AXI_CLK_ROOT */
219*82e35083SBryan O'Donoghue 
220*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_OSC_24M			0
221*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_SYS_PLL_PFD1		BIT(24)
222*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
223*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_ENET_PLL_DIV4		(BIT(25) | BIT(24))
224*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_SYS_PLL_PFD6		BIT(26)
225*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_SYS_PLL_PFD7		(BIT(26) | BIT(24))
226*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(25))
227*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_VIDEO_PLL		((BIT(26) | BIT(25) | BIT(24))
228*82e35083SBryan O'Donoghue 
229*82e35083SBryan O'Donoghue /* ENET_AXI_CLK_ROOT */
230*82e35083SBryan O'Donoghue 
231*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_OSC_24M			0
232*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_SYS_PLL_PFD2		BIT(24)
233*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
234*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_ENET_PLL_DIV4		(BIT(25) | BIT(24))
235*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_SYS_PLL_DIV2		BIT(26)
236*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
237*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
238*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_SYS_PLL_PFD4		((BIT(26) | BIT(25) | BIT(24))
239*82e35083SBryan O'Donoghue 
240*82e35083SBryan O'Donoghue /* NAND_USDHC_BUS_CLK_ROOT */
241*82e35083SBryan O'Donoghue 
242*82e35083SBryan O'Donoghue #define CM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_OSC_24M		0
243*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_AHB		BIT(24)
244*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_DDR_PLL_DIV2	BIT(25)
245*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_SYS_PLL_DIV2	(BIT(25) | BIT(24))
246*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_SYS_PLL_PFD2_DIV2	BIT(26)
247*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_SYS_PLL_PFD6	(BIT(26) | BIT(24))
248*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_ENET_PLL_DIV4	(BIT(26) | BIT(25))
249*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_AUDIO_PLL		((BIT(26) | BIT(25) | BIT(24))
250*82e35083SBryan O'Donoghue 
251*82e35083SBryan O'Donoghue /* AHB_CLK_ROOT */
252*82e35083SBryan O'Donoghue 
253*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_OSC_24M			0
254*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_SYS_PLL_PFD2			BIT(24)
255*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_DDR_PLL_DIV2			BIT(25)
256*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_SYS_PLL_PFD0			(BIT(25) | BIT(24))
257*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_ENET_PLL_DIV8			BIT(26)
258*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_USB_PLL			(BIT(26) | BIT(24))
259*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
260*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
261*82e35083SBryan O'Donoghue 
262*82e35083SBryan O'Donoghue /* IPG_CLK_ROOT */
263*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_IPG_CLK_ROOT_AHB_CLK_ROOT			0
264*82e35083SBryan O'Donoghue 
265*82e35083SBryan O'Donoghue /* DRAM_PHYM_CLK_ROOT */
266*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_CLK_ROOT_DDR_PLL			0
267*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_CLK_ROOT_DRAM_PHYM_ALT_CLK_ROOT	BIT(24)
268*82e35083SBryan O'Donoghue 
269*82e35083SBryan O'Donoghue /* DRAM_CLK_ROOT */
270*82e35083SBryan O'Donoghue 
271*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_CLK_ROOT_DDR_PLL			0
272*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_CLK_ROOT_DRAM_ALT_CLK_ROOT		BIT(24)
273*82e35083SBryan O'Donoghue 
274*82e35083SBryan O'Donoghue /* DRAM_PHYM_ALT_CLK_ROOT */
275*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_OSC_24M		0
276*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_DDR_PLL_DIV2	BIT(24)
277*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_SYS_PLL		BIT(25)
278*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_ENET_PLL_DIV2	(BIT(25) | BIT(24))
279*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_USB_PLL		BIT(26)
280*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_SYS_PLL_PFD7	(BIT(26) | BIT(24))
281*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(25))
282*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_VIDEO_PLL		((BIT(26) | BIT(25) | BIT(24))
283*82e35083SBryan O'Donoghue 
284*82e35083SBryan O'Donoghue /* DRAM_ALT_CLK_ROOT */
285*82e35083SBryan O'Donoghue 
286*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_OSC_24M			0
287*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_DDR_PLL_DIV2		BIT(24)
288*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_SYS_PLL			BIT(25)
289*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_ENET_PLL_DIV4		(BIT(25) | BIT(24))
290*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_USB_PLL			BIT(26)
291*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_SYS_PLL_PFD0		(BIT(26) | BIT(24))
292*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(25))
293*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_SYS_PLL_PFD2		((BIT(26) | BIT(25) | BIT(24))
294*82e35083SBryan O'Donoghue 
295*82e35083SBryan O'Donoghue /* USB_HSIC_CLK_ROOT */
296*82e35083SBryan O'Donoghue 
297*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_OSC_24M			0
298*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL			BIT(24)
299*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_USB_PLL			BIT(25)
300*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL_PFD3		(BIT(25) | BIT(24))
301*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL_PFD4		BIT(26)
302*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL_PFD5		(BIT(26) | BIT(24))
303*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL_PFD6		(BIT(26) | BIT(25))
304*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL_PFD7		((BIT(26) | BIT(25) | BIT(24))
305*82e35083SBryan O'Donoghue 
306*82e35083SBryan O'Donoghue /* LCDIF_PIXEL_CLK_ROOT */
307*82e35083SBryan O'Donoghue 
308*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_OSC_24M		0
309*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_SYS_PLL_PFD5		BIT(24)
310*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
311*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_EXT_CLK3		(BIT(25) | BIT(24))
312*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_SYS_PLL_PFD4		BIT(26)
313*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_SYS_PLL_PFD2		(BIT(26) | BIT(24))
314*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
315*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_USB_PLL		((BIT(26) | BIT(25) | BIT(24))
316*82e35083SBryan O'Donoghue 
317*82e35083SBryan O'Donoghue /* MIPI_DSI_CLK_ROOT */
318*82e35083SBryan O'Donoghue 
319*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_OSC_24M			0
320*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_SYS_PLL_PFD5		BIT(24)
321*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_SYS_PLL_PFD3		BIT(25)
322*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_SYS_PLL			(BIT(25) | BIT(24))
323*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_SYS_PLL_PFD0_DIV2	BIT(26)
324*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_DDR_PLL_DIV2		(BIT(26) | BIT(24))
325*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
326*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_AUDIO_PLL		((BIT(26) | BIT(25) | BIT(24))
327*82e35083SBryan O'Donoghue 
328*82e35083SBryan O'Donoghue /* MIPI_CSI_CLK_ROOT */
329*82e35083SBryan O'Donoghue 
330*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_OSC_24M			0
331*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_SYS_PLL_PFD4		BIT(24)
332*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_SYS_PLL_PFD3		BIT(25)
333*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_SYS_PLL			(BIT(25) | BIT(24))
334*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_SYS_PLL_PFD0_DIV2	BIT(26)
335*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_DDR_PLL_DIV2		(BIT(26) | BIT(24))
336*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
337*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_AUDIO_PLL		((BIT(26) | BIT(25) | BIT(24))
338*82e35083SBryan O'Donoghue 
339*82e35083SBryan O'Donoghue /* MIPI_DPHY_REF_CLK_ROOT */
340*82e35083SBryan O'Donoghue 
341*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_OSC_24M		0
342*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_SYS_PLL_DIV4	BIT(24)
343*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_DDR_PLL_DIV2	BIT(25)
344*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_SYS_PLL_PFD5	(BIT(25) | BIT(24))
345*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_REF_1M		BIT(26)
346*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_EXT_CLK2		(BIT(26) | BIT(24))
347*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
348*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_EXT_CLK3		((BIT(26) | BIT(25) | BIT(24))
349*82e35083SBryan O'Donoghue 
350*82e35083SBryan O'Donoghue /* SAI1_CLK_ROOT */
351*82e35083SBryan O'Donoghue 
352*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_OSC_24M			0
353*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
354*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_AUDIO_PLL			BIT(25)
355*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
356*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_VIDEO_PLL			BIT(26)
357*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_SYS_PLL_PFD4			(BIT(26) | BIT(24))
358*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_ENET_PLL_DIV8		(BIT(26) | BIT(25))
359*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_EXT_CLK2			((BIT(26) | BIT(25) | BIT(24))
360*82e35083SBryan O'Donoghue 
361*82e35083SBryan O'Donoghue /* SAI2_CLK_ROOT */
362*82e35083SBryan O'Donoghue 
363*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_OSC_24M			0
364*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
365*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_AUDIO_PLL			BIT(25)
366*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
367*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_VIDEO_PLL			BIT(26)
368*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_SYS_PLL_PFD4			(BIT(26) | BIT(24))
369*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_ENET_PLL_DIV8		(BIT(26) | BIT(25))
370*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_EXT_CLK2			((BIT(26) | BIT(25) | BIT(24))
371*82e35083SBryan O'Donoghue 
372*82e35083SBryan O'Donoghue /* SAI3_CLK_ROOT */
373*82e35083SBryan O'Donoghue 
374*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_OSC_24M			0
375*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
376*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_AUDIO_PLL			BIT(25)
377*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
378*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_VIDEO_PLL			BIT(26)
379*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_SYS_PLL_PFD4			(BIT(26) | BIT(24))
380*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_ENET_PLL_DIV8		(BIT(26) | BIT(25))
381*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_EXT_CLK3			((BIT(26) | BIT(25) | BIT(24))
382*82e35083SBryan O'Donoghue 
383*82e35083SBryan O'Donoghue /* ENET1_REF_CLK_ROOT */
384*82e35083SBryan O'Donoghue 
385*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_OSC_24M			0
386*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_ENET_PLL_DIV8		BIT(24)
387*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_ENET_PLL_DIV20		BIT(25)
388*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_ENET_PLL_DIV40		(BIT(25) | BIT(24))
389*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_SYS_PLL_DIV4		BIT(26)
390*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
391*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
392*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_EXT_CLK4		((BIT(26) | BIT(25) | BIT(24))
393*82e35083SBryan O'Donoghue 
394*82e35083SBryan O'Donoghue /* ENET1_TIME_CLK_ROOT */
395*82e35083SBryan O'Donoghue 
396*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_OSC_24M		0
397*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
398*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_AUDIO_PLL		BIT(25)
399*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_EXT_CLK1		(BIT(25) | BIT(24))
400*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_EXT_CLK2		BIT(26)
401*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_EXT_CLK3		(BIT(26) | BIT(24))
402*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_EXT_CLK4		(BIT(26) | BIT(25))
403*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_VIDEO_PLL		((BIT(26) | BIT(25) | BIT(24))
404*82e35083SBryan O'Donoghue 
405*82e35083SBryan O'Donoghue /* ENET_PHY_REF_CLK_ROOT */
406*82e35083SBryan O'Donoghue 
407*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_OSC_24M		0
408*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_ENET_PLL_DIV40	BIT(24)
409*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_ENET_PLL_DIV20	BIT(25)
410*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_ENET_PLL_DIV8	(BIT(25) | BIT(24))
411*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_DDR_PLL_DIV2		BIT(26)
412*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
413*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
414*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_SYS_PLL_PFD3		((BIT(26) | BIT(25) | BIT(24))
415*82e35083SBryan O'Donoghue 
416*82e35083SBryan O'Donoghue /* EIM_CLK_ROOT */
417*82e35083SBryan O'Donoghue 
418*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_OSC_24M			0
419*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
420*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
421*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
422*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_SYS_PLL_PFD2			BIT(26)
423*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_SYS_PLL_PFD3			(BIT(26) | BIT(24))
424*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_ENET_PLL_DIV8			(BIT(26) | BIT(25))
425*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
426*82e35083SBryan O'Donoghue 
427*82e35083SBryan O'Donoghue /* NAND_CLK_ROOT */
428*82e35083SBryan O'Donoghue 
429*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_OSC_24M			0
430*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_SYS_PLL			BIT(24)
431*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_DDR_PLL_DIV2			BIT(25)
432*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_SYS_PLL_PFD0			(BIT(25) | BIT(24))
433*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_SYS_PLL_PFD3			BIT(26)
434*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_ENET_PLL_DIV2		(BIT(26) | BIT(24))
435*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_ENET_PLL_DIV4		(BIT(26) | BIT(25))
436*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
437*82e35083SBryan O'Donoghue 
438*82e35083SBryan O'Donoghue /* QSPI_CLK_ROOT */
439*82e35083SBryan O'Donoghue 
440*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_OSC_24M			0
441*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_SYS_PLL_PFD4			BIT(24)
442*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_DDR_PLL_DIV2			BIT(25)
443*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_ENET_PLL_DIV2		(BIT(25) | BIT(24))
444*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_SYS_PLL_PFD3			BIT(26)
445*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_SYS_PLL_PFD2			(BIT(26) | BIT(24))
446*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_SYS_PLL_PFD6			(BIT(26) | BIT(25))
447*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_SYS_PLL_PFD7			((BIT(26) | BIT(25) | BIT(24))
448*82e35083SBryan O'Donoghue 
449*82e35083SBryan O'Donoghue /* USDHC1_CLK_ROOT */
450*82e35083SBryan O'Donoghue 
451*82e35083SBryan O'Donoghue #define CM_TRGT_MUX_USDHC1_CLK_ROOT_OSC_24M			0
452*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_SYS_PLL_PFD0		BIT(24)
453*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
454*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_ENET_PLL_DIV2		(BIT(25) | BIT(24))
455*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_SYS_PLL_PFD4		BIT(26)
456*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_SYS_PLL_PFD2		(BIT(26) | BIT(24))
457*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_SYS_PLL_PFD6		(BIT(26) | BIT(25))
458*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_SYS_PLL_PFD7		((BIT(26) | BIT(25) | BIT(24))
459*82e35083SBryan O'Donoghue 
460*82e35083SBryan O'Donoghue /* USDHC2_CLK_ROOT */
461*82e35083SBryan O'Donoghue 
462*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_OSC_24M			0
463*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_SYS_PLL_PFD0		BIT(24)
464*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
465*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_ENET_PLL_DIV2		(BIT(25) | BIT(24))
466*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_SYS_PLL_PFD4		BIT(26)
467*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_SYS_PLL_PFD2		(BIT(26) | BIT(24))
468*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_SYS_PLL_PFD6		(BIT(26) | BIT(25))
469*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_SYS_PLL_PFD7		((BIT(26) | BIT(25) | BIT(24))
470*82e35083SBryan O'Donoghue 
471*82e35083SBryan O'Donoghue /* USDHC3_CLK_ROOT */
472*82e35083SBryan O'Donoghue 
473*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_OSC_24M			0
474*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_SYS_PLL_PFD0		BIT(24)
475*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
476*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_ENET_PLL_DIV2		(BIT(25) | BIT(24))
477*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_SYS_PLL_PFD4		BIT(26)
478*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_SYS_PLL_PFD2		(BIT(26) | BIT(24))
479*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_SYS_PLL_PFD6		(BIT(26) | BIT(25))
480*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_SYS_PLL_PFD7		((BIT(26) | BIT(25) | BIT(24))
481*82e35083SBryan O'Donoghue 
482*82e35083SBryan O'Donoghue /* CAN1_CLK_ROOT */
483*82e35083SBryan O'Donoghue 
484*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_OSC_24M			0
485*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
486*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_DDR_PLL_DIV2			BIT(25)
487*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_SYS_PLL			(BIT(25) | BIT(24))
488*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_ENET_PLL_DIV25		BIT(26)
489*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_USB_PLL			(BIT(26) | BIT(24))
490*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_EXT_CLK1			(BIT(26) | BIT(25))
491*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_EXT_CLK4			((BIT(26) | BIT(25) | BIT(24))
492*82e35083SBryan O'Donoghue 
493*82e35083SBryan O'Donoghue /* CAN2_CLK_ROOT */
494*82e35083SBryan O'Donoghue 
495*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_OSC_24M			0
496*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
497*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_DDR_PLL_DIV2			BIT(25)
498*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_SYS_PLL			(BIT(25) | BIT(24))
499*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_ENET_PLL_DIV25		BIT(26)
500*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_USB_PLL			(BIT(26) | BIT(24))
501*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_EXT_CLK1			(BIT(26) | BIT(25))
502*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_EXT_CLK3			((BIT(26) | BIT(25) | BIT(24))
503*82e35083SBryan O'Donoghue 
504*82e35083SBryan O'Donoghue /* I2C1_CLK_ROOT */
505*82e35083SBryan O'Donoghue 
506*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_OSC_24M			0
507*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
508*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_ENET_PLL_DIV20		BIT(25)
509*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
510*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_AUDIO_PLL			BIT(26)
511*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_VIDEO_PLL			(BIT(26) | BIT(24))
512*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_USB_PLL			(BIT(26) | BIT(25))
513*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_SYS_PLL_PFD2_DIV2		((BIT(26) | BIT(25) | BIT(24))
514*82e35083SBryan O'Donoghue 
515*82e35083SBryan O'Donoghue /* I2C2_CLK_ROOT */
516*82e35083SBryan O'Donoghue 
517*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_OSC_24M			0
518*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
519*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_ENET_PLL_DIV20		BIT(25)
520*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
521*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_AUDIO_PLL			BIT(26)
522*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_VIDEO_PLL			(BIT(26) | BIT(24))
523*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_USB_PLL			(BIT(26) | BIT(25))
524*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_SYS_PLL_PFD2_DIV2		((BIT(26) | BIT(25) | BIT(24))
525*82e35083SBryan O'Donoghue 
526*82e35083SBryan O'Donoghue /* I2C3_CLK_ROOT */
527*82e35083SBryan O'Donoghue 
528*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_OSC_24M			0
529*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
530*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_ENET_PLL_DIV20		BIT(25)
531*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
532*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_AUDIO_PLL			BIT(26)
533*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_VIDEO_PLL			(BIT(26) | BIT(24))
534*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_USB_PLL			(BIT(26) | BIT(25))
535*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_SYS_PLL_PFD2_DIV2		((BIT(26) | BIT(25) | BIT(24))
536*82e35083SBryan O'Donoghue 
537*82e35083SBryan O'Donoghue /* I2C4_CLK_ROOT */
538*82e35083SBryan O'Donoghue 
539*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_OSC_24M			0
540*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
541*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_ENET_PLL_DIV20		BIT(25)
542*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
543*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_AUDIO_PLL			BIT(26)
544*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_VIDEO_PLL			(BIT(26) | BIT(24))
545*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_USB_PLL			(BIT(26) | BIT(25))
546*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_SYS_PLL_PFD2_DIV2		((BIT(26) | BIT(25) | BIT(24))
547*82e35083SBryan O'Donoghue 
548*82e35083SBryan O'Donoghue /* UART1_CLK_ROOT */
549*82e35083SBryan O'Donoghue 
550*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_OSC_24M			0
551*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
552*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
553*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
554*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_SYS_PLL			BIT(26)
555*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
556*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_EXT_CLK4			(BIT(26) | BIT(25))
557*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
558*82e35083SBryan O'Donoghue 
559*82e35083SBryan O'Donoghue /* UART2_CLK_ROOT */
560*82e35083SBryan O'Donoghue 
561*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_OSC_24M			0
562*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
563*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
564*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
565*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_SYS_PLL			BIT(26)
566*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
567*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_EXT_CLK3			(BIT(26) | BIT(25))
568*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
569*82e35083SBryan O'Donoghue 
570*82e35083SBryan O'Donoghue /* UART3_CLK_ROOT */
571*82e35083SBryan O'Donoghue 
572*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_OSC_24M			0
573*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
574*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
575*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
576*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_SYS_PLL			BIT(26)
577*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
578*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_EXT_CLK4			(BIT(26) | BIT(25))
579*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
580*82e35083SBryan O'Donoghue 
581*82e35083SBryan O'Donoghue /* UART4_CLK_ROOT */
582*82e35083SBryan O'Donoghue 
583*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_OSC_24M			0
584*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
585*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
586*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
587*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_SYS_PLL			BIT(26)
588*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
589*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_EXT_CLK3			(BIT(26) | BIT(25))
590*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
591*82e35083SBryan O'Donoghue 
592*82e35083SBryan O'Donoghue /* UART5_CLK_ROOT */
593*82e35083SBryan O'Donoghue 
594*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_OSC_24M			0
595*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
596*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
597*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
598*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_SYS_PLL			BIT(26)
599*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
600*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_EXT_CLK4			(BIT(26) | BIT(25))
601*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
602*82e35083SBryan O'Donoghue 
603*82e35083SBryan O'Donoghue /* UART6_CLK_ROOT */
604*82e35083SBryan O'Donoghue 
605*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_OSC_24M			0
606*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
607*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
608*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
609*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_SYS_PLL			BIT(26)
610*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
611*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_EXT_CLK3			(BIT(26) | BIT(25))
612*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
613*82e35083SBryan O'Donoghue 
614*82e35083SBryan O'Donoghue /* UART7_CLK_ROOT */
615*82e35083SBryan O'Donoghue 
616*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_OSC_24M			0
617*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
618*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
619*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
620*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_SYS_PLL			BIT(26)
621*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
622*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_EXT_CLK4			(BIT(26) | BIT(25))
623*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
624*82e35083SBryan O'Donoghue 
625*82e35083SBryan O'Donoghue /* ECSPI1_CLK_ROOT */
626*82e35083SBryan O'Donoghue 
627*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_OSC_24M			0
628*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
629*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
630*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_SYS_PLL_DIV4		(BIT(25) | BIT(24))
631*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_SYS_PLL			BIT(26)
632*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_SYS_PLL_PFD4		(BIT(26) | BIT(24))
633*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_ENET_PLL_DIV4		(BIT(26) | BIT(25))
634*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
635*82e35083SBryan O'Donoghue 
636*82e35083SBryan O'Donoghue /* ECSPI2_CLK_ROOT */
637*82e35083SBryan O'Donoghue 
638*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_OSC_24M			0
639*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
640*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
641*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_SYS_PLL_DIV4		(BIT(25) | BIT(24))
642*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_SYS_PLL			BIT(26)
643*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_SYS_PLL_PFD4		(BIT(26) | BIT(24))
644*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_ENET_PLL_DIV4		(BIT(26) | BIT(25))
645*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
646*82e35083SBryan O'Donoghue 
647*82e35083SBryan O'Donoghue /* ECSPI3_CLK_ROOT */
648*82e35083SBryan O'Donoghue 
649*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_OSC_24M			0
650*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
651*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
652*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_SYS_PLL_DIV4		(BIT(25) | BIT(24))
653*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_SYS_PLL			BIT(26)
654*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_SYS_PLL_PFD4		(BIT(26) | BIT(24))
655*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_ENET_PLL_DIV4		(BIT(26) | BIT(25))
656*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
657*82e35083SBryan O'Donoghue 
658*82e35083SBryan O'Donoghue /* ECSPI4_CLK_ROOT */
659*82e35083SBryan O'Donoghue 
660*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_OSC_24M			0
661*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
662*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
663*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_SYS_PLL_DIV4		(BIT(25) | BIT(24))
664*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_SYS_PLL			BIT(26)
665*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_SYS_PLL_PFD4		(BIT(26) | BIT(24))
666*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_ENET_PLL_DIV4		(BIT(26) | BIT(25))
667*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
668*82e35083SBryan O'Donoghue 
669*82e35083SBryan O'Donoghue /* PWM1_CLK_ROOT */
670*82e35083SBryan O'Donoghue 
671*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_OSC_24M			0
672*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
673*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
674*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
675*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_AUDIO_PLL			BIT(26)
676*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_EXT_CLK1			(BIT(26) | BIT(24))
677*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
678*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
679*82e35083SBryan O'Donoghue 
680*82e35083SBryan O'Donoghue /* PWM2_CLK_ROOT */
681*82e35083SBryan O'Donoghue 
682*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_OSC_24M			0
683*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
684*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
685*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
686*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_AUDIO_PLL			BIT(26)
687*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_EXT_CLK1			(BIT(26) | BIT(24))
688*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
689*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
690*82e35083SBryan O'Donoghue 
691*82e35083SBryan O'Donoghue /* PWM3_CLK_ROOT */
692*82e35083SBryan O'Donoghue 
693*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_OSC_24M			0
694*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
695*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
696*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
697*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_AUDIO_PLL			BIT(26)
698*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
699*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
700*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
701*82e35083SBryan O'Donoghue 
702*82e35083SBryan O'Donoghue /* PWM4_CLK_ROOT */
703*82e35083SBryan O'Donoghue 
704*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_OSC_24M			0
705*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
706*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
707*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
708*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_AUDIO_PLL			BIT(26)
709*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
710*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
711*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
712*82e35083SBryan O'Donoghue 
713*82e35083SBryan O'Donoghue /* FLEXTIMER1_CLK_ROOT */
714*82e35083SBryan O'Donoghue 
715*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_OSC_24M		0
716*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
717*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_SYS_PLL_DIV4		BIT(25)
718*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
719*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_AUDIO_PLL		BIT(26)
720*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_EXT_CLK3		(BIT(26) | BIT(24))
721*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
722*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_VIDEO_PLL		((BIT(26) | BIT(25) | BIT(24))
723*82e35083SBryan O'Donoghue 
724*82e35083SBryan O'Donoghue /* FLEXTIMER2_CLK_ROOT */
725*82e35083SBryan O'Donoghue 
726*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_OSC_24M		0
727*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
728*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_SYS_PLL_DIV4		BIT(25)
729*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
730*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_AUDIO_PLL		BIT(26)
731*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_EXT_CLK3		(BIT(26) | BIT(24))
732*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
733*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_VIDEO_PLL		((BIT(26) | BIT(25) | BIT(24))
734*82e35083SBryan O'Donoghue 
735*82e35083SBryan O'Donoghue /* Target SIM1_CLK_ROOT */
736*82e35083SBryan O'Donoghue 
737*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_OSC_24M			0
738*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
739*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
740*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
741*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_USB_PLL			BIT(26)
742*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(24))
743*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_ENET_PLL_DIV8		(BIT(26) | BIT(25))
744*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_SYS_PLL_PFD7			((BIT(26) | BIT(25) | BIT(24))
745*82e35083SBryan O'Donoghue 
746*82e35083SBryan O'Donoghue /* Target SIM2_CLK_ROOT */
747*82e35083SBryan O'Donoghue 
748*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_OSC_24M			0
749*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
750*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
751*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
752*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_USB_PLL			BIT(26)
753*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_VIDEO_PLL			(BIT(26) | BIT(24))
754*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_ENET_PLL_DIV8		(BIT(26) | BIT(25))
755*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_SYS_PLL_PFD7			((BIT(26) | BIT(25) | BIT(24))
756*82e35083SBryan O'Donoghue 
757*82e35083SBryan O'Donoghue /* Target GPT1_CLK_ROOT */
758*82e35083SBryan O'Donoghue 
759*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_OSC_24M			0
760*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
761*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_SYS_PLL_PFD0			BIT(25)
762*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
763*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_VIDEO_PLL			BIT(26)
764*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_REF_1M			(BIT(26) | BIT(24))
765*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
766*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_EXT_CLK1			((BIT(26) | BIT(25) | BIT(24))
767*82e35083SBryan O'Donoghue 
768*82e35083SBryan O'Donoghue /* Target GPT2_CLK_ROOT */
769*82e35083SBryan O'Donoghue 
770*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_OSC_24M			0
771*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
772*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_SYS_PLL_PFD0			BIT(25)
773*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
774*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_VIDEO_PLL			BIT(26)
775*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_REF_1M			(BIT(26) | BIT(24))
776*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
777*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_EXT_CLK2			((BIT(26) | BIT(25) | BIT(24))
778*82e35083SBryan O'Donoghue 
779*82e35083SBryan O'Donoghue /* Target GPT3_CLK_ROOT */
780*82e35083SBryan O'Donoghue 
781*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_OSC_24M			0
782*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
783*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_SYS_PLL_PFD0			BIT(25)
784*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
785*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_VIDEO_PLL			BIT(26)
786*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_REF_1M			(BIT(26) | BIT(24))
787*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
788*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_EXT_CLK3			((BIT(26) | BIT(25) | BIT(24))
789*82e35083SBryan O'Donoghue 
790*82e35083SBryan O'Donoghue /*Target GPT4_CLK_ROOT */
791*82e35083SBryan O'Donoghue 
792*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_OSC_24M			0
793*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
794*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_SYS_PLL_PFD0			BIT(25)
795*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
796*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_VIDEO_PLL			BIT(26)
797*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_REF_1M			(BIT(26) | BIT(24))
798*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
799*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_EXT_CLK4			((BIT(26) | BIT(25) | BIT(24))
800*82e35083SBryan O'Donoghue 
801*82e35083SBryan O'Donoghue /* Target TRACE_CLK_ROOT */
802*82e35083SBryan O'Donoghue 
803*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_OSC_24M			0
804*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
805*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_SYS_PLL_DIV4		BIT(25)
806*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_DDR_PLL_DIV2		(BIT(25) | BIT(24))
807*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_ENET_PLL_DIV8		BIT(26)
808*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_USB_PLL			(BIT(26) | BIT(24))
809*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(25))
810*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_EXT_CLK3			((BIT(26) | BIT(25) | BIT(24))
811*82e35083SBryan O'Donoghue 
812*82e35083SBryan O'Donoghue /* Target WDOG_CLK_ROOT */
813*82e35083SBryan O'Donoghue 
814*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_OSC_24M			0
815*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
816*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
817*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
818*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_ENET_PLL_DIV8		BIT(26)
819*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_USB_PLL			(BIT(26) | BIT(24))
820*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
821*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_SYS_PLL_PFD1_DIV2		((BIT(26) | BIT(25) | BIT(24))
822*82e35083SBryan O'Donoghue 
823*82e35083SBryan O'Donoghue /* Target CSI_MCLK_CLK_ROOT */
824*82e35083SBryan O'Donoghue 
825*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_OSC_24M			0
826*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_SYS_PLL_PFD2_DIV2	BIT(24)
827*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_SYS_PLL_DIV4		BIT(25)
828*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_DDR_PLL_DIV2		(BIT(25) | BIT(24))
829*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_ENET_PLL_DIV8		BIT(26)
830*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
831*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
832*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
833*82e35083SBryan O'Donoghue 
834*82e35083SBryan O'Donoghue /* Target AUDIO_MCLK_CLK_ROOT */
835*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_OSC_24M		0
836*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_SYS_PLL_PFD2_DIV2	BIT(24)
837*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_SYS_PLL_DIV4		BIT(25)
838*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_DDR_PLL_DIV2		(BIT(25) | BIT(24))
839*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_ENET_PLL_DIV8		BIT(26)
840*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
841*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
842*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_USB_PLL		((BIT(26) | BIT(25) | BIT(24))
843*82e35083SBryan O'Donoghue 
844*82e35083SBryan O'Donoghue /* Target CCM_CLKO1 */
845*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_OSC_24M				0
846*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_SYS_PLL				BIT(24)
847*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_SYS_PLL_DIV2			BIT(25)
848*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_SYS_PLL_PFD0_DIV2		(BIT(25) | BIT(24))
849*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_SYS_PLL_PFD3			BIT(26)
850*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_ENET_PLL_DIV2			(BIT(26) | BIT(24))
851*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_DDR_PLL_DIV2			(BIT(26) | BIT(25))
852*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_REF_1M				((BIT(26) | BIT(25) | BIT(24))
853*82e35083SBryan O'Donoghue 
854*82e35083SBryan O'Donoghue /* Target CCM_CLKO2 */
855*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_OSC_24M				0
856*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_SYS_PLL_DIV2			BIT(24)
857*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_SYS_PLL_PFD0			BIT(25)
858*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_SYS_PLL_PFD1_DIV2		(BIT(25) | BIT(24))
859*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_SYS_PLL_PFD4			BIT(26)
860*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_AUDIO_PLL			(BIT(26) | BIT(24))
861*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_VIDEO_PLL			(BIT(26) | BIT(25))
862*82e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_OSC_32K				((BIT(26) | BIT(25) | BIT(24))
863*82e35083SBryan O'Donoghue 
864*82e35083SBryan O'Donoghue /*
865*82e35083SBryan O'Donoghue  * See Table 5-11 in i.MX7 Solo Reference manual rev 0.1
866*82e35083SBryan O'Donoghue  * The indices must be calculated by dividing the offset by
867*82e35083SBryan O'Donoghue  * sizeof (struct ccm_target_root_ctrl) => 0x80 bytes for each index
868*82e35083SBryan O'Donoghue  */
869*82e35083SBryan O'Donoghue enum {
870*82e35083SBryan O'Donoghue 	CCM_TRT_ID_ARM_A7_CLK_ROOT = 0,
871*82e35083SBryan O'Donoghue 	CCM_TRT_ID_ARM_M4_CLK_ROOT = 1,
872*82e35083SBryan O'Donoghue 	CCM_TRT_ID_MAIN_AXI_CLK_ROOT = 16,
873*82e35083SBryan O'Donoghue 	CCM_TRT_ID_DISP_AXI_CLK_ROOT = 17,
874*82e35083SBryan O'Donoghue 	CCM_TRT_ID_ENET_AXI_CLK_ROOT = 18,
875*82e35083SBryan O'Donoghue 	CCM_TRT_ID_NAND_USDHC_BUS_CLK_ROOT = 19,
876*82e35083SBryan O'Donoghue 	CCM_TRT_ID_AHB_CLK_ROOT = 32,
877*82e35083SBryan O'Donoghue 	CCM_TRT_ID_IPG_CLK_ROOT = 33,
878*82e35083SBryan O'Donoghue 	CCM_TRT_ID_DRAM_PHYM_CLK_ROOT = 48,
879*82e35083SBryan O'Donoghue 	CCM_TRT_ID_DRAM_CLK_ROOT = 49,
880*82e35083SBryan O'Donoghue 	CCM_TRT_ID_DRAM_PHYM_ALT_CLK_ROOT = 64,
881*82e35083SBryan O'Donoghue 	CCM_TRT_ID_DRAM_ALT_CLK_ROOT = 65,
882*82e35083SBryan O'Donoghue 	CCM_TRT_ID_USB_HSIC_CLK_ROOT = 66,
883*82e35083SBryan O'Donoghue 	CCM_TRT_ID_LCDIF_PIXEL_CLK_ROOT = 70,
884*82e35083SBryan O'Donoghue 	CCM_TRT_ID_MIPI_DSI_CLK_ROOT = 71,
885*82e35083SBryan O'Donoghue 	CCM_TRT_ID_MIPI_CSI_CLK_ROOT = 72,
886*82e35083SBryan O'Donoghue 	CCM_TRT_ID_MIPI_DPHY_REF_CLK_ROOT = 73,
887*82e35083SBryan O'Donoghue 	CCM_TRT_ID_SAI1_CLK_ROOT = 74,
888*82e35083SBryan O'Donoghue 	CCM_TRT_ID_SAI2_CLK_ROOT = 75,
889*82e35083SBryan O'Donoghue 	CCM_TRT_ID_SAI3_CLK_ROOT = 76,
890*82e35083SBryan O'Donoghue 	CCM_TRT_ID_ENET1_REF_CLK_ROOT = 78,
891*82e35083SBryan O'Donoghue 	CCM_TRT_ID_ENET1_TIME_CLK_ROOT = 79,
892*82e35083SBryan O'Donoghue 	CCM_TRT_ID_ENET_PHY_REF_CLK_ROOT = 82,
893*82e35083SBryan O'Donoghue 	CCM_TRT_ID_EIM_CLK_ROOT = 83,
894*82e35083SBryan O'Donoghue 	CCM_TRT_ID_NAND_CLK_ROOT = 84,
895*82e35083SBryan O'Donoghue 	CCM_TRT_ID_QSPI_CLK_ROOT = 85,
896*82e35083SBryan O'Donoghue 	CCM_TRT_ID_USDHC1_CLK_ROOT = 86,
897*82e35083SBryan O'Donoghue 	CCM_TRT_ID_USDHC2_CLK_ROOT = 87,
898*82e35083SBryan O'Donoghue 	CCM_TRT_ID_USDHC3_CLK_ROOT = 88,
899*82e35083SBryan O'Donoghue 	CCM_TRT_ID_CAN1_CLK_ROOT = 89,
900*82e35083SBryan O'Donoghue 	CCM_TRT_ID_CAN2_CLK_ROOT = 90,
901*82e35083SBryan O'Donoghue 	CCM_TRT_ID_I2C1_CLK_ROOT = 91,
902*82e35083SBryan O'Donoghue 	CCM_TRT_ID_I2C2_CLK_ROOT = 92,
903*82e35083SBryan O'Donoghue 	CCM_TRT_ID_I2C3_CLK_ROOT = 93,
904*82e35083SBryan O'Donoghue 	CCM_TRT_ID_I2C4_CLK_ROOT = 94,
905*82e35083SBryan O'Donoghue 	CCM_TRT_ID_UART1_CLK_ROOT = 95,
906*82e35083SBryan O'Donoghue 	CCM_TRT_ID_UART2_CLK_ROOT = 96,
907*82e35083SBryan O'Donoghue 	CCM_TRT_ID_UART3_CLK_ROOT = 97,
908*82e35083SBryan O'Donoghue 	CCM_TRT_ID_UART4_CLK_ROOT = 98,
909*82e35083SBryan O'Donoghue 	CCM_TRT_ID_UART5_CLK_ROOT = 99,
910*82e35083SBryan O'Donoghue 	CCM_TRT_ID_UART6_CLK_ROOT = 100,
911*82e35083SBryan O'Donoghue 	CCM_TRT_ID_UART7_CLK_ROOT = 101,
912*82e35083SBryan O'Donoghue 	CCM_TRT_ID_ECSPI1_CLK_ROOT = 102,
913*82e35083SBryan O'Donoghue 	CCM_TRT_ID_ECSPI2_CLK_ROOT = 103,
914*82e35083SBryan O'Donoghue 	CCM_TRT_ID_ECSPI3_CLK_ROOT = 104,
915*82e35083SBryan O'Donoghue 	CCM_TRT_ID_ECSPI4_CLK_ROOT = 105,
916*82e35083SBryan O'Donoghue 	CCM_TRT_ID_PWM1_CLK_ROOT = 106,
917*82e35083SBryan O'Donoghue 	CCM_TRT_ID_PWM2_CLK_ROOT = 107,
918*82e35083SBryan O'Donoghue 	CCM_TRT_ID_PWM3_CLK_ROOT = 108,
919*82e35083SBryan O'Donoghue 	CCM_TRT_ID_PWM4_CLK_ROOT = 109,
920*82e35083SBryan O'Donoghue 	CCM_TRT_ID_FLEXTIMER1_CLK_ROOT = 110,
921*82e35083SBryan O'Donoghue 	CCM_TRT_ID_FLEXTIMER2_CLK_ROOT = 111,
922*82e35083SBryan O'Donoghue 	CCM_TRT_ID_SIM1_CLK_ROOT = 112,
923*82e35083SBryan O'Donoghue 	CCM_TRT_ID_SIM2_CLK_ROOT = 113,
924*82e35083SBryan O'Donoghue 	CCM_TRT_ID_GPT1_CLK_ROOT = 114,
925*82e35083SBryan O'Donoghue 	CCM_TRT_ID_GPT2_CLK_ROOT = 115,
926*82e35083SBryan O'Donoghue 	CCM_TRT_ID_GPT3_CLK_ROOT = 116,
927*82e35083SBryan O'Donoghue 	CCM_TRT_ID_GPT4_CLK_ROOT = 117,
928*82e35083SBryan O'Donoghue 	CCM_TRT_ID_TRACE_CLK_ROOT = 118,
929*82e35083SBryan O'Donoghue 	CCM_TRT_ID_WDOG_CLK_ROOT = 119,
930*82e35083SBryan O'Donoghue 	CCM_TRT_ID_CSI_MCLK_CLK_ROOT = 120,
931*82e35083SBryan O'Donoghue 	CCM_TRT_ID_AUDIO_MCLK_CLK_ROOT = 121,
932*82e35083SBryan O'Donoghue 	CCM_TRT_ID_CCM_CLKO1 = 123,
933*82e35083SBryan O'Donoghue 	CCM_TRT_ID_CCM_CLKO2 = 124,
934*82e35083SBryan O'Donoghue };
935*82e35083SBryan O'Donoghue 
936*82e35083SBryan O'Donoghue #define CCM_MISC_VIOLATE		BIT(8)
937*82e35083SBryan O'Donoghue #define CCM_MISC_TIMEOUT		BIT(4)
938*82e35083SBryan O'Donoghue #define CCM_MISC_AUTHEN_FAIL		BIT(0)
939*82e35083SBryan O'Donoghue 
940*82e35083SBryan O'Donoghue #define CCM_POST_BUSY2			BIT(31)
941*82e35083SBryan O'Donoghue #define CCM_POST_SELECT_BRANCH_A	BIT(28)
942*82e35083SBryan O'Donoghue #define CCM_POST_BUSY1			BIT(7)
943*82e35083SBryan O'Donoghue #define CCM_POST_POST_PODF(x)		((x) - 1)
944*82e35083SBryan O'Donoghue 
945*82e35083SBryan O'Donoghue #define CCM_PRE_BUSY4			BIT(31)
946*82e35083SBryan O'Donoghue #define CCM_PRE_ENABLE_A		BIT(28)
947*82e35083SBryan O'Donoghue #define CCM_PRE_MUX_A(x)		(((x) - 1) << 24)
948*82e35083SBryan O'Donoghue #define CCM_PRE_BUSY3			BIT(19)
949*82e35083SBryan O'Donoghue #define CCM_PRE_PODF_A(x)		(((x) - 1) << 16)
950*82e35083SBryan O'Donoghue #define CCM_PRE_BUSY1			BIT(15)
951*82e35083SBryan O'Donoghue #define CCM_PRE_ENABLE_B		BIT(12)
952*82e35083SBryan O'Donoghue #define CCM_PRE_MUX_B(x)		(((x) - 1) << 8)
953*82e35083SBryan O'Donoghue #define CCM_PRE_BUSY0			BIT(3)
954*82e35083SBryan O'Donoghue #define CCM_PRE_POST_PODF(x)		((x) - 1)
955*82e35083SBryan O'Donoghue 
956*82e35083SBryan O'Donoghue #define CCM_ACCESS_CTRL_LOCK		BIT(31)
957*82e35083SBryan O'Donoghue #define CCM_ACCESS_SEMA_ENABLE		BIT(28)
958*82e35083SBryan O'Donoghue #define CCM_ACCESS_DOM3_WHITELIST	BIT(27)
959*82e35083SBryan O'Donoghue #define CCM_ACCESS_DOM2_WHITELIST	BIT(26)
960*82e35083SBryan O'Donoghue #define CCM_ACCESS_DOM1_WHITELIST	BIT(25)
961*82e35083SBryan O'Donoghue #define CCM_ACCESS_DOM0_WHITELIST	BIT(24)
962*82e35083SBryan O'Donoghue #define CCM_ACCESS_MUTEX		BIT(20)
963*82e35083SBryan O'Donoghue #define CCM_ACCESS_OWNER_ID(x)		((x) << 16)
964*82e35083SBryan O'Donoghue #define CCM_ACCESS_DOM3_INFO(x)		((x) << 12)
965*82e35083SBryan O'Donoghue #define CCM_ACCESS_DOM2_INFO(x)		((x) << 8)
966*82e35083SBryan O'Donoghue #define CCM_ACCESS_DOM1_INFO(x)		((x) << 4)
967*82e35083SBryan O'Donoghue #define CCM_ACCESS_DOM0_INFO(x)		(x)
968*82e35083SBryan O'Donoghue 
969*82e35083SBryan O'Donoghue #define CCM_PLL_CTRL_NUM	0x21
970*82e35083SBryan O'Donoghue #define CCM_CLK_GATE_CTRL_NUM	0xbf
971*82e35083SBryan O'Donoghue #define CCM_ROOT_CTRL_NUM	0x79
972*82e35083SBryan O'Donoghue 
973*82e35083SBryan O'Donoghue struct ccm {
974*82e35083SBryan O'Donoghue 	uint32_t ccm_gpr0;
975*82e35083SBryan O'Donoghue 	uint32_t ccm_gpr0_set;
976*82e35083SBryan O'Donoghue 	uint32_t ccm_gpr0_clr;
977*82e35083SBryan O'Donoghue 	uint32_t ccm_grp0_tog;
978*82e35083SBryan O'Donoghue 	uint32_t reserved[0x1fc];
979*82e35083SBryan O'Donoghue 	struct ccm_pll_ctrl ccm_pll_ctrl[CCM_PLL_CTRL_NUM];
980*82e35083SBryan O'Donoghue 	uint32_t reserved1[0xd7c];
981*82e35083SBryan O'Donoghue 	struct ccm_clk_gate_ctrl ccm_clk_gate_ctrl[CCM_CLK_GATE_CTRL_NUM];
982*82e35083SBryan O'Donoghue 	uint32_t reserved2[0xd04];
983*82e35083SBryan O'Donoghue 	struct ccm_target_root_ctrl ccm_root_ctrl[CCM_ROOT_CTRL_NUM];
984*82e35083SBryan O'Donoghue };
985*82e35083SBryan O'Donoghue 
986*82e35083SBryan O'Donoghue void imx_clock_target_set(unsigned int id, uint32_t val);
987*82e35083SBryan O'Donoghue void imx_clock_target_clr(unsigned int id, uint32_t val);
988*82e35083SBryan O'Donoghue void imx_clock_gate_enable(unsigned int id, bool enable);
989*82e35083SBryan O'Donoghue 
990*82e35083SBryan O'Donoghue void imx_clock_init(void);
991*82e35083SBryan O'Donoghue 
992*82e35083SBryan O'Donoghue #endif /* __IMX_CLOCK_H__ */
993