aboutsummaryrefslogtreecommitdiff
path: root/arch/xtensa/platforms/s6105/setup.c
diff options
context:
space:
mode:
authorOskar Schirmer <os@emlix.com>2009-06-10 12:58:48 -0700
committerChris Zankel <chris@zankel.net>2009-06-22 02:37:49 -0700
commit059cafe6df5d3b078c4b1be42623c62ab32de6fd (patch)
tree9274e7a43f37b4d792bc361b5eac8567548e8b41 /arch/xtensa/platforms/s6105/setup.c
parent8b0215aa5b01eb3cb54ca57bfa36e94a0d039ed9 (diff)
xtensa: s6105 specific configuration for s6gmac
Platform-specific configuration for the s6gmac driver, including the PHY interrupt line. Signed-off-by: Daniel Glockner <dg@emlix.com> Signed-off-by: Oskar Schirmer <os@emlix.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Johannes Weiner <jw@emlix.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'arch/xtensa/platforms/s6105/setup.c')
-rw-r--r--arch/xtensa/platforms/s6105/setup.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/xtensa/platforms/s6105/setup.c b/arch/xtensa/platforms/s6105/setup.c
index 95fa23c8e63..86ce730f791 100644
--- a/arch/xtensa/platforms/s6105/setup.c
+++ b/arch/xtensa/platforms/s6105/setup.c
@@ -35,12 +35,21 @@ void __init platform_setup(char **cmdline)
{
unsigned long reg;
+ reg = readl(S6_REG_GREG1 + S6_GREG1_PLLSEL);
+ reg &= ~(S6_GREG1_PLLSEL_GMAC_MASK << S6_GREG1_PLLSEL_GMAC |
+ S6_GREG1_PLLSEL_GMII_MASK << S6_GREG1_PLLSEL_GMII);
+ reg |= S6_GREG1_PLLSEL_GMAC_125MHZ << S6_GREG1_PLLSEL_GMAC |
+ S6_GREG1_PLLSEL_GMII_125MHZ << S6_GREG1_PLLSEL_GMII;
+ writel(reg, S6_REG_GREG1 + S6_GREG1_PLLSEL);
+
reg = readl(S6_REG_GREG1 + S6_GREG1_CLKGATE);
reg &= ~(1 << S6_GREG1_BLOCK_SB);
+ reg &= ~(1 << S6_GREG1_BLOCK_GMAC);
writel(reg, S6_REG_GREG1 + S6_GREG1_CLKGATE);
reg = readl(S6_REG_GREG1 + S6_GREG1_BLOCKENA);
reg |= 1 << S6_GREG1_BLOCK_SB;
+ reg |= 1 << S6_GREG1_BLOCK_GMAC;
writel(reg, S6_REG_GREG1 + S6_GREG1_BLOCKENA);
printk(KERN_NOTICE "S6105 on Stretch S6000 - "