| 
					
				 | 
			
			
				@@ -59,3 +59,47 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #define OMAP_TIMER_POSTED			0x01 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* timer capabilities used in hwmod database */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define OMAP_TIMER_SECURE				0x80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define OMAP_TIMER_ALWON				0x40000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define OMAP_TIMER_HAS_PWM				0x20000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define OMAP_TIMER_NEEDS_RESET				0x10000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define OMAP_TIMER_HAS_DSP_IRQ				0x08000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * timer errata flags 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Errata i103/i767 impacts all OMAP3/4/5 devices including AM33xx. This 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * errata prevents us from using posted mode on these devices, unless the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * timer counter register is never read. For more details please refer to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * the OMAP3/4/5 errata documents. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define OMAP_TIMER_ERRATA_I103_I767			0x80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+struct omap_timer_capability_dev_attr { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 timer_capability; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+struct timer_regs { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tidr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tier; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 twer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tclr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tcrr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tldr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 ttrg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 twps; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tmar; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tcar1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tsicr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tcar2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tpir; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tnir; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tcvr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 tocr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 towr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+struct omap_dm_timer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	int id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	int irq; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	struct clk *fclk; 
			 |