|
@@ -71,6 +71,24 @@ int enable_i2c_clk(unsigned char enable, unsigned i2c_num)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+/* spi_num can be from 0 - SPI_MAX_NUM */
|
|
|
+int enable_spi_clk(unsigned char enable, unsigned spi_num)
|
|
|
+{
|
|
|
+ u32 reg;
|
|
|
+ u32 mask;
|
|
|
+
|
|
|
+ if (spi_num > SPI_MAX_NUM)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
+ mask = MXC_CCM_CCGR_CG_MASK << (spi_num << 1);
|
|
|
+ reg = __raw_readl(&imx_ccm->CCGR1);
|
|
|
+ if (enable)
|
|
|
+ reg |= mask;
|
|
|
+ else
|
|
|
+ reg &= ~mask;
|
|
|
+ __raw_writel(reg, &imx_ccm->CCGR1);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
static u32 decode_pll(enum pll_clocks pll, u32 infreq)
|
|
|
{
|
|
|
u32 div;
|