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