/* Intialize MMC clock */ void clock_init_mmc(uint32_t interface) { if (mmc_clock_enable_disable(sdc_pclk[interface], MMC_CLK_ENABLE) < 0) { dprintf(CRITICAL, "Failure enabling PCLK!\n"); ASSERT(0); } }
/* Configure MMC clock */ void clock_config_mmc(uint32_t interface, uint32_t freq) { uint32_t reg = 0; if (mmc_clock_set_rate(sdc_clk[interface], freq) < 0) { dprintf(CRITICAL, "Failure setting clock rate for MCLK - " "clk_rate: %d\n!", freq); ASSERT(0); } /* enable clock */ if (mmc_clock_enable_disable(sdc_clk[interface], MMC_CLK_ENABLE) < 0) { dprintf(CRITICAL, "Failure enabling MMC Clock!\n"); ASSERT(0); } reg |= MMC_BOOT_MCI_CLK_ENABLE; reg |= MMC_BOOT_MCI_CLK_ENA_FLOW; reg |= MMC_BOOT_MCI_CLK_IN_FEEDBACK; writel(reg, MMC_BOOT_MCI_CLK); }