1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * (C) Copyright 2009 Freescale Semiconductor, Inc. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef __ARCH_ARM_MACH_MX51_CRM_REGS_H__ 8*4882a593Smuzhiyun #define __ARCH_ARM_MACH_MX51_CRM_REGS_H__ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #define MXC_CCM_BASE CCM_BASE_ADDR 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun /* DPLL register mapping structure */ 13*4882a593Smuzhiyun struct mxc_pll_reg { 14*4882a593Smuzhiyun u32 ctrl; 15*4882a593Smuzhiyun u32 config; 16*4882a593Smuzhiyun u32 op; 17*4882a593Smuzhiyun u32 mfd; 18*4882a593Smuzhiyun u32 mfn; 19*4882a593Smuzhiyun u32 mfn_minus; 20*4882a593Smuzhiyun u32 mfn_plus; 21*4882a593Smuzhiyun u32 hfs_op; 22*4882a593Smuzhiyun u32 hfs_mfd; 23*4882a593Smuzhiyun u32 hfs_mfn; 24*4882a593Smuzhiyun u32 mfn_togc; 25*4882a593Smuzhiyun u32 destat; 26*4882a593Smuzhiyun }; 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun /* Register maping of CCM*/ 29*4882a593Smuzhiyun struct mxc_ccm_reg { 30*4882a593Smuzhiyun u32 ccr; /* 0x0000 */ 31*4882a593Smuzhiyun u32 ccdr; 32*4882a593Smuzhiyun u32 csr; 33*4882a593Smuzhiyun u32 ccsr; 34*4882a593Smuzhiyun u32 cacrr; /* 0x0010*/ 35*4882a593Smuzhiyun u32 cbcdr; 36*4882a593Smuzhiyun u32 cbcmr; 37*4882a593Smuzhiyun u32 cscmr1; 38*4882a593Smuzhiyun u32 cscmr2; /* 0x0020 */ 39*4882a593Smuzhiyun u32 cscdr1; 40*4882a593Smuzhiyun u32 cs1cdr; 41*4882a593Smuzhiyun u32 cs2cdr; 42*4882a593Smuzhiyun u32 cdcdr; /* 0x0030 */ 43*4882a593Smuzhiyun u32 chsccdr; 44*4882a593Smuzhiyun u32 cscdr2; 45*4882a593Smuzhiyun u32 cscdr3; 46*4882a593Smuzhiyun u32 cscdr4; /* 0x0040 */ 47*4882a593Smuzhiyun u32 cwdr; 48*4882a593Smuzhiyun u32 cdhipr; 49*4882a593Smuzhiyun u32 cdcr; 50*4882a593Smuzhiyun u32 ctor; /* 0x0050 */ 51*4882a593Smuzhiyun u32 clpcr; 52*4882a593Smuzhiyun u32 cisr; 53*4882a593Smuzhiyun u32 cimr; 54*4882a593Smuzhiyun u32 ccosr; /* 0x0060 */ 55*4882a593Smuzhiyun u32 cgpr; 56*4882a593Smuzhiyun u32 CCGR0; 57*4882a593Smuzhiyun u32 CCGR1; 58*4882a593Smuzhiyun u32 CCGR2; /* 0x0070 */ 59*4882a593Smuzhiyun u32 CCGR3; 60*4882a593Smuzhiyun u32 CCGR4; 61*4882a593Smuzhiyun u32 CCGR5; 62*4882a593Smuzhiyun u32 CCGR6; /* 0x0080 */ 63*4882a593Smuzhiyun #ifdef CONFIG_MX53 64*4882a593Smuzhiyun u32 CCGR7; /* 0x0084 */ 65*4882a593Smuzhiyun #endif 66*4882a593Smuzhiyun u32 cmeor; 67*4882a593Smuzhiyun }; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun /* Define the bits in register CCR */ 70*4882a593Smuzhiyun #define MXC_CCM_CCR_COSC_EN (0x1 << 12) 71*4882a593Smuzhiyun #if defined(CONFIG_MX51) 72*4882a593Smuzhiyun #define MXC_CCM_CCR_FPM_MULT (0x1 << 11) 73*4882a593Smuzhiyun #endif 74*4882a593Smuzhiyun #define MXC_CCM_CCR_CAMP2_EN (0x1 << 10) 75*4882a593Smuzhiyun #define MXC_CCM_CCR_CAMP1_EN (0x1 << 9) 76*4882a593Smuzhiyun #if defined(CONFIG_MX51) 77*4882a593Smuzhiyun #define MXC_CCM_CCR_FPM_EN (0x1 << 8) 78*4882a593Smuzhiyun #endif 79*4882a593Smuzhiyun #define MXC_CCM_CCR_OSCNT_OFFSET 0 80*4882a593Smuzhiyun #define MXC_CCM_CCR_OSCNT_MASK 0xFF 81*4882a593Smuzhiyun #define MXC_CCM_CCR_OSCNT(v) ((v) & 0xFF) 82*4882a593Smuzhiyun #define MXC_CCM_CCR_OSCNT_RD(r) ((r) & 0xFF) 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun /* Define the bits in register CCSR */ 85*4882a593Smuzhiyun #if defined(CONFIG_MX51) 86*4882a593Smuzhiyun #define MXC_CCM_CCSR_LP_APM (0x1 << 9) 87*4882a593Smuzhiyun #elif defined(CONFIG_MX53) 88*4882a593Smuzhiyun #define MXC_CCM_CCSR_LP_APM (0x1 << 10) 89*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL4_SW_CLK_SEL (0x1 << 9) 90*4882a593Smuzhiyun #endif 91*4882a593Smuzhiyun #define MXC_CCM_CCSR_STEP_SEL_OFFSET 7 92*4882a593Smuzhiyun #define MXC_CCM_CCSR_STEP_SEL_MASK (0x3 << 7) 93*4882a593Smuzhiyun #define MXC_CCM_CCSR_STEP_SEL(v) (((v) & 0x3) << 7) 94*4882a593Smuzhiyun #define MXC_CCM_CCSR_STEP_SEL_RD(r) (((r) >> 7) & 0x3) 95*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL2_DIV_PODF_OFFSET 5 96*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL2_DIV_PODF_MASK (0x3 << 5) 97*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL2_DIV_PODF(v) (((v) & 0x3) << 5) 98*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL2_DIV_PODF_RD(r) (((r) >> 5) & 0x3) 99*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL3_DIV_PODF_OFFSET 3 100*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL3_DIV_PODF_MASK (0x3 << 3) 101*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL3_DIV_PODF(v) (((v) & 0x3) << 3) 102*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL3_DIV_PODF_RD(r) (((r) >> 3) & 0x3) 103*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL1_SW_CLK_SEL (0x1 << 2) 104*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL2_SW_CLK_SEL (0x1 << 1) 105*4882a593Smuzhiyun #define MXC_CCM_CCSR_PLL3_SW_CLK_SEL 0x1 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun /* Define the bits in register CACRR */ 108*4882a593Smuzhiyun #define MXC_CCM_CACRR_ARM_PODF_OFFSET 0 109*4882a593Smuzhiyun #define MXC_CCM_CACRR_ARM_PODF_MASK 0x7 110*4882a593Smuzhiyun #define MXC_CCM_CACRR_ARM_PODF(v) ((v) & 0x7) 111*4882a593Smuzhiyun #define MXC_CCM_CACRR_ARM_PODF_RD(r) ((r) & 0x7) 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun /* Define the bits in register CBCDR */ 114*4882a593Smuzhiyun #define MXC_CCM_CBCDR_DDR_HIFREQ_SEL (0x1 << 30) 115*4882a593Smuzhiyun #define MXC_CCM_CBCDR_DDR_PODF_OFFSET 27 116*4882a593Smuzhiyun #define MXC_CCM_CBCDR_DDR_PODF_MASK (0x7 << 27) 117*4882a593Smuzhiyun #define MXC_CCM_CBCDR_DDR_PODF(v) (((v) & 0x7) << 27) 118*4882a593Smuzhiyun #define MXC_CCM_CBCDR_DDR_PODF_RD(r) (((r) >> 27) & 0x7) 119*4882a593Smuzhiyun #define MXC_CCM_CBCDR_EMI_CLK_SEL (0x1 << 26) 120*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERIPH_CLK_SEL (0x1 << 25) 121*4882a593Smuzhiyun #define MXC_CCM_CBCDR_EMI_PODF_OFFSET 22 122*4882a593Smuzhiyun #define MXC_CCM_CBCDR_EMI_PODF_MASK (0x7 << 22) 123*4882a593Smuzhiyun #define MXC_CCM_CBCDR_EMI_PODF(v) (((v) & 0x7) << 22) 124*4882a593Smuzhiyun #define MXC_CCM_CBCDR_EMI_PODF_RD(r) (((r) >> 22) & 0x7) 125*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AXI_B_PODF_OFFSET 19 126*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AXI_B_PODF_MASK (0x7 << 19) 127*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AXI_B_PODF(v) (((v) & 0x7) << 19) 128*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AXI_B_PODF_RD(r) (((r) >> 19) & 0x7) 129*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AXI_A_PODF_OFFSET 16 130*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AXI_A_PODF_MASK (0x7 << 16) 131*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AXI_A_PODF(v) (((v) & 0x7) << 16) 132*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AXI_A_PODF_RD(r) (((r) >> 16) & 0x7) 133*4882a593Smuzhiyun #define MXC_CCM_CBCDR_NFC_PODF_OFFSET 13 134*4882a593Smuzhiyun #define MXC_CCM_CBCDR_NFC_PODF_MASK (0x7 << 13) 135*4882a593Smuzhiyun #define MXC_CCM_CBCDR_NFC_PODF(v) (((v) & 0x7) << 13) 136*4882a593Smuzhiyun #define MXC_CCM_CBCDR_NFC_PODF_RD(r) (((r) >> 13) & 0x7) 137*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AHB_PODF_OFFSET 10 138*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AHB_PODF_MASK (0x7 << 10) 139*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AHB_PODF(v) (((v) & 0x7) << 10) 140*4882a593Smuzhiyun #define MXC_CCM_CBCDR_AHB_PODF_RD(r) (((r) >> 10) & 0x7) 141*4882a593Smuzhiyun #define MXC_CCM_CBCDR_IPG_PODF_OFFSET 8 142*4882a593Smuzhiyun #define MXC_CCM_CBCDR_IPG_PODF_MASK (0x3 << 8) 143*4882a593Smuzhiyun #define MXC_CCM_CBCDR_IPG_PODF(v) (((v) & 0x3) << 8) 144*4882a593Smuzhiyun #define MXC_CCM_CBCDR_IPG_PODF_RD(r) (((r) >> 8) & 0x3) 145*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PRED1_OFFSET 6 146*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PRED1_MASK (0x3 << 6) 147*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PRED1(v) (((v) & 0x3) << 6) 148*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PRED1_RD(r) (((r) >> 6) & 0x3) 149*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PRED2_OFFSET 3 150*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PRED2_MASK (0x7 << 3) 151*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PRED2(v) (((v) & 0x7) << 3) 152*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PRED2_RD(r) (((r) >> 3) & 0x7) 153*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PODF_OFFSET 0 154*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PODF_MASK 0x7 155*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PODF(v) ((v) & 0x7) 156*4882a593Smuzhiyun #define MXC_CCM_CBCDR_PERCLK_PODF_RD(r) ((r) & 0x7) 157*4882a593Smuzhiyun 158*4882a593Smuzhiyun /* Define the bits in register CSCMR1 */ 159*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_EXT2_CLK_SEL_OFFSET 30 160*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_EXT2_CLK_SEL_MASK (0x3 << 30) 161*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_EXT2_CLK_SEL(v) (((v) & 0x3) << 30) 162*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_EXT2_CLK_SEL_RD(r) (((r) >> 30) & 0x3) 163*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_EXT1_CLK_SEL_OFFSET 28 164*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_EXT1_CLK_SEL_MASK (0x3 << 28) 165*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_EXT1_CLK_SEL(v) (((v) & 0x3) << 28) 166*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_EXT1_CLK_SEL_RD(r) (((r) >> 28) & 0x3) 167*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_USB_PHY_CLK_SEL (0x1 << 26) 168*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_UART_CLK_SEL_OFFSET 24 169*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_UART_CLK_SEL_MASK (0x3 << 24) 170*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_UART_CLK_SEL(v) (((v) & 0x3) << 24) 171*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_UART_CLK_SEL_RD(r) (((r) >> 24) & 0x3) 172*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_USBOH3_CLK_SEL_OFFSET 22 173*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_USBOH3_CLK_SEL_MASK (0x3 << 22) 174*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_USBOH3_CLK_SEL(v) (((v) & 0x3) << 22) 175*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_USBOH3_CLK_SEL_RD(r) (((r) >> 22) & 0x3) 176*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_ESDHC1_MSHC1_CLK_SEL_OFFSET 20 177*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_ESDHC1_MSHC1_CLK_SEL_MASK (0x3 << 20) 178*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_ESDHC1_MSHC1_CLK_SEL(v) (((v) & 0x3) << 20) 179*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_ESDHC1_MSHC1_CLK_SEL_RD(r) (((r) >> 20) & 0x3) 180*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_ESDHC3_CLK_SEL (0x1 << 19) 181*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_ESDHC4_CLK_SEL (0x1 << 18) 182*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_ESDHC2_MSHC2_CLK_SEL_OFFSET 16 183*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_ESDHC2_MSHC2_CLK_SEL_MASK (0x3 << 16) 184*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_ESDHC2_MSHC2_CLK_SEL(v) (((v) & 0x3) << 16) 185*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_ESDHC2_MSHC2_CLK_SEL_RD(r) (((r) >> 16) & 0x3) 186*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_OFFSET 14 187*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_MASK (0x3 << 14) 188*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI1_CLK_SEL(v) (((v) & 0x3) << 14) 189*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_RD(r) (((r) >> 14) & 0x3) 190*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_OFFSET 12 191*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_MASK (0x3 << 12) 192*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI2_CLK_SEL(v) (((v) & 0x3) << 12) 193*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_RD(r) (((r) >> 12) & 0x3) 194*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI3_CLK_SEL (0x1 << 11) 195*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_VPU_RCLK_SEL (0x1 << 10) 196*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_APM_CLK_SEL_OFFSET 8 197*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_APM_CLK_SEL_MASK (0x3 << 8) 198*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_APM_CLK_SEL(v) (((v) & 0x3) << 8) 199*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_APM_CLK_SEL_RD(r) (((r) >> 8) & 0x3) 200*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_TVE_CLK_SEL (0x1 << 7) 201*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_TVE_EXT_CLK_SEL (0x1 << 6) 202*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_CSPI_CLK_SEL_OFFSET 4 203*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_CSPI_CLK_SEL_MASK (0x3 << 4) 204*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_CSPI_CLK_SEL(v) (((v) & 0x3) << 4) 205*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_CSPI_CLK_SEL_RD(r) (((r) >> 4) & 0x3) 206*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SPDIF_CLK_SEL_OFFSET 2 207*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SPDIF_CLK_SEL_MASK (0x3 << 2) 208*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SPDIF_CLK_SEL(v) (((v) & 0x3) << 2) 209*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SPDIF_CLK_SEL_RD(r) (((r) >> 2) & 0x3) 210*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_EXT2_COM_CLK_SEL (0x1 << 1) 211*4882a593Smuzhiyun #define MXC_CCM_CSCMR1_SSI_EXT1_COM_CLK_SEL 0x1 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun /* Define the bits in register CSCDR2 */ 214*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_CSPI_CLK_PRED_OFFSET 25 215*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_CSPI_CLK_PRED_MASK (0x7 << 25) 216*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_CSPI_CLK_PRED(v) (((v) & 0x7) << 25) 217*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_CSPI_CLK_PRED_RD(r) (((r) >> 25) & 0x7) 218*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_CSPI_CLK_PODF_OFFSET 19 219*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_CSPI_CLK_PODF_MASK (0x3F << 19) 220*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_CSPI_CLK_PODF(v) (((v) & 0x3F) << 19) 221*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_CSPI_CLK_PODF_RD(r) (((r) >> 19) & 0x3F) 222*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SIM_CLK_PRED_OFFSET 16 223*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SIM_CLK_PRED_MASK (0x7 << 16) 224*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SIM_CLK_PRED(v) (((v) & 0x7) << 16) 225*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SIM_CLK_PRED_RD(r) (((r) >> 16) & 0x7) 226*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SIM_CLK_PODF_OFFSET 9 227*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SIM_CLK_PODF_MASK (0x3F << 9) 228*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SIM_CLK_PODF(v) (((v) & 0x3F) << 9) 229*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SIM_CLK_PODF_RD(r) (((r) >> 9) & 0x3F) 230*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SLIMBUS_CLK_PRED_OFFSET 6 231*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SLIMBUS_CLK_PRED_MASK (0x7 << 6) 232*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SLIMBUS_CLK_PRED(v) (((v) & 0x7) << 6) 233*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SLIMBUS_CLK_PRED_RD(r) (((r) >> 6) & 0x7) 234*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SLIMBUS_CLK_PODF_OFFSET 0 235*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SLIMBUS_CLK_PODF_MASK 0x3F 236*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SLIMBUS_CLK_PODF(v) ((v) & 0x3F) 237*4882a593Smuzhiyun #define MXC_CCM_CSCDR2_SLIMBUS_CLK_PODF_RD(r) ((r) & 0x3F) 238*4882a593Smuzhiyun 239*4882a593Smuzhiyun /* Define the bits in register CBCMR */ 240*4882a593Smuzhiyun #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_OFFSET 14 241*4882a593Smuzhiyun #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_MASK (0x3 << 14) 242*4882a593Smuzhiyun #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL(v) (((v) & 0x3) << 14) 243*4882a593Smuzhiyun #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_RD(r) (((r) >> 14) & 0x3) 244*4882a593Smuzhiyun #define MXC_CCM_CBCMR_PERIPH_CLK_SEL_OFFSET 12 245*4882a593Smuzhiyun #define MXC_CCM_CBCMR_PERIPH_CLK_SEL_MASK (0x3 << 12) 246*4882a593Smuzhiyun #define MXC_CCM_CBCMR_PERIPH_CLK_SEL(v) (((v) & 0x3) << 12) 247*4882a593Smuzhiyun #define MXC_CCM_CBCMR_PERIPH_CLK_SEL_RD(r) (((r) >> 12) & 0x3) 248*4882a593Smuzhiyun #define MXC_CCM_CBCMR_DDR_CLK_SEL_OFFSET 10 249*4882a593Smuzhiyun #define MXC_CCM_CBCMR_DDR_CLK_SEL_MASK (0x3 << 10) 250*4882a593Smuzhiyun #define MXC_CCM_CBCMR_DDR_CLK_SEL(v) (((v) & 0x3) << 10) 251*4882a593Smuzhiyun #define MXC_CCM_CBCMR_DDR_CLK_SEL_RD(r) (((r) >> 10) & 0x3) 252*4882a593Smuzhiyun #define MXC_CCM_CBCMR_ARM_AXI_CLK_SEL_OFFSET 8 253*4882a593Smuzhiyun #define MXC_CCM_CBCMR_ARM_AXI_CLK_SEL_MASK (0x3 << 8) 254*4882a593Smuzhiyun #define MXC_CCM_CBCMR_ARM_AXI_CLK_SEL(v) (((v) & 0x3) << 8) 255*4882a593Smuzhiyun #define MXC_CCM_CBCMR_ARM_AXI_CLK_SEL_RD(r) (((r) >> 8) & 0x3) 256*4882a593Smuzhiyun #define MXC_CCM_CBCMR_IPU_HSP_CLK_SEL_OFFSET 6 257*4882a593Smuzhiyun #define MXC_CCM_CBCMR_IPU_HSP_CLK_SEL_MASK (0x3 << 6) 258*4882a593Smuzhiyun #define MXC_CCM_CBCMR_IPU_HSP_CLK_SEL(v) (((v) & 0x3) << 6) 259*4882a593Smuzhiyun #define MXC_CCM_CBCMR_IPU_HSP_CLK_SEL_RD(r) (((r) >> 6) & 0x3) 260*4882a593Smuzhiyun #define MXC_CCM_CBCMR_GPU_CLK_SEL_OFFSET 4 261*4882a593Smuzhiyun #define MXC_CCM_CBCMR_GPU_CLK_SEL_MASK (0x3 << 4) 262*4882a593Smuzhiyun #define MXC_CCM_CBCMR_GPU_CLK_SEL(v) (((v) & 0x3) << 4) 263*4882a593Smuzhiyun #define MXC_CCM_CBCMR_GPU_CLK_SEL_RD(r) (((r) >> 4) & 0x3) 264*4882a593Smuzhiyun #define MXC_CCM_CBCMR_PERCLK_LP_APM_CLK_SEL (0x1 << 1) 265*4882a593Smuzhiyun #define MXC_CCM_CBCMR_PERCLK_IPG_CLK_SEL (0x1 << 0) 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun /* Define the bits in register CSCDR1 */ 268*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PRED_OFFSET 22 269*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PRED_MASK (0x7 << 22) 270*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PRED(v) (((v) & 0x7) << 22) 271*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PRED_RD(r) (((r) >> 22) & 0x7) 272*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PODF_OFFSET 19 273*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PODF_MASK (0x7 << 19) 274*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PODF(v) (((v) & 0x7) << 19) 275*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC2_MSHC2_CLK_PODF_RD(r) (((r) >> 19) & 0x7) 276*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PRED_OFFSET 16 277*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PRED_MASK (0x7 << 16) 278*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PRED(v) (((v) & 0x7) << 16) 279*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PRED_RD(r) (((r) >> 16) & 0x7) 280*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_PGC_CLK_PODF_OFFSET 14 281*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_PGC_CLK_PODF_MASK (0x3 << 14) 282*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_PGC_CLK_PODF(v) (((v) & 0x3) << 14) 283*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_PGC_CLK_PODF_RD(r) (((r) >> 14) & 0x3) 284*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PODF_OFFSET 11 285*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PODF_MASK (0x7 << 11) 286*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PODF(v) (((v) & 0x7) << 11) 287*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PODF_RD(r) (((r) >> 11) & 0x7) 288*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_OFFSET 8 289*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_MASK (0x7 << 8) 290*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED(v) (((v) & 0x7) << 8) 291*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_RD(r) (((r) >> 8) & 0x7) 292*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_OFFSET 6 293*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_MASK (0x3 << 6) 294*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF(v) (((v) & 0x3) << 6) 295*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_RD(r) (((r) >> 6) & 0x3) 296*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_UART_CLK_PRED_OFFSET 3 297*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_UART_CLK_PRED_MASK (0x7 << 3) 298*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_UART_CLK_PRED(v) (((v) & 0x7) << 3) 299*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_UART_CLK_PRED_RD(r) (((r) >> 3) & 0x7) 300*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_UART_CLK_PODF_OFFSET 0 301*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_UART_CLK_PODF_MASK 0x7 302*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_UART_CLK_PODF(v) ((v) & 0x7) 303*4882a593Smuzhiyun #define MXC_CCM_CSCDR1_UART_CLK_PODF_RD(r) ((r) & 0x7) 304*4882a593Smuzhiyun 305*4882a593Smuzhiyun /* Define the bits in register CCDR */ 306*4882a593Smuzhiyun #define MXC_CCM_CCDR_IPU_HS_MASK (0x1 << 17) 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun /* Define the bits in register CGPR */ 309*4882a593Smuzhiyun #define MXC_CCM_CGPR_EFUSE_PROG_SUPPLY_GATE (1 << 4) 310*4882a593Smuzhiyun 311*4882a593Smuzhiyun /* Define the bits in register CCGRx */ 312*4882a593Smuzhiyun #define MXC_CCM_CCGR_CG_MASK 0x3 313*4882a593Smuzhiyun #define MXC_CCM_CCGR_CG_OFF 0x0 314*4882a593Smuzhiyun #define MXC_CCM_CCGR_CG_RUN_ON 0x1 315*4882a593Smuzhiyun #define MXC_CCM_CCGR_CG_ON 0x3 316*4882a593Smuzhiyun 317*4882a593Smuzhiyun #define MXC_CCM_CCGR0_ARM_BUS_OFFSET 0 318*4882a593Smuzhiyun #define MXC_CCM_CCGR0_ARM_BUS(v) (((v) & 0x3) << 0) 319*4882a593Smuzhiyun #define MXC_CCM_CCGR0_ARM_AXI_OFFSET 2 320*4882a593Smuzhiyun #define MXC_CCM_CCGR0_ARM_AXI(v) (((v) & 0x3) << 2) 321*4882a593Smuzhiyun #define MXC_CCM_CCGR0_ARM_DEBUG_OFFSET 4 322*4882a593Smuzhiyun #define MXC_CCM_CCGR0_ARM_DEBUG(v) (((v) & 0x3) << 4) 323*4882a593Smuzhiyun #define MXC_CCM_CCGR0_TZIC_OFFSET 6 324*4882a593Smuzhiyun #define MXC_CCM_CCGR0_TZIC(v) (((v) & 0x3) << 6) 325*4882a593Smuzhiyun #define MXC_CCM_CCGR0_DAP_OFFSET 8 326*4882a593Smuzhiyun #define MXC_CCM_CCGR0_DAP(v) (((v) & 0x3) << 8) 327*4882a593Smuzhiyun #define MXC_CCM_CCGR0_TPIU_OFFSET 10 328*4882a593Smuzhiyun #define MXC_CCM_CCGR0_TPIU(v) (((v) & 0x3) << 10) 329*4882a593Smuzhiyun #define MXC_CCM_CCGR0_CTI2_OFFSET 12 330*4882a593Smuzhiyun #define MXC_CCM_CCGR0_CTI2(v) (((v) & 0x3) << 12) 331*4882a593Smuzhiyun #define MXC_CCM_CCGR0_CTI3_OFFSET 14 332*4882a593Smuzhiyun #define MXC_CCM_CCGR0_CTI3(v) (((v) & 0x3) << 14) 333*4882a593Smuzhiyun #define MXC_CCM_CCGR0_AHBMUX1_OFFSET 16 334*4882a593Smuzhiyun #define MXC_CCM_CCGR0_AHBMUX1(v) (((v) & 0x3) << 16) 335*4882a593Smuzhiyun #define MXC_CCM_CCGR0_AHBMUX2_OFFSET 18 336*4882a593Smuzhiyun #define MXC_CCM_CCGR0_AHBMUX2(v) (((v) & 0x3) << 18) 337*4882a593Smuzhiyun #define MXC_CCM_CCGR0_ROMCP_OFFSET 20 338*4882a593Smuzhiyun #define MXC_CCM_CCGR0_ROMCP(v) (((v) & 0x3) << 20) 339*4882a593Smuzhiyun #define MXC_CCM_CCGR0_ROM_OFFSET 22 340*4882a593Smuzhiyun #define MXC_CCM_CCGR0_ROM(v) (((v) & 0x3) << 22) 341*4882a593Smuzhiyun #define MXC_CCM_CCGR0_AIPS_TZ1_OFFSET 24 342*4882a593Smuzhiyun #define MXC_CCM_CCGR0_AIPS_TZ1(v) (((v) & 0x3) << 24) 343*4882a593Smuzhiyun #define MXC_CCM_CCGR0_AIPS_TZ2_OFFSET 26 344*4882a593Smuzhiyun #define MXC_CCM_CCGR0_AIPS_TZ2(v) (((v) & 0x3) << 26) 345*4882a593Smuzhiyun #define MXC_CCM_CCGR0_AHB_MAX_OFFSET 28 346*4882a593Smuzhiyun #define MXC_CCM_CCGR0_AHB_MAX(v) (((v) & 0x3) << 28) 347*4882a593Smuzhiyun #define MXC_CCM_CCGR0_IIM_OFFSET 30 348*4882a593Smuzhiyun #define MXC_CCM_CCGR0_IIM(v) (((v) & 0x3) << 30) 349*4882a593Smuzhiyun 350*4882a593Smuzhiyun #define MXC_CCM_CCGR1_TMAX1_OFFSET 0 351*4882a593Smuzhiyun #define MXC_CCM_CCGR1_TMAX1(v) (((v) & 0x3) << 0) 352*4882a593Smuzhiyun #define MXC_CCM_CCGR1_TMAX2_OFFSET 2 353*4882a593Smuzhiyun #define MXC_CCM_CCGR1_TMAX2(v) (((v) & 0x3) << 2) 354*4882a593Smuzhiyun #define MXC_CCM_CCGR1_TMAX3_OFFSET 4 355*4882a593Smuzhiyun #define MXC_CCM_CCGR1_TMAX3(v) (((v) & 0x3) << 4) 356*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART1_IPG_OFFSET 6 357*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART1_IPG(v) (((v) & 0x3) << 6) 358*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART1_PER_OFFSET 8 359*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART1_PER(v) (((v) & 0x3) << 8) 360*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART2_IPG_OFFSET 10 361*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART2_IPG(v) (((v) & 0x3) << 10) 362*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART2_PER_OFFSET 12 363*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART2_PER(v) (((v) & 0x3) << 12) 364*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART3_IPG_OFFSET 14 365*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART3_IPG(v) (((v) & 0x3) << 14) 366*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART3_PER_OFFSET 16 367*4882a593Smuzhiyun #define MXC_CCM_CCGR1_UART3_PER(v) (((v) & 0x3) << 16) 368*4882a593Smuzhiyun #define MXC_CCM_CCGR1_I2C1_OFFSET 18 369*4882a593Smuzhiyun #define MXC_CCM_CCGR1_I2C1(v) (((v) & 0x3) << 18) 370*4882a593Smuzhiyun #define MXC_CCM_CCGR1_I2C2_OFFSET 20 371*4882a593Smuzhiyun #define MXC_CCM_CCGR1_I2C2(v) (((v) & 0x3) << 20) 372*4882a593Smuzhiyun #if defined(CONFIG_MX51) 373*4882a593Smuzhiyun #define MXC_CCM_CCGR1_HSI2C_IPG_OFFSET 22 374*4882a593Smuzhiyun #define MXC_CCM_CCGR1_HSI2C_IPG(v) (((v) & 0x3) << 22) 375*4882a593Smuzhiyun #define MXC_CCM_CCGR1_HSI2C_SERIAL_OFFSET 24 376*4882a593Smuzhiyun #define MXC_CCM_CCGR1_HSI2C_SERIAL(v) (((v) & 0x3) << 24) 377*4882a593Smuzhiyun #elif defined(CONFIG_MX53) 378*4882a593Smuzhiyun #define MXC_CCM_CCGR1_I2C3_OFFSET 22 379*4882a593Smuzhiyun #define MXC_CCM_CCGR1_I2C3(v) (((v) & 0x3) << 22) 380*4882a593Smuzhiyun #endif 381*4882a593Smuzhiyun #define MXC_CCM_CCGR1_FIRI_IPG_OFFSET 26 382*4882a593Smuzhiyun #define MXC_CCM_CCGR1_FIRI_IPG(v) (((v) & 0x3) << 26) 383*4882a593Smuzhiyun #define MXC_CCM_CCGR1_FIRI_SERIAL_OFFSET 28 384*4882a593Smuzhiyun #define MXC_CCM_CCGR1_FIRI_SERIAL(v) (((v) & 0x3) << 28) 385*4882a593Smuzhiyun #define MXC_CCM_CCGR1_SCC_OFFSET 30 386*4882a593Smuzhiyun #define MXC_CCM_CCGR1_SCC(v) (((v) & 0x3) << 30) 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun #if defined(CONFIG_MX51) 389*4882a593Smuzhiyun #define MXC_CCM_CCGR2_USB_PHY_OFFSET 0 390*4882a593Smuzhiyun #define MXC_CCM_CCGR2_USB_PHY(v) (((v) & 0x3) << 0) 391*4882a593Smuzhiyun #endif 392*4882a593Smuzhiyun #define MXC_CCM_CCGR2_EPIT1_IPG_OFFSET 2 393*4882a593Smuzhiyun #define MXC_CCM_CCGR2_EPIT1_IPG(v) (((v) & 0x3) << 2) 394*4882a593Smuzhiyun #define MXC_CCM_CCGR2_EPIT1_HF_OFFSET 4 395*4882a593Smuzhiyun #define MXC_CCM_CCGR2_EPIT1_HF(v) (((v) & 0x3) << 4) 396*4882a593Smuzhiyun #define MXC_CCM_CCGR2_EPIT2_IPG_OFFSET 6 397*4882a593Smuzhiyun #define MXC_CCM_CCGR2_EPIT2_IPG(v) (((v) & 0x3) << 6) 398*4882a593Smuzhiyun #define MXC_CCM_CCGR2_EPIT2_HF_OFFSET 8 399*4882a593Smuzhiyun #define MXC_CCM_CCGR2_EPIT2_HF(v) (((v) & 0x3) << 8) 400*4882a593Smuzhiyun #define MXC_CCM_CCGR2_PWM1_IPG_OFFSET 10 401*4882a593Smuzhiyun #define MXC_CCM_CCGR2_PWM1_IPG(v) (((v) & 0x3) << 10) 402*4882a593Smuzhiyun #define MXC_CCM_CCGR2_PWM1_HF_OFFSET 12 403*4882a593Smuzhiyun #define MXC_CCM_CCGR2_PWM1_HF(v) (((v) & 0x3) << 12) 404*4882a593Smuzhiyun #define MXC_CCM_CCGR2_PWM2_IPG_OFFSET 14 405*4882a593Smuzhiyun #define MXC_CCM_CCGR2_PWM2_IPG(v) (((v) & 0x3) << 14) 406*4882a593Smuzhiyun #define MXC_CCM_CCGR2_PWM2_HF_OFFSET 16 407*4882a593Smuzhiyun #define MXC_CCM_CCGR2_PWM2_HF(v) (((v) & 0x3) << 16) 408*4882a593Smuzhiyun #define MXC_CCM_CCGR2_GPT_IPG_OFFSET 18 409*4882a593Smuzhiyun #define MXC_CCM_CCGR2_GPT_IPG(v) (((v) & 0x3) << 18) 410*4882a593Smuzhiyun #define MXC_CCM_CCGR2_GPT_HF_OFFSET 20 411*4882a593Smuzhiyun #define MXC_CCM_CCGR2_GPT_HF(v) (((v) & 0x3) << 20) 412*4882a593Smuzhiyun #define MXC_CCM_CCGR2_OWIRE_OFFSET 22 413*4882a593Smuzhiyun #define MXC_CCM_CCGR2_OWIRE(v) (((v) & 0x3) << 22) 414*4882a593Smuzhiyun #define MXC_CCM_CCGR2_FEC_OFFSET 24 415*4882a593Smuzhiyun #define MXC_CCM_CCGR2_FEC(v) (((v) & 0x3) << 24) 416*4882a593Smuzhiyun #define MXC_CCM_CCGR2_USBOH3_IPG_AHB_OFFSET 26 417*4882a593Smuzhiyun #define MXC_CCM_CCGR2_USBOH3_IPG_AHB(v) (((v) & 0x3) << 26) 418*4882a593Smuzhiyun #define MXC_CCM_CCGR2_USBOH3_60M_OFFSET 28 419*4882a593Smuzhiyun #define MXC_CCM_CCGR2_USBOH3_60M(v) (((v) & 0x3) << 28) 420*4882a593Smuzhiyun #define MXC_CCM_CCGR2_TVE_OFFSET 30 421*4882a593Smuzhiyun #define MXC_CCM_CCGR2_TVE(v) (((v) & 0x3) << 30) 422*4882a593Smuzhiyun 423*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC1_IPG_OFFSET 0 424*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC1_IPG(v) (((v) & 0x3) << 0) 425*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC1_PER_OFFSET 2 426*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC1_PER(v) (((v) & 0x3) << 2) 427*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC2_IPG_OFFSET 4 428*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC2_IPG(v) (((v) & 0x3) << 4) 429*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC2_PER_OFFSET 6 430*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC2_PER(v) (((v) & 0x3) << 6) 431*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC3_IPG_OFFSET 8 432*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC3_IPG(v) (((v) & 0x3) << 8) 433*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC3_PER_OFFSET 10 434*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC3_PER(v) (((v) & 0x3) << 10) 435*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC4_IPG_OFFSET 12 436*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC4_IPG(v) (((v) & 0x3) << 12) 437*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC4_PER_OFFSET 14 438*4882a593Smuzhiyun #define MXC_CCM_CCGR3_ESDHC4_PER(v) (((v) & 0x3) << 14) 439*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI1_IPG_OFFSET 16 440*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI1_IPG(v) (((v) & 0x3) << 16) 441*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI1_SSI_OFFSET 18 442*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI1_SSI(v) (((v) & 0x3) << 18) 443*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI2_IPG_OFFSET 20 444*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI2_IPG(v) (((v) & 0x3) << 20) 445*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI2_SSI_OFFSET 22 446*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI2_SSI(v) (((v) & 0x3) << 22) 447*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI3_IPG_OFFSET 24 448*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI3_IPG(v) (((v) & 0x3) << 24) 449*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI3_SSI_OFFSET 26 450*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI3_SSI(v) (((v) & 0x3) << 26) 451*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI_EXT1_OFFSET 28 452*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI_EXT1(v) (((v) & 0x3) << 28) 453*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI_EXT2_OFFSET 30 454*4882a593Smuzhiyun #define MXC_CCM_CCGR3_SSI_EXT2(v) (((v) & 0x3) << 30) 455*4882a593Smuzhiyun 456*4882a593Smuzhiyun #define MXC_CCM_CCGR4_PATA_OFFSET 0 457*4882a593Smuzhiyun #define MXC_CCM_CCGR4_PATA(v) (((v) & 0x3) << 0) 458*4882a593Smuzhiyun #if defined(CONFIG_MX51) 459*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SIM_IPG_OFFSET 2 460*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SIM_IPG(v) (((v) & 0x3) << 2) 461*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SIM_SERIAL_OFFSET 4 462*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SIM_SERIAL(v) (((v) & 0x3) << 4) 463*4882a593Smuzhiyun #elif defined(CONFIG_MX53) 464*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SATA_OFFSET 2 465*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SATA(v) (((v) & 0x3) << 2) 466*4882a593Smuzhiyun #define MXC_CCM_CCGR4_CAN2_IPG_OFFSET 6 467*4882a593Smuzhiyun #define MXC_CCM_CCGR4_CAN2_IPG(v) (((v) & 0x3) << 6) 468*4882a593Smuzhiyun #define MXC_CCM_CCGR4_CAN2_SERIAL_OFFSET 8 469*4882a593Smuzhiyun #define MXC_CCM_CCGR4_CAN2_SERIAL(v) (((v) & 0x3) << 8) 470*4882a593Smuzhiyun #define MXC_CCM_CCGR4_USB_PHY1_OFFSET 10 471*4882a593Smuzhiyun #define MXC_CCM_CCGR4_USB_PHY1(v) (((v) & 0x3) << 10) 472*4882a593Smuzhiyun #define MXC_CCM_CCGR4_USB_PHY2_OFFSET 12 473*4882a593Smuzhiyun #define MXC_CCM_CCGR4_USB_PHY2(v) (((v) & 0x3) << 12) 474*4882a593Smuzhiyun #endif 475*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SAHARA_OFFSET 14 476*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SAHARA(v) (((v) & 0x3) << 14) 477*4882a593Smuzhiyun #define MXC_CCM_CCGR4_RTIC_OFFSET 16 478*4882a593Smuzhiyun #define MXC_CCM_CCGR4_RTIC(v) (((v) & 0x3) << 16) 479*4882a593Smuzhiyun #define MXC_CCM_CCGR4_ECSPI1_IPG_OFFSET 18 480*4882a593Smuzhiyun #define MXC_CCM_CCGR4_ECSPI1_IPG(v) (((v) & 0x3) << 18) 481*4882a593Smuzhiyun #define MXC_CCM_CCGR4_ECSPI1_PER_OFFSET 20 482*4882a593Smuzhiyun #define MXC_CCM_CCGR4_ECSPI1_PER(v) (((v) & 0x3) << 20) 483*4882a593Smuzhiyun #define MXC_CCM_CCGR4_ECSPI2_IPG_OFFSET 22 484*4882a593Smuzhiyun #define MXC_CCM_CCGR4_ECSPI2_IPG(v) (((v) & 0x3) << 22) 485*4882a593Smuzhiyun #define MXC_CCM_CCGR4_ECSPI2_PER_OFFSET 24 486*4882a593Smuzhiyun #define MXC_CCM_CCGR4_ECSPI2_PER(v) (((v) & 0x3) << 24) 487*4882a593Smuzhiyun #define MXC_CCM_CCGR4_CSPI_IPG_OFFSET 26 488*4882a593Smuzhiyun #define MXC_CCM_CCGR4_CSPI_IPG(v) (((v) & 0x3) << 26) 489*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SRTC_OFFSET 28 490*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SRTC(v) (((v) & 0x3) << 28) 491*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SDMA_OFFSET 30 492*4882a593Smuzhiyun #define MXC_CCM_CCGR4_SDMA(v) (((v) & 0x3) << 30) 493*4882a593Smuzhiyun 494*4882a593Smuzhiyun #define MXC_CCM_CCGR5_SPBA_OFFSET 0 495*4882a593Smuzhiyun #define MXC_CCM_CCGR5_SPBA(v) (((v) & 0x3) << 0) 496*4882a593Smuzhiyun #define MXC_CCM_CCGR5_GPU_OFFSET 2 497*4882a593Smuzhiyun #define MXC_CCM_CCGR5_GPU(v) (((v) & 0x3) << 2) 498*4882a593Smuzhiyun #define MXC_CCM_CCGR5_GARB_OFFSET 4 499*4882a593Smuzhiyun #define MXC_CCM_CCGR5_GARB(v) (((v) & 0x3) << 4) 500*4882a593Smuzhiyun #define MXC_CCM_CCGR5_VPU_OFFSET 6 501*4882a593Smuzhiyun #define MXC_CCM_CCGR5_VPU(v) (((v) & 0x3) << 6) 502*4882a593Smuzhiyun #define MXC_CCM_CCGR5_VPU_REF_OFFSET 8 503*4882a593Smuzhiyun #define MXC_CCM_CCGR5_VPU_REF(v) (((v) & 0x3) << 8) 504*4882a593Smuzhiyun #define MXC_CCM_CCGR5_IPU_OFFSET 10 505*4882a593Smuzhiyun #define MXC_CCM_CCGR5_IPU(v) (((v) & 0x3) << 10) 506*4882a593Smuzhiyun #if defined(CONFIG_MX51) 507*4882a593Smuzhiyun #define MXC_CCM_CCGR5_IPUMUX12_OFFSET 12 508*4882a593Smuzhiyun #define MXC_CCM_CCGR5_IPUMUX12(v) (((v) & 0x3) << 12) 509*4882a593Smuzhiyun #elif defined(CONFIG_MX53) 510*4882a593Smuzhiyun #define MXC_CCM_CCGR5_IPUMUX1_OFFSET 12 511*4882a593Smuzhiyun #define MXC_CCM_CCGR5_IPUMUX1(v) (((v) & 0x3) << 12) 512*4882a593Smuzhiyun #endif 513*4882a593Smuzhiyun #define MXC_CCM_CCGR5_EMI_FAST_OFFSET 14 514*4882a593Smuzhiyun #define MXC_CCM_CCGR5_EMI_FAST(v) (((v) & 0x3) << 14) 515*4882a593Smuzhiyun #define MXC_CCM_CCGR5_EMI_SLOW_OFFSET 16 516*4882a593Smuzhiyun #define MXC_CCM_CCGR5_EMI_SLOW(v) (((v) & 0x3) << 16) 517*4882a593Smuzhiyun #define MXC_CCM_CCGR5_EMI_INT1_OFFSET 18 518*4882a593Smuzhiyun #define MXC_CCM_CCGR5_EMI_INT1(v) (((v) & 0x3) << 18) 519*4882a593Smuzhiyun #define MXC_CCM_CCGR5_EMI_ENFC_OFFSET 20 520*4882a593Smuzhiyun #define MXC_CCM_CCGR5_EMI_ENFC(v) (((v) & 0x3) << 20) 521*4882a593Smuzhiyun #define MXC_CCM_CCGR5_EMI_WRCK_OFFSET 22 522*4882a593Smuzhiyun #define MXC_CCM_CCGR5_EMI_WRCK(v) (((v) & 0x3) << 22) 523*4882a593Smuzhiyun #define MXC_CCM_CCGR5_GPC_IPG_OFFSET 24 524*4882a593Smuzhiyun #define MXC_CCM_CCGR5_GPC_IPG(v) (((v) & 0x3) << 24) 525*4882a593Smuzhiyun #define MXC_CCM_CCGR5_SPDIF0_OFFSET 26 526*4882a593Smuzhiyun #define MXC_CCM_CCGR5_SPDIF0(v) (((v) & 0x3) << 26) 527*4882a593Smuzhiyun #if defined(CONFIG_MX51) 528*4882a593Smuzhiyun #define MXC_CCM_CCGR5_SPDIF1_OFFSET 28 529*4882a593Smuzhiyun #define MXC_CCM_CCGR5_SPDIF1(v) (((v) & 0x3) << 28) 530*4882a593Smuzhiyun #endif 531*4882a593Smuzhiyun #define MXC_CCM_CCGR5_SPDIF_IPG_OFFSET 30 532*4882a593Smuzhiyun #define MXC_CCM_CCGR5_SPDIF_IPG(v) (((v) & 0x3) << 30) 533*4882a593Smuzhiyun 534*4882a593Smuzhiyun #if defined(CONFIG_MX53) 535*4882a593Smuzhiyun #define MXC_CCM_CCGR6_IPUMUX2_OFFSET 0 536*4882a593Smuzhiyun #define MXC_CCM_CCGR6_IPUMUX2(v) (((v) & 0x3) << 0) 537*4882a593Smuzhiyun #define MXC_CCM_CCGR6_OCRAM_OFFSET 2 538*4882a593Smuzhiyun #define MXC_CCM_CCGR6_OCRAM(v) (((v) & 0x3) << 2) 539*4882a593Smuzhiyun #endif 540*4882a593Smuzhiyun #define MXC_CCM_CCGR6_CSI_MCLK1_OFFSET 4 541*4882a593Smuzhiyun #define MXC_CCM_CCGR6_CSI_MCLK1(v) (((v) & 0x3) << 4) 542*4882a593Smuzhiyun #if defined(CONFIG_MX51) 543*4882a593Smuzhiyun #define MXC_CCM_CCGR6_CSI_MCLK2_OFFSET 6 544*4882a593Smuzhiyun #define MXC_CCM_CCGR6_CSI_MCLK2(v) (((v) & 0x3) << 6) 545*4882a593Smuzhiyun #define MXC_CCM_CCGR6_EMI_GARB_OFFSET 8 546*4882a593Smuzhiyun #define MXC_CCM_CCGR6_EMI_GARB(v) (((v) & 0x3) << 8) 547*4882a593Smuzhiyun #elif defined(CONFIG_MX53) 548*4882a593Smuzhiyun #define MXC_CCM_CCGR6_EMI_INT2_OFFSET 8 549*4882a593Smuzhiyun #define MXC_CCM_CCGR6_EMI_INT2(v) (((v) & 0x3) << 8) 550*4882a593Smuzhiyun #endif 551*4882a593Smuzhiyun #define MXC_CCM_CCGR6_IPU_DI0_OFFSET 10 552*4882a593Smuzhiyun #define MXC_CCM_CCGR6_IPU_DI0(v) (((v) & 0x3) << 10) 553*4882a593Smuzhiyun #define MXC_CCM_CCGR6_IPU_DI1_OFFSET 12 554*4882a593Smuzhiyun #define MXC_CCM_CCGR6_IPU_DI1(v) (((v) & 0x3) << 12) 555*4882a593Smuzhiyun #define MXC_CCM_CCGR6_GPU2D_OFFSET 14 556*4882a593Smuzhiyun #define MXC_CCM_CCGR6_GPU2D(v) (((v) & 0x3) << 14) 557*4882a593Smuzhiyun #if defined(CONFIG_MX53) 558*4882a593Smuzhiyun #define MXC_CCM_CCGR6_ESAI_IPG_OFFSET 16 559*4882a593Smuzhiyun #define MXC_CCM_CCGR6_ESAI_IPG(v) (((v) & 0x3) << 16) 560*4882a593Smuzhiyun #define MXC_CCM_CCGR6_ESAI_ROOT_OFFSET 18 561*4882a593Smuzhiyun #define MXC_CCM_CCGR6_ESAI_ROOT(v) (((v) & 0x3) << 18) 562*4882a593Smuzhiyun #define MXC_CCM_CCGR6_CAN1_IPG_OFFSET 20 563*4882a593Smuzhiyun #define MXC_CCM_CCGR6_CAN1_IPG(v) (((v) & 0x3) << 20) 564*4882a593Smuzhiyun #define MXC_CCM_CCGR6_CAN1_SERIAL_OFFSET 22 565*4882a593Smuzhiyun #define MXC_CCM_CCGR6_CAN1_SERIAL(v) (((v) & 0x3) << 22) 566*4882a593Smuzhiyun #define MXC_CCM_CCGR6_PL301_4X1_OFFSET 24 567*4882a593Smuzhiyun #define MXC_CCM_CCGR6_PL301_4X1(v) (((v) & 0x3) << 24) 568*4882a593Smuzhiyun #define MXC_CCM_CCGR6_PL301_2X2_OFFSET 26 569*4882a593Smuzhiyun #define MXC_CCM_CCGR6_PL301_2X2(v) (((v) & 0x3) << 26) 570*4882a593Smuzhiyun #define MXC_CCM_CCGR6_LDB_DI0_OFFSET 28 571*4882a593Smuzhiyun #define MXC_CCM_CCGR6_LDB_DI0(v) (((v) & 0x3) << 28) 572*4882a593Smuzhiyun #define MXC_CCM_CCGR6_LDB_DI1_OFFSET 30 573*4882a593Smuzhiyun #define MXC_CCM_CCGR6_LDB_DI1(v) (((v) & 0x3) << 30) 574*4882a593Smuzhiyun 575*4882a593Smuzhiyun #define MXC_CCM_CCGR7_ASRC_IPG_OFFSET 0 576*4882a593Smuzhiyun #define MXC_CCM_CCGR7_ASRC_IPG(v) (((v) & 0x3) << 0) 577*4882a593Smuzhiyun #define MXC_CCM_CCGR7_ASRC_ASRCK_OFFSET 2 578*4882a593Smuzhiyun #define MXC_CCM_CCGR7_ASRC_ASRCK(v) (((v) & 0x3) << 2) 579*4882a593Smuzhiyun #define MXC_CCM_CCGR7_MLB_OFFSET 4 580*4882a593Smuzhiyun #define MXC_CCM_CCGR7_MLB(v) (((v) & 0x3) << 4) 581*4882a593Smuzhiyun #define MXC_CCM_CCGR7_IEEE1588_OFFSET 6 582*4882a593Smuzhiyun #define MXC_CCM_CCGR7_IEEE1588(v) (((v) & 0x3) << 6) 583*4882a593Smuzhiyun #define MXC_CCM_CCGR7_UART4_IPG_OFFSET 8 584*4882a593Smuzhiyun #define MXC_CCM_CCGR7_UART4_IPG(v) (((v) & 0x3) << 8) 585*4882a593Smuzhiyun #define MXC_CCM_CCGR7_UART4_PER_OFFSET 10 586*4882a593Smuzhiyun #define MXC_CCM_CCGR7_UART4_PER(v) (((v) & 0x3) << 10) 587*4882a593Smuzhiyun #define MXC_CCM_CCGR7_UART5_IPG_OFFSET 12 588*4882a593Smuzhiyun #define MXC_CCM_CCGR7_UART5_IPG(v) (((v) & 0x3) << 12) 589*4882a593Smuzhiyun #define MXC_CCM_CCGR7_UART5_PER_OFFSET 14 590*4882a593Smuzhiyun #define MXC_CCM_CCGR7_UART5_PER(v) (((v) & 0x3) << 14) 591*4882a593Smuzhiyun #endif 592*4882a593Smuzhiyun 593*4882a593Smuzhiyun /* Define the bits in register CLPCR */ 594*4882a593Smuzhiyun #define MXC_CCM_CLPCR_BYPASS_IPU_LPM_HS (0x1 << 18) 595*4882a593Smuzhiyun 596*4882a593Smuzhiyun #define MXC_DPLLC_CTL_HFSM (1 << 7) 597*4882a593Smuzhiyun #define MXC_DPLLC_CTL_DPDCK0_2_EN (1 << 12) 598*4882a593Smuzhiyun 599*4882a593Smuzhiyun #define MXC_DPLLC_OP_PDF_MASK 0xf 600*4882a593Smuzhiyun #define MXC_DPLLC_OP_MFI_OFFSET 4 601*4882a593Smuzhiyun #define MXC_DPLLC_OP_MFI_MASK (0xf << 4) 602*4882a593Smuzhiyun #define MXC_DPLLC_OP_MFI(v) (((v) & 0xf) << 4) 603*4882a593Smuzhiyun #define MXC_DPLLC_OP_MFI_RD(r) (((r) >> 4) & 0xf) 604*4882a593Smuzhiyun 605*4882a593Smuzhiyun #define MXC_DPLLC_MFD_MFD_MASK 0x7ffffff 606*4882a593Smuzhiyun 607*4882a593Smuzhiyun #define MXC_DPLLC_MFN_MFN_MASK 0x7ffffff 608*4882a593Smuzhiyun 609*4882a593Smuzhiyun #endif /* __ARCH_ARM_MACH_MX51_CRM_REGS_H__ */ 610