44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 69b21096e25889d7db7cfc159202ef0a16530e6b Mon Sep 17 00:00:00 2001
 | 
						|
From: Florian Fainelli <florian@openwrt.org>
 | 
						|
Date: Wed, 25 Jan 2012 17:39:54 +0100
 | 
						|
Subject: [PATCH 15/63] 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>
 | 
						|
---
 | 
						|
 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);
 | 
						|
 }
 | 
						|
 
 |