49 lines
1.3 KiB
Diff
49 lines
1.3 KiB
Diff
From 0fec0136456ce214ea4df6b8ff3b3728befc816a Mon Sep 17 00:00:00 2001
|
|
From: Florian Fainelli <florian@openwrt.org>
|
|
Date: Tue, 31 Jan 2012 15:12:22 +0100
|
|
Subject: [PATCH 3/6] MIPS: BCM63XX: add support for "ipsec" clock
|
|
|
|
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 | 14 ++++++++++++++
|
|
1 files changed, 14 insertions(+), 0 deletions(-)
|
|
|
|
--- a/arch/mips/bcm63xx/clk.c
|
|
+++ b/arch/mips/bcm63xx/clk.c
|
|
@@ -224,6 +224,18 @@ static struct clk clk_xtm = {
|
|
};
|
|
|
|
/*
|
|
+ * 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
|
|
*/
|
|
static struct clk clk_periph = {
|
|
@@ -280,6 +292,8 @@ struct clk *clk_get(struct device *dev,
|
|
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);
|
|
}
|
|
|