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