summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/armv7/stv0991/clock.c
diff options
context:
space:
mode:
authorVikas Manocha <vikas.manocha@st.com>2014-11-18 10:42:23 -0800
committerTom Rini <trini@ti.com>2014-12-09 15:16:19 -0500
commit2ce4eaf4c89e371aeb69392b68dbb2f705c28144 (patch)
tree56c27ac25726f80f1bf7844222f8fadea3cdec8a /arch/arm/cpu/armv7/stv0991/clock.c
parent9fa32b12370236a39090d4e42b013910d123db61 (diff)
downloadblackbird-obmc-uboot-2ce4eaf4c89e371aeb69392b68dbb2f705c28144.tar.gz
blackbird-obmc-uboot-2ce4eaf4c89e371aeb69392b68dbb2f705c28144.zip
stv0991: enable ethernet support
Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Diffstat (limited to 'arch/arm/cpu/armv7/stv0991/clock.c')
-rw-r--r--arch/arm/cpu/armv7/stv0991/clock.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/stv0991/clock.c b/arch/arm/cpu/armv7/stv0991/clock.c
index aca6aba414..70b8a8d984 100644
--- a/arch/arm/cpu/armv7/stv0991/clock.c
+++ b/arch/arm/cpu/armv7/stv0991/clock.c
@@ -13,6 +13,13 @@
static struct stv0991_cgu_regs *const stv0991_cgu_regs = \
(struct stv0991_cgu_regs *) (CGU_BASE_ADDR);
+void enable_pll1(void)
+{
+ /* pll1 already configured for 1000Mhz, just need to enable it */
+ writel(readl(&stv0991_cgu_regs->pll1_ctrl) & ~(0x01),
+ &stv0991_cgu_regs->pll1_ctrl);
+}
+
void clock_setup(int peripheral)
{
switch (peripheral) {
@@ -20,6 +27,13 @@ void clock_setup(int peripheral)
writel(UART_CLK_CFG, &stv0991_cgu_regs->uart_freq);
break;
case ETH_CLOCK_CFG:
+ enable_pll1();
+ writel(ETH_CLK_CFG, &stv0991_cgu_regs->eth_freq);
+
+ /* Clock selection for ethernet tx_clk & rx_clk*/
+ writel((readl(&stv0991_cgu_regs->eth_ctrl) & ETH_CLK_MASK)
+ | ETH_CLK_CTRL, &stv0991_cgu_regs->eth_ctrl);
+
break;
default:
break;
OpenPOWER on IntegriCloud