| 
					
				 | 
			
			
				@@ -12,3 +12,79 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <linux/module.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <asm/proc-fns.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <asm/irq.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <asm/mach/arch.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <asm/mach/map.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <asm/system_misc.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <mach/cpu.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <mach/at91_dbgu.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <mach/at91sam9260.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <mach/at91_pmc.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "at91_aic.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "at91_rstc.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "soc.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "generic.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "clock.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "sam9_smc.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* -------------------------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ *  Clocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * -------------------------------------------------------------------- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * The peripheral clocks. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk pioA_clk = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "pioA_clk", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.pmc_mask	= 1 << AT91SAM9260_ID_PIOA, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.type		= CLK_TYPE_PERIPHERAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk pioB_clk = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "pioB_clk", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.pmc_mask	= 1 << AT91SAM9260_ID_PIOB, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.type		= CLK_TYPE_PERIPHERAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk pioC_clk = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "pioC_clk", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.pmc_mask	= 1 << AT91SAM9260_ID_PIOC, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.type		= CLK_TYPE_PERIPHERAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk adc_clk = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "adc_clk", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.pmc_mask	= 1 << AT91SAM9260_ID_ADC, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.type		= CLK_TYPE_PERIPHERAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk adc_op_clk = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "adc_op_clk", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.type		= CLK_TYPE_PERIPHERAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.rate_hz	= 5000000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk usart0_clk = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "usart0_clk", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.pmc_mask	= 1 << AT91SAM9260_ID_US0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.type		= CLK_TYPE_PERIPHERAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk usart1_clk = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "usart1_clk", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.pmc_mask	= 1 << AT91SAM9260_ID_US1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.type		= CLK_TYPE_PERIPHERAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk usart2_clk = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "usart2_clk", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.pmc_mask	= 1 << AT91SAM9260_ID_US2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.type		= CLK_TYPE_PERIPHERAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk mmc_clk = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "mci_clk", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.pmc_mask	= 1 << AT91SAM9260_ID_MCI, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.type		= CLK_TYPE_PERIPHERAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk udc_clk = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "udc_clk", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.pmc_mask	= 1 << AT91SAM9260_ID_UDP, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.type		= CLK_TYPE_PERIPHERAL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 |