reg = __raw_readl(MXC_CCM_CSCMR1);
reg &= ~MXC_CCM_CSCMR1_PERCLK_PODF_MASK;
reg |= (div - 1) << MXC_CCM_CSCMR1_PERCLK_PODF_OFFSET;
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
__raw_writel(reg, MXC_CCM_CSCMR1);
return 0;
if (parent == &pll2_pfd_352M)
reg |= (MXC_CCM_CSCMR1_USDHC1_CLK_SEL);
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
+
__raw_writel(reg, MXC_CCM_CSCMR1);
return 0;
if (parent == &pll2_pfd_352M)
reg |= (MXC_CCM_CSCMR1_USDHC2_CLK_SEL);
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
+
__raw_writel(reg, MXC_CCM_CSCMR1);
return 0;
if (parent == &pll2_pfd_352M)
reg |= (MXC_CCM_CSCMR1_USDHC3_CLK_SEL);
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
+
__raw_writel(reg, MXC_CCM_CSCMR1);
return 0;
if (parent == &pll2_pfd_352M)
reg |= (MXC_CCM_CSCMR1_USDHC4_CLK_SEL);
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
+
__raw_writel(reg, MXC_CCM_CSCMR1);
return 0;
mux = _get_mux6(parent, &pll3_pfd_508M, &pll3_pfd_454M,
&pll4_audio_main_clk, NULL, NULL, NULL);
reg |= (mux << MXC_CCM_CSCMR1_SSI1_CLK_SEL_OFFSET);
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
__raw_writel(reg, MXC_CCM_CSCMR1);
mux = _get_mux6(parent, &pll3_pfd_508M, &pll3_pfd_454M,
&pll4_audio_main_clk, NULL, NULL, NULL);
reg |= (mux << MXC_CCM_CSCMR1_SSI2_CLK_SEL_OFFSET);
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
__raw_writel(reg, MXC_CCM_CSCMR1);
mux = _get_mux6(parent, &pll3_pfd_508M, &pll3_pfd_454M,
&pll4_audio_main_clk, NULL, NULL, NULL);
reg |= (mux << MXC_CCM_CSCMR1_SSI3_CLK_SEL_OFFSET);
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
__raw_writel(reg, MXC_CCM_CSCMR1);
mux = _get_mux6(parent, &axi_clk, &pll3_usb_otg_main_clk,
&pll2_pfd_400M, &pll2_pfd_352M, NULL, NULL);
reg |= (mux << MXC_CCM_CSCMR1_ACLK_EMI_SLOW_OFFSET);
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
__raw_writel(reg, MXC_CCM_CSCMR1);
return 0;
reg = __raw_readl(MXC_CCM_CSCMR1);
reg &= ~MXC_CCM_CSCMR1_ACLK_EMI_SLOW_PODF_MASK;
reg |= (div - 1) << MXC_CCM_CSCMR1_ACLK_EMI_SLOW_PODF_OFFSET;
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
__raw_writel(reg, MXC_CCM_CSCMR1);
return 0;
mux = _get_mux6(parent, &pll2_pfd_400M, &pll3_usb_otg_main_clk,
&axi_clk, &pll2_pfd_352M, NULL, NULL);
reg |= (mux << MXC_CCM_CSCMR1_ACLK_EMI_OFFSET);
+ /* aclk_podf fixup */
+ reg ^= 0x00600000;
__raw_writel(reg, MXC_CCM_CSCMR1);
return 0;