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