xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-mx6/crm_regs.h (revision 8ea05705a70135a94419b0d243666c1b51fe1f8d)
16a376046SFabio Estevam /*
26a376046SFabio Estevam  * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved.
36a376046SFabio Estevam  *
41a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
56a376046SFabio Estevam  */
66a376046SFabio Estevam 
76a376046SFabio Estevam #ifndef __ARCH_ARM_MACH_MX6_CCM_REGS_H__
86a376046SFabio Estevam #define __ARCH_ARM_MACH_MX6_CCM_REGS_H__
96a376046SFabio Estevam 
10492938a3SFabio Estevam #define CCM_CCOSR		0x020c4060
114f60c49aSEric Nelson #define CCM_CCGR0		0x020C4068
124f60c49aSEric Nelson #define CCM_CCGR1		0x020C406c
134f60c49aSEric Nelson #define CCM_CCGR2		0x020C4070
144f60c49aSEric Nelson #define CCM_CCGR3		0x020C4074
154f60c49aSEric Nelson #define CCM_CCGR4		0x020C4078
164f60c49aSEric Nelson #define CCM_CCGR5		0x020C407c
174f60c49aSEric Nelson #define CCM_CCGR6		0x020C4080
184f60c49aSEric Nelson 
194f60c49aSEric Nelson #define PMU_MISC2		0x020C8170
204f60c49aSEric Nelson 
214f60c49aSEric Nelson #ifndef __ASSEMBLY__
226a376046SFabio Estevam struct mxc_ccm_reg {
236a376046SFabio Estevam 	u32 ccr;	/* 0x0000 */
246a376046SFabio Estevam 	u32 ccdr;
256a376046SFabio Estevam 	u32 csr;
266a376046SFabio Estevam 	u32 ccsr;
276a376046SFabio Estevam 	u32 cacrr;	/* 0x0010*/
286a376046SFabio Estevam 	u32 cbcdr;
296a376046SFabio Estevam 	u32 cbcmr;
306a376046SFabio Estevam 	u32 cscmr1;
316a376046SFabio Estevam 	u32 cscmr2;	/* 0x0020 */
326a376046SFabio Estevam 	u32 cscdr1;
336a376046SFabio Estevam 	u32 cs1cdr;
346a376046SFabio Estevam 	u32 cs2cdr;
356a376046SFabio Estevam 	u32 cdcdr;	/* 0x0030 */
36da6df2d1SEric Nelson 	u32 chsccdr;
376a376046SFabio Estevam 	u32 cscdr2;
386a376046SFabio Estevam 	u32 cscdr3;
396a376046SFabio Estevam 	u32 cscdr4;	/* 0x0040 */
406a376046SFabio Estevam 	u32 resv0;
416a376046SFabio Estevam 	u32 cdhipr;
426a376046SFabio Estevam 	u32 cdcr;
436a376046SFabio Estevam 	u32 ctor;	/* 0x0050 */
446a376046SFabio Estevam 	u32 clpcr;
456a376046SFabio Estevam 	u32 cisr;
466a376046SFabio Estevam 	u32 cimr;
476a376046SFabio Estevam 	u32 ccosr;	/* 0x0060 */
486a376046SFabio Estevam 	u32 cgpr;
496a376046SFabio Estevam 	u32 CCGR0;
506a376046SFabio Estevam 	u32 CCGR1;
516a376046SFabio Estevam 	u32 CCGR2;	/* 0x0070 */
526a376046SFabio Estevam 	u32 CCGR3;
536a376046SFabio Estevam 	u32 CCGR4;
546a376046SFabio Estevam 	u32 CCGR5;
556a376046SFabio Estevam 	u32 CCGR6;	/* 0x0080 */
566a376046SFabio Estevam 	u32 CCGR7;
576a376046SFabio Estevam 	u32 cmeor;
586a376046SFabio Estevam 	u32 resv[0xfdd];
596a376046SFabio Estevam 	u32 analog_pll_sys;			/* 0x4000 */
606a376046SFabio Estevam 	u32 analog_pll_sys_set;
616a376046SFabio Estevam 	u32 analog_pll_sys_clr;
626a376046SFabio Estevam 	u32 analog_pll_sys_tog;
636a376046SFabio Estevam 	u32 analog_usb1_pll_480_ctrl;		/* 0x4010 */
646a376046SFabio Estevam 	u32 analog_usb1_pll_480_ctrl_set;
656a376046SFabio Estevam 	u32 analog_usb1_pll_480_ctrl_clr;
666a376046SFabio Estevam 	u32 analog_usb1_pll_480_ctrl_tog;
676a376046SFabio Estevam 	u32 analog_reserved0[4];
686a376046SFabio Estevam 	u32 analog_pll_528;			/* 0x4030 */
696a376046SFabio Estevam 	u32 analog_pll_528_set;
706a376046SFabio Estevam 	u32 analog_pll_528_clr;
716a376046SFabio Estevam 	u32 analog_pll_528_tog;
726a376046SFabio Estevam 	u32 analog_pll_528_ss;			/* 0x4040 */
736a376046SFabio Estevam 	u32 analog_reserved1[3];
746a376046SFabio Estevam 	u32 analog_pll_528_num;			/* 0x4050 */
756a376046SFabio Estevam 	u32 analog_reserved2[3];
766a376046SFabio Estevam 	u32 analog_pll_528_denom;		/* 0x4060 */
776a376046SFabio Estevam 	u32 analog_reserved3[3];
786a376046SFabio Estevam 	u32 analog_pll_audio;			/* 0x4070 */
796a376046SFabio Estevam 	u32 analog_pll_audio_set;
806a376046SFabio Estevam 	u32 analog_pll_audio_clr;
816a376046SFabio Estevam 	u32 analog_pll_audio_tog;
826a376046SFabio Estevam 	u32 analog_pll_audio_num;		/* 0x4080*/
836a376046SFabio Estevam 	u32 analog_reserved4[3];
846a376046SFabio Estevam 	u32 analog_pll_audio_denom;		/* 0x4090 */
856a376046SFabio Estevam 	u32 analog_reserved5[3];
866a376046SFabio Estevam 	u32 analog_pll_video;			/* 0x40a0 */
876a376046SFabio Estevam 	u32 analog_pll_video_set;
886a376046SFabio Estevam 	u32 analog_pll_video_clr;
896a376046SFabio Estevam 	u32 analog_pll_video_tog;
906a376046SFabio Estevam 	u32 analog_pll_video_num;		/* 0x40b0 */
916a376046SFabio Estevam 	u32 analog_reserved6[3];
929c56936eSAnatolij Gustschin 	u32 analog_pll_video_denom;		/* 0x40c0 */
936a376046SFabio Estevam 	u32 analog_reserved7[7];
946a376046SFabio Estevam 	u32 analog_pll_enet;			/* 0x40e0 */
956a376046SFabio Estevam 	u32 analog_pll_enet_set;
966a376046SFabio Estevam 	u32 analog_pll_enet_clr;
976a376046SFabio Estevam 	u32 analog_pll_enet_tog;
986a376046SFabio Estevam 	u32 analog_pfd_480;			/* 0x40f0 */
996a376046SFabio Estevam 	u32 analog_pfd_480_set;
1006a376046SFabio Estevam 	u32 analog_pfd_480_clr;
1016a376046SFabio Estevam 	u32 analog_pfd_480_tog;
1026a376046SFabio Estevam 	u32 analog_pfd_528;			/* 0x4100 */
1036a376046SFabio Estevam 	u32 analog_pfd_528_set;
1046a376046SFabio Estevam 	u32 analog_pfd_528_clr;
1056a376046SFabio Estevam 	u32 analog_pfd_528_tog;
106234dc633SPeng Fan 	/* PMU Memory Map/Register Definition */
107234dc633SPeng Fan 	u32 pmu_reg_1p1;
108234dc633SPeng Fan 	u32 pmu_reg_1p1_set;
109234dc633SPeng Fan 	u32 pmu_reg_1p1_clr;
110234dc633SPeng Fan 	u32 pmu_reg_1p1_tog;
111234dc633SPeng Fan 	u32 pmu_reg_3p0;
112234dc633SPeng Fan 	u32 pmu_reg_3p0_set;
113234dc633SPeng Fan 	u32 pmu_reg_3p0_clr;
114234dc633SPeng Fan 	u32 pmu_reg_3p0_tog;
115234dc633SPeng Fan 	u32 pmu_reg_2p5;
116234dc633SPeng Fan 	u32 pmu_reg_2p5_set;
117234dc633SPeng Fan 	u32 pmu_reg_2p5_clr;
118234dc633SPeng Fan 	u32 pmu_reg_2p5_tog;
119234dc633SPeng Fan 	u32 pmu_reg_core;
120234dc633SPeng Fan 	u32 pmu_reg_core_set;
121234dc633SPeng Fan 	u32 pmu_reg_core_clr;
122234dc633SPeng Fan 	u32 pmu_reg_core_tog;
123234dc633SPeng Fan 	u32 pmu_misc0;
124234dc633SPeng Fan 	u32 pmu_misc0_set;
125234dc633SPeng Fan 	u32 pmu_misc0_clr;
126234dc633SPeng Fan 	u32 pmu_misc0_tog;
127234dc633SPeng Fan 	u32 pmu_misc1;
128234dc633SPeng Fan 	u32 pmu_misc1_set;
129234dc633SPeng Fan 	u32 pmu_misc1_clr;
130234dc633SPeng Fan 	u32 pmu_misc1_tog;
131234dc633SPeng Fan 	u32 pmu_misc2;
132234dc633SPeng Fan 	u32 pmu_misc2_set;
133234dc633SPeng Fan 	u32 pmu_misc2_clr;
134234dc633SPeng Fan 	u32 pmu_misc2_tog;
135234dc633SPeng Fan 	/* TEMPMON Memory Map/Register Definition */
136234dc633SPeng Fan 	u32 tempsense0;
137234dc633SPeng Fan 	u32 tempsense0_set;
138234dc633SPeng Fan 	u32 tempsense0_clr;
139234dc633SPeng Fan 	u32 tempsense0_tog;
140234dc633SPeng Fan 	u32 tempsense1;
141234dc633SPeng Fan 	u32 tempsense1_set;
142234dc633SPeng Fan 	u32 tempsense1_clr;
143234dc633SPeng Fan 	u32 tempsense1_tog;
144234dc633SPeng Fan 	/* USB Analog Memory Map/Register Definition */
145234dc633SPeng Fan 	u32 usb1_vbus_detect;
146234dc633SPeng Fan 	u32 usb1_vbus_detect_set;
147234dc633SPeng Fan 	u32 usb1_vbus_detect_clr;
148234dc633SPeng Fan 	u32 usb1_vbus_detect_tog;
149234dc633SPeng Fan 	u32 usb1_chrg_detect;
150234dc633SPeng Fan 	u32 usb1_chrg_detect_set;
151234dc633SPeng Fan 	u32 usb1_chrg_detect_clr;
152234dc633SPeng Fan 	u32 usb1_chrg_detect_tog;
153234dc633SPeng Fan 	u32 usb1_vbus_det_stat;
154234dc633SPeng Fan 	u32 usb1_vbus_det_stat_set;
155234dc633SPeng Fan 	u32 usb1_vbus_det_stat_clr;
156234dc633SPeng Fan 	u32 usb1_vbus_det_stat_tog;
157234dc633SPeng Fan 	u32 usb1_chrg_det_stat;
158234dc633SPeng Fan 	u32 usb1_chrg_det_stat_set;
159234dc633SPeng Fan 	u32 usb1_chrg_det_stat_clr;
160234dc633SPeng Fan 	u32 usb1_chrg_det_stat_tog;
161234dc633SPeng Fan 	u32 usb1_loopback;
162234dc633SPeng Fan 	u32 usb1_loopback_set;
163234dc633SPeng Fan 	u32 usb1_loopback_clr;
164234dc633SPeng Fan 	u32 usb1_loopback_tog;
165234dc633SPeng Fan 	u32 usb1_misc;
166234dc633SPeng Fan 	u32 usb1_misc_set;
167234dc633SPeng Fan 	u32 usb1_misc_clr;
168234dc633SPeng Fan 	u32 usb1_misc_tog;
169234dc633SPeng Fan 	u32 usb2_vbus_detect;
170234dc633SPeng Fan 	u32 usb2_vbus_detect_set;
171234dc633SPeng Fan 	u32 usb2_vbus_detect_clr;
172234dc633SPeng Fan 	u32 usb2_vbus_detect_tog;
173234dc633SPeng Fan 	u32 usb2_chrg_detect;
174234dc633SPeng Fan 	u32 usb2_chrg_detect_set;
175234dc633SPeng Fan 	u32 usb2_chrg_detect_clr;
176234dc633SPeng Fan 	u32 usb2_chrg_detect_tog;
177234dc633SPeng Fan 	u32 usb2_vbus_det_stat;
178234dc633SPeng Fan 	u32 usb2_vbus_det_stat_set;
179234dc633SPeng Fan 	u32 usb2_vbus_det_stat_clr;
180234dc633SPeng Fan 	u32 usb2_vbus_det_stat_tog;
181234dc633SPeng Fan 	u32 usb2_chrg_det_stat;
182234dc633SPeng Fan 	u32 usb2_chrg_det_stat_set;
183234dc633SPeng Fan 	u32 usb2_chrg_det_stat_clr;
184234dc633SPeng Fan 	u32 usb2_chrg_det_stat_tog;
185234dc633SPeng Fan 	u32 usb2_loopback;
186234dc633SPeng Fan 	u32 usb2_loopback_set;
187234dc633SPeng Fan 	u32 usb2_loopback_clr;
188234dc633SPeng Fan 	u32 usb2_loopback_tog;
189234dc633SPeng Fan 	u32 usb2_misc;
190234dc633SPeng Fan 	u32 usb2_misc_set;
191234dc633SPeng Fan 	u32 usb2_misc_clr;
192234dc633SPeng Fan 	u32 usb2_misc_tog;
193234dc633SPeng Fan 	u32 digprog;
194234dc633SPeng Fan 	u32 reserved1[7];
195234dc633SPeng Fan 	/* For i.MX 6SoloLite */
196234dc633SPeng Fan 	u32 digprog_sololite;
1976a376046SFabio Estevam };
1984f60c49aSEric Nelson #endif
1996a376046SFabio Estevam 
2006a376046SFabio Estevam /* Define the bits in register CCR */
2016a376046SFabio Estevam #define MXC_CCM_CCR_RBC_EN				(1 << 27)
2026a376046SFabio Estevam #define MXC_CCM_CCR_REG_BYPASS_CNT_MASK			(0x3F << 21)
2036a376046SFabio Estevam #define MXC_CCM_CCR_REG_BYPASS_CNT_OFFSET		21
20443cb127bSPeng Fan /* CCR_WB does not exist on i.MX6SX/UL */
2056a376046SFabio Estevam #define MXC_CCM_CCR_WB_COUNT_MASK			0x7
2066a376046SFabio Estevam #define MXC_CCM_CCR_WB_COUNT_OFFSET			(1 << 16)
2076a376046SFabio Estevam #define MXC_CCM_CCR_COSC_EN				(1 << 12)
20805d54b82SFabio Estevam #ifdef CONFIG_MX6SX
20905d54b82SFabio Estevam #define MXC_CCM_CCR_OSCNT_MASK				0x7F
21005d54b82SFabio Estevam #else
2116a376046SFabio Estevam #define MXC_CCM_CCR_OSCNT_MASK				0xFF
21205d54b82SFabio Estevam #endif
2136a376046SFabio Estevam #define MXC_CCM_CCR_OSCNT_OFFSET			0
2146a376046SFabio Estevam 
2156a376046SFabio Estevam /* Define the bits in register CCDR */
2166a376046SFabio Estevam #define MXC_CCM_CCDR_MMDC_CH1_HS_MASK			(1 << 16)
2176a376046SFabio Estevam #define MXC_CCM_CCDR_MMDC_CH0_HS_MASK			(1 << 17)
218e1c2d68bSPeng Fan /* Exists on i.MX6QP */
219e1c2d68bSPeng Fan #define MXC_CCM_CCDR_MMDC_CH1_AXI_ROOT_CG		(1 << 18)
2206a376046SFabio Estevam 
2216a376046SFabio Estevam /* Define the bits in register CSR */
2226a376046SFabio Estevam #define MXC_CCM_CSR_COSC_READY				(1 << 5)
2236a376046SFabio Estevam #define MXC_CCM_CSR_REF_EN_B				(1 << 0)
2246a376046SFabio Estevam 
2256a376046SFabio Estevam /* Define the bits in register CCSR */
2266a376046SFabio Estevam #define MXC_CCM_CCSR_PDF_540M_AUTO_DIS			(1 << 15)
2276a376046SFabio Estevam #define MXC_CCM_CCSR_PDF_720M_AUTO_DIS			(1 << 14)
2286a376046SFabio Estevam #define MXC_CCM_CCSR_PDF_454M_AUTO_DIS			(1 << 13)
2296a376046SFabio Estevam #define MXC_CCM_CCSR_PDF_508M_AUTO_DIS			(1 << 12)
2306a376046SFabio Estevam #define MXC_CCM_CCSR_PDF_594M_AUTO_DIS			(1 << 11)
2316a376046SFabio Estevam #define MXC_CCM_CCSR_PDF_352M_AUTO_DIS			(1 << 10)
2326a376046SFabio Estevam #define MXC_CCM_CCSR_PDF_400M_AUTO_DIS			(1 << 9)
2336a376046SFabio Estevam #define MXC_CCM_CCSR_STEP_SEL				(1 << 8)
2346a376046SFabio Estevam #define MXC_CCM_CCSR_PLL1_SW_CLK_SEL			(1 << 2)
2356a376046SFabio Estevam #define MXC_CCM_CCSR_PLL2_SW_CLK_SEL			(1 << 1)
2366a376046SFabio Estevam #define MXC_CCM_CCSR_PLL3_SW_CLK_SEL			(1 << 0)
2376a376046SFabio Estevam 
2386a376046SFabio Estevam /* Define the bits in register CACRR */
2396a376046SFabio Estevam #define MXC_CCM_CACRR_ARM_PODF_OFFSET			0
2406a376046SFabio Estevam #define MXC_CCM_CACRR_ARM_PODF_MASK			0x7
2416a376046SFabio Estevam 
2426a376046SFabio Estevam /* Define the bits in register CBCDR */
2436a376046SFabio Estevam #define MXC_CCM_CBCDR_PERIPH_CLK2_PODF_MASK		(0x7 << 27)
2446a376046SFabio Estevam #define MXC_CCM_CBCDR_PERIPH_CLK2_PODF_OFFSET		27
24543cb127bSPeng Fan #define MXC_CCM_CBCDR_PERIPH2_CLK_SEL			(1 << 26)
2466a376046SFabio Estevam #define MXC_CCM_CBCDR_PERIPH_CLK_SEL			(1 << 25)
24743cb127bSPeng Fan /* MMDC_CH0 not exists on i.MX6SX */
2486a376046SFabio Estevam #define MXC_CCM_CBCDR_MMDC_CH0_PODF_MASK		(0x7 << 19)
2496a376046SFabio Estevam #define MXC_CCM_CBCDR_MMDC_CH0_PODF_OFFSET		19
2506a376046SFabio Estevam #define MXC_CCM_CBCDR_AXI_PODF_MASK			(0x7 << 16)
2516a376046SFabio Estevam #define MXC_CCM_CBCDR_AXI_PODF_OFFSET			16
2526a376046SFabio Estevam #define MXC_CCM_CBCDR_AHB_PODF_MASK			(0x7 << 10)
2536a376046SFabio Estevam #define MXC_CCM_CBCDR_AHB_PODF_OFFSET			10
2546a376046SFabio Estevam #define MXC_CCM_CBCDR_IPG_PODF_MASK			(0x3 << 8)
2556a376046SFabio Estevam #define MXC_CCM_CBCDR_IPG_PODF_OFFSET			8
2566a376046SFabio Estevam #define MXC_CCM_CBCDR_AXI_ALT_SEL			(1 << 7)
2576a376046SFabio Estevam #define MXC_CCM_CBCDR_AXI_SEL				(1 << 6)
2586a376046SFabio Estevam #define MXC_CCM_CBCDR_MMDC_CH1_PODF_MASK		(0x7 << 3)
2596a376046SFabio Estevam #define MXC_CCM_CBCDR_MMDC_CH1_PODF_OFFSET		3
2606a376046SFabio Estevam #define MXC_CCM_CBCDR_PERIPH2_CLK2_PODF_MASK		(0x7 << 0)
2616a376046SFabio Estevam #define MXC_CCM_CBCDR_PERIPH2_CLK2_PODF_OFFSET		0
2626a376046SFabio Estevam 
2636a376046SFabio Estevam /* Define the bits in register CBCMR */
2646a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU3D_SHADER_PODF_MASK		(0x7 << 29)
2656a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU3D_SHADER_PODF_OFFSET		29
2666a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU3D_CORE_PODF_MASK		(0x7 << 26)
2676a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU3D_CORE_PODF_OFFSET		26
26864ffef05SPeng Fan /* LCDIF on i.MX6SX/UL */
26964ffef05SPeng Fan #define MXC_CCM_CBCMR_LCDIF1_PODF_MASK                  (0x7 << 23)
27064ffef05SPeng Fan #define MXC_CCM_CBCMR_LCDIF1_PODF_OFFSET                23
2716a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU2D_CORE_PODF_MASK		(0x7 << 23)
2726a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU2D_CORE_PODF_OFFSET		23
2736a376046SFabio Estevam #define MXC_CCM_CBCMR_PRE_PERIPH2_CLK_SEL_MASK		(0x3 << 21)
2746a376046SFabio Estevam #define MXC_CCM_CBCMR_PRE_PERIPH2_CLK_SEL_OFFSET	21
27543cb127bSPeng Fan #define MXC_CCM_CBCMR_PERIPH2_CLK2_SEL			(1 << 20)
2766a376046SFabio Estevam #define MXC_CCM_CBCMR_PRE_PERIPH_CLK_SEL_MASK		(0x3 << 18)
2776a376046SFabio Estevam #define MXC_CCM_CBCMR_PRE_PERIPH_CLK_SEL_OFFSET		18
27805d54b82SFabio Estevam #ifndef CONFIG_MX6SX
2796a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU2D_CLK_SEL_MASK		(0x3 << 16)
2806a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU2D_CLK_SEL_OFFSET		16
2816a376046SFabio Estevam #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_MASK		(0x3 << 14)
2826a376046SFabio Estevam #define MXC_CCM_CBCMR_VPU_AXI_CLK_SEL_OFFSET		14
28305d54b82SFabio Estevam #endif
2846a376046SFabio Estevam #define MXC_CCM_CBCMR_PERIPH_CLK2_SEL_MASK		(0x3 << 12)
2856a376046SFabio Estevam #define MXC_CCM_CBCMR_PERIPH_CLK2_SEL_OFFSET		12
28605d54b82SFabio Estevam #ifndef CONFIG_MX6SX
2876a376046SFabio Estevam #define MXC_CCM_CBCMR_VDOAXI_CLK_SEL			(1 << 11)
28805d54b82SFabio Estevam #endif
2896a376046SFabio Estevam #define MXC_CCM_CBCMR_PCIE_AXI_CLK_SEL			(1 << 10)
2906a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU3D_SHADER_CLK_SEL_MASK		(0x3 << 8)
2916a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU3D_SHADER_CLK_SEL_OFFSET	8
2926a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU3D_CORE_CLK_SEL_MASK		(0x3 << 4)
2936a376046SFabio Estevam #define MXC_CCM_CBCMR_GPU3D_CORE_CLK_SEL_OFFSET		4
294e1c2d68bSPeng Fan /* Exists on i.MX6QP */
295e1c2d68bSPeng Fan #define MXC_CCM_CBCMR_PRE_CLK_SEL			(1 << 1)
2966a376046SFabio Estevam 
2976a376046SFabio Estevam /* Define the bits in register CSCMR1 */
2986a376046SFabio Estevam #define MXC_CCM_CSCMR1_ACLK_EMI_SLOW_MASK		(0x3 << 29)
2996a376046SFabio Estevam #define MXC_CCM_CSCMR1_ACLK_EMI_SLOW_OFFSET		29
30043cb127bSPeng Fan /* QSPI1 exist on i.MX6SX/UL */
30105d54b82SFabio Estevam #define MXC_CCM_CSCMR1_QSPI1_PODF_MASK			(0x7 << 26)
30205d54b82SFabio Estevam #define MXC_CCM_CSCMR1_QSPI1_PODF_OFFSET		26
3036a376046SFabio Estevam #define MXC_CCM_CSCMR1_ACLK_EMI_MASK			(0x3 << 27)
3046a376046SFabio Estevam #define MXC_CCM_CSCMR1_ACLK_EMI_OFFSET			27
3056a376046SFabio Estevam #define MXC_CCM_CSCMR1_ACLK_EMI_SLOW_PODF_MASK		(0x7 << 23)
3066a376046SFabio Estevam #define MXC_CCM_CSCMR1_ACLK_EMI_SLOW_PODF_OFFSET	23
30764ffef05SPeng Fan /* LCFIF2_PODF on i.MX6SX */
30864ffef05SPeng Fan #define MXC_CCM_CSCMR1_LCDIF2_PODF_MASK			(0x7 << 20)
30964ffef05SPeng Fan #define MXC_CCM_CSCMR1_LCDIF2_PODF_OFFSET               20
310*e332623bSPeng Fan /* LCDIF_PIX_PODF on i.MX6SL */
311*e332623bSPeng Fan #define MXC_CCM_CSCMR1_LCDIF_PIX_PODF_MASK		(0x7 << 20)
312*e332623bSPeng Fan #define MXC_CCM_CSCMR1_LCDIF_PIX_PODF_OFFSET		20
31364ffef05SPeng Fan /* ACLK_EMI on i.MX6DQ/SDL/DQP */
3146a376046SFabio Estevam #define MXC_CCM_CSCMR1_ACLK_EMI_PODF_MASK		(0x7 << 20)
3156a376046SFabio Estevam #define MXC_CCM_CSCMR1_ACLK_EMI_PODF_OFFSET		20
31643cb127bSPeng Fan /* CSCMR1_GPMI/BCH exist on i.MX6UL */
31743cb127bSPeng Fan #define MXC_CCM_CSCMR1_GPMI_CLK_SEL			(1 << 19)
31843cb127bSPeng Fan #define MXC_CCM_CSCMR1_BCH_CLK_SEL			(1 << 18)
3196a376046SFabio Estevam #define MXC_CCM_CSCMR1_USDHC4_CLK_SEL			(1 << 19)
3206a376046SFabio Estevam #define MXC_CCM_CSCMR1_USDHC3_CLK_SEL			(1 << 18)
3216a376046SFabio Estevam #define MXC_CCM_CSCMR1_USDHC2_CLK_SEL			(1 << 17)
3226a376046SFabio Estevam #define MXC_CCM_CSCMR1_USDHC1_CLK_SEL			(1 << 16)
3236a376046SFabio Estevam #define MXC_CCM_CSCMR1_SSI3_CLK_SEL_MASK		(0x3 << 14)
3246a376046SFabio Estevam #define MXC_CCM_CSCMR1_SSI3_CLK_SEL_OFFSET		14
3256a376046SFabio Estevam #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_MASK		(0x3 << 12)
3266a376046SFabio Estevam #define MXC_CCM_CSCMR1_SSI2_CLK_SEL_OFFSET		12
3276a376046SFabio Estevam #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_MASK		(0x3 << 10)
3286a376046SFabio Estevam #define MXC_CCM_CSCMR1_SSI1_CLK_SEL_OFFSET		10
32943cb127bSPeng Fan /* QSPI1 exist on i.MX6SX/UL */
33005d54b82SFabio Estevam #define MXC_CCM_CSCMR1_QSPI1_CLK_SEL_MASK		(0x7 << 7)
33105d54b82SFabio Estevam #define MXC_CCM_CSCMR1_QSPI1_CLK_SEL_OFFSET		7
332e1c2d68bSPeng Fan /* CSCMR1_PER_CLK exists on i.MX6SX/SL/QP */
33305d54b82SFabio Estevam #define MXC_CCM_CSCMR1_PER_CLK_SEL_MASK (1 << 6)
33405d54b82SFabio Estevam #define MXC_CCM_CSCMR1_PER_CLK_SEL_OFFSET		6
335e1c2d68bSPeng Fan 
3366a376046SFabio Estevam #define MXC_CCM_CSCMR1_PERCLK_PODF_MASK			0x3F
3376a376046SFabio Estevam 
3386a376046SFabio Estevam /* Define the bits in register CSCMR2 */
33905d54b82SFabio Estevam #ifdef CONFIG_MX6SX
34005d54b82SFabio Estevam #define MXC_CCM_CSCMR2_VID_CLK_SEL_MASK			(0x7 << 21)
34105d54b82SFabio Estevam #define MXC_CCM_CSCMR2_VID_CLK_SEL_OFFSET		21
34205d54b82SFabio Estevam #endif
3436a376046SFabio Estevam #define MXC_CCM_CSCMR2_ESAI_PRE_SEL_MASK		(0x3 << 19)
3446a376046SFabio Estevam #define MXC_CCM_CSCMR2_ESAI_PRE_SEL_OFFSET		19
3456a376046SFabio Estevam #define MXC_CCM_CSCMR2_LDB_DI1_IPU_DIV			(1 << 11)
3466a376046SFabio Estevam #define MXC_CCM_CSCMR2_LDB_DI0_IPU_DIV			(1 << 10)
347e1c2d68bSPeng Fan /* CSCMR1_CAN_CLK exists on i.MX6SX/QP */
34805d54b82SFabio Estevam #define MXC_CCM_CSCMR2_CAN_CLK_SEL_MASK			(0x3 << 8)
34905d54b82SFabio Estevam #define MXC_CCM_CSCMR2_CAN_CLK_SEL_OFFSET		8
350e1c2d68bSPeng Fan 
35105d54b82SFabio Estevam #define MXC_CCM_CSCMR2_CAN_CLK_PODF_MASK		(0x3F << 2)
35205d54b82SFabio Estevam #define MXC_CCM_CSCMR2_CAN_CLK_PODF_OFFSET		2
3536a376046SFabio Estevam 
3546a376046SFabio Estevam /* Define the bits in register CSCDR1 */
35505d54b82SFabio Estevam #ifndef CONFIG_MX6SX
3566a376046SFabio Estevam #define MXC_CCM_CSCDR1_VPU_AXI_PODF_MASK		(0x7 << 25)
3576a376046SFabio Estevam #define MXC_CCM_CSCDR1_VPU_AXI_PODF_OFFSET		25
35805d54b82SFabio Estevam #endif
35943cb127bSPeng Fan /* CSCDR1_GPMI/BCH exist on i.MX6UL */
36043cb127bSPeng Fan #define MXC_CCM_CSCDR1_GPMI_PODF_MASK			(0x7 << 22)
36143cb127bSPeng Fan #define MXC_CCM_CSCDR1_GPMI_PODF_OFFSET			22
36243cb127bSPeng Fan #define MXC_CCM_CSCDR1_BCH_PODF_MASK			(0x7 << 19)
36343cb127bSPeng Fan #define MXC_CCM_CSCDR1_BCH_PODF_OFFSET			19
36443cb127bSPeng Fan 
3656a376046SFabio Estevam #define MXC_CCM_CSCDR1_USDHC4_PODF_MASK			(0x7 << 22)
3666a376046SFabio Estevam #define MXC_CCM_CSCDR1_USDHC4_PODF_OFFSET		22
3676a376046SFabio Estevam #define MXC_CCM_CSCDR1_USDHC3_PODF_MASK			(0x7 << 19)
3686a376046SFabio Estevam #define MXC_CCM_CSCDR1_USDHC3_PODF_OFFSET		19
3696a376046SFabio Estevam #define MXC_CCM_CSCDR1_USDHC2_PODF_MASK			(0x7 << 16)
3706a376046SFabio Estevam #define MXC_CCM_CSCDR1_USDHC2_PODF_OFFSET		16
3716a376046SFabio Estevam #define MXC_CCM_CSCDR1_USDHC1_PODF_MASK			(0x7 << 11)
3726a376046SFabio Estevam #define MXC_CCM_CSCDR1_USDHC1_PODF_OFFSET		11
37305d54b82SFabio Estevam #ifndef CONFIG_MX6SX
3746a376046SFabio Estevam #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_OFFSET		8
3756a376046SFabio Estevam #define MXC_CCM_CSCDR1_USBOH3_CLK_PRED_MASK		(0x7 << 8)
3766a376046SFabio Estevam #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_OFFSET		6
3776a376046SFabio Estevam #define MXC_CCM_CSCDR1_USBOH3_CLK_PODF_MASK		(0x3 << 6)
37805d54b82SFabio Estevam #endif
3796a376046SFabio Estevam #define MXC_CCM_CSCDR1_UART_CLK_PODF_MASK		0x3F
3806a376046SFabio Estevam #define MXC_CCM_CSCDR1_UART_CLK_PODF_OFFSET		0
381e1c2d68bSPeng Fan /* UART_CLK_SEL exists on i.MX6SL/SX/QP */
382e1c2d68bSPeng Fan #define MXC_CCM_CSCDR1_UART_CLK_SEL			(1 << 6)
3836a376046SFabio Estevam 
3846a376046SFabio Estevam /* Define the bits in register CS1CDR */
3853974b7f6SPeng Fan /* MX6UL, !MX6ULL */
3863974b7f6SPeng Fan #define MXC_CCM_CS1CDR_SAI3_CLK_PRED_MASK		(0x7 << 22)
3873974b7f6SPeng Fan #define MXC_CCM_CS1CDR_SAI3_CLK_PRED_OFFSET		22
3883974b7f6SPeng Fan #define MXC_CCM_CS1CDR_SAI3_CLK_PODF_MASK		(0x3F << 16)
3893974b7f6SPeng Fan #define MXC_CCM_CS1CDR_SAI3_CLK_PODF_OFFSET		16
3903974b7f6SPeng Fan #define MXC_CCM_CS1CDR_SAI1_CLK_PRED_MASK		(0x7 << 6)
3913974b7f6SPeng Fan #define MXC_CCM_CS1CDR_SAI1_CLK_PRED_OFFSET		6
3923974b7f6SPeng Fan #define MXC_CCM_CS1CDR_SAI1_CLK_PODF_MASK		0x3F
3933974b7f6SPeng Fan #define MXC_CCM_CS1CDR_SAI1_CLK_PODF_OFFSET		0
3943974b7f6SPeng Fan 
3956a376046SFabio Estevam #define MXC_CCM_CS1CDR_ESAI_CLK_PODF_MASK		(0x3F << 25)
3966a376046SFabio Estevam #define MXC_CCM_CS1CDR_ESAI_CLK_PODF_OFFSET		25
39705d54b82SFabio Estevam #define MXC_CCM_CS1CDR_SSI3_CLK_PRED_MASK		(0x7 << 22)
39805d54b82SFabio Estevam #define MXC_CCM_CS1CDR_SSI3_CLK_PRED_OFFSET		22
3996a376046SFabio Estevam #define MXC_CCM_CS1CDR_SSI3_CLK_PODF_MASK		(0x3F << 16)
4006a376046SFabio Estevam #define MXC_CCM_CS1CDR_SSI3_CLK_PODF_OFFSET		16
4016a376046SFabio Estevam #define MXC_CCM_CS1CDR_ESAI_CLK_PRED_MASK		(0x3 << 9)
4026a376046SFabio Estevam #define MXC_CCM_CS1CDR_ESAI_CLK_PRED_OFFSET		9
4036a376046SFabio Estevam #define MXC_CCM_CS1CDR_SSI1_CLK_PRED_MASK		(0x7 << 6)
4046a376046SFabio Estevam #define MXC_CCM_CS1CDR_SSI1_CLK_PRED_OFFSET		6
4056a376046SFabio Estevam #define MXC_CCM_CS1CDR_SSI1_CLK_PODF_MASK		0x3F
4066a376046SFabio Estevam #define MXC_CCM_CS1CDR_SSI1_CLK_PODF_OFFSET		0
4076a376046SFabio Estevam 
4086a376046SFabio Estevam /* Define the bits in register CS2CDR */
40943cb127bSPeng Fan /* QSPI2 on i.MX6SX */
41005d54b82SFabio Estevam #define MXC_CCM_CS2CDR_QSPI2_CLK_PODF_MASK             (0x3F << 21)
41105d54b82SFabio Estevam #define MXC_CCM_CS2CDR_QSPI2_CLK_PODF_OFFSET           21
41205d54b82SFabio Estevam #define MXC_CCM_CS2CDR_QSPI2_CLK_PODF(v)                       (((v) & 0x3f) << 21)
41305d54b82SFabio Estevam #define MXC_CCM_CS2CDR_QSPI2_CLK_PRED_MASK             (0x7 << 18)
41405d54b82SFabio Estevam #define MXC_CCM_CS2CDR_QSPI2_CLK_PRED_OFFSET           18
41505d54b82SFabio Estevam #define MXC_CCM_CS2CDR_QSPI2_CLK_PRED(v)                       (((v) & 0x7) << 18)
41605d54b82SFabio Estevam #define MXC_CCM_CS2CDR_QSPI2_CLK_SEL_MASK              (0x7 << 15)
41705d54b82SFabio Estevam #define MXC_CCM_CS2CDR_QSPI2_CLK_SEL_OFFSET            15
41805d54b82SFabio Estevam #define MXC_CCM_CS2CDR_QSPI2_CLK_SEL(v)                        (((v) & 0x7) << 15)
41943cb127bSPeng Fan 
4206a376046SFabio Estevam #define MXC_CCM_CS2CDR_ENFC_CLK_PODF_MASK		(0x3F << 21)
4216a376046SFabio Estevam #define MXC_CCM_CS2CDR_ENFC_CLK_PODF_OFFSET		21
422b29ca4a1SStefan Roese #define MXC_CCM_CS2CDR_ENFC_CLK_PODF(v)			(((v) & 0x3f) << 21)
4236a376046SFabio Estevam #define MXC_CCM_CS2CDR_ENFC_CLK_PRED_MASK		(0x7 << 18)
4246a376046SFabio Estevam #define MXC_CCM_CS2CDR_ENFC_CLK_PRED_OFFSET		18
425b29ca4a1SStefan Roese #define MXC_CCM_CS2CDR_ENFC_CLK_PRED(v)			(((v) & 0x7) << 18)
426e1c2d68bSPeng Fan 
42743cb127bSPeng Fan #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_MASK_DQP		(0x7 << 15)
42843cb127bSPeng Fan #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_OFFSET_DQP		15
42943cb127bSPeng Fan #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_DQP(v)		(((v) & 0x7) << 15)
43043cb127bSPeng Fan #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_MASK_DQ		(0x3 << 16)
43143cb127bSPeng Fan #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_OFFSET_DQ		16
43243cb127bSPeng Fan #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_DQ(v)		(((v) & 0x3) << 16)
433e1c2d68bSPeng Fan 
43443cb127bSPeng Fan #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_MASK		\
43543cb127bSPeng Fan 	((is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL)) ?	\
43643cb127bSPeng Fan 	 MXC_CCM_CS2CDR_ENFC_CLK_SEL_MASK_DQP :		\
43743cb127bSPeng Fan 	 MXC_CCM_CS2CDR_ENFC_CLK_SEL_MASK_DQ)
43843cb127bSPeng Fan #define MXC_CCM_CS2CDR_ENFC_CLK_SEL_OFFSET		\
43943cb127bSPeng Fan 	((is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL)) ?	\
44043cb127bSPeng Fan 	 MXC_CCM_CS2CDR_ENFC_CLK_SEL_OFFSET_DQP :	\
44143cb127bSPeng Fan 	 MXC_CCM_CS2CDR_ENFC_CLK_SEL_OFFSET_DQ)
44243cb127bSPeng Fan #define MXC_CCM_CS2CDR_ENFC_CLK_SEL(v)			\
44343cb127bSPeng Fan 	((is_mx6dqp() || is_cpu_type(MXC_CPU_MX6UL)) ?	\
44443cb127bSPeng Fan 	 MXC_CCM_CS2CDR_ENFC_CLK_SEL_DQP(v) :		\
44543cb127bSPeng Fan 	 MXC_CCM_CS2CDR_ENFC_CLK_SEL_DQ(v))
44643cb127bSPeng Fan 
4476a376046SFabio Estevam #define MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_MASK		(0x7 << 12)
4486a376046SFabio Estevam #define MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_OFFSET		12
4496a376046SFabio Estevam #define MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_MASK		(0x7 << 9)
4506a376046SFabio Estevam #define MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_OFFSET		9
4516a376046SFabio Estevam #define MXC_CCM_CS2CDR_SSI2_CLK_PRED_MASK		(0x7 << 6)
4526a376046SFabio Estevam #define MXC_CCM_CS2CDR_SSI2_CLK_PRED_OFFSET		6
4536a376046SFabio Estevam #define MXC_CCM_CS2CDR_SSI2_CLK_PODF_MASK		0x3F
4546a376046SFabio Estevam #define MXC_CCM_CS2CDR_SSI2_CLK_PODF_OFFSET		0
4556a376046SFabio Estevam 
4566a376046SFabio Estevam /* Define the bits in register CDCDR */
45705d54b82SFabio Estevam #ifndef CONFIG_MX6SX
4586a376046SFabio Estevam #define MXC_CCM_CDCDR_HSI_TX_PODF_MASK			(0x7 << 29)
4596a376046SFabio Estevam #define MXC_CCM_CDCDR_HSI_TX_PODF_OFFSET		29
4606a376046SFabio Estevam #define MXC_CCM_CDCDR_HSI_TX_CLK_SEL			(1 << 28)
46105d54b82SFabio Estevam #endif
4626a376046SFabio Estevam #define MXC_CCM_CDCDR_SPDIF0_CLK_PRED_MASK		(0x7 << 25)
4636a376046SFabio Estevam #define MXC_CCM_CDCDR_SPDIF0_CLK_PRED_OFFSET		25
464338c9da6SFabio Estevam #define MXC_CCM_CDCDR_SPDIF0_CLK_PODF_MASK		(0x7 << 22)
465338c9da6SFabio Estevam #define MXC_CCM_CDCDR_SPDIF0_CLK_PODF_OFFSET		22
4666a376046SFabio Estevam #define MXC_CCM_CDCDR_SPDIF0_CLK_SEL_MASK		(0x3 << 20)
4676a376046SFabio Estevam #define MXC_CCM_CDCDR_SPDIF0_CLK_SEL_OFFSET		20
4686a376046SFabio Estevam #define MXC_CCM_CDCDR_SPDIF1_CLK_PRED_MASK		(0x7 << 12)
4696a376046SFabio Estevam #define MXC_CCM_CDCDR_SPDIF1_CLK_PRED_OFFSET		12
4706a376046SFabio Estevam #define MXC_CCM_CDCDR_SPDIF1_CLK_PODF_MASK		(0x7 << 9)
4716a376046SFabio Estevam #define MXC_CCM_CDCDR_SPDIF1_CLK_PODF_OFFSET		9
4726a376046SFabio Estevam #define MXC_CCM_CDCDR_SPDIF1_CLK_SEL_MASK		(0x3 << 7)
4736a376046SFabio Estevam #define MXC_CCM_CDCDR_SPDIF1_CLK_SEL_OFFSET		7
4746a376046SFabio Estevam 
4756a376046SFabio Estevam /* Define the bits in register CHSCCDR */
4763974b7f6SPeng Fan /* i.MX6SX */
47705d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_ENET_PRE_CLK_SEL_MASK		(0x7 << 15)
47805d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_ENET_PRE_CLK_SEL_OFFSET		15
47905d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_ENET_PODF_MASK			(0x7 << 12)
48005d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_ENET_PODF_OFFSET		12
48105d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_ENET_CLK_SEL_MASK		(0x7 << 9)
48205d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_ENET_CLK_SEL_OFFSET		9
48305d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_M4_PRE_CLK_SEL_MASK		(0x7 << 6)
48405d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_M4_PRE_CLK_SEL_OFFSET		6
48505d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_M4_PODF_MASK			(0x7 << 3)
48605d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_M4_PODF_OFFSET			3
48705d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_M4_CLK_SEL_MASK			(0x7)
48805d54b82SFabio Estevam #define MXC_CCM_CHSCCDR_M4_CLK_SEL_OFFSET		0
4893974b7f6SPeng Fan 
4906a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI1_PRE_CLK_SEL_MASK	(0x7 << 15)
4916a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI1_PRE_CLK_SEL_OFFSET	15
4926a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI1_PODF_MASK		(0x7 << 12)
4936a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI1_PODF_OFFSET		12
4946a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI1_CLK_SEL_MASK		(0x7 << 9)
4956a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI1_CLK_SEL_OFFSET		9
4966a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI0_PRE_CLK_SEL_MASK	(0x7 << 6)
4976a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI0_PRE_CLK_SEL_OFFSET	6
4986a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI0_PODF_MASK		(0x7 << 3)
4996a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI0_PODF_OFFSET		3
5006a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI0_CLK_SEL_MASK		(0x7)
5016a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU1_DI0_CLK_SEL_OFFSET		0
5023974b7f6SPeng Fan 
5033974b7f6SPeng Fan /* i.MX6ULL */
5043974b7f6SPeng Fan #define MXC_CCM_CHSCCDR_EPDC_PRE_CLK_SEL_MASK		(0x7 << 15)
5053974b7f6SPeng Fan #define MXC_CCM_CHSCCDR_EPDC_PRE_CLK_SEL_OFFSET		15
5063974b7f6SPeng Fan #define MXC_CCM_CHSCCDR_EPDC_PODF_MASK			(0x7 << 12)
5073974b7f6SPeng Fan #define MXC_CCM_CHSCCDR_EPDC_PODF_OFFSET		12
5083974b7f6SPeng Fan #define MXC_CCM_CHSCCDR_EPDC_CLK_SEL_MASK		(0x7 << 9)
5093974b7f6SPeng Fan #define MXC_CCM_CHSCCDR_EPDC_CLK_SEL_OFFSET		9
5106a376046SFabio Estevam 
511344da71aSEric Nelson #define CHSCCDR_CLK_SEL_LDB_DI0				3
512344da71aSEric Nelson #define CHSCCDR_PODF_DIVIDE_BY_3			2
513344da71aSEric Nelson #define CHSCCDR_IPU_PRE_CLK_540M_PFD			5
514344da71aSEric Nelson 
5156a376046SFabio Estevam /* Define the bits in register CSCDR2 */
5166a376046SFabio Estevam #define MXC_CCM_CSCDR2_ECSPI_CLK_PODF_MASK		(0x3F << 19)
5176a376046SFabio Estevam #define MXC_CCM_CSCDR2_ECSPI_CLK_PODF_OFFSET		19
518e1c2d68bSPeng Fan /* ECSPI_CLK_SEL exists on i.MX6SX/SL/QP */
519e1c2d68bSPeng Fan #define MXC_CCM_CSCDR2_ECSPI_CLK_SEL_MASK		(0x1 << 18)
52064ffef05SPeng Fan /* LCDIF1 on i.MX6SX/UL */
52164ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF1_PRED_SEL_MASK             (0x7 << 15)
52264ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF1_PRED_SEL_OFFSET           15
52364ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF1_PRE_DIV_MASK              (0x7 << 12)
52464ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF1_PRE_DIV_OFFSET            12
52564ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF1_CLK_SEL_MASK              (0x7 << 9)
52664ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF1_CLK_SEL_OFFSET            9
52764ffef05SPeng Fan /* LCDIF2 on i.MX6SX */
52864ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF2_PRED_SEL_MASK             (0x7 << 6)
52964ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF2_PRED_SEL_OFFSET           6
53064ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF2_PRE_DIV_MASK              (0x7 << 3)
53164ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF2_PRE_DIV_OFFSET            3
53264ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF2_CLK_SEL_MASK              (0x7 << 0)
53364ffef05SPeng Fan #define MXC_CCM_CSCDR2_LCDIF2_CLK_SEL_OFFSET             0
534e1c2d68bSPeng Fan 
535*e332623bSPeng Fan /*LCD on i.MX6SL */
536*e332623bSPeng Fan #define MXC_CCM_CSCDR2_LCDIF_PIX_CLK_SEL_MASK		(0x7 << 6)
537*e332623bSPeng Fan #define MXC_CCM_CSCDR2_LCDIF_PIX_CLK_SEL_OFFSET		6
538*e332623bSPeng Fan #define MXC_CCM_CSCDR2_LCDIF_PIX_PRE_DIV_MASK		(0x7 << 3)
539*e332623bSPeng Fan #define MXC_CCM_CSCDR2_LCDIF_PIX_PRE_DIV_OFFSET		3
540*e332623bSPeng Fan 
54105d54b82SFabio Estevam /* All IPU2_DI1 are LCDIF1 on MX6SX */
5426a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI1_PRE_CLK_SEL_MASK	(0x7 << 15)
5436a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI1_PRE_CLK_SEL_OFFSET	15
5446a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI1_PODF_MASK		(0x7 << 12)
5456a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI1_PODF_OFFSET		12
5466a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI1_CLK_SEL_MASK		(0x7 << 9)
5476a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI1_CLK_SEL_OFFSET		9
54805d54b82SFabio Estevam /* All IPU2_DI0 are LCDIF2 on MX6SX */
5496a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI0_PRE_CLK_SEL_MASK	(0x7 << 6)
5506a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI0_PRE_CLK_SEL_OFFSET	6
5516a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI0_PODF_MASK		(0x7 << 3)
5526a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI0_PODF_OFFSET		3
5536a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI0_CLK_SEL_MASK		0x7
5546a376046SFabio Estevam #define MXC_CCM_CHSCCDR_IPU2_DI0_CLK_SEL_OFFSET		0
5556a376046SFabio Estevam 
5566a376046SFabio Estevam /* Define the bits in register CSCDR3 */
5576a376046SFabio Estevam #define MXC_CCM_CSCDR3_IPU2_HSP_PODF_MASK		(0x7 << 16)
5586a376046SFabio Estevam #define MXC_CCM_CSCDR3_IPU2_HSP_PODF_OFFSET		16
5596a376046SFabio Estevam #define MXC_CCM_CSCDR3_IPU2_HSP_CLK_SEL_MASK		(0x3 << 14)
5606a376046SFabio Estevam #define MXC_CCM_CSCDR3_IPU2_HSP_CLK_SEL_OFFSET		14
5616a376046SFabio Estevam #define MXC_CCM_CSCDR3_IPU1_HSP_PODF_MASK		(0x7 << 11)
5626a376046SFabio Estevam #define MXC_CCM_CSCDR3_IPU1_HSP_PODF_OFFSET		11
5636a376046SFabio Estevam #define MXC_CCM_CSCDR3_IPU1_HSP_CLK_SEL_MASK		(0x3 << 9)
5646a376046SFabio Estevam #define MXC_CCM_CSCDR3_IPU1_HSP_CLK_SEL_OFFSET		9
5656a376046SFabio Estevam 
566*e332623bSPeng Fan /* For i.MX6SL */
567*e332623bSPeng Fan #define MXC_CCM_CSCDR3_LCDIF_AXI_PODF_MASK		(0x7 << 16)
568*e332623bSPeng Fan #define MXC_CCM_CSCDR3_LCDIF_AXI_PODF_OFFSET		16
569*e332623bSPeng Fan #define MXC_CCM_CSCDR3_LCDIF_AXI_CLK_SEL_MASK		(0x3 << 14)
570*e332623bSPeng Fan #define MXC_CCM_CSCDR3_LCDIF_AXI_CLK_SEL_OFFSET		14
571*e332623bSPeng Fan 
5726a376046SFabio Estevam /* Define the bits in register CDHIPR */
5736a376046SFabio Estevam #define MXC_CCM_CDHIPR_ARM_PODF_BUSY			(1 << 16)
5746a376046SFabio Estevam #define MXC_CCM_CDHIPR_PERIPH_CLK_SEL_BUSY		(1 << 5)
57505d54b82SFabio Estevam #ifndef CONFIG_MX6SX
5766a376046SFabio Estevam #define MXC_CCM_CDHIPR_MMDC_CH0_PODF_BUSY		(1 << 4)
57705d54b82SFabio Estevam #endif
5786a376046SFabio Estevam #define MXC_CCM_CDHIPR_PERIPH2_CLK_SEL_BUSY		(1 << 3)
5796a376046SFabio Estevam #define MXC_CCM_CDHIPR_MMDC_CH1_PODF_BUSY		(1 << 2)
5806a376046SFabio Estevam #define MXC_CCM_CDHIPR_AHB_PODF_BUSY			(1 << 1)
5816a376046SFabio Estevam #define MXC_CCM_CDHIPR_AXI_PODF_BUSY			1
5826a376046SFabio Estevam 
5836a376046SFabio Estevam /* Define the bits in register CLPCR */
5846a376046SFabio Estevam #define MXC_CCM_CLPCR_MASK_L2CC_IDLE			(1 << 27)
5856a376046SFabio Estevam #define MXC_CCM_CLPCR_MASK_SCU_IDLE			(1 << 26)
58605d54b82SFabio Estevam #ifndef CONFIG_MX6SX
5876a376046SFabio Estevam #define MXC_CCM_CLPCR_MASK_CORE3_WFI			(1 << 25)
5886a376046SFabio Estevam #define MXC_CCM_CLPCR_MASK_CORE2_WFI			(1 << 24)
5896a376046SFabio Estevam #define MXC_CCM_CLPCR_MASK_CORE1_WFI			(1 << 23)
59005d54b82SFabio Estevam #endif
5916a376046SFabio Estevam #define MXC_CCM_CLPCR_MASK_CORE0_WFI			(1 << 22)
5926a376046SFabio Estevam #define MXC_CCM_CLPCR_BYP_MMDC_CH1_LPM_HS		(1 << 21)
59305d54b82SFabio Estevam #ifndef CONFIG_MX6SX
5946a376046SFabio Estevam #define MXC_CCM_CLPCR_BYP_MMDC_CH0_LPM_HS		(1 << 19)
5956a376046SFabio Estevam #define MXC_CCM_CLPCR_WB_CORE_AT_LPM			(1 << 17)
59605d54b82SFabio Estevam #endif
597326454a8SFabio Estevam #define MXC_CCM_CLPCR_WB_PER_AT_LPM			(1 << 16)
5986a376046SFabio Estevam #define MXC_CCM_CLPCR_COSC_PWRDOWN			(1 << 11)
5996a376046SFabio Estevam #define MXC_CCM_CLPCR_STBY_COUNT_MASK			(0x3 << 9)
6006a376046SFabio Estevam #define MXC_CCM_CLPCR_STBY_COUNT_OFFSET			9
6016a376046SFabio Estevam #define MXC_CCM_CLPCR_VSTBY				(1 << 8)
6026a376046SFabio Estevam #define MXC_CCM_CLPCR_DIS_REF_OSC			(1 << 7)
6036a376046SFabio Estevam #define MXC_CCM_CLPCR_SBYOS				(1 << 6)
6046a376046SFabio Estevam #define MXC_CCM_CLPCR_ARM_CLK_DIS_ON_LPM		(1 << 5)
60505d54b82SFabio Estevam #ifndef CONFIG_MX6SX
6066a376046SFabio Estevam #define MXC_CCM_CLPCR_LPSR_CLK_SEL_MASK			(0x3 << 3)
6076a376046SFabio Estevam #define MXC_CCM_CLPCR_LPSR_CLK_SEL_OFFSET		3
6086a376046SFabio Estevam #define MXC_CCM_CLPCR_BYPASS_PMIC_VFUNC_READY		(1 << 2)
60905d54b82SFabio Estevam #endif
6106a376046SFabio Estevam #define MXC_CCM_CLPCR_LPM_MASK				0x3
6116a376046SFabio Estevam #define MXC_CCM_CLPCR_LPM_OFFSET			0
6126a376046SFabio Estevam 
6136a376046SFabio Estevam /* Define the bits in register CISR */
6146a376046SFabio Estevam #define MXC_CCM_CISR_ARM_PODF_LOADED			(1 << 26)
61505d54b82SFabio Estevam #ifndef CONFIG_MX6SX
6166a376046SFabio Estevam #define MXC_CCM_CISR_MMDC_CH0_PODF_LOADED		(1 << 23)
61705d54b82SFabio Estevam #endif
6186a376046SFabio Estevam #define MXC_CCM_CISR_PERIPH_CLK_SEL_LOADED		(1 << 22)
6196a376046SFabio Estevam #define MXC_CCM_CISR_MMDC_CH1_PODF_LOADED		(1 << 21)
6206a376046SFabio Estevam #define MXC_CCM_CISR_AHB_PODF_LOADED			(1 << 20)
6216a376046SFabio Estevam #define MXC_CCM_CISR_PERIPH2_CLK_SEL_LOADED		(1 << 19)
6226a376046SFabio Estevam #define MXC_CCM_CISR_AXI_PODF_LOADED			(1 << 17)
6236a376046SFabio Estevam #define MXC_CCM_CISR_COSC_READY				(1 << 6)
6246a376046SFabio Estevam #define MXC_CCM_CISR_LRF_PLL				1
6256a376046SFabio Estevam 
6266a376046SFabio Estevam /* Define the bits in register CIMR */
6276a376046SFabio Estevam #define MXC_CCM_CIMR_MASK_ARM_PODF_LOADED		(1 << 26)
62805d54b82SFabio Estevam #ifndef CONFIG_MX6SX
6296a376046SFabio Estevam #define MXC_CCM_CIMR_MASK_MMDC_CH0_PODF_LOADED		(1 << 23)
63005d54b82SFabio Estevam #endif
6316a376046SFabio Estevam #define MXC_CCM_CIMR_MASK_PERIPH_CLK_SEL_LOADED		(1 << 22)
6326a376046SFabio Estevam #define MXC_CCM_CIMR_MASK_MMDC_CH1_PODF_LOADED		(1 << 21)
6336a376046SFabio Estevam #define MXC_CCM_CIMR_MASK_AHB_PODF_LOADED		(1 << 20)
6349cd744ffSFabio Estevam #define MXC_CCM_CIMR_MASK_PERIPH2_CLK_SEL_LOADED	(1 << 19)
6356a376046SFabio Estevam #define MXC_CCM_CIMR_MASK_AXI_PODF_LOADED		(1 << 17)
6366a376046SFabio Estevam #define MXC_CCM_CIMR_MASK_COSC_READY			(1 << 6)
6376a376046SFabio Estevam #define MXC_CCM_CIMR_MASK_LRF_PLL			1
6386a376046SFabio Estevam 
6396a376046SFabio Estevam /* Define the bits in register CCOSR */
6406a376046SFabio Estevam #define MXC_CCM_CCOSR_CKO2_EN_OFFSET			(1 << 24)
6416a376046SFabio Estevam #define MXC_CCM_CCOSR_CKO2_DIV_MASK			(0x7 << 21)
6426a376046SFabio Estevam #define MXC_CCM_CCOSR_CKO2_DIV_OFFSET			21
6436a376046SFabio Estevam #define MXC_CCM_CCOSR_CKO2_SEL_OFFSET			16
6446a376046SFabio Estevam #define MXC_CCM_CCOSR_CKO2_SEL_MASK			(0x1F << 16)
64505d54b82SFabio Estevam #define MXC_CCM_CCOSR_CLK_OUT_SEL			(0x1 << 8)
6466a376046SFabio Estevam #define MXC_CCM_CCOSR_CKOL_EN				(0x1 << 7)
6476a376046SFabio Estevam #define MXC_CCM_CCOSR_CKOL_DIV_MASK			(0x7 << 4)
6486a376046SFabio Estevam #define MXC_CCM_CCOSR_CKOL_DIV_OFFSET			4
6496a376046SFabio Estevam #define MXC_CCM_CCOSR_CKOL_SEL_MASK			0xF
6506a376046SFabio Estevam #define MXC_CCM_CCOSR_CKOL_SEL_OFFSET			0
6516a376046SFabio Estevam 
6526a376046SFabio Estevam /* Define the bits in registers CGPR */
65305d54b82SFabio Estevam #define MXC_CCM_CGPR_FAST_PLL_EN			(1 << 16)
6546a376046SFabio Estevam #define MXC_CCM_CGPR_EFUSE_PROG_SUPPLY_GATE		(1 << 4)
6556a376046SFabio Estevam #define MXC_CCM_CGPR_MMDC_EXT_CLK_DIS			(1 << 2)
6566a376046SFabio Estevam #define MXC_CCM_CGPR_PMIC_DELAY_SCALER			1
6576a376046SFabio Estevam 
6586a376046SFabio Estevam /* Define the bits in registers CCGRx */
6596a376046SFabio Estevam #define MXC_CCM_CCGR_CG_MASK				3
6606a376046SFabio Estevam 
6613974b7f6SPeng Fan /* i.MX 6ULL */
6623974b7f6SPeng Fan #define MXC_CCM_CCGR0_DCP_CLK_OFFSET		10
6633974b7f6SPeng Fan #define MXC_CCM_CCGR0_DCP_CLK_MASK		(3 << MXC_CCM_CCGR0_DCP_CLK_OFFSET)
6643974b7f6SPeng Fan #define MXC_CCM_CCGR0_ENET_CLK_ENABLE_OFFSET	12
6653974b7f6SPeng Fan #define MXC_CCM_CCGR0_ENET_CLK_ENABLE_MASK	(3 << MXC_CCM_CCGR0_ENET_CLK_ENABLE_OFFSET)
6663974b7f6SPeng Fan 
6670bb7e316SEric Nelson #define MXC_CCM_CCGR0_AIPS_TZ1_OFFSET			0
6680bb7e316SEric Nelson #define MXC_CCM_CCGR0_AIPS_TZ1_MASK			(3 << MXC_CCM_CCGR0_AIPS_TZ1_OFFSET)
6690bb7e316SEric Nelson #define MXC_CCM_CCGR0_AIPS_TZ2_OFFSET			2
6700bb7e316SEric Nelson #define MXC_CCM_CCGR0_AIPS_TZ2_MASK			(3 << MXC_CCM_CCGR0_AIPS_TZ2_OFFSET)
671b29ca4a1SStefan Roese #define MXC_CCM_CCGR0_APBHDMA_OFFSET			4
672b29ca4a1SStefan Roese #define MXC_CCM_CCGR0_APBHDMA_MASK			(3 << MXC_CCM_CCGR0_APBHDMA_OFFSET)
6730bb7e316SEric Nelson #define MXC_CCM_CCGR0_ASRC_OFFSET			6
6740bb7e316SEric Nelson #define MXC_CCM_CCGR0_ASRC_MASK				(3 << MXC_CCM_CCGR0_ASRC_OFFSET)
6750bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAAM_SECURE_MEM_OFFSET		8
6760bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAAM_SECURE_MEM_MASK		(3 << MXC_CCM_CCGR0_CAAM_SECURE_MEM_OFFSET)
6770bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAAM_WRAPPER_ACLK_OFFSET		10
6780bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAAM_WRAPPER_ACLK_MASK		(3 << MXC_CCM_CCGR0_CAAM_WRAPPER_ACLK_OFFSET)
6790bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAAM_WRAPPER_IPG_OFFSET		12
6800bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAAM_WRAPPER_IPG_MASK		(3 << MXC_CCM_CCGR0_CAAM_WRAPPER_IPG_OFFSET)
6810bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAN1_OFFSET			14
6820bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAN1_MASK				(3 << MXC_CCM_CCGR0_CAN1_OFFSET)
6830bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAN1_SERIAL_OFFSET		16
6840bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAN1_SERIAL_MASK			(3 << MXC_CCM_CCGR0_CAN1_SERIAL_OFFSET)
6850bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAN2_OFFSET			18
6860bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAN2_MASK				(3 << MXC_CCM_CCGR0_CAN2_OFFSET)
6870bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAN2_SERIAL_OFFSET		20
6880bb7e316SEric Nelson #define MXC_CCM_CCGR0_CAN2_SERIAL_MASK			(3 << MXC_CCM_CCGR0_CAN2_SERIAL_OFFSET)
6890bb7e316SEric Nelson #define MXC_CCM_CCGR0_CHEETAH_DBG_CLK_OFFSET		22
6900bb7e316SEric Nelson #define MXC_CCM_CCGR0_CHEETAH_DBG_CLK_MASK		(3 << MXC_CCM_CCGR0_CHEETAH_DBG_CLK_OFFSET)
6910bb7e316SEric Nelson #define MXC_CCM_CCGR0_DCIC1_OFFSET			24
6920bb7e316SEric Nelson #define MXC_CCM_CCGR0_DCIC1_MASK			(3 << MXC_CCM_CCGR0_DCIC1_OFFSET)
6930bb7e316SEric Nelson #define MXC_CCM_CCGR0_DCIC2_OFFSET			26
6940bb7e316SEric Nelson #define MXC_CCM_CCGR0_DCIC2_MASK			(3 << MXC_CCM_CCGR0_DCIC2_OFFSET)
69505d54b82SFabio Estevam #ifdef CONFIG_MX6SX
69605d54b82SFabio Estevam #define MXC_CCM_CCGR0_AIPS_TZ3_OFFSET			30
69705d54b82SFabio Estevam #define MXC_CCM_CCGR0_AIPS_TZ3_MASK			(3 << MXC_CCM_CCGR0_AIPS_TZ3_OFFSET)
69805d54b82SFabio Estevam #else
6990bb7e316SEric Nelson #define MXC_CCM_CCGR0_DTCP_OFFSET			28
7000bb7e316SEric Nelson #define MXC_CCM_CCGR0_DTCP_MASK				(3 << MXC_CCM_CCGR0_DTCP_OFFSET)
70105d54b82SFabio Estevam #endif
7026a376046SFabio Estevam 
7030bb7e316SEric Nelson #define MXC_CCM_CCGR1_ECSPI1S_OFFSET			0
7040bb7e316SEric Nelson #define MXC_CCM_CCGR1_ECSPI1S_MASK			(3 << MXC_CCM_CCGR1_ECSPI1S_OFFSET)
7050bb7e316SEric Nelson #define MXC_CCM_CCGR1_ECSPI2S_OFFSET			2
7060bb7e316SEric Nelson #define MXC_CCM_CCGR1_ECSPI2S_MASK			(3 << MXC_CCM_CCGR1_ECSPI2S_OFFSET)
7070bb7e316SEric Nelson #define MXC_CCM_CCGR1_ECSPI3S_OFFSET			4
7080bb7e316SEric Nelson #define MXC_CCM_CCGR1_ECSPI3S_MASK			(3 << MXC_CCM_CCGR1_ECSPI3S_OFFSET)
7090bb7e316SEric Nelson #define MXC_CCM_CCGR1_ECSPI4S_OFFSET			6
7100bb7e316SEric Nelson #define MXC_CCM_CCGR1_ECSPI4S_MASK			(3 << MXC_CCM_CCGR1_ECSPI4S_OFFSET)
7110bb7e316SEric Nelson #define MXC_CCM_CCGR1_ECSPI5S_OFFSET			8
7120bb7e316SEric Nelson #define MXC_CCM_CCGR1_ECSPI5S_MASK			(3 << MXC_CCM_CCGR1_ECSPI5S_OFFSET)
71343cb127bSPeng Fan /* CCGR1_ENET does not exist on i.MX6SX/UL */
71443cb127bSPeng Fan #define MXC_CCM_CCGR1_ENET_OFFSET			10
71543cb127bSPeng Fan #define MXC_CCM_CCGR1_ENET_MASK				(3 << MXC_CCM_CCGR1_ENET_OFFSET)
7160bb7e316SEric Nelson #define MXC_CCM_CCGR1_EPIT1S_OFFSET			12
7170bb7e316SEric Nelson #define MXC_CCM_CCGR1_EPIT1S_MASK			(3 << MXC_CCM_CCGR1_EPIT1S_OFFSET)
7180bb7e316SEric Nelson #define MXC_CCM_CCGR1_EPIT2S_OFFSET			14
7190bb7e316SEric Nelson #define MXC_CCM_CCGR1_EPIT2S_MASK			(3 << MXC_CCM_CCGR1_EPIT2S_OFFSET)
7200bb7e316SEric Nelson #define MXC_CCM_CCGR1_ESAIS_OFFSET			16
7210bb7e316SEric Nelson #define MXC_CCM_CCGR1_ESAIS_MASK			(3 << MXC_CCM_CCGR1_ESAIS_OFFSET)
72205d54b82SFabio Estevam #ifdef CONFIG_MX6SX
72305d54b82SFabio Estevam #define MXC_CCM_CCGR1_WAKEUP_OFFSET			18
72405d54b82SFabio Estevam #define MXC_CCM_CCGR1_WAKEUP_MASK			(3 << MXC_CCM_CCGR1_WAKEUP_OFFSET)
72505d54b82SFabio Estevam #endif
7260bb7e316SEric Nelson #define MXC_CCM_CCGR1_GPT_BUS_OFFSET			20
7270bb7e316SEric Nelson #define MXC_CCM_CCGR1_GPT_BUS_MASK			(3 << MXC_CCM_CCGR1_GPT_BUS_OFFSET)
7280bb7e316SEric Nelson #define MXC_CCM_CCGR1_GPT_SERIAL_OFFSET			22
7290bb7e316SEric Nelson #define MXC_CCM_CCGR1_GPT_SERIAL_MASK			(3 << MXC_CCM_CCGR1_GPT_SERIAL_OFFSET)
73005d54b82SFabio Estevam #ifndef CONFIG_MX6SX
7310bb7e316SEric Nelson #define MXC_CCM_CCGR1_GPU2D_OFFSET			24
7320bb7e316SEric Nelson #define MXC_CCM_CCGR1_GPU2D_MASK			(3 << MXC_CCM_CCGR1_GPU2D_OFFSET)
73305d54b82SFabio Estevam #endif
7340bb7e316SEric Nelson #define MXC_CCM_CCGR1_GPU3D_OFFSET			26
7350bb7e316SEric Nelson #define MXC_CCM_CCGR1_GPU3D_MASK			(3 << MXC_CCM_CCGR1_GPU3D_OFFSET)
73605d54b82SFabio Estevam #ifdef CONFIG_MX6SX
73705d54b82SFabio Estevam #define MXC_CCM_CCGR1_OCRAM_S_OFFSET			28
73805d54b82SFabio Estevam #define MXC_CCM_CCGR1_OCRAM_S_MASK			(3 << MXC_CCM_CCGR1_OCRAM_S_OFFSET)
73905d54b82SFabio Estevam #define MXC_CCM_CCGR1_CANFD_OFFSET			30
74005d54b82SFabio Estevam #define MXC_CCM_CCGR1_CANFD_MASK			(3 << MXC_CCM_CCGR1_CANFD_OFFSET)
74105d54b82SFabio Estevam #endif
7426a376046SFabio Estevam 
7430bb7e316SEric Nelson #define MXC_CCM_CCGR2_HDMI_TX_IAHBCLK_OFFSET		0
7440bb7e316SEric Nelson #define MXC_CCM_CCGR2_HDMI_TX_IAHBCLK_MASK		(3 << MXC_CCM_CCGR2_HDMI_TX_IAHBCLK_OFFSET)
7453974b7f6SPeng Fan /* i.MX6SX/UL */
74605d54b82SFabio Estevam #define MXC_CCM_CCGR2_CSI_OFFSET			2
74705d54b82SFabio Estevam #define MXC_CCM_CCGR2_CSI_MASK				(3 << MXC_CCM_CCGR2_CSI_OFFSET)
7483974b7f6SPeng Fan 
74905d54b82SFabio Estevam #ifndef CONFIG_MX6SX
7500bb7e316SEric Nelson #define MXC_CCM_CCGR2_HDMI_TX_ISFRCLK_OFFSET		4
7510bb7e316SEric Nelson #define MXC_CCM_CCGR2_HDMI_TX_ISFRCLK_MASK		(3 << MXC_CCM_CCGR2_HDMI_TX_ISFRCLK_OFFSET)
75205d54b82SFabio Estevam #endif
7530bb7e316SEric Nelson #define MXC_CCM_CCGR2_I2C1_SERIAL_OFFSET		6
7540bb7e316SEric Nelson #define MXC_CCM_CCGR2_I2C1_SERIAL_MASK			(3 << MXC_CCM_CCGR2_I2C1_SERIAL_OFFSET)
7550bb7e316SEric Nelson #define MXC_CCM_CCGR2_I2C2_SERIAL_OFFSET		8
7560bb7e316SEric Nelson #define MXC_CCM_CCGR2_I2C2_SERIAL_MASK			(3 << MXC_CCM_CCGR2_I2C2_SERIAL_OFFSET)
7570bb7e316SEric Nelson #define MXC_CCM_CCGR2_I2C3_SERIAL_OFFSET		10
7580bb7e316SEric Nelson #define MXC_CCM_CCGR2_I2C3_SERIAL_MASK			(3 << MXC_CCM_CCGR2_I2C3_SERIAL_OFFSET)
75921a26940SHeiko Schocher #define MXC_CCM_CCGR1_I2C4_SERIAL_OFFSET		8
76021a26940SHeiko Schocher #define MXC_CCM_CCGR1_I2C4_SERIAL_MASK			(3 << MXC_CCM_CCGR1_I2C4_SERIAL_OFFSET)
7610bb7e316SEric Nelson #define MXC_CCM_CCGR2_OCOTP_CTRL_OFFSET			12
7620bb7e316SEric Nelson #define MXC_CCM_CCGR2_OCOTP_CTRL_MASK			(3 << MXC_CCM_CCGR2_OCOTP_CTRL_OFFSET)
7630bb7e316SEric Nelson #define MXC_CCM_CCGR2_IOMUX_IPT_CLK_IO_OFFSET		14
7640bb7e316SEric Nelson #define MXC_CCM_CCGR2_IOMUX_IPT_CLK_IO_MASK		(3 << MXC_CCM_CCGR2_IOMUX_IPT_CLK_IO_OFFSET)
7650bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPMUX1_OFFSET			16
7660bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPMUX1_MASK			(3 << MXC_CCM_CCGR2_IPMUX1_OFFSET)
7670bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPMUX2_OFFSET			18
7680bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPMUX2_MASK			(3 << MXC_CCM_CCGR2_IPMUX2_OFFSET)
7690bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPMUX3_OFFSET			20
7700bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPMUX3_MASK			(3 << MXC_CCM_CCGR2_IPMUX3_OFFSET)
7710bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPSYNC_IP2APB_TZASC1_IPGS_OFFSET	22
7720bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPSYNC_IP2APB_TZASC1_IPGS_MASK	(3 << MXC_CCM_CCGR2_IPSYNC_IP2APB_TZASC1_IPGS_OFFSET)
77364ffef05SPeng Fan /* i.MX6SX/UL LCD and PXP */
77405d54b82SFabio Estevam #define MXC_CCM_CCGR2_LCD_OFFSET			28
77505d54b82SFabio Estevam #define MXC_CCM_CCGR2_LCD_MASK				(3 << MXC_CCM_CCGR2_LCD_OFFSET)
77605d54b82SFabio Estevam #define MXC_CCM_CCGR2_PXP_OFFSET			30
77705d54b82SFabio Estevam #define MXC_CCM_CCGR2_PXP_MASK				(3 << MXC_CCM_CCGR2_PXP_OFFSET)
77864ffef05SPeng Fan 
7790bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPSYNC_IP2APB_TZASC2_IPG_OFFSET	24
7800bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPSYNC_IP2APB_TZASC2_IPG_MASK	(3 << MXC_CCM_CCGR2_IPSYNC_IP2APB_TZASC2_IPG_OFFSET)
7810bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPSYNC_VDOA_IPG_MASTER_CLK_OFFSET	26
7820bb7e316SEric Nelson #define MXC_CCM_CCGR2_IPSYNC_VDOA_IPG_MASTER_CLK_MASK	(3 << MXC_CCM_CCGR2_IPSYNC_VDOA_IPG_MASTER_CLK_OFFSET)
7836a376046SFabio Estevam 
7843974b7f6SPeng Fan /* i.MX6ULL */
7853974b7f6SPeng Fan #define MXC_CCM_CCGR2_ESAI_CLK_OFFSET		0
7863974b7f6SPeng Fan #define MXC_CCM_CCGR2_ESAI_CLK_MASK		(3 << MXC_CCM_CCGR2_ESAI_CLK_OFFSET)
7873974b7f6SPeng Fan #define MXC_CCM_CCGR2_IOMUXC_SNVS_CLK_OFFSET	4
7883974b7f6SPeng Fan #define MXC_CCM_CCGR2_IOMUXC_SNVS_CLK_MASK	(3 << MXC_CCM_CCGR2_IOMUXC_SNVS_CLK_OFFSET)
7893974b7f6SPeng Fan 
79043cb127bSPeng Fan /* Exist on i.MX6SX */
79105d54b82SFabio Estevam #define MXC_CCM_CCGR3_M4_OFFSET					2
79205d54b82SFabio Estevam #define MXC_CCM_CCGR3_M4_MASK					(3 << MXC_CCM_CCGR3_M4_OFFSET)
7933974b7f6SPeng Fan /* i.MX6ULL */
7943974b7f6SPeng Fan #define MXC_CCM_CCGR3_EPDC_CLK_ENABLE_OFFSET			4
7953974b7f6SPeng Fan #define MXC_CCM_CCGR3_EPDC_CLK_ENABLE_MASK			(3 << MXC_CCM_CCGR3_EPDC_CLK_ENABLE_OFFSET)
79605d54b82SFabio Estevam #define MXC_CCM_CCGR3_ENET_OFFSET				4
79705d54b82SFabio Estevam #define MXC_CCM_CCGR3_ENET_MASK					(3 << MXC_CCM_CCGR3_ENET_OFFSET)
79805d54b82SFabio Estevam #define MXC_CCM_CCGR3_QSPI_OFFSET				14
79905d54b82SFabio Estevam #define MXC_CCM_CCGR3_QSPI_MASK					(3 << MXC_CCM_CCGR3_QSPI_OFFSET)
80043cb127bSPeng Fan 
801*e332623bSPeng Fan /* i.MX6SL */
802*e332623bSPeng Fan #define MXC_CCM_CCGR3_LCDIF_AXI_OFFSET				6
803*e332623bSPeng Fan #define MXC_CCM_CCGR3_LCDIF_AXI_MASK				(3 << MXC_CCM_CCGR3_LCDIF_AXI_OFFSET)
804*e332623bSPeng Fan #define MXC_CCM_CCGR3_LCDIF_PIX_OFFSET				8
805*e332623bSPeng Fan #define MXC_CCM_CCGR3_LCDIF_PIX_MASK				(3 << MXC_CCM_CCGR3_LCDIF_PIX_OFFSET)
806*e332623bSPeng Fan 
8070bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU1_IPU_OFFSET				0
8080bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU1_IPU_MASK				(3 << MXC_CCM_CCGR3_IPU1_IPU_OFFSET)
8090bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU1_IPU_DI0_OFFSET			2
8100bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU1_IPU_DI0_MASK				(3 << MXC_CCM_CCGR3_IPU1_IPU_DI0_OFFSET)
8110bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU1_IPU_DI1_OFFSET			4
8120bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU1_IPU_DI1_MASK				(3 << MXC_CCM_CCGR3_IPU1_IPU_DI1_OFFSET)
81343cb127bSPeng Fan 
8140bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU2_IPU_OFFSET				6
8150bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU2_IPU_MASK				(3 << MXC_CCM_CCGR3_IPU2_IPU_OFFSET)
8160bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU2_IPU_DI0_OFFSET			8
8170bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU2_IPU_DI0_MASK				(3 << MXC_CCM_CCGR3_IPU2_IPU_DI0_OFFSET)
8180bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU2_IPU_DI1_OFFSET			10
8190bb7e316SEric Nelson #define MXC_CCM_CCGR3_IPU2_IPU_DI1_MASK				(3 << MXC_CCM_CCGR3_IPU2_IPU_DI1_OFFSET)
8200bb7e316SEric Nelson #define MXC_CCM_CCGR3_LDB_DI0_OFFSET				12
8210bb7e316SEric Nelson #define MXC_CCM_CCGR3_LDB_DI0_MASK				(3 << MXC_CCM_CCGR3_LDB_DI0_OFFSET)
82243cb127bSPeng Fan 
82343cb127bSPeng Fan /* QSPI1 exists on i.MX6SX/UL */
82405d54b82SFabio Estevam #define MXC_CCM_CCGR3_QSPI1_OFFSET				14
82505d54b82SFabio Estevam #define MXC_CCM_CCGR3_QSPI1_MASK				(3 << MXC_CCM_CCGR3_QSPI1_OFFSET)
82643cb127bSPeng Fan 
8270bb7e316SEric Nelson #define MXC_CCM_CCGR3_LDB_DI1_OFFSET				14
8280bb7e316SEric Nelson #define MXC_CCM_CCGR3_LDB_DI1_MASK				(3 << MXC_CCM_CCGR3_LDB_DI1_OFFSET)
8290bb7e316SEric Nelson #define MXC_CCM_CCGR3_MIPI_CORE_CFG_OFFSET			16
8300bb7e316SEric Nelson #define MXC_CCM_CCGR3_MIPI_CORE_CFG_MASK			(3 << MXC_CCM_CCGR3_MIPI_CORE_CFG_OFFSET)
83143cb127bSPeng Fan 
83243cb127bSPeng Fan /* A7_CLKDIV/WDOG1 on i.MX6UL */
83343cb127bSPeng Fan #define MXC_CCM_CCGR3_WDOG1_CLK_ENABLE_OFFSET			16
83443cb127bSPeng Fan #define MXC_CCM_CCGR3_WDOG1_CLK_ENABLE_MASK			(3 << MXC_CCM_CCGR3_WDOG1_CLK_ENABLE_OFFSET)
83543cb127bSPeng Fan #define MXC_CCM_CCGR3_A7_CLKDIV_PATCH_OFFSET			18
83643cb127bSPeng Fan #define MXC_CCM_CCGR3_A7_CLKDIV_PATCH_MASK			(3 << MXC_CCM_CCGR3_A7_CLKDIV_PATCH_OFFSET)
83743cb127bSPeng Fan 
8380bb7e316SEric Nelson #define MXC_CCM_CCGR3_MLB_OFFSET				18
8390bb7e316SEric Nelson #define MXC_CCM_CCGR3_MLB_MASK					(3 << MXC_CCM_CCGR3_MLB_OFFSET)
8400bb7e316SEric Nelson #define MXC_CCM_CCGR3_MMDC_CORE_ACLK_FAST_CORE_P0_OFFSET	20
8410bb7e316SEric Nelson #define MXC_CCM_CCGR3_MMDC_CORE_ACLK_FAST_CORE_P0_MASK		(3 << MXC_CCM_CCGR3_MMDC_CORE_ACLK_FAST_CORE_P0_OFFSET)
84205d54b82SFabio Estevam #ifndef CONFIG_MX6SX
8430bb7e316SEric Nelson #define MXC_CCM_CCGR3_MMDC_CORE_ACLK_FAST_CORE_P1_OFFSET	22
8440bb7e316SEric Nelson #define MXC_CCM_CCGR3_MMDC_CORE_ACLK_FAST_CORE_P1_MASK		(3 << MXC_CCM_CCGR3_MMDC_CORE_ACLK_FAST_CORE_P1_OFFSET)
84505d54b82SFabio Estevam #endif
8460bb7e316SEric Nelson #define MXC_CCM_CCGR3_MMDC_CORE_IPG_CLK_P0_OFFSET		24
8470bb7e316SEric Nelson #define MXC_CCM_CCGR3_MMDC_CORE_IPG_CLK_P0_MASK			(3 << MXC_CCM_CCGR3_MMDC_CORE_IPG_CLK_P0_OFFSET)
8480bb7e316SEric Nelson #define MXC_CCM_CCGR3_MMDC_CORE_IPG_CLK_P1_OFFSET		26
8490bb7e316SEric Nelson #define MXC_CCM_CCGR3_MMDC_CORE_IPG_CLK_P1_MASK			(3 << MXC_CCM_CCGR3_MMDC_CORE_IPG_CLK_P1_OFFSET)
85064ffef05SPeng Fan 
85164ffef05SPeng Fan #define MXC_CCM_CCGR3_DISP_AXI_OFFSET                           6
85264ffef05SPeng Fan #define MXC_CCM_CCGR3_DISP_AXI_MASK                             (3 << MXC_CCM_CCGR3_DISP_AXI_OFFSET)
85364ffef05SPeng Fan #define MXC_CCM_CCGR3_LCDIF2_PIX_OFFSET                         8
85464ffef05SPeng Fan #define MXC_CCM_CCGR3_LCDIF2_PIX_MASK                           (3 << MXC_CCM_CCGR3_LCDIF2_PIX_OFFSET)
85564ffef05SPeng Fan #define MXC_CCM_CCGR3_LCDIF1_PIX_OFFSET                         10
85664ffef05SPeng Fan #define MXC_CCM_CCGR3_LCDIF1_PIX_MASK                           (3 << MXC_CCM_CCGR3_LCDIF1_PIX_OFFSET)
85743cb127bSPeng Fan /* AXI on i.MX6UL */
85843cb127bSPeng Fan #define MXC_CCM_CCGR3_AXI_CLK_OFFSET				28
85943cb127bSPeng Fan #define MXC_CCM_CCGR3_AXI_CLK_MASK				(3 << MXC_CCM_CCGR3_AXI_CLK_OFFSET)
8600bb7e316SEric Nelson #define MXC_CCM_CCGR3_OCRAM_OFFSET				28
8610bb7e316SEric Nelson #define MXC_CCM_CCGR3_OCRAM_MASK				(3 << MXC_CCM_CCGR3_OCRAM_OFFSET)
86243cb127bSPeng Fan 
8633974b7f6SPeng Fan /* GPIO4 on i.MX6UL/ULL */
86443cb127bSPeng Fan #define MXC_CCM_CCGR3_GPIO4_CLK_OFFSET				30
86543cb127bSPeng Fan #define MXC_CCM_CCGR3_GPIO4_CLK_MASK				(3 << MXC_CCM_CCGR3_GPIO4_CLK_OFFSET)
86643cb127bSPeng Fan 
86705d54b82SFabio Estevam #ifndef CONFIG_MX6SX
8680bb7e316SEric Nelson #define MXC_CCM_CCGR3_OPENVGAXICLK_OFFSET			30
8690bb7e316SEric Nelson #define MXC_CCM_CCGR3_OPENVGAXICLK_MASK				(3 << MXC_CCM_CCGR3_OPENVGAXICLK_OFFSET)
87005d54b82SFabio Estevam #endif
8716a376046SFabio Estevam 
8723974b7f6SPeng Fan /* i.MX6ULL */
8733974b7f6SPeng Fan #define MXC_CCM_CCGR3_IOMUXC_SNVS_GPR_CLK_OFFSET		30
8743974b7f6SPeng Fan #define MXC_CCM_CCGR3_IOMUXC_SNVS_GPR_CLK_MASK			(3 << MXC_CCM_CCGR3_IOMUXC_SNVS_GPR_CLK_OFFSET)
8753974b7f6SPeng Fan 
8760bb7e316SEric Nelson #define MXC_CCM_CCGR4_PCIE_OFFSET				0
8770bb7e316SEric Nelson #define MXC_CCM_CCGR4_PCIE_MASK					(3 << MXC_CCM_CCGR4_PCIE_OFFSET)
87843cb127bSPeng Fan /* QSPI2 on i.MX6SX */
87905d54b82SFabio Estevam #define MXC_CCM_CCGR4_QSPI2_ENFC_OFFSET				10
88005d54b82SFabio Estevam #define MXC_CCM_CCGR4_QSPI2_ENFC_MASK				(3 << MXC_CCM_CCGR4_QSPI2_ENFC_OFFSET)
8810bb7e316SEric Nelson #define MXC_CCM_CCGR4_PL301_MX6QFAST1_S133_OFFSET		8
8820bb7e316SEric Nelson #define MXC_CCM_CCGR4_PL301_MX6QFAST1_S133_MASK			(3 << MXC_CCM_CCGR4_PL301_MX6QFAST1_S133_OFFSET)
8830bb7e316SEric Nelson #define MXC_CCM_CCGR4_PL301_MX6QPER1_BCH_OFFSET			12
8840bb7e316SEric Nelson #define MXC_CCM_CCGR4_PL301_MX6QPER1_BCH_MASK			(3 << MXC_CCM_CCGR4_PL301_MX6QPER1_BCH_OFFSET)
8850bb7e316SEric Nelson #define MXC_CCM_CCGR4_PL301_MX6QPER2_MAINCLK_ENABLE_OFFSET	14
8860bb7e316SEric Nelson #define MXC_CCM_CCGR4_PL301_MX6QPER2_MAINCLK_ENABLE_MASK	(3 << MXC_CCM_CCGR4_PL301_MX6QPER2_MAINCLK_ENABLE_OFFSET)
8870bb7e316SEric Nelson #define MXC_CCM_CCGR4_PWM1_OFFSET				16
8880bb7e316SEric Nelson #define MXC_CCM_CCGR4_PWM1_MASK					(3 << MXC_CCM_CCGR4_PWM1_OFFSET)
8890bb7e316SEric Nelson #define MXC_CCM_CCGR4_PWM2_OFFSET				18
8900bb7e316SEric Nelson #define MXC_CCM_CCGR4_PWM2_MASK					(3 << MXC_CCM_CCGR4_PWM2_OFFSET)
8910bb7e316SEric Nelson #define MXC_CCM_CCGR4_PWM3_OFFSET				20
8920bb7e316SEric Nelson #define MXC_CCM_CCGR4_PWM3_MASK					(3 << MXC_CCM_CCGR4_PWM3_OFFSET)
8930bb7e316SEric Nelson #define MXC_CCM_CCGR4_PWM4_OFFSET				22
8940bb7e316SEric Nelson #define MXC_CCM_CCGR4_PWM4_MASK					(3 << MXC_CCM_CCGR4_PWM4_OFFSET)
8950bb7e316SEric Nelson #define MXC_CCM_CCGR4_RAWNAND_U_BCH_INPUT_APB_OFFSET		24
8960bb7e316SEric Nelson #define MXC_CCM_CCGR4_RAWNAND_U_BCH_INPUT_APB_MASK		(3 << MXC_CCM_CCGR4_RAWNAND_U_BCH_INPUT_APB_OFFSET)
8970bb7e316SEric Nelson #define MXC_CCM_CCGR4_RAWNAND_U_GPMI_BCH_INPUT_BCH_OFFSET	26
8980bb7e316SEric Nelson #define MXC_CCM_CCGR4_RAWNAND_U_GPMI_BCH_INPUT_BCH_MASK		(3 << MXC_CCM_CCGR4_RAWNAND_U_GPMI_BCH_INPUT_BCH_OFFSET)
8990bb7e316SEric Nelson #define MXC_CCM_CCGR4_RAWNAND_U_GPMI_BCH_INPUT_GPMI_IO_OFFSET	28
9000bb7e316SEric Nelson #define MXC_CCM_CCGR4_RAWNAND_U_GPMI_BCH_INPUT_GPMI_IO_MASK	(3 << MXC_CCM_CCGR4_RAWNAND_U_GPMI_BCH_INPUT_GPMI_IO_OFFSET)
9010bb7e316SEric Nelson #define MXC_CCM_CCGR4_RAWNAND_U_GPMI_INPUT_APB_OFFSET		30
9020bb7e316SEric Nelson #define MXC_CCM_CCGR4_RAWNAND_U_GPMI_INPUT_APB_MASK		(3 << MXC_CCM_CCGR4_RAWNAND_U_GPMI_INPUT_APB_OFFSET)
9036a376046SFabio Estevam 
9040bb7e316SEric Nelson #define MXC_CCM_CCGR5_ROM_OFFSET			0
9050bb7e316SEric Nelson #define MXC_CCM_CCGR5_ROM_MASK				(3 << MXC_CCM_CCGR5_ROM_OFFSET)
90605d54b82SFabio Estevam #ifndef CONFIG_MX6SX
9070bb7e316SEric Nelson #define MXC_CCM_CCGR5_SATA_OFFSET			4
9080bb7e316SEric Nelson #define MXC_CCM_CCGR5_SATA_MASK				(3 << MXC_CCM_CCGR5_SATA_OFFSET)
90905d54b82SFabio Estevam #endif
9100bb7e316SEric Nelson #define MXC_CCM_CCGR5_SDMA_OFFSET			6
9110bb7e316SEric Nelson #define MXC_CCM_CCGR5_SDMA_MASK				(3 << MXC_CCM_CCGR5_SDMA_OFFSET)
9120bb7e316SEric Nelson #define MXC_CCM_CCGR5_SPBA_OFFSET			12
9130bb7e316SEric Nelson #define MXC_CCM_CCGR5_SPBA_MASK				(3 << MXC_CCM_CCGR5_SPBA_OFFSET)
9140bb7e316SEric Nelson #define MXC_CCM_CCGR5_SPDIF_OFFSET			14
9150bb7e316SEric Nelson #define MXC_CCM_CCGR5_SPDIF_MASK			(3 << MXC_CCM_CCGR5_SPDIF_OFFSET)
9160bb7e316SEric Nelson #define MXC_CCM_CCGR5_SSI1_OFFSET			18
9170bb7e316SEric Nelson #define MXC_CCM_CCGR5_SSI1_MASK				(3 << MXC_CCM_CCGR5_SSI1_OFFSET)
9180bb7e316SEric Nelson #define MXC_CCM_CCGR5_SSI2_OFFSET			20
9190bb7e316SEric Nelson #define MXC_CCM_CCGR5_SSI2_MASK				(3 << MXC_CCM_CCGR5_SSI2_OFFSET)
9200bb7e316SEric Nelson #define MXC_CCM_CCGR5_SSI3_OFFSET			22
9210bb7e316SEric Nelson #define MXC_CCM_CCGR5_SSI3_MASK				(3 << MXC_CCM_CCGR5_SSI3_OFFSET)
9220bb7e316SEric Nelson #define MXC_CCM_CCGR5_UART_OFFSET			24
9230bb7e316SEric Nelson #define MXC_CCM_CCGR5_UART_MASK				(3 << MXC_CCM_CCGR5_UART_OFFSET)
9240bb7e316SEric Nelson #define MXC_CCM_CCGR5_UART_SERIAL_OFFSET		26
9250bb7e316SEric Nelson #define MXC_CCM_CCGR5_UART_SERIAL_MASK			(3 << MXC_CCM_CCGR5_UART_SERIAL_OFFSET)
92605d54b82SFabio Estevam #ifdef CONFIG_MX6SX
92705d54b82SFabio Estevam #define MXC_CCM_CCGR5_SAI1_OFFSET			20
92805d54b82SFabio Estevam #define MXC_CCM_CCGR5_SAI1_MASK				(3 << MXC_CCM_CCGR5_SAI1_OFFSET)
92905d54b82SFabio Estevam #define MXC_CCM_CCGR5_SAI2_OFFSET			30
93005d54b82SFabio Estevam #define MXC_CCM_CCGR5_SAI2_MASK				(3 << MXC_CCM_CCGR5_SAI2_OFFSET)
93105d54b82SFabio Estevam #endif
9326a376046SFabio Estevam 
933e1c2d68bSPeng Fan /* PRG_CLK0 exists on i.MX6QP */
934e1c2d68bSPeng Fan #define MXC_CCM_CCGR6_PRG_CLK0_MASK		(3 << 24)
935e1c2d68bSPeng Fan 
9360bb7e316SEric Nelson #define MXC_CCM_CCGR6_USBOH3_OFFSET		0
9370bb7e316SEric Nelson #define MXC_CCM_CCGR6_USBOH3_MASK		(3 << MXC_CCM_CCGR6_USBOH3_OFFSET)
9380bb7e316SEric Nelson #define MXC_CCM_CCGR6_USDHC1_OFFSET		2
9390bb7e316SEric Nelson #define MXC_CCM_CCGR6_USDHC1_MASK		(3 << MXC_CCM_CCGR6_USDHC1_OFFSET)
9400bb7e316SEric Nelson #define MXC_CCM_CCGR6_USDHC2_OFFSET		4
9410bb7e316SEric Nelson #define MXC_CCM_CCGR6_USDHC2_MASK		(3 << MXC_CCM_CCGR6_USDHC2_OFFSET)
9423974b7f6SPeng Fan #define MXC_CCM_CCGR6_SIM1_CLK_OFFSET		6
9433974b7f6SPeng Fan #define MXC_CCM_CCGR6_SIM1_CLK_MASK		(3 << MXC_CCM_CCGR6_SIM1_CLK_OFFSET)
9443974b7f6SPeng Fan #define MXC_CCM_CCGR6_SIM2_CLK_OFFSET		8
9453974b7f6SPeng Fan #define MXC_CCM_CCGR6_SIM2_CLK_MASK		(3 << MXC_CCM_CCGR6_SIM2_CLK_OFFSET)
9463974b7f6SPeng Fan /* i.MX6ULL */
9473974b7f6SPeng Fan #define MXC_CCM_CCGR6_IPMUX4_CLK_OFFSET		8
9483974b7f6SPeng Fan #define MXC_CCM_CCGR6_IPMUX4_CLK_MASK		(3 << MXC_CCM_CCGR6_IPMUX4_CLK_OFFSET)
94943cb127bSPeng Fan /* GPMI/BCH on i.MX6UL */
95043cb127bSPeng Fan #define MXC_CCM_CCGR6_BCH_OFFSET		6
95143cb127bSPeng Fan #define MXC_CCM_CCGR6_BCH_MASK			(3 << MXC_CCM_CCGR6_BCH_OFFSET)
95243cb127bSPeng Fan #define MXC_CCM_CCGR6_GPMI_OFFSET		8
95343cb127bSPeng Fan #define MXC_CCM_CCGR6_GPMI_MASK		(3 << MXC_CCM_CCGR6_GPMI_OFFSET)
95443cb127bSPeng Fan 
9550bb7e316SEric Nelson #define MXC_CCM_CCGR6_USDHC3_OFFSET		6
9560bb7e316SEric Nelson #define MXC_CCM_CCGR6_USDHC3_MASK		(3 << MXC_CCM_CCGR6_USDHC3_OFFSET)
9570bb7e316SEric Nelson #define MXC_CCM_CCGR6_USDHC4_OFFSET		8
9580bb7e316SEric Nelson #define MXC_CCM_CCGR6_USDHC4_MASK		(3 << MXC_CCM_CCGR6_USDHC4_OFFSET)
9590bb7e316SEric Nelson #define MXC_CCM_CCGR6_EMI_SLOW_OFFSET		10
9600bb7e316SEric Nelson #define MXC_CCM_CCGR6_EMI_SLOW_MASK		(3 << MXC_CCM_CCGR6_EMI_SLOW_OFFSET)
9613974b7f6SPeng Fan /* i.MX6ULL */
9623974b7f6SPeng Fan #define MXC_CCM_CCGR6_AIPS_TZ3_CLK_OFFSET	18
9633974b7f6SPeng Fan #define MXC_CCM_CCGR6_AIPS_TZ3_CLK_MASK		(3 << MXC_CCM_CCGR6_AIPS_TZ3_CLK_OFFSET)
96419c6ec70SPeng Fan /* The following *CCGR6* exist only i.MX6SX */
96505d54b82SFabio Estevam #define MXC_CCM_CCGR6_PWM8_OFFSET		16
96605d54b82SFabio Estevam #define MXC_CCM_CCGR6_PWM8_MASK			(3 << MXC_CCM_CCGR6_PWM8_OFFSET)
96705d54b82SFabio Estevam #define MXC_CCM_CCGR6_VADC_OFFSET		20
96805d54b82SFabio Estevam #define MXC_CCM_CCGR6_VADC_MASK			(3 << MXC_CCM_CCGR6_VADC_OFFSET)
96905d54b82SFabio Estevam #define MXC_CCM_CCGR6_GIS_OFFSET		22
97005d54b82SFabio Estevam #define MXC_CCM_CCGR6_GIS_MASK			(3 << MXC_CCM_CCGR6_GIS_OFFSET)
97105d54b82SFabio Estevam #define MXC_CCM_CCGR6_I2C4_OFFSET		24
97205d54b82SFabio Estevam #define MXC_CCM_CCGR6_I2C4_MASK			(3 << MXC_CCM_CCGR6_I2C4_OFFSET)
97305d54b82SFabio Estevam #define MXC_CCM_CCGR6_PWM5_OFFSET		26
97405d54b82SFabio Estevam #define MXC_CCM_CCGR6_PWM5_MASK			(3 << MXC_CCM_CCGR6_PWM5_OFFSET)
97505d54b82SFabio Estevam #define MXC_CCM_CCGR6_PWM6_OFFSET		28
97605d54b82SFabio Estevam #define MXC_CCM_CCGR6_PWM6_MASK			(3 << MXC_CCM_CCGR6_PWM6_OFFSET)
97705d54b82SFabio Estevam #define MXC_CCM_CCGR6_PWM7_OFFSET		30
97805d54b82SFabio Estevam #define MXC_CCM_CCGR6_PWM7_MASK			(3 << MXC_CCM_CCGR6_PWM7_OFFSET)
97919c6ec70SPeng Fan /* The two does not exist on i.MX6SX */
9800bb7e316SEric Nelson #define MXC_CCM_CCGR6_VDOAXICLK_OFFSET		12
9810bb7e316SEric Nelson #define MXC_CCM_CCGR6_VDOAXICLK_MASK		(3 << MXC_CCM_CCGR6_VDOAXICLK_OFFSET)
9826a376046SFabio Estevam 
9836a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_LOCK 0x80000000
9846a376046SFabio Estevam #define BP_ANADIG_PLL_SYS_RSVD0      20
9856a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_RSVD0 0x7FF00000
9866a376046SFabio Estevam #define BF_ANADIG_PLL_SYS_RSVD0(v)  \
9876a376046SFabio Estevam 	(((v) << 20) & BM_ANADIG_PLL_SYS_RSVD0)
9886a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_PLL_SEL 0x00080000
9896a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_LVDS_24MHZ_SEL 0x00040000
9906a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_LVDS_SEL 0x00020000
9916a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_BYPASS 0x00010000
9926a376046SFabio Estevam #define BP_ANADIG_PLL_SYS_BYPASS_CLK_SRC      14
9936a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_BYPASS_CLK_SRC 0x0000C000
9946a376046SFabio Estevam #define BF_ANADIG_PLL_SYS_BYPASS_CLK_SRC(v)  \
9956a376046SFabio Estevam 	(((v) << 14) & BM_ANADIG_PLL_SYS_BYPASS_CLK_SRC)
9966a376046SFabio Estevam #define BV_ANADIG_PLL_SYS_BYPASS_CLK_SRC__OSC_24M  0x0
9976a376046SFabio Estevam #define BV_ANADIG_PLL_SYS_BYPASS_CLK_SRC__ANACLK_1 0x1
9986a376046SFabio Estevam #define BV_ANADIG_PLL_SYS_BYPASS_CLK_SRC__ANACLK_2 0x2
9996a376046SFabio Estevam #define BV_ANADIG_PLL_SYS_BYPASS_CLK_SRC__XOR      0x3
10006a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_ENABLE 0x00002000
10016a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_POWERDOWN 0x00001000
10026a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_HOLD_RING_OFF 0x00000800
10036a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_DOUBLE_CP 0x00000400
10046a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_HALF_CP 0x00000200
10056a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_DOUBLE_LF 0x00000100
10066a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_HALF_LF 0x00000080
10076a376046SFabio Estevam #define BP_ANADIG_PLL_SYS_DIV_SELECT      0
10086a376046SFabio Estevam #define BM_ANADIG_PLL_SYS_DIV_SELECT 0x0000007F
10096a376046SFabio Estevam #define BF_ANADIG_PLL_SYS_DIV_SELECT(v)  \
10106a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_SYS_DIV_SELECT)
10116a376046SFabio Estevam 
10126a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_LOCK 0x80000000
10136a376046SFabio Estevam #define BP_ANADIG_USB1_PLL_480_CTRL_RSVD1      17
10146a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_RSVD1 0x7FFE0000
10156a376046SFabio Estevam #define BF_ANADIG_USB1_PLL_480_CTRL_RSVD1(v)  \
10166a376046SFabio Estevam 	(((v) << 17) & BM_ANADIG_USB1_PLL_480_CTRL_RSVD1)
10176a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_BYPASS 0x00010000
10186a376046SFabio Estevam #define BP_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC      14
10196a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC 0x0000C000
10206a376046SFabio Estevam #define BF_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC(v)  \
10216a376046SFabio Estevam 	(((v) << 14) & BM_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC)
10226a376046SFabio Estevam #define BV_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC__OSC_24M  0x0
10236a376046SFabio Estevam #define BV_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC__ANACLK_1 0x1
10246a376046SFabio Estevam #define BV_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC__ANACLK_2 0x2
10256a376046SFabio Estevam #define BV_ANADIG_USB1_PLL_480_CTRL_BYPASS_CLK_SRC__XOR      0x3
10266a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_ENABLE 0x00002000
10276a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_POWER 0x00001000
10286a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_HOLD_RING_OFF 0x00000800
10296a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_DOUBLE_CP 0x00000400
10306a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_HALF_CP 0x00000200
10316a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_DOUBLE_LF 0x00000100
10326a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_HALF_LF 0x00000080
10336a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_EN_USB_CLKS 0x00000040
10346a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_RSVD0 0x00000020
10356a376046SFabio Estevam #define BP_ANADIG_USB1_PLL_480_CTRL_CONTROL0      2
10366a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_CONTROL0 0x0000001C
10376a376046SFabio Estevam #define BF_ANADIG_USB1_PLL_480_CTRL_CONTROL0(v)  \
10386a376046SFabio Estevam 	(((v) << 2) & BM_ANADIG_USB1_PLL_480_CTRL_CONTROL0)
10396a376046SFabio Estevam #define BP_ANADIG_USB1_PLL_480_CTRL_DIV_SELECT      0
10406a376046SFabio Estevam #define BM_ANADIG_USB1_PLL_480_CTRL_DIV_SELECT 0x00000003
10416a376046SFabio Estevam #define BF_ANADIG_USB1_PLL_480_CTRL_DIV_SELECT(v)  \
10426a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_USB1_PLL_480_CTRL_DIV_SELECT)
10436a376046SFabio Estevam 
10446a376046SFabio Estevam #define BM_ANADIG_PLL_528_LOCK 0x80000000
10456a376046SFabio Estevam #define BP_ANADIG_PLL_528_RSVD1      19
10466a376046SFabio Estevam #define BM_ANADIG_PLL_528_RSVD1 0x7FF80000
10476a376046SFabio Estevam #define BF_ANADIG_PLL_528_RSVD1(v)  \
10486a376046SFabio Estevam 	(((v) << 19) & BM_ANADIG_PLL_528_RSVD1)
10496a376046SFabio Estevam #define BM_ANADIG_PLL_528_PFD_OFFSET_EN 0x00040000
10506a376046SFabio Estevam #define BM_ANADIG_PLL_528_DITHER_ENABLE 0x00020000
10516a376046SFabio Estevam #define BM_ANADIG_PLL_528_BYPASS 0x00010000
10526a376046SFabio Estevam #define BP_ANADIG_PLL_528_BYPASS_CLK_SRC      14
10536a376046SFabio Estevam #define BM_ANADIG_PLL_528_BYPASS_CLK_SRC 0x0000C000
10546a376046SFabio Estevam #define BF_ANADIG_PLL_528_BYPASS_CLK_SRC(v)  \
10556a376046SFabio Estevam 	(((v) << 14) & BM_ANADIG_PLL_528_BYPASS_CLK_SRC)
10566a376046SFabio Estevam #define BV_ANADIG_PLL_528_BYPASS_CLK_SRC__OSC_24M  0x0
10576a376046SFabio Estevam #define BV_ANADIG_PLL_528_BYPASS_CLK_SRC__ANACLK_1 0x1
10586a376046SFabio Estevam #define BV_ANADIG_PLL_528_BYPASS_CLK_SRC__ANACLK_2 0x2
10596a376046SFabio Estevam #define BV_ANADIG_PLL_528_BYPASS_CLK_SRC__XOR      0x3
10606a376046SFabio Estevam #define BM_ANADIG_PLL_528_ENABLE 0x00002000
10616a376046SFabio Estevam #define BM_ANADIG_PLL_528_POWERDOWN 0x00001000
10626a376046SFabio Estevam #define BM_ANADIG_PLL_528_HOLD_RING_OFF 0x00000800
10636a376046SFabio Estevam #define BM_ANADIG_PLL_528_DOUBLE_CP 0x00000400
10646a376046SFabio Estevam #define BM_ANADIG_PLL_528_HALF_CP 0x00000200
10656a376046SFabio Estevam #define BM_ANADIG_PLL_528_DOUBLE_LF 0x00000100
10666a376046SFabio Estevam #define BM_ANADIG_PLL_528_HALF_LF 0x00000080
10676a376046SFabio Estevam #define BP_ANADIG_PLL_528_RSVD0      1
10686a376046SFabio Estevam #define BM_ANADIG_PLL_528_RSVD0 0x0000007E
10696a376046SFabio Estevam #define BF_ANADIG_PLL_528_RSVD0(v)  \
10706a376046SFabio Estevam 	(((v) << 1) & BM_ANADIG_PLL_528_RSVD0)
10716a376046SFabio Estevam #define BM_ANADIG_PLL_528_DIV_SELECT 0x00000001
10726a376046SFabio Estevam 
10736a376046SFabio Estevam #define BP_ANADIG_PLL_528_SS_STOP      16
10746a376046SFabio Estevam #define BM_ANADIG_PLL_528_SS_STOP 0xFFFF0000
10756a376046SFabio Estevam #define BF_ANADIG_PLL_528_SS_STOP(v) \
10766a376046SFabio Estevam 	(((v) << 16) & BM_ANADIG_PLL_528_SS_STOP)
10776a376046SFabio Estevam #define BM_ANADIG_PLL_528_SS_ENABLE 0x00008000
10786a376046SFabio Estevam #define BP_ANADIG_PLL_528_SS_STEP      0
10796a376046SFabio Estevam #define BM_ANADIG_PLL_528_SS_STEP 0x00007FFF
10806a376046SFabio Estevam #define BF_ANADIG_PLL_528_SS_STEP(v)  \
10816a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_528_SS_STEP)
10826a376046SFabio Estevam 
10836a376046SFabio Estevam #define BP_ANADIG_PLL_528_NUM_RSVD0      30
10846a376046SFabio Estevam #define BM_ANADIG_PLL_528_NUM_RSVD0 0xC0000000
10856a376046SFabio Estevam #define BF_ANADIG_PLL_528_NUM_RSVD0(v) \
10866a376046SFabio Estevam 	(((v) << 30) & BM_ANADIG_PLL_528_NUM_RSVD0)
10876a376046SFabio Estevam #define BP_ANADIG_PLL_528_NUM_A      0
10886a376046SFabio Estevam #define BM_ANADIG_PLL_528_NUM_A 0x3FFFFFFF
10896a376046SFabio Estevam #define BF_ANADIG_PLL_528_NUM_A(v)  \
10906a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_528_NUM_A)
10916a376046SFabio Estevam 
10926a376046SFabio Estevam #define BP_ANADIG_PLL_528_DENOM_RSVD0      30
10936a376046SFabio Estevam #define BM_ANADIG_PLL_528_DENOM_RSVD0 0xC0000000
10946a376046SFabio Estevam #define BF_ANADIG_PLL_528_DENOM_RSVD0(v) \
10956a376046SFabio Estevam 	(((v) << 30) & BM_ANADIG_PLL_528_DENOM_RSVD0)
10966a376046SFabio Estevam #define BP_ANADIG_PLL_528_DENOM_B      0
10976a376046SFabio Estevam #define BM_ANADIG_PLL_528_DENOM_B 0x3FFFFFFF
10986a376046SFabio Estevam #define BF_ANADIG_PLL_528_DENOM_B(v)  \
10996a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_528_DENOM_B)
11006a376046SFabio Estevam 
11016a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_LOCK 0x80000000
11026a376046SFabio Estevam #define BP_ANADIG_PLL_AUDIO_RSVD0      22
11036a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_RSVD0 0x7FC00000
11046a376046SFabio Estevam #define BF_ANADIG_PLL_AUDIO_RSVD0(v)  \
11056a376046SFabio Estevam 	(((v) << 22) & BM_ANADIG_PLL_AUDIO_RSVD0)
11066a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_SSC_EN 0x00200000
11076a376046SFabio Estevam #define BP_ANADIG_PLL_AUDIO_TEST_DIV_SELECT      19
11086a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_TEST_DIV_SELECT 0x00180000
11096a376046SFabio Estevam #define BF_ANADIG_PLL_AUDIO_TEST_DIV_SELECT(v)  \
11106a376046SFabio Estevam 	(((v) << 19) & BM_ANADIG_PLL_AUDIO_TEST_DIV_SELECT)
11116a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_PFD_OFFSET_EN 0x00040000
11126a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_DITHER_ENABLE 0x00020000
11136a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_BYPASS 0x00010000
11146a376046SFabio Estevam #define BP_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC      14
11156a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC 0x0000C000
11166a376046SFabio Estevam #define BF_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC(v)  \
11176a376046SFabio Estevam 	(((v) << 14) & BM_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC)
11186a376046SFabio Estevam #define BV_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC__OSC_24M  0x0
11196a376046SFabio Estevam #define BV_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC__ANACLK_1 0x1
11206a376046SFabio Estevam #define BV_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC__ANACLK_2 0x2
11216a376046SFabio Estevam #define BV_ANADIG_PLL_AUDIO_BYPASS_CLK_SRC__XOR      0x3
11226a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_ENABLE 0x00002000
11236a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_POWERDOWN 0x00001000
11246a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_HOLD_RING_OFF 0x00000800
11256a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_DOUBLE_CP 0x00000400
11266a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_HALF_CP 0x00000200
11276a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_DOUBLE_LF 0x00000100
11286a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_HALF_LF 0x00000080
11296a376046SFabio Estevam #define BP_ANADIG_PLL_AUDIO_DIV_SELECT      0
11306a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_DIV_SELECT 0x0000007F
11316a376046SFabio Estevam #define BF_ANADIG_PLL_AUDIO_DIV_SELECT(v)  \
11326a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_AUDIO_DIV_SELECT)
11336a376046SFabio Estevam 
11346a376046SFabio Estevam #define BP_ANADIG_PLL_AUDIO_NUM_RSVD0      30
11356a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_NUM_RSVD0 0xC0000000
11366a376046SFabio Estevam #define BF_ANADIG_PLL_AUDIO_NUM_RSVD0(v) \
11376a376046SFabio Estevam 	(((v) << 30) & BM_ANADIG_PLL_AUDIO_NUM_RSVD0)
11386a376046SFabio Estevam #define BP_ANADIG_PLL_AUDIO_NUM_A      0
11396a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_NUM_A 0x3FFFFFFF
11406a376046SFabio Estevam #define BF_ANADIG_PLL_AUDIO_NUM_A(v)  \
11416a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_AUDIO_NUM_A)
11426a376046SFabio Estevam 
11436a376046SFabio Estevam #define BP_ANADIG_PLL_AUDIO_DENOM_RSVD0      30
11446a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_DENOM_RSVD0 0xC0000000
11456a376046SFabio Estevam #define BF_ANADIG_PLL_AUDIO_DENOM_RSVD0(v) \
11466a376046SFabio Estevam 	(((v) << 30) & BM_ANADIG_PLL_AUDIO_DENOM_RSVD0)
11476a376046SFabio Estevam #define BP_ANADIG_PLL_AUDIO_DENOM_B      0
11486a376046SFabio Estevam #define BM_ANADIG_PLL_AUDIO_DENOM_B 0x3FFFFFFF
11496a376046SFabio Estevam #define BF_ANADIG_PLL_AUDIO_DENOM_B(v)  \
11506a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_AUDIO_DENOM_B)
11516a376046SFabio Estevam 
11526a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_LOCK 0x80000000
11536a376046SFabio Estevam #define BP_ANADIG_PLL_VIDEO_RSVD0      22
11546a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_RSVD0 0x7FC00000
11556a376046SFabio Estevam #define BF_ANADIG_PLL_VIDEO_RSVD0(v)  \
11566a376046SFabio Estevam 	(((v) << 22) & BM_ANADIG_PLL_VIDEO_RSVD0)
11576a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_SSC_EN 0x00200000
11584bfa2db8SSoeren Moch #define BP_ANADIG_PLL_VIDEO_POST_DIV_SELECT      19
11594bfa2db8SSoeren Moch #define BM_ANADIG_PLL_VIDEO_POST_DIV_SELECT 0x00180000
11604bfa2db8SSoeren Moch #define BF_ANADIG_PLL_VIDEO_POST_DIV_SELECT(v)  \
11614bfa2db8SSoeren Moch 	(((v) << 19) & BM_ANADIG_PLL_VIDEO_POST_DIV_SELECT)
11626a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_PFD_OFFSET_EN 0x00040000
11636a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_DITHER_ENABLE 0x00020000
11646a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_BYPASS 0x00010000
11656a376046SFabio Estevam #define BP_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC      14
11666a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC 0x0000C000
11676a376046SFabio Estevam #define BF_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC(v)  \
11686a376046SFabio Estevam 	(((v) << 14) & BM_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC)
11696a376046SFabio Estevam #define BV_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC__OSC_24M  0x0
11706a376046SFabio Estevam #define BV_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC__ANACLK_1 0x1
11716a376046SFabio Estevam #define BV_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC__ANACLK_2 0x2
11726a376046SFabio Estevam #define BV_ANADIG_PLL_VIDEO_BYPASS_CLK_SRC__XOR      0x3
11736a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_ENABLE 0x00002000
11746a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_POWERDOWN 0x00001000
11756a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_HOLD_RING_OFF 0x00000800
11766a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_DOUBLE_CP 0x00000400
11776a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_HALF_CP 0x00000200
11786a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_DOUBLE_LF 0x00000100
11796a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_HALF_LF 0x00000080
11806a376046SFabio Estevam #define BP_ANADIG_PLL_VIDEO_DIV_SELECT      0
11816a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_DIV_SELECT 0x0000007F
11826a376046SFabio Estevam #define BF_ANADIG_PLL_VIDEO_DIV_SELECT(v)  \
11836a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_VIDEO_DIV_SELECT)
11846a376046SFabio Estevam 
11856a376046SFabio Estevam #define BP_ANADIG_PLL_VIDEO_NUM_RSVD0      30
11866a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_NUM_RSVD0 0xC0000000
11876a376046SFabio Estevam #define BF_ANADIG_PLL_VIDEO_NUM_RSVD0(v) \
11886a376046SFabio Estevam 	(((v) << 30) & BM_ANADIG_PLL_VIDEO_NUM_RSVD0)
11896a376046SFabio Estevam #define BP_ANADIG_PLL_VIDEO_NUM_A      0
11906a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_NUM_A 0x3FFFFFFF
11916a376046SFabio Estevam #define BF_ANADIG_PLL_VIDEO_NUM_A(v)  \
11926a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_VIDEO_NUM_A)
11936a376046SFabio Estevam 
11946a376046SFabio Estevam #define BP_ANADIG_PLL_VIDEO_DENOM_RSVD0      30
11956a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_DENOM_RSVD0 0xC0000000
11966a376046SFabio Estevam #define BF_ANADIG_PLL_VIDEO_DENOM_RSVD0(v) \
11976a376046SFabio Estevam 	(((v) << 30) & BM_ANADIG_PLL_VIDEO_DENOM_RSVD0)
11986a376046SFabio Estevam #define BP_ANADIG_PLL_VIDEO_DENOM_B      0
11996a376046SFabio Estevam #define BM_ANADIG_PLL_VIDEO_DENOM_B 0x3FFFFFFF
12006a376046SFabio Estevam #define BF_ANADIG_PLL_VIDEO_DENOM_B(v)  \
12016a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_VIDEO_DENOM_B)
12026a376046SFabio Estevam 
12036a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_LOCK 0x80000000
12046a376046SFabio Estevam #define BP_ANADIG_PLL_ENET_RSVD1      21
12056a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_RSVD1 0x7FE00000
12066a376046SFabio Estevam #define BF_ANADIG_PLL_ENET_RSVD1(v)  \
12076a376046SFabio Estevam 	(((v) << 21) & BM_ANADIG_PLL_ENET_RSVD1)
1208d145878dSFabio Estevam #define BM_ANADIG_PLL_ENET_REF_25M_ENABLE 0x00200000
12096a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_ENABLE_SATA 0x00100000
12106a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_ENABLE_PCIE 0x00080000
12116a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_PFD_OFFSET_EN 0x00040000
12126a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_DITHER_ENABLE 0x00020000
12136a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_BYPASS 0x00010000
12146a376046SFabio Estevam #define BP_ANADIG_PLL_ENET_BYPASS_CLK_SRC      14
12156a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_BYPASS_CLK_SRC 0x0000C000
12166a376046SFabio Estevam #define BF_ANADIG_PLL_ENET_BYPASS_CLK_SRC(v)  \
12176a376046SFabio Estevam 	(((v) << 14) & BM_ANADIG_PLL_ENET_BYPASS_CLK_SRC)
12186a376046SFabio Estevam #define BV_ANADIG_PLL_ENET_BYPASS_CLK_SRC__OSC_24M  0x0
12196a376046SFabio Estevam #define BV_ANADIG_PLL_ENET_BYPASS_CLK_SRC__ANACLK_1 0x1
12206a376046SFabio Estevam #define BV_ANADIG_PLL_ENET_BYPASS_CLK_SRC__ANACLK_2 0x2
12216a376046SFabio Estevam #define BV_ANADIG_PLL_ENET_BYPASS_CLK_SRC__XOR      0x3
12226a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_ENABLE 0x00002000
12236a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_POWERDOWN 0x00001000
12246a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_HOLD_RING_OFF 0x00000800
12256a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_DOUBLE_CP 0x00000400
12266a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_HALF_CP 0x00000200
12276a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_DOUBLE_LF 0x00000100
12286a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_HALF_LF 0x00000080
12296a376046SFabio Estevam #define BP_ANADIG_PLL_ENET_RSVD0      2
12306a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_RSVD0 0x0000007C
12316a376046SFabio Estevam #define BF_ANADIG_PLL_ENET_RSVD0(v)  \
12326a376046SFabio Estevam 	(((v) << 2) & BM_ANADIG_PLL_ENET_RSVD0)
12336a376046SFabio Estevam #define BP_ANADIG_PLL_ENET_DIV_SELECT      0
12346a376046SFabio Estevam #define BM_ANADIG_PLL_ENET_DIV_SELECT 0x00000003
12356a376046SFabio Estevam #define BF_ANADIG_PLL_ENET_DIV_SELECT(v)  \
12366a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PLL_ENET_DIV_SELECT)
12376a376046SFabio Estevam 
12386d97dc10SPeng Fan /* ENET2 for i.MX6SX/UL */
12396d97dc10SPeng Fan #define BM_ANADIG_PLL_ENET2_ENABLE 0x00100000
12406d97dc10SPeng Fan #define BM_ANADIG_PLL_ENET2_DIV_SELECT 0x0000000C
12416d97dc10SPeng Fan #define BF_ANADIG_PLL_ENET2_DIV_SELECT(v)  \
12426d97dc10SPeng Fan 	(((v) << 2) & BM_ANADIG_PLL_ENET2_DIV_SELECT)
12436d97dc10SPeng Fan 
12446a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD3_CLKGATE 0x80000000
12456a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD3_STABLE 0x40000000
12466a376046SFabio Estevam #define BP_ANADIG_PFD_480_PFD3_FRAC      24
12476a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD3_FRAC 0x3F000000
12486a376046SFabio Estevam #define BF_ANADIG_PFD_480_PFD3_FRAC(v)  \
12496a376046SFabio Estevam 	(((v) << 24) & BM_ANADIG_PFD_480_PFD3_FRAC)
12506a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD2_CLKGATE 0x00800000
12516a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD2_STABLE 0x00400000
12526a376046SFabio Estevam #define BP_ANADIG_PFD_480_PFD2_FRAC      16
12536a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD2_FRAC 0x003F0000
12546a376046SFabio Estevam #define BF_ANADIG_PFD_480_PFD2_FRAC(v)  \
12556a376046SFabio Estevam 	(((v) << 16) & BM_ANADIG_PFD_480_PFD2_FRAC)
12566a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD1_CLKGATE 0x00008000
12576a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD1_STABLE 0x00004000
12586a376046SFabio Estevam #define BP_ANADIG_PFD_480_PFD1_FRAC      8
12596a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD1_FRAC 0x00003F00
12606a376046SFabio Estevam #define BF_ANADIG_PFD_480_PFD1_FRAC(v)  \
12616a376046SFabio Estevam 	(((v) << 8) & BM_ANADIG_PFD_480_PFD1_FRAC)
12626a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD0_CLKGATE 0x00000080
12636a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD0_STABLE 0x00000040
12646a376046SFabio Estevam #define BP_ANADIG_PFD_480_PFD0_FRAC      0
12656a376046SFabio Estevam #define BM_ANADIG_PFD_480_PFD0_FRAC 0x0000003F
12666a376046SFabio Estevam #define BF_ANADIG_PFD_480_PFD0_FRAC(v)  \
12676a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PFD_480_PFD0_FRAC)
12686a376046SFabio Estevam 
12696a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD3_CLKGATE 0x80000000
12706a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD3_STABLE 0x40000000
12716a376046SFabio Estevam #define BP_ANADIG_PFD_528_PFD3_FRAC      24
12726a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD3_FRAC 0x3F000000
12736a376046SFabio Estevam #define BF_ANADIG_PFD_528_PFD3_FRAC(v)  \
12746a376046SFabio Estevam 	(((v) << 24) & BM_ANADIG_PFD_528_PFD3_FRAC)
12756a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD2_CLKGATE 0x00800000
12766a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD2_STABLE 0x00400000
12776a376046SFabio Estevam #define BP_ANADIG_PFD_528_PFD2_FRAC      16
12786a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD2_FRAC 0x003F0000
12796a376046SFabio Estevam #define BF_ANADIG_PFD_528_PFD2_FRAC(v)  \
12806a376046SFabio Estevam 	(((v) << 16) & BM_ANADIG_PFD_528_PFD2_FRAC)
12816a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD1_CLKGATE 0x00008000
12826a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD1_STABLE 0x00004000
12836a376046SFabio Estevam #define BP_ANADIG_PFD_528_PFD1_FRAC      8
12846a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD1_FRAC 0x00003F00
12856a376046SFabio Estevam #define BF_ANADIG_PFD_528_PFD1_FRAC(v)  \
12866a376046SFabio Estevam 	(((v) << 8) & BM_ANADIG_PFD_528_PFD1_FRAC)
12876a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD0_CLKGATE 0x00000080
12886a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD0_STABLE 0x00000040
12896a376046SFabio Estevam #define BP_ANADIG_PFD_528_PFD0_FRAC      0
12906a376046SFabio Estevam #define BM_ANADIG_PFD_528_PFD0_FRAC 0x0000003F
12916a376046SFabio Estevam #define BF_ANADIG_PFD_528_PFD0_FRAC(v)  \
12926a376046SFabio Estevam 	(((v) << 0) & BM_ANADIG_PFD_528_PFD0_FRAC)
12936a376046SFabio Estevam 
12941f516faaSPeng Fan #define BM_ANADIG_ANA_MISC0_REFTOP_SELBIASOFF 0x00000008
12955b66482dSPeng Fan #define BM_ANADIG_ANA_MISC0_REFTOP_VBGADJ 0x60
129697c16dc8SPeng Fan #define BM_ANADIG_ANA_MISC0_REFTOP_VBGADJ_SHIFT 4
12971f516faaSPeng Fan 
12989ba18ff8SPeng Fan #define BM_PMU_MISC2_AUDIO_DIV_MSB (1 << 23)
12999ba18ff8SPeng Fan #define BP_PMU_MISC2_AUDIO_DIV_MSB 23
13009ba18ff8SPeng Fan 
13019ba18ff8SPeng Fan #define BM_PMU_MISC2_AUDIO_DIV_LSB (1 << 15)
13029ba18ff8SPeng Fan #define BP_PMU_MISC2_AUDIO_DIV_LSB 15
13039ba18ff8SPeng Fan 
13049ba18ff8SPeng Fan #define PMU_MISC2_AUDIO_DIV(v) \
13059ba18ff8SPeng Fan 	(((v & BM_PMU_MISC2_AUDIO_DIV_MSB) >> \
13069ba18ff8SPeng Fan 	(BP_PMU_MISC2_AUDIO_DIV_MSB - 1)) | \
13079ba18ff8SPeng Fan 	((v & BM_PMU_MISC2_AUDIO_DIV_LSB) >> \
13089ba18ff8SPeng Fan 	 BP_PMU_MISC2_AUDIO_DIV_LSB))
13099ba18ff8SPeng Fan 
13106a376046SFabio Estevam #endif /*__ARCH_ARM_MACH_MX6_CCM_REGS_H__ */
1311