| 
					
				 | 
			
			
				@@ -302,3 +302,103 @@ static struct omap_hwmod omap44xx_ocp_wp_noc_hwmod = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  *   properly adapted to omap_hwmod / omap_device 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * usim 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 'aess' class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * audio engine sub system 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_hwmod_class_sysconfig omap44xx_aess_sysc = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.rev_offs	= 0x0000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.sysc_offs	= 0x0010, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.sysc_flags	= (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			   MSTANDBY_SMART_WKUP), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.sysc_fields	= &omap_hwmod_sysc_type2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_hwmod_class omap44xx_aess_hwmod_class = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name	= "aess", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.sysc	= &omap44xx_aess_sysc, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* aess */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_hwmod_irq_info omap44xx_aess_irqs[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .irq = 99 + OMAP44XX_IRQ_GIC_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .irq = -1 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_hwmod_dma_info omap44xx_aess_sdma_reqs[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .name = "fifo0", .dma_req = 100 + OMAP44XX_DMA_REQ_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .name = "fifo1", .dma_req = 101 + OMAP44XX_DMA_REQ_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .name = "fifo2", .dma_req = 102 + OMAP44XX_DMA_REQ_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .name = "fifo3", .dma_req = 103 + OMAP44XX_DMA_REQ_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .name = "fifo4", .dma_req = 104 + OMAP44XX_DMA_REQ_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .name = "fifo5", .dma_req = 105 + OMAP44XX_DMA_REQ_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .name = "fifo6", .dma_req = 106 + OMAP44XX_DMA_REQ_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .name = "fifo7", .dma_req = 107 + OMAP44XX_DMA_REQ_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .dma_req = -1 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_hwmod omap44xx_aess_hwmod = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "aess", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.class		= &omap44xx_aess_hwmod_class, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.clkdm_name	= "abe_clkdm", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.mpu_irqs	= omap44xx_aess_irqs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.sdma_reqs	= omap44xx_aess_sdma_reqs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.main_clk	= "aess_fck", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.prcm = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.omap4 = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.clkctrl_offs = OMAP4_CM1_ABE_AESS_CLKCTRL_OFFSET, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.context_offs = OMAP4_RM_ABE_AESS_CONTEXT_OFFSET, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.lostcontext_mask = OMAP4430_LOSTCONTEXT_DFF_MASK, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.modulemode   = MODULEMODE_SWCTRL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 'c2c' class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * chip 2 chip interface used to plug the ape soc (omap) with an external modem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * soc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_hwmod_class omap44xx_c2c_hwmod_class = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name	= "c2c", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* c2c */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_hwmod_irq_info omap44xx_c2c_irqs[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .irq = 88 + OMAP44XX_IRQ_GIC_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .irq = -1 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_hwmod_dma_info omap44xx_c2c_sdma_reqs[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .dma_req = 68 + OMAP44XX_DMA_REQ_START }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .dma_req = -1 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_hwmod omap44xx_c2c_hwmod = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name		= "c2c", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.class		= &omap44xx_c2c_hwmod_class, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.clkdm_name	= "d2d_clkdm", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.mpu_irqs	= omap44xx_c2c_irqs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.sdma_reqs	= omap44xx_c2c_sdma_reqs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.prcm = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.omap4 = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.clkctrl_offs = OMAP4_CM_D2D_SAD2D_CLKCTRL_OFFSET, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.context_offs = OMAP4_RM_D2D_SAD2D_CONTEXT_OFFSET, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 'counter' class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 32-bit ordinary counter, clocked by the falling edge of the 32 khz clock 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_hwmod_class_sysconfig omap44xx_counter_sysc = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.rev_offs	= 0x0000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.sysc_offs	= 0x0004, 
			 |