MIPS: BCM63XX: add support for "ipsec" clock
authorFlorian Fainelli <florian@openwrt.org>
Tue, 24 Jul 2012 14:33:09 +0000 (16:33 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 24 Jul 2012 14:33:09 +0000 (16:33 +0200)
This module is only available on BCM6368 so far and does not require
resetting the block.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Cc: linux-mips@linux-mips.org
Cc: mpm@selenic.com
Cc: herbert@gondor.apana.org.au
Patchwork: https://patchwork.linux-mips.org/patch/3324/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm63xx/clk.c

index be49b9a13a93a3ffdd8e7cd0439f4ef02f4a826c..1db48adb543afbc4dfa6c73e023bee83aa5d595f 100644 (file)
@@ -223,6 +223,18 @@ static struct clk clk_xtm = {
        .set    = xtm_set,
 };
 
+/*
+ * IPsec clock
+ */
+static void ipsec_set(struct clk *clk, int enable)
+{
+       bcm_hwclock_set(CKCTL_6368_IPSEC_EN, enable);
+}
+
+static struct clk clk_ipsec = {
+       .set    = ipsec_set,
+};
+
 /*
  * Internal peripheral clock
  */
@@ -280,6 +292,8 @@ struct clk *clk_get(struct device *dev, const char *id)
                return &clk_periph;
        if (BCMCPU_IS_6358() && !strcmp(id, "pcm"))
                return &clk_pcm;
+       if (BCMCPU_IS_6368() && !strcmp(id, "ipsec"))
+               return &clk_ipsec;
        return ERR_PTR(-ENOENT);
 }