xref: /rk3399_ARM-atf/plat/imx/common/include/imx_clock.h (revision 6176a4e56b16fa28a914b72fa163929135463f8c)
182e35083SBryan O'Donoghue /*
282e35083SBryan O'Donoghue  * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
382e35083SBryan O'Donoghue  *
482e35083SBryan O'Donoghue  * SPDX-License-Identifier: BSD-3-Clause
582e35083SBryan O'Donoghue  */
682e35083SBryan O'Donoghue #ifndef __IMX_CLOCK_H__
782e35083SBryan O'Donoghue #define __IMX_CLOCK_H__
882e35083SBryan O'Donoghue 
982e35083SBryan O'Donoghue #include <stdint.h>
1082e35083SBryan O'Donoghue #include <stdbool.h>
1182e35083SBryan O'Donoghue 
1282e35083SBryan O'Donoghue struct ccm_pll_ctrl {
1382e35083SBryan O'Donoghue 	uint32_t ccm_pll_ctrl;
1482e35083SBryan O'Donoghue 	uint32_t ccm_pll_ctrl_set;
1582e35083SBryan O'Donoghue 	uint32_t ccm_pll_ctrl_clr;
1682e35083SBryan O'Donoghue 	uint32_t ccm_pll_ctrl_tog;
1782e35083SBryan O'Donoghue };
1882e35083SBryan O'Donoghue 
1982e35083SBryan O'Donoghue /* Clock gate control */
2082e35083SBryan O'Donoghue struct ccm_clk_gate_ctrl {
2182e35083SBryan O'Donoghue 	uint32_t ccm_ccgr;
2282e35083SBryan O'Donoghue 	uint32_t ccm_ccgr_set;
2382e35083SBryan O'Donoghue 	uint32_t ccm_ccgr_clr;
2482e35083SBryan O'Donoghue 	uint32_t ccm_ccgr_tog;
2582e35083SBryan O'Donoghue };
2682e35083SBryan O'Donoghue 
2782e35083SBryan O'Donoghue #define CCM_CCGR_SETTING0_DOM_CLK_NONE		0
2882e35083SBryan O'Donoghue #define CCM_CCGR_SETTING0_DOM_CLK_RUN		BIT(0)
2982e35083SBryan O'Donoghue #define CCM_CCGR_SETTING0_DOM_CLK_RUN_WAIT	BIT(1)
3082e35083SBryan O'Donoghue #define CCM_CCGR_SETTING0_DOM_CLK_ALWAYS	(BIT(1) | BIT(0))
3182e35083SBryan O'Donoghue #define CCM_CCGR_SETTING1_DOM_CLK_NONE		0
3282e35083SBryan O'Donoghue #define CCM_CCGR_SETTING1_DOM_CLK_RUN		BIT(4)
3382e35083SBryan O'Donoghue #define CCM_CCGR_SETTING1_DOM_CLK_RUN_WAIT	BIT(5)
3482e35083SBryan O'Donoghue #define CCM_CCGR_SETTING1_DOM_CLK_ALWAYS	(BIT(5) | BIT(4))
3582e35083SBryan O'Donoghue #define CCM_CCGR_SETTING2_DOM_CLK_NONE		0
3682e35083SBryan O'Donoghue #define CCM_CCGR_SETTING2_DOM_CLK_RUN		BIT(8)
3782e35083SBryan O'Donoghue #define CCM_CCGR_SETTING2_DOM_CLK_RUN_WAIT	BIT(9)
3882e35083SBryan O'Donoghue #define CCM_CCGR_SETTING2_DOM_CLK_ALWAYS	(BIT(9) | BIT(8))
3982e35083SBryan O'Donoghue #define CCM_CCGR_SETTING3_DOM_CLK_NONE		0
4082e35083SBryan O'Donoghue #define CCM_CCGR_SETTING3_DOM_CLK_RUN		BIT(12)
4182e35083SBryan O'Donoghue #define CCM_CCGR_SETTING3_DOM_CLK_RUN_WAIT	BIT(13)
4282e35083SBryan O'Donoghue #define CCM_CCGR_SETTING3_DOM_CLK_ALWAYS	(BIT(13) | BIT(12))
4382e35083SBryan O'Donoghue 
4482e35083SBryan O'Donoghue enum {
4582e35083SBryan O'Donoghue 	CCM_CCGR_ID_ADC = 32,
4682e35083SBryan O'Donoghue 	CCM_CCGR_ID_AIPS1TZ = 10,
4782e35083SBryan O'Donoghue 	CCM_CCGR_ID_AIPS2TZ = 11,
4882e35083SBryan O'Donoghue 	CCM_CCGR_ID_AIPS3TZ = 12,
4982e35083SBryan O'Donoghue 	CCM_CCGR_ID_APBHDMA = 20,
5082e35083SBryan O'Donoghue 	CCM_CCGR_ID_CAAM = 36,
5182e35083SBryan O'Donoghue 	CCM_CCGR_ID_CM4 = 1,
5282e35083SBryan O'Donoghue 	CCM_CCGR_ID_CSI = 73,
5382e35083SBryan O'Donoghue 	CCM_CCGR_ID_CSU = 45,
5482e35083SBryan O'Donoghue 	CCM_CCGR_ID_DAP = 47,
5582e35083SBryan O'Donoghue 	CCM_CCGR_ID_DBGMON = 46,
5682e35083SBryan O'Donoghue 	CCM_CCGR_ID_DDRC = 19,
5782e35083SBryan O'Donoghue 	CCM_CCGR_ID_ECSPI1 = 120,
5882e35083SBryan O'Donoghue 	CCM_CCGR_ID_ECSPI2 = 121,
5982e35083SBryan O'Donoghue 	CCM_CCGR_ID_ECSPI3 = 122,
6082e35083SBryan O'Donoghue 	CCM_CCGR_ID_ECSPI4 = 123,
6182e35083SBryan O'Donoghue 	CCM_CCGR_ID_EIM = 22,
6282e35083SBryan O'Donoghue 	CCM_CCGR_ID_ENET1 = 112,
6382e35083SBryan O'Donoghue 	CCM_CCGR_ID_ENET2 = 113,
6482e35083SBryan O'Donoghue 	CCM_CCGR_ID_EPDC = 74,
6582e35083SBryan O'Donoghue 	CCM_CCGR_ID_FLEXCAN1 = 116,
6682e35083SBryan O'Donoghue 	CCM_CCGR_ID_FLEXCAN2 = 117,
6782e35083SBryan O'Donoghue 	CCM_CCGR_ID_FLEXTIMER1 = 128,
6882e35083SBryan O'Donoghue 	CCM_CCGR_ID_FLEXTIMER2 = 129,
6982e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO1 = 160,
7082e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO2 = 161,
7182e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO3 = 162,
7282e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO4 = 163,
7382e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO5 = 164,
7482e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO6 = 165,
7582e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPIO7 = 166,
7682e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPT1 = 124,
7782e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPT2 = 125,
7882e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPT3 = 126,
7982e35083SBryan O'Donoghue 	CCM_CCGR_ID_GPT4 = 127,
8082e35083SBryan O'Donoghue 	CCM_CCGR_ID_I2C1 = 136,
8182e35083SBryan O'Donoghue 	CCM_CCGR_ID_I2C2 = 137,
8282e35083SBryan O'Donoghue 	CCM_CCGR_ID_I2C3 = 138,
8382e35083SBryan O'Donoghue 	CCM_CCGR_ID_I2C4 = 139,
8482e35083SBryan O'Donoghue 	CCM_CCGR_ID_IOMUXC1 = 168,
8582e35083SBryan O'Donoghue 	CCM_CCGR_ID_IOMUXC2 = 169,
8682e35083SBryan O'Donoghue 	CCM_CCGR_ID_KPP = 120,
8782e35083SBryan O'Donoghue 	CCM_CCGR_ID_LCDIF = 75,
8882e35083SBryan O'Donoghue 	CCM_CCGR_ID_MIPI_CSI = 100,
8982e35083SBryan O'Donoghue 	CCM_CCGR_ID_MIPI_DSI = 101,
9082e35083SBryan O'Donoghue 	CCM_CCGR_ID_MIPI_PHY = 102,
9182e35083SBryan O'Donoghue 	CCM_CCGR_ID_MU = 39,
9282e35083SBryan O'Donoghue 	CCM_CCGR_ID_OCOTP = 35,
9382e35083SBryan O'Donoghue 	CCM_CCGR_ID_OCRAM = 17,
9482e35083SBryan O'Donoghue 	CCM_CCGR_ID_OCRAM_S = 18,
9582e35083SBryan O'Donoghue 	CCM_CCGR_ID_PCIE = 96,
9682e35083SBryan O'Donoghue 	CCM_CCGR_ID_PCIE_PHY = 96,
9782e35083SBryan O'Donoghue 	CCM_CCGR_ID_PERFMON1 = 68,
9882e35083SBryan O'Donoghue 	CCM_CCGR_ID_PERFMON2 = 69,
9982e35083SBryan O'Donoghue 	CCM_CCGR_ID_PWM1 = 132,
10082e35083SBryan O'Donoghue 	CCM_CCGR_ID_PWM2 = 133,
10182e35083SBryan O'Donoghue 	CCM_CCGR_ID_PWM3 = 134,
10282e35083SBryan O'Donoghue 	CCM_CCGR_ID_PMM4 = 135,
10382e35083SBryan O'Donoghue 	CCM_CCGR_ID_PXP = 76,
10482e35083SBryan O'Donoghue 	CCM_CCGR_ID_QOS1 = 42,
10582e35083SBryan O'Donoghue 	CCM_CCGR_ID_QOS2 = 43,
10682e35083SBryan O'Donoghue 	CCM_CCGR_ID_QOS3 = 44,
10782e35083SBryan O'Donoghue 	CCM_CCGR_ID_QUADSPI = 21,
10882e35083SBryan O'Donoghue 	CCM_CCGR_ID_RDC = 38,
10982e35083SBryan O'Donoghue 	CCM_CCGR_ID_ROMCP = 16,
11082e35083SBryan O'Donoghue 	CCM_CCGR_ID_SAI1 = 140,
11182e35083SBryan O'Donoghue 	CCM_CCGR_ID_SAI2 = 141,
11282e35083SBryan O'Donoghue 	CCM_CCGR_ID_SAI3 = 142,
11382e35083SBryan O'Donoghue 	CCM_CCGR_ID_SCTR = 34,
11482e35083SBryan O'Donoghue 	CCM_CCGR_ID_SDMA = 72,
11582e35083SBryan O'Donoghue 	CCM_CCGR_ID_SEC = 49,
11682e35083SBryan O'Donoghue 	CCM_CCGR_ID_SEMA42_1 = 64,
11782e35083SBryan O'Donoghue 	CCM_CCGR_ID_SEMA42_2 = 65,
11882e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_DISPLAY = 5,
11982e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_ENET = 6,
12082e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_M = 7,
12182e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_MAIN = 4,
12282e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_S = 8,
12382e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_WAKEUP = 9,
12482e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM1 = 144,
12582e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM2 = 145,
12682e35083SBryan O'Donoghue 	CCM_CCGR_ID_SIM_NAND = 20,
12782e35083SBryan O'Donoghue 	CCM_CCGR_ID_DISPLAY_CM4 = 1,
12882e35083SBryan O'Donoghue 	CCM_CCGR_ID_DRAM = 19,
12982e35083SBryan O'Donoghue 	CCM_CCGR_ID_SNVS = 37,
13082e35083SBryan O'Donoghue 	CCM_CCGR_ID_SPBA = 12,
13182e35083SBryan O'Donoghue 	CCM_CCGR_ID_TRACE = 48,
13282e35083SBryan O'Donoghue 	CCM_CCGR_ID_TZASC = 19,
13382e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART1 = 148,
13482e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART2 = 149,
13582e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART3 = 150,
13682e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART4 = 151,
13782e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART5 = 152,
13882e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART6 = 153,
13982e35083SBryan O'Donoghue 	CCM_CCGR_ID_UART7 = 154,
14082e35083SBryan O'Donoghue 	CCM_CCGR_ID_USB_HS = 40,
14182e35083SBryan O'Donoghue 	CCM_CCGR_ID_USB_IPG = 104,
14282e35083SBryan O'Donoghue 	CCM_CCGR_ID_USB_PHY_480MCLK = 105,
14382e35083SBryan O'Donoghue 	CCM_CCGR_ID_USB_OTG1_PHY = 106,
14482e35083SBryan O'Donoghue 	CCM_CCGR_ID_USB_OTG2_PHY = 107,
14582e35083SBryan O'Donoghue 	CCM_CCGR_ID_USBHDC1 = 108,
14682e35083SBryan O'Donoghue 	CCM_CCGR_ID_USBHDC2 = 109,
14782e35083SBryan O'Donoghue 	CCM_CCGR_ID_USBHDC3 = 110,
14882e35083SBryan O'Donoghue 	CCM_CCGR_ID_WDOG1 = 156,
14982e35083SBryan O'Donoghue 	CCM_CCGR_ID_WDOG2 = 157,
15082e35083SBryan O'Donoghue 	CCM_CCGR_ID_WDOG3 = 158,
15182e35083SBryan O'Donoghue 	CCM_CCGR_ID_WDOG4 = 159,
15282e35083SBryan O'Donoghue };
15382e35083SBryan O'Donoghue 
15482e35083SBryan O'Donoghue /* Clock target block */
15582e35083SBryan O'Donoghue struct ccm_target_root_ctrl {
15682e35083SBryan O'Donoghue 	uint32_t ccm_target_root;
15782e35083SBryan O'Donoghue 	uint32_t ccm_target_root_set;
15882e35083SBryan O'Donoghue 	uint32_t ccm_target_root_clr;
15982e35083SBryan O'Donoghue 	uint32_t ccm_target_root_tog;
16082e35083SBryan O'Donoghue 	uint32_t ccm_misc;
16182e35083SBryan O'Donoghue 	uint32_t ccm_misc_set;
16282e35083SBryan O'Donoghue 	uint32_t ccm_misc_clr;
16382e35083SBryan O'Donoghue 	uint32_t ccm_misc_tog;
16482e35083SBryan O'Donoghue 	uint32_t ccm_post;
16582e35083SBryan O'Donoghue 	uint32_t ccm_post_set;
16682e35083SBryan O'Donoghue 	uint32_t ccm_post_clr;
16782e35083SBryan O'Donoghue 	uint32_t ccm_post_tog;
16882e35083SBryan O'Donoghue 	uint32_t ccm_pre;
16982e35083SBryan O'Donoghue 	uint32_t ccm_pre_set;
17082e35083SBryan O'Donoghue 	uint32_t ccm_pre_clr;
17182e35083SBryan O'Donoghue 	uint32_t ccm_pre_tog;
17282e35083SBryan O'Donoghue 	uint32_t reserved[0x0c];
17382e35083SBryan O'Donoghue 	uint32_t ccm_access_ctrl;
17482e35083SBryan O'Donoghue 	uint32_t ccm_access_ctrl_set;
17582e35083SBryan O'Donoghue 	uint32_t ccm_access_ctrl_clr;
17682e35083SBryan O'Donoghue 	uint32_t ccm_access_ctrl_tog;
17782e35083SBryan O'Donoghue };
17882e35083SBryan O'Donoghue 
17982e35083SBryan O'Donoghue #define CCM_TARGET_ROOT_ENABLE		BIT(28)
18082e35083SBryan O'Donoghue #define CCM_TARGET_MUX(x)		(((x) - 1) << 24)
18182e35083SBryan O'Donoghue #define CCM_TARGET_PRE_PODF(x)		(((x) - 1) << 16)
18282e35083SBryan O'Donoghue #define CCM_TARGET_POST_PODF(x)		((x) - 1)
18382e35083SBryan O'Donoghue 
18482e35083SBryan O'Donoghue /* Target root MUX values - selects the clock source for a block */
18582e35083SBryan O'Donoghue /* ARM_A7_CLK_ROOT */
18682e35083SBryan O'Donoghue 
18782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_OSC_24M			0
18882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_ARM_PLL			BIT(24)
18982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_ENET_PLL_DIV2		BIT(25)
19082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_DDR_PLL			(BIT(25) | BIT(24))
19182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_SYS_PLL			BIT(26)
19282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_SYS_PLL_PFD0		(BIT(26) | BIT(24))
19382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
19482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_A7_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
19582e35083SBryan O'Donoghue 
19682e35083SBryan O'Donoghue /* ARM_M4_CLK_ROOT */
19782e35083SBryan O'Donoghue 
19882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_OSC_24M			0
19982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
20082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_ENET_PLL_DIV4		BIT(25)
20182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_SYS_PLL_PFD2		(BIT(25) | BIT(24))
20282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_DDR_PLL_DIV2		BIT(26)
20382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(24))
20482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOTV_IDEO_PLL			(BIT(26) | BIT(25))
20582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ARM_M4_CLK_ROOTUSB_PLL			((BIT(26) | BIT(25) | BIT(24))
20682e35083SBryan O'Donoghue 
20782e35083SBryan O'Donoghue /* MAIN_AXI_CLK_ROOT */
20882e35083SBryan O'Donoghue 
20982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_OSC_24M			0
21082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_SYS_PLL_PFD1		BIT(24)
21182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
21282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_ENET_PLL_DIV4		(BIT(25) | BIT(24))
21382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_SYS_PLL_PFD5		BIT(26)
21482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
21582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
21682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MAIN_AXI_CLK_ROOT_SYS_PLL_PFD7		((BIT(26) | BIT(25) | BIT(24))
21782e35083SBryan O'Donoghue 
21882e35083SBryan O'Donoghue /* DISP_AXI_CLK_ROOT */
21982e35083SBryan O'Donoghue 
22082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_OSC_24M			0
22182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_SYS_PLL_PFD1		BIT(24)
22282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
22382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_ENET_PLL_DIV4		(BIT(25) | BIT(24))
22482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_SYS_PLL_PFD6		BIT(26)
22582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_SYS_PLL_PFD7		(BIT(26) | BIT(24))
22682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(25))
22782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DISP_AXI_CLK_ROOT_VIDEO_PLL		((BIT(26) | BIT(25) | BIT(24))
22882e35083SBryan O'Donoghue 
22982e35083SBryan O'Donoghue /* ENET_AXI_CLK_ROOT */
23082e35083SBryan O'Donoghue 
23182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_OSC_24M			0
23282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_SYS_PLL_PFD2		BIT(24)
23382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
23482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_ENET_PLL_DIV4		(BIT(25) | BIT(24))
23582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_SYS_PLL_DIV2		BIT(26)
23682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
23782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
23882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_AXI_CLK_ROOT_SYS_PLL_PFD4		((BIT(26) | BIT(25) | BIT(24))
23982e35083SBryan O'Donoghue 
24082e35083SBryan O'Donoghue /* NAND_USDHC_BUS_CLK_ROOT */
24182e35083SBryan O'Donoghue 
24282e35083SBryan O'Donoghue #define CM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_OSC_24M		0
24382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_AHB		BIT(24)
24482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_DDR_PLL_DIV2	BIT(25)
24582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_SYS_PLL_DIV2	(BIT(25) | BIT(24))
24682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_SYS_PLL_PFD2_DIV2	BIT(26)
24782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_SYS_PLL_PFD6	(BIT(26) | BIT(24))
24882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_ENET_PLL_DIV4	(BIT(26) | BIT(25))
24982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_USDHC_BUS_CLK_ROOT_AUDIO_PLL		((BIT(26) | BIT(25) | BIT(24))
25082e35083SBryan O'Donoghue 
25182e35083SBryan O'Donoghue /* AHB_CLK_ROOT */
25282e35083SBryan O'Donoghue 
25382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_OSC_24M			0
25482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_SYS_PLL_PFD2			BIT(24)
25582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_DDR_PLL_DIV2			BIT(25)
25682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_SYS_PLL_PFD0			(BIT(25) | BIT(24))
25782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_ENET_PLL_DIV8			BIT(26)
25882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_USB_PLL			(BIT(26) | BIT(24))
25982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
26082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AHB_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
26182e35083SBryan O'Donoghue 
26282e35083SBryan O'Donoghue /* IPG_CLK_ROOT */
26382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_IPG_CLK_ROOT_AHB_CLK_ROOT			0
26482e35083SBryan O'Donoghue 
26582e35083SBryan O'Donoghue /* DRAM_PHYM_CLK_ROOT */
26682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_CLK_ROOT_DDR_PLL			0
26782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_CLK_ROOT_DRAM_PHYM_ALT_CLK_ROOT	BIT(24)
26882e35083SBryan O'Donoghue 
26982e35083SBryan O'Donoghue /* DRAM_CLK_ROOT */
27082e35083SBryan O'Donoghue 
27182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_CLK_ROOT_DDR_PLL			0
27282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_CLK_ROOT_DRAM_ALT_CLK_ROOT		BIT(24)
27382e35083SBryan O'Donoghue 
27482e35083SBryan O'Donoghue /* DRAM_PHYM_ALT_CLK_ROOT */
27582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_OSC_24M		0
27682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_DDR_PLL_DIV2	BIT(24)
27782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_SYS_PLL		BIT(25)
27882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_ENET_PLL_DIV2	(BIT(25) | BIT(24))
27982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_USB_PLL		BIT(26)
28082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_SYS_PLL_PFD7	(BIT(26) | BIT(24))
28182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(25))
28282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_PHYM_ALT_CLK_ROOT_VIDEO_PLL		((BIT(26) | BIT(25) | BIT(24))
28382e35083SBryan O'Donoghue 
28482e35083SBryan O'Donoghue /* DRAM_ALT_CLK_ROOT */
28582e35083SBryan O'Donoghue 
28682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_OSC_24M			0
28782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_DDR_PLL_DIV2		BIT(24)
28882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_SYS_PLL			BIT(25)
28982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_ENET_PLL_DIV4		(BIT(25) | BIT(24))
29082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_USB_PLL			BIT(26)
29182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_SYS_PLL_PFD0		(BIT(26) | BIT(24))
29282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(25))
29382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_DRAM_ALT_CLK_ROOT_SYS_PLL_PFD2		((BIT(26) | BIT(25) | BIT(24))
29482e35083SBryan O'Donoghue 
29582e35083SBryan O'Donoghue /* USB_HSIC_CLK_ROOT */
29682e35083SBryan O'Donoghue 
29782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_OSC_24M			0
29882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL			BIT(24)
29982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_USB_PLL			BIT(25)
30082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL_PFD3		(BIT(25) | BIT(24))
30182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL_PFD4		BIT(26)
30282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL_PFD5		(BIT(26) | BIT(24))
30382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL_PFD6		(BIT(26) | BIT(25))
30482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USB_HSIC_CLK_ROOT_SYS_PLL_PFD7		((BIT(26) | BIT(25) | BIT(24))
30582e35083SBryan O'Donoghue 
30682e35083SBryan O'Donoghue /* LCDIF_PIXEL_CLK_ROOT */
30782e35083SBryan O'Donoghue 
30882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_OSC_24M		0
30982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_SYS_PLL_PFD5		BIT(24)
31082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
31182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_EXT_CLK3		(BIT(25) | BIT(24))
31282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_SYS_PLL_PFD4		BIT(26)
31382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_SYS_PLL_PFD2		(BIT(26) | BIT(24))
31482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
31582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_LCDIF_PIXEL_CLK_ROOT_USB_PLL		((BIT(26) | BIT(25) | BIT(24))
31682e35083SBryan O'Donoghue 
31782e35083SBryan O'Donoghue /* MIPI_DSI_CLK_ROOT */
31882e35083SBryan O'Donoghue 
31982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_OSC_24M			0
32082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_SYS_PLL_PFD5		BIT(24)
32182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_SYS_PLL_PFD3		BIT(25)
32282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_SYS_PLL			(BIT(25) | BIT(24))
32382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_SYS_PLL_PFD0_DIV2	BIT(26)
32482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_DDR_PLL_DIV2		(BIT(26) | BIT(24))
32582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
32682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DSI_CLK_ROOT_AUDIO_PLL		((BIT(26) | BIT(25) | BIT(24))
32782e35083SBryan O'Donoghue 
32882e35083SBryan O'Donoghue /* MIPI_CSI_CLK_ROOT */
32982e35083SBryan O'Donoghue 
33082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_OSC_24M			0
33182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_SYS_PLL_PFD4		BIT(24)
33282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_SYS_PLL_PFD3		BIT(25)
33382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_SYS_PLL			(BIT(25) | BIT(24))
33482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_SYS_PLL_PFD0_DIV2	BIT(26)
33582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_DDR_PLL_DIV2		(BIT(26) | BIT(24))
33682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
33782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_CSI_CLK_ROOT_AUDIO_PLL		((BIT(26) | BIT(25) | BIT(24))
33882e35083SBryan O'Donoghue 
33982e35083SBryan O'Donoghue /* MIPI_DPHY_REF_CLK_ROOT */
34082e35083SBryan O'Donoghue 
34182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_OSC_24M		0
34282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_SYS_PLL_DIV4	BIT(24)
34382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_DDR_PLL_DIV2	BIT(25)
34482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_SYS_PLL_PFD5	(BIT(25) | BIT(24))
34582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_REF_1M		BIT(26)
34682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_EXT_CLK2		(BIT(26) | BIT(24))
34782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
34882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_MIPI_DPHY_REF_CLK_ROOT_EXT_CLK3		((BIT(26) | BIT(25) | BIT(24))
34982e35083SBryan O'Donoghue 
35082e35083SBryan O'Donoghue /* SAI1_CLK_ROOT */
35182e35083SBryan O'Donoghue 
35282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_OSC_24M			0
35382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
35482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_AUDIO_PLL			BIT(25)
35582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
35682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_VIDEO_PLL			BIT(26)
35782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_SYS_PLL_PFD4			(BIT(26) | BIT(24))
35882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_ENET_PLL_DIV8		(BIT(26) | BIT(25))
35982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI1_CLK_ROOT_EXT_CLK2			((BIT(26) | BIT(25) | BIT(24))
36082e35083SBryan O'Donoghue 
36182e35083SBryan O'Donoghue /* SAI2_CLK_ROOT */
36282e35083SBryan O'Donoghue 
36382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_OSC_24M			0
36482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
36582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_AUDIO_PLL			BIT(25)
36682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
36782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_VIDEO_PLL			BIT(26)
36882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_SYS_PLL_PFD4			(BIT(26) | BIT(24))
36982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_ENET_PLL_DIV8		(BIT(26) | BIT(25))
37082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI2_CLK_ROOT_EXT_CLK2			((BIT(26) | BIT(25) | BIT(24))
37182e35083SBryan O'Donoghue 
37282e35083SBryan O'Donoghue /* SAI3_CLK_ROOT */
37382e35083SBryan O'Donoghue 
37482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_OSC_24M			0
37582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
37682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_AUDIO_PLL			BIT(25)
37782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
37882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_VIDEO_PLL			BIT(26)
37982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_SYS_PLL_PFD4			(BIT(26) | BIT(24))
38082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_ENET_PLL_DIV8		(BIT(26) | BIT(25))
38182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SAI3_CLK_ROOT_EXT_CLK3			((BIT(26) | BIT(25) | BIT(24))
38282e35083SBryan O'Donoghue 
38382e35083SBryan O'Donoghue /* ENET1_REF_CLK_ROOT */
38482e35083SBryan O'Donoghue 
38582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_OSC_24M			0
38682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_ENET_PLL_DIV8		BIT(24)
38782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_ENET_PLL_DIV20		BIT(25)
38882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_ENET_PLL_DIV40		(BIT(25) | BIT(24))
38982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_SYS_PLL_DIV4		BIT(26)
39082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
39182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
39282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_REF_CLK_ROOT_EXT_CLK4		((BIT(26) | BIT(25) | BIT(24))
39382e35083SBryan O'Donoghue 
39482e35083SBryan O'Donoghue /* ENET1_TIME_CLK_ROOT */
39582e35083SBryan O'Donoghue 
39682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_OSC_24M		0
39782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
39882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_AUDIO_PLL		BIT(25)
39982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_EXT_CLK1		(BIT(25) | BIT(24))
40082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_EXT_CLK2		BIT(26)
40182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_EXT_CLK3		(BIT(26) | BIT(24))
40282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_EXT_CLK4		(BIT(26) | BIT(25))
40382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET1_TIME_CLK_ROOT_VIDEO_PLL		((BIT(26) | BIT(25) | BIT(24))
40482e35083SBryan O'Donoghue 
40582e35083SBryan O'Donoghue /* ENET_PHY_REF_CLK_ROOT */
40682e35083SBryan O'Donoghue 
40782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_OSC_24M		0
40882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_ENET_PLL_DIV40	BIT(24)
40982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_ENET_PLL_DIV20	BIT(25)
41082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_ENET_PLL_DIV8	(BIT(25) | BIT(24))
41182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_DDR_PLL_DIV2		BIT(26)
41282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
41382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
41482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ENET_PHY_REF_CLK_ROOT_SYS_PLL_PFD3		((BIT(26) | BIT(25) | BIT(24))
41582e35083SBryan O'Donoghue 
41682e35083SBryan O'Donoghue /* EIM_CLK_ROOT */
41782e35083SBryan O'Donoghue 
41882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_OSC_24M			0
41982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
42082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
42182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
42282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_SYS_PLL_PFD2			BIT(26)
42382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_SYS_PLL_PFD3			(BIT(26) | BIT(24))
42482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_ENET_PLL_DIV8			(BIT(26) | BIT(25))
42582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_EIM_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
42682e35083SBryan O'Donoghue 
42782e35083SBryan O'Donoghue /* NAND_CLK_ROOT */
42882e35083SBryan O'Donoghue 
42982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_OSC_24M			0
43082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_SYS_PLL			BIT(24)
43182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_DDR_PLL_DIV2			BIT(25)
43282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_SYS_PLL_PFD0			(BIT(25) | BIT(24))
43382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_SYS_PLL_PFD3			BIT(26)
43482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_ENET_PLL_DIV2		(BIT(26) | BIT(24))
43582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_ENET_PLL_DIV4		(BIT(26) | BIT(25))
43682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_NAND_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
43782e35083SBryan O'Donoghue 
43882e35083SBryan O'Donoghue /* QSPI_CLK_ROOT */
43982e35083SBryan O'Donoghue 
44082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_OSC_24M			0
44182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_SYS_PLL_PFD4			BIT(24)
44282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_DDR_PLL_DIV2			BIT(25)
44382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_ENET_PLL_DIV2		(BIT(25) | BIT(24))
44482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_SYS_PLL_PFD3			BIT(26)
44582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_SYS_PLL_PFD2			(BIT(26) | BIT(24))
44682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_SYS_PLL_PFD6			(BIT(26) | BIT(25))
44782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_QSPI_CLK_ROOT_SYS_PLL_PFD7			((BIT(26) | BIT(25) | BIT(24))
44882e35083SBryan O'Donoghue 
44982e35083SBryan O'Donoghue /* USDHC1_CLK_ROOT */
45082e35083SBryan O'Donoghue 
45182e35083SBryan O'Donoghue #define CM_TRGT_MUX_USDHC1_CLK_ROOT_OSC_24M			0
45282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_SYS_PLL_PFD0		BIT(24)
45382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
45482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_ENET_PLL_DIV2		(BIT(25) | BIT(24))
45582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_SYS_PLL_PFD4		BIT(26)
45682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_SYS_PLL_PFD2		(BIT(26) | BIT(24))
45782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_SYS_PLL_PFD6		(BIT(26) | BIT(25))
45882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC1_CLK_ROOT_SYS_PLL_PFD7		((BIT(26) | BIT(25) | BIT(24))
45982e35083SBryan O'Donoghue 
46082e35083SBryan O'Donoghue /* USDHC2_CLK_ROOT */
46182e35083SBryan O'Donoghue 
46282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_OSC_24M			0
46382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_SYS_PLL_PFD0		BIT(24)
46482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
46582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_ENET_PLL_DIV2		(BIT(25) | BIT(24))
46682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_SYS_PLL_PFD4		BIT(26)
46782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_SYS_PLL_PFD2		(BIT(26) | BIT(24))
46882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_SYS_PLL_PFD6		(BIT(26) | BIT(25))
46982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC2_CLK_ROOT_SYS_PLL_PFD7		((BIT(26) | BIT(25) | BIT(24))
47082e35083SBryan O'Donoghue 
47182e35083SBryan O'Donoghue /* USDHC3_CLK_ROOT */
47282e35083SBryan O'Donoghue 
47382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_OSC_24M			0
47482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_SYS_PLL_PFD0		BIT(24)
47582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_DDR_PLL_DIV2		BIT(25)
47682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_ENET_PLL_DIV2		(BIT(25) | BIT(24))
47782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_SYS_PLL_PFD4		BIT(26)
47882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_SYS_PLL_PFD2		(BIT(26) | BIT(24))
47982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_SYS_PLL_PFD6		(BIT(26) | BIT(25))
48082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_USDHC3_CLK_ROOT_SYS_PLL_PFD7		((BIT(26) | BIT(25) | BIT(24))
48182e35083SBryan O'Donoghue 
48282e35083SBryan O'Donoghue /* CAN1_CLK_ROOT */
48382e35083SBryan O'Donoghue 
48482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_OSC_24M			0
48582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
48682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_DDR_PLL_DIV2			BIT(25)
48782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_SYS_PLL			(BIT(25) | BIT(24))
48882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_ENET_PLL_DIV25		BIT(26)
48982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_USB_PLL			(BIT(26) | BIT(24))
49082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_EXT_CLK1			(BIT(26) | BIT(25))
49182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN1_CLK_ROOT_EXT_CLK4			((BIT(26) | BIT(25) | BIT(24))
49282e35083SBryan O'Donoghue 
49382e35083SBryan O'Donoghue /* CAN2_CLK_ROOT */
49482e35083SBryan O'Donoghue 
49582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_OSC_24M			0
49682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
49782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_DDR_PLL_DIV2			BIT(25)
49882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_SYS_PLL			(BIT(25) | BIT(24))
49982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_ENET_PLL_DIV25		BIT(26)
50082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_USB_PLL			(BIT(26) | BIT(24))
50182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_EXT_CLK1			(BIT(26) | BIT(25))
50282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CAN2_CLK_ROOT_EXT_CLK3			((BIT(26) | BIT(25) | BIT(24))
50382e35083SBryan O'Donoghue 
50482e35083SBryan O'Donoghue /* I2C1_CLK_ROOT */
50582e35083SBryan O'Donoghue 
50682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_OSC_24M			0
50782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
50882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_ENET_PLL_DIV20		BIT(25)
50982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
51082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_AUDIO_PLL			BIT(26)
51182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_VIDEO_PLL			(BIT(26) | BIT(24))
51282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_USB_PLL			(BIT(26) | BIT(25))
51382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C1_CLK_ROOT_SYS_PLL_PFD2_DIV2		((BIT(26) | BIT(25) | BIT(24))
51482e35083SBryan O'Donoghue 
51582e35083SBryan O'Donoghue /* I2C2_CLK_ROOT */
51682e35083SBryan O'Donoghue 
51782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_OSC_24M			0
51882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
51982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_ENET_PLL_DIV20		BIT(25)
52082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
52182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_AUDIO_PLL			BIT(26)
52282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_VIDEO_PLL			(BIT(26) | BIT(24))
52382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_USB_PLL			(BIT(26) | BIT(25))
52482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C2_CLK_ROOT_SYS_PLL_PFD2_DIV2		((BIT(26) | BIT(25) | BIT(24))
52582e35083SBryan O'Donoghue 
52682e35083SBryan O'Donoghue /* I2C3_CLK_ROOT */
52782e35083SBryan O'Donoghue 
52882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_OSC_24M			0
52982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
53082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_ENET_PLL_DIV20		BIT(25)
53182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
53282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_AUDIO_PLL			BIT(26)
53382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_VIDEO_PLL			(BIT(26) | BIT(24))
53482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_USB_PLL			(BIT(26) | BIT(25))
53582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C3_CLK_ROOT_SYS_PLL_PFD2_DIV2		((BIT(26) | BIT(25) | BIT(24))
53682e35083SBryan O'Donoghue 
53782e35083SBryan O'Donoghue /* I2C4_CLK_ROOT */
53882e35083SBryan O'Donoghue 
53982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_OSC_24M			0
54082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_SYS_PLL_DIV4			BIT(24)
54182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_ENET_PLL_DIV20		BIT(25)
54282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
54382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_AUDIO_PLL			BIT(26)
54482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_VIDEO_PLL			(BIT(26) | BIT(24))
54582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_USB_PLL			(BIT(26) | BIT(25))
54682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_I2C4_CLK_ROOT_SYS_PLL_PFD2_DIV2		((BIT(26) | BIT(25) | BIT(24))
54782e35083SBryan O'Donoghue 
54882e35083SBryan O'Donoghue /* UART1_CLK_ROOT */
54982e35083SBryan O'Donoghue 
55082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_OSC_24M			0
55182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
55282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
55382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
55482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_SYS_PLL			BIT(26)
55582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
55682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_EXT_CLK4			(BIT(26) | BIT(25))
55782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART1_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
55882e35083SBryan O'Donoghue 
55982e35083SBryan O'Donoghue /* UART2_CLK_ROOT */
56082e35083SBryan O'Donoghue 
56182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_OSC_24M			0
56282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
56382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
56482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
56582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_SYS_PLL			BIT(26)
56682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
56782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_EXT_CLK3			(BIT(26) | BIT(25))
56882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART2_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
56982e35083SBryan O'Donoghue 
57082e35083SBryan O'Donoghue /* UART3_CLK_ROOT */
57182e35083SBryan O'Donoghue 
57282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_OSC_24M			0
57382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
57482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
57582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
57682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_SYS_PLL			BIT(26)
57782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
57882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_EXT_CLK4			(BIT(26) | BIT(25))
57982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART3_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
58082e35083SBryan O'Donoghue 
58182e35083SBryan O'Donoghue /* UART4_CLK_ROOT */
58282e35083SBryan O'Donoghue 
58382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_OSC_24M			0
58482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
58582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
58682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
58782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_SYS_PLL			BIT(26)
58882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
58982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_EXT_CLK3			(BIT(26) | BIT(25))
59082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART4_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
59182e35083SBryan O'Donoghue 
59282e35083SBryan O'Donoghue /* UART5_CLK_ROOT */
59382e35083SBryan O'Donoghue 
59482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_OSC_24M			0
59582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
59682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
59782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
59882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_SYS_PLL			BIT(26)
59982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
60082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_EXT_CLK4			(BIT(26) | BIT(25))
60182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART5_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
60282e35083SBryan O'Donoghue 
60382e35083SBryan O'Donoghue /* UART6_CLK_ROOT */
60482e35083SBryan O'Donoghue 
60582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_OSC_24M			0
60682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
60782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
60882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
60982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_SYS_PLL			BIT(26)
61082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
61182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_EXT_CLK3			(BIT(26) | BIT(25))
61282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART6_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
61382e35083SBryan O'Donoghue 
61482e35083SBryan O'Donoghue /* UART7_CLK_ROOT */
61582e35083SBryan O'Donoghue 
61682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_OSC_24M			0
61782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
61882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
61982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_ENET_PLL_DIV10		(BIT(25) | BIT(24))
62082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_SYS_PLL			BIT(26)
62182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
62282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_EXT_CLK4			(BIT(26) | BIT(25))
62382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_UART7_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
62482e35083SBryan O'Donoghue 
62582e35083SBryan O'Donoghue /* ECSPI1_CLK_ROOT */
62682e35083SBryan O'Donoghue 
62782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_OSC_24M			0
62882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
62982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
63082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_SYS_PLL_DIV4		(BIT(25) | BIT(24))
63182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_SYS_PLL			BIT(26)
63282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_SYS_PLL_PFD4		(BIT(26) | BIT(24))
63382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_ENET_PLL_DIV4		(BIT(26) | BIT(25))
63482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI1_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
63582e35083SBryan O'Donoghue 
63682e35083SBryan O'Donoghue /* ECSPI2_CLK_ROOT */
63782e35083SBryan O'Donoghue 
63882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_OSC_24M			0
63982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
64082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
64182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_SYS_PLL_DIV4		(BIT(25) | BIT(24))
64282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_SYS_PLL			BIT(26)
64382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_SYS_PLL_PFD4		(BIT(26) | BIT(24))
64482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_ENET_PLL_DIV4		(BIT(26) | BIT(25))
64582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI2_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
64682e35083SBryan O'Donoghue 
64782e35083SBryan O'Donoghue /* ECSPI3_CLK_ROOT */
64882e35083SBryan O'Donoghue 
64982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_OSC_24M			0
65082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
65182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
65282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_SYS_PLL_DIV4		(BIT(25) | BIT(24))
65382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_SYS_PLL			BIT(26)
65482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_SYS_PLL_PFD4		(BIT(26) | BIT(24))
65582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_ENET_PLL_DIV4		(BIT(26) | BIT(25))
65682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI3_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
65782e35083SBryan O'Donoghue 
65882e35083SBryan O'Donoghue /* ECSPI4_CLK_ROOT */
65982e35083SBryan O'Donoghue 
66082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_OSC_24M			0
66182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_SYS_PLL_DIV2		BIT(24)
66282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_ENET_PLL_DIV25		BIT(25)
66382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_SYS_PLL_DIV4		(BIT(25) | BIT(24))
66482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_SYS_PLL			BIT(26)
66582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_SYS_PLL_PFD4		(BIT(26) | BIT(24))
66682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_ENET_PLL_DIV4		(BIT(26) | BIT(25))
66782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_ECSPI4_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
66882e35083SBryan O'Donoghue 
66982e35083SBryan O'Donoghue /* PWM1_CLK_ROOT */
67082e35083SBryan O'Donoghue 
67182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_OSC_24M			0
67282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
67382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
67482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
67582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_AUDIO_PLL			BIT(26)
67682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_EXT_CLK1			(BIT(26) | BIT(24))
67782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
67882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM1_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
67982e35083SBryan O'Donoghue 
68082e35083SBryan O'Donoghue /* PWM2_CLK_ROOT */
68182e35083SBryan O'Donoghue 
68282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_OSC_24M			0
68382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
68482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
68582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
68682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_AUDIO_PLL			BIT(26)
68782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_EXT_CLK1			(BIT(26) | BIT(24))
68882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
68982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM2_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
69082e35083SBryan O'Donoghue 
69182e35083SBryan O'Donoghue /* PWM3_CLK_ROOT */
69282e35083SBryan O'Donoghue 
69382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_OSC_24M			0
69482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
69582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
69682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
69782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_AUDIO_PLL			BIT(26)
69882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
69982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
70082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM3_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
70182e35083SBryan O'Donoghue 
70282e35083SBryan O'Donoghue /* PWM4_CLK_ROOT */
70382e35083SBryan O'Donoghue 
70482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_OSC_24M			0
70582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
70682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
70782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
70882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_AUDIO_PLL			BIT(26)
70982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(24))
71082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
71182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_PWM4_CLK_ROOT_VIDEO_PLL			((BIT(26) | BIT(25) | BIT(24))
71282e35083SBryan O'Donoghue 
71382e35083SBryan O'Donoghue /* FLEXTIMER1_CLK_ROOT */
71482e35083SBryan O'Donoghue 
71582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_OSC_24M		0
71682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
71782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_SYS_PLL_DIV4		BIT(25)
71882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
71982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_AUDIO_PLL		BIT(26)
72082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_EXT_CLK3		(BIT(26) | BIT(24))
72182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
72282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER1_CLK_ROOT_VIDEO_PLL		((BIT(26) | BIT(25) | BIT(24))
72382e35083SBryan O'Donoghue 
72482e35083SBryan O'Donoghue /* FLEXTIMER2_CLK_ROOT */
72582e35083SBryan O'Donoghue 
72682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_OSC_24M		0
72782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
72882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_SYS_PLL_DIV4		BIT(25)
72982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
73082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_AUDIO_PLL		BIT(26)
73182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_EXT_CLK3		(BIT(26) | BIT(24))
73282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
73382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_FLEXTIMER2_CLK_ROOT_VIDEO_PLL		((BIT(26) | BIT(25) | BIT(24))
73482e35083SBryan O'Donoghue 
73582e35083SBryan O'Donoghue /* Target SIM1_CLK_ROOT */
73682e35083SBryan O'Donoghue 
73782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_OSC_24M			0
73882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
73982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
74082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
74182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_USB_PLL			BIT(26)
74282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(24))
74382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_ENET_PLL_DIV8		(BIT(26) | BIT(25))
74482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM1_CLK_ROOT_SYS_PLL_PFD7			((BIT(26) | BIT(25) | BIT(24))
74582e35083SBryan O'Donoghue 
74682e35083SBryan O'Donoghue /* Target SIM2_CLK_ROOT */
74782e35083SBryan O'Donoghue 
74882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_OSC_24M			0
74982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
75082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
75182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
75282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_USB_PLL			BIT(26)
75382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_VIDEO_PLL			(BIT(26) | BIT(24))
75482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_ENET_PLL_DIV8		(BIT(26) | BIT(25))
75582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_SIM2_CLK_ROOT_SYS_PLL_PFD7			((BIT(26) | BIT(25) | BIT(24))
75682e35083SBryan O'Donoghue 
75782e35083SBryan O'Donoghue /* Target GPT1_CLK_ROOT */
75882e35083SBryan O'Donoghue 
75982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_OSC_24M			0
76082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
76182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_SYS_PLL_PFD0			BIT(25)
76282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
76382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_VIDEO_PLL			BIT(26)
76482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_REF_1M			(BIT(26) | BIT(24))
76582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
76682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT1_CLK_ROOT_EXT_CLK1			((BIT(26) | BIT(25) | BIT(24))
76782e35083SBryan O'Donoghue 
76882e35083SBryan O'Donoghue /* Target GPT2_CLK_ROOT */
76982e35083SBryan O'Donoghue 
77082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_OSC_24M			0
77182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
77282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_SYS_PLL_PFD0			BIT(25)
77382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
77482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_VIDEO_PLL			BIT(26)
77582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_REF_1M			(BIT(26) | BIT(24))
77682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
77782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT2_CLK_ROOT_EXT_CLK2			((BIT(26) | BIT(25) | BIT(24))
77882e35083SBryan O'Donoghue 
77982e35083SBryan O'Donoghue /* Target GPT3_CLK_ROOT */
78082e35083SBryan O'Donoghue 
78182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_OSC_24M			0
78282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
78382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_SYS_PLL_PFD0			BIT(25)
78482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
78582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_VIDEO_PLL			BIT(26)
78682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_REF_1M			(BIT(26) | BIT(24))
78782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
78882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT3_CLK_ROOT_EXT_CLK3			((BIT(26) | BIT(25) | BIT(24))
78982e35083SBryan O'Donoghue 
79082e35083SBryan O'Donoghue /*Target GPT4_CLK_ROOT */
79182e35083SBryan O'Donoghue 
79282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_OSC_24M			0
79382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_ENET_PLL_DIV10		BIT(24)
79482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_SYS_PLL_PFD0			BIT(25)
79582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_ENET_PLL_DIV25		(BIT(25) | BIT(24))
79682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_VIDEO_PLL			BIT(26)
79782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_REF_1M			(BIT(26) | BIT(24))
79882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_AUDIO_PLL			(BIT(26) | BIT(25))
79982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_GPT4_CLK_ROOT_EXT_CLK4			((BIT(26) | BIT(25) | BIT(24))
80082e35083SBryan O'Donoghue 
80182e35083SBryan O'Donoghue /* Target TRACE_CLK_ROOT */
80282e35083SBryan O'Donoghue 
80382e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_OSC_24M			0
80482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
80582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_SYS_PLL_DIV4		BIT(25)
80682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_DDR_PLL_DIV2		(BIT(25) | BIT(24))
80782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_ENET_PLL_DIV8		BIT(26)
80882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_USB_PLL			(BIT(26) | BIT(24))
80982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_EXT_CLK2			(BIT(26) | BIT(25))
81082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_TRACE_CLK_ROOT_EXT_CLK3			((BIT(26) | BIT(25) | BIT(24))
81182e35083SBryan O'Donoghue 
81282e35083SBryan O'Donoghue /* Target WDOG_CLK_ROOT */
81382e35083SBryan O'Donoghue 
81482e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_OSC_24M			0
81582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_SYS_PLL_PFD2_DIV2		BIT(24)
81682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_SYS_PLL_DIV4			BIT(25)
81782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_DDR_PLL_DIV2			(BIT(25) | BIT(24))
81882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_ENET_PLL_DIV8		BIT(26)
81982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_USB_PLL			(BIT(26) | BIT(24))
82082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_REF_1M			(BIT(26) | BIT(25))
82182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_WDOG_CLK_ROOT_SYS_PLL_PFD1_DIV2		((BIT(26) | BIT(25) | BIT(24))
82282e35083SBryan O'Donoghue 
82382e35083SBryan O'Donoghue /* Target CSI_MCLK_CLK_ROOT */
82482e35083SBryan O'Donoghue 
82582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_OSC_24M			0
82682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_SYS_PLL_PFD2_DIV2	BIT(24)
82782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_SYS_PLL_DIV4		BIT(25)
82882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_DDR_PLL_DIV2		(BIT(25) | BIT(24))
82982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_ENET_PLL_DIV8		BIT(26)
83082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
83182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
83282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CSI_MCLK_CLK_ROOT_USB_PLL			((BIT(26) | BIT(25) | BIT(24))
83382e35083SBryan O'Donoghue 
83482e35083SBryan O'Donoghue /* Target AUDIO_MCLK_CLK_ROOT */
83582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_OSC_24M		0
83682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_SYS_PLL_PFD2_DIV2	BIT(24)
83782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_SYS_PLL_DIV4		BIT(25)
83882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_DDR_PLL_DIV2		(BIT(25) | BIT(24))
83982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_ENET_PLL_DIV8		BIT(26)
84082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_AUDIO_PLL		(BIT(26) | BIT(24))
84182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_VIDEO_PLL		(BIT(26) | BIT(25))
84282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_AUDIO_MCLK_CLK_ROOT_USB_PLL		((BIT(26) | BIT(25) | BIT(24))
84382e35083SBryan O'Donoghue 
84482e35083SBryan O'Donoghue /* Target CCM_CLKO1 */
84582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_OSC_24M				0
84682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_SYS_PLL				BIT(24)
84782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_SYS_PLL_DIV2			BIT(25)
84882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_SYS_PLL_PFD0_DIV2		(BIT(25) | BIT(24))
84982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_SYS_PLL_PFD3			BIT(26)
85082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_ENET_PLL_DIV2			(BIT(26) | BIT(24))
85182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_DDR_PLL_DIV2			(BIT(26) | BIT(25))
85282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO1_REF_1M				((BIT(26) | BIT(25) | BIT(24))
85382e35083SBryan O'Donoghue 
85482e35083SBryan O'Donoghue /* Target CCM_CLKO2 */
85582e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_OSC_24M				0
85682e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_SYS_PLL_DIV2			BIT(24)
85782e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_SYS_PLL_PFD0			BIT(25)
85882e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_SYS_PLL_PFD1_DIV2		(BIT(25) | BIT(24))
85982e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_SYS_PLL_PFD4			BIT(26)
86082e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_AUDIO_PLL			(BIT(26) | BIT(24))
86182e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_VIDEO_PLL			(BIT(26) | BIT(25))
86282e35083SBryan O'Donoghue #define CCM_TRGT_MUX_CCM_CLKO2_OSC_32K				((BIT(26) | BIT(25) | BIT(24))
86382e35083SBryan O'Donoghue 
86482e35083SBryan O'Donoghue /*
86582e35083SBryan O'Donoghue  * See Table 5-11 in i.MX7 Solo Reference manual rev 0.1
86682e35083SBryan O'Donoghue  * The indices must be calculated by dividing the offset by
86782e35083SBryan O'Donoghue  * sizeof (struct ccm_target_root_ctrl) => 0x80 bytes for each index
86882e35083SBryan O'Donoghue  */
86982e35083SBryan O'Donoghue enum {
87082e35083SBryan O'Donoghue 	CCM_TRT_ID_ARM_A7_CLK_ROOT = 0,
87182e35083SBryan O'Donoghue 	CCM_TRT_ID_ARM_M4_CLK_ROOT = 1,
87282e35083SBryan O'Donoghue 	CCM_TRT_ID_MAIN_AXI_CLK_ROOT = 16,
87382e35083SBryan O'Donoghue 	CCM_TRT_ID_DISP_AXI_CLK_ROOT = 17,
87482e35083SBryan O'Donoghue 	CCM_TRT_ID_ENET_AXI_CLK_ROOT = 18,
87582e35083SBryan O'Donoghue 	CCM_TRT_ID_NAND_USDHC_BUS_CLK_ROOT = 19,
87682e35083SBryan O'Donoghue 	CCM_TRT_ID_AHB_CLK_ROOT = 32,
87782e35083SBryan O'Donoghue 	CCM_TRT_ID_IPG_CLK_ROOT = 33,
87882e35083SBryan O'Donoghue 	CCM_TRT_ID_DRAM_PHYM_CLK_ROOT = 48,
87982e35083SBryan O'Donoghue 	CCM_TRT_ID_DRAM_CLK_ROOT = 49,
88082e35083SBryan O'Donoghue 	CCM_TRT_ID_DRAM_PHYM_ALT_CLK_ROOT = 64,
88182e35083SBryan O'Donoghue 	CCM_TRT_ID_DRAM_ALT_CLK_ROOT = 65,
88282e35083SBryan O'Donoghue 	CCM_TRT_ID_USB_HSIC_CLK_ROOT = 66,
88382e35083SBryan O'Donoghue 	CCM_TRT_ID_LCDIF_PIXEL_CLK_ROOT = 70,
88482e35083SBryan O'Donoghue 	CCM_TRT_ID_MIPI_DSI_CLK_ROOT = 71,
88582e35083SBryan O'Donoghue 	CCM_TRT_ID_MIPI_CSI_CLK_ROOT = 72,
88682e35083SBryan O'Donoghue 	CCM_TRT_ID_MIPI_DPHY_REF_CLK_ROOT = 73,
88782e35083SBryan O'Donoghue 	CCM_TRT_ID_SAI1_CLK_ROOT = 74,
88882e35083SBryan O'Donoghue 	CCM_TRT_ID_SAI2_CLK_ROOT = 75,
88982e35083SBryan O'Donoghue 	CCM_TRT_ID_SAI3_CLK_ROOT = 76,
89082e35083SBryan O'Donoghue 	CCM_TRT_ID_ENET1_REF_CLK_ROOT = 78,
89182e35083SBryan O'Donoghue 	CCM_TRT_ID_ENET1_TIME_CLK_ROOT = 79,
89282e35083SBryan O'Donoghue 	CCM_TRT_ID_ENET_PHY_REF_CLK_ROOT = 82,
89382e35083SBryan O'Donoghue 	CCM_TRT_ID_EIM_CLK_ROOT = 83,
89482e35083SBryan O'Donoghue 	CCM_TRT_ID_NAND_CLK_ROOT = 84,
89582e35083SBryan O'Donoghue 	CCM_TRT_ID_QSPI_CLK_ROOT = 85,
89682e35083SBryan O'Donoghue 	CCM_TRT_ID_USDHC1_CLK_ROOT = 86,
89782e35083SBryan O'Donoghue 	CCM_TRT_ID_USDHC2_CLK_ROOT = 87,
89882e35083SBryan O'Donoghue 	CCM_TRT_ID_USDHC3_CLK_ROOT = 88,
89982e35083SBryan O'Donoghue 	CCM_TRT_ID_CAN1_CLK_ROOT = 89,
90082e35083SBryan O'Donoghue 	CCM_TRT_ID_CAN2_CLK_ROOT = 90,
90182e35083SBryan O'Donoghue 	CCM_TRT_ID_I2C1_CLK_ROOT = 91,
90282e35083SBryan O'Donoghue 	CCM_TRT_ID_I2C2_CLK_ROOT = 92,
90382e35083SBryan O'Donoghue 	CCM_TRT_ID_I2C3_CLK_ROOT = 93,
90482e35083SBryan O'Donoghue 	CCM_TRT_ID_I2C4_CLK_ROOT = 94,
90582e35083SBryan O'Donoghue 	CCM_TRT_ID_UART1_CLK_ROOT = 95,
90682e35083SBryan O'Donoghue 	CCM_TRT_ID_UART2_CLK_ROOT = 96,
90782e35083SBryan O'Donoghue 	CCM_TRT_ID_UART3_CLK_ROOT = 97,
90882e35083SBryan O'Donoghue 	CCM_TRT_ID_UART4_CLK_ROOT = 98,
90982e35083SBryan O'Donoghue 	CCM_TRT_ID_UART5_CLK_ROOT = 99,
91082e35083SBryan O'Donoghue 	CCM_TRT_ID_UART6_CLK_ROOT = 100,
91182e35083SBryan O'Donoghue 	CCM_TRT_ID_UART7_CLK_ROOT = 101,
91282e35083SBryan O'Donoghue 	CCM_TRT_ID_ECSPI1_CLK_ROOT = 102,
91382e35083SBryan O'Donoghue 	CCM_TRT_ID_ECSPI2_CLK_ROOT = 103,
91482e35083SBryan O'Donoghue 	CCM_TRT_ID_ECSPI3_CLK_ROOT = 104,
91582e35083SBryan O'Donoghue 	CCM_TRT_ID_ECSPI4_CLK_ROOT = 105,
91682e35083SBryan O'Donoghue 	CCM_TRT_ID_PWM1_CLK_ROOT = 106,
91782e35083SBryan O'Donoghue 	CCM_TRT_ID_PWM2_CLK_ROOT = 107,
91882e35083SBryan O'Donoghue 	CCM_TRT_ID_PWM3_CLK_ROOT = 108,
91982e35083SBryan O'Donoghue 	CCM_TRT_ID_PWM4_CLK_ROOT = 109,
92082e35083SBryan O'Donoghue 	CCM_TRT_ID_FLEXTIMER1_CLK_ROOT = 110,
92182e35083SBryan O'Donoghue 	CCM_TRT_ID_FLEXTIMER2_CLK_ROOT = 111,
92282e35083SBryan O'Donoghue 	CCM_TRT_ID_SIM1_CLK_ROOT = 112,
92382e35083SBryan O'Donoghue 	CCM_TRT_ID_SIM2_CLK_ROOT = 113,
92482e35083SBryan O'Donoghue 	CCM_TRT_ID_GPT1_CLK_ROOT = 114,
92582e35083SBryan O'Donoghue 	CCM_TRT_ID_GPT2_CLK_ROOT = 115,
92682e35083SBryan O'Donoghue 	CCM_TRT_ID_GPT3_CLK_ROOT = 116,
92782e35083SBryan O'Donoghue 	CCM_TRT_ID_GPT4_CLK_ROOT = 117,
92882e35083SBryan O'Donoghue 	CCM_TRT_ID_TRACE_CLK_ROOT = 118,
92982e35083SBryan O'Donoghue 	CCM_TRT_ID_WDOG_CLK_ROOT = 119,
93082e35083SBryan O'Donoghue 	CCM_TRT_ID_CSI_MCLK_CLK_ROOT = 120,
93182e35083SBryan O'Donoghue 	CCM_TRT_ID_AUDIO_MCLK_CLK_ROOT = 121,
93282e35083SBryan O'Donoghue 	CCM_TRT_ID_CCM_CLKO1 = 123,
93382e35083SBryan O'Donoghue 	CCM_TRT_ID_CCM_CLKO2 = 124,
93482e35083SBryan O'Donoghue };
93582e35083SBryan O'Donoghue 
93682e35083SBryan O'Donoghue #define CCM_MISC_VIOLATE		BIT(8)
93782e35083SBryan O'Donoghue #define CCM_MISC_TIMEOUT		BIT(4)
93882e35083SBryan O'Donoghue #define CCM_MISC_AUTHEN_FAIL		BIT(0)
93982e35083SBryan O'Donoghue 
94082e35083SBryan O'Donoghue #define CCM_POST_BUSY2			BIT(31)
94182e35083SBryan O'Donoghue #define CCM_POST_SELECT_BRANCH_A	BIT(28)
94282e35083SBryan O'Donoghue #define CCM_POST_BUSY1			BIT(7)
94382e35083SBryan O'Donoghue #define CCM_POST_POST_PODF(x)		((x) - 1)
94482e35083SBryan O'Donoghue 
94582e35083SBryan O'Donoghue #define CCM_PRE_BUSY4			BIT(31)
94682e35083SBryan O'Donoghue #define CCM_PRE_ENABLE_A		BIT(28)
94782e35083SBryan O'Donoghue #define CCM_PRE_MUX_A(x)		(((x) - 1) << 24)
94882e35083SBryan O'Donoghue #define CCM_PRE_BUSY3			BIT(19)
94982e35083SBryan O'Donoghue #define CCM_PRE_PODF_A(x)		(((x) - 1) << 16)
95082e35083SBryan O'Donoghue #define CCM_PRE_BUSY1			BIT(15)
95182e35083SBryan O'Donoghue #define CCM_PRE_ENABLE_B		BIT(12)
95282e35083SBryan O'Donoghue #define CCM_PRE_MUX_B(x)		(((x) - 1) << 8)
95382e35083SBryan O'Donoghue #define CCM_PRE_BUSY0			BIT(3)
95482e35083SBryan O'Donoghue #define CCM_PRE_POST_PODF(x)		((x) - 1)
95582e35083SBryan O'Donoghue 
95682e35083SBryan O'Donoghue #define CCM_ACCESS_CTRL_LOCK		BIT(31)
95782e35083SBryan O'Donoghue #define CCM_ACCESS_SEMA_ENABLE		BIT(28)
95882e35083SBryan O'Donoghue #define CCM_ACCESS_DOM3_WHITELIST	BIT(27)
95982e35083SBryan O'Donoghue #define CCM_ACCESS_DOM2_WHITELIST	BIT(26)
96082e35083SBryan O'Donoghue #define CCM_ACCESS_DOM1_WHITELIST	BIT(25)
96182e35083SBryan O'Donoghue #define CCM_ACCESS_DOM0_WHITELIST	BIT(24)
96282e35083SBryan O'Donoghue #define CCM_ACCESS_MUTEX		BIT(20)
96382e35083SBryan O'Donoghue #define CCM_ACCESS_OWNER_ID(x)		((x) << 16)
96482e35083SBryan O'Donoghue #define CCM_ACCESS_DOM3_INFO(x)		((x) << 12)
96582e35083SBryan O'Donoghue #define CCM_ACCESS_DOM2_INFO(x)		((x) << 8)
96682e35083SBryan O'Donoghue #define CCM_ACCESS_DOM1_INFO(x)		((x) << 4)
96782e35083SBryan O'Donoghue #define CCM_ACCESS_DOM0_INFO(x)		(x)
96882e35083SBryan O'Donoghue 
96982e35083SBryan O'Donoghue #define CCM_PLL_CTRL_NUM	0x21
97082e35083SBryan O'Donoghue #define CCM_CLK_GATE_CTRL_NUM	0xbf
97182e35083SBryan O'Donoghue #define CCM_ROOT_CTRL_NUM	0x79
97282e35083SBryan O'Donoghue 
97382e35083SBryan O'Donoghue struct ccm {
97482e35083SBryan O'Donoghue 	uint32_t ccm_gpr0;
97582e35083SBryan O'Donoghue 	uint32_t ccm_gpr0_set;
97682e35083SBryan O'Donoghue 	uint32_t ccm_gpr0_clr;
97782e35083SBryan O'Donoghue 	uint32_t ccm_grp0_tog;
97882e35083SBryan O'Donoghue 	uint32_t reserved[0x1fc];
97982e35083SBryan O'Donoghue 	struct ccm_pll_ctrl ccm_pll_ctrl[CCM_PLL_CTRL_NUM];
98082e35083SBryan O'Donoghue 	uint32_t reserved1[0xd7c];
98182e35083SBryan O'Donoghue 	struct ccm_clk_gate_ctrl ccm_clk_gate_ctrl[CCM_CLK_GATE_CTRL_NUM];
98282e35083SBryan O'Donoghue 	uint32_t reserved2[0xd04];
98382e35083SBryan O'Donoghue 	struct ccm_target_root_ctrl ccm_root_ctrl[CCM_ROOT_CTRL_NUM];
98482e35083SBryan O'Donoghue };
98582e35083SBryan O'Donoghue 
98682e35083SBryan O'Donoghue void imx_clock_target_set(unsigned int id, uint32_t val);
98782e35083SBryan O'Donoghue void imx_clock_target_clr(unsigned int id, uint32_t val);
98882e35083SBryan O'Donoghue void imx_clock_gate_enable(unsigned int id, bool enable);
98982e35083SBryan O'Donoghue 
99082e35083SBryan O'Donoghue void imx_clock_init(void);
99182e35083SBryan O'Donoghue 
992dcd54e9bSBryan O'Donoghue void imx_clock_enable_uart(unsigned int uart_id, uint32_t uart_clk_en_bits);
993dcd54e9bSBryan O'Donoghue void imx_clock_disable_uart(unsigned int uart_id);
99414cf32aaSJun Nie void imx_clock_enable_usdhc(unsigned int usdhc_id, uint32_t usdhc_clk_en_bits);
995bbdcdd04SBryan O'Donoghue void imx_clock_set_wdog_clk_root_bits(uint32_t wdog_clk_root_en_bits);
996bbdcdd04SBryan O'Donoghue void imx_clock_enable_wdog(unsigned int wdog_id);
997bbdcdd04SBryan O'Donoghue void imx_clock_disable_wdog(unsigned int wdog_id);
998*6176a4e5SBryan O'Donoghue void imx_clock_enable_usb(unsigned int usb_id);
999*6176a4e5SBryan O'Donoghue void imx_clock_disable_usb(unsigned int usb_id);
1000*6176a4e5SBryan O'Donoghue void imx_clock_set_usb_clk_root_bits(uint32_t usb_clk_root_en_bits);
1001dcd54e9bSBryan O'Donoghue 
100282e35083SBryan O'Donoghue #endif /* __IMX_CLOCK_H__ */
1003