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