From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Babic Date: Fri, 11 Jul 2014 13:14:29 +0200 Subject: [U-Boot] [PATCH v1 3/4] i.MX6: add enable_spi_clk() In-Reply-To: <1401272177-16107-4-git-send-email-hs@denx.de> References: <1401272177-16107-1-git-send-email-hs@denx.de> <1401272177-16107-4-git-send-email-hs@denx.de> Message-ID: <53BFC715.9050400@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Heiko, On 28/05/2014 12:16, Heiko Schocher wrote: > add enable_spi_clk(), so board code can enable spi clocks. > > Signed-off-by: Heiko Schocher > Cc: Eric Nelson > Cc: Stefano Babic > --- > arch/arm/cpu/armv7/mx6/clock.c | 17 +++++++++++++++++ > arch/arm/include/asm/arch-mx6/clock.h | 1 + > 2 files changed, 18 insertions(+) > > diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c > index bd65a08..4735368 100644 > --- a/arch/arm/cpu/armv7/mx6/clock.c > +++ b/arch/arm/cpu/armv7/mx6/clock.c > @@ -71,6 +71,23 @@ int enable_i2c_clk(unsigned char enable, unsigned i2c_num) > } > #endif > > +int enable_spi_clk(unsigned char enable, unsigned spi_num) Add a comment here to understand that spi_num starts from 0. > +{ > + u32 reg; > + u32 mask; > + > + if (spi_num > 3) > + return -EINVAL; The maximum number should be a #define in imx-regs.h, in case we will reuse the code with a new variation of the SOC. > + > + 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; > diff --git a/arch/arm/include/asm/arch-mx6/clock.h b/arch/arm/include/asm/arch-mx6/clock.h > index 1b4ded7..339c789 100644 > --- a/arch/arm/include/asm/arch-mx6/clock.h > +++ b/arch/arm/include/asm/arch-mx6/clock.h > @@ -57,6 +57,7 @@ void enable_usboh3_clk(unsigned char enable); > int enable_sata_clock(void); > int enable_pcie_clock(void); > int enable_i2c_clk(unsigned char enable, unsigned i2c_num); > +int enable_spi_clk(unsigned char enable, unsigned spi_num); > void enable_ipu_clock(void); > int enable_fec_anatop_clock(enum enet_freq freq); > #endif /* __ASM_ARCH_CLOCK_H */ > Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================