|  | @@ -15,3 +15,90 @@
 | 
	
		
			
				|  |  |  #include <linux/platform_data/spi-omap2-mcspi.h>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #include "omap_hwmod.h"
 | 
	
		
			
				|  |  | +#include "omap_hwmod_common_data.h"
 | 
	
		
			
				|  |  | +#include "cm-regbits-24xx.h"
 | 
	
		
			
				|  |  | +#include "prm-regbits-24xx.h"
 | 
	
		
			
				|  |  | +#include "wd_timer.h"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +struct omap_hwmod_irq_info omap2xxx_timer12_mpu_irqs[] = {
 | 
	
		
			
				|  |  | +	{ .irq = 48 + OMAP_INTC_START, },
 | 
	
		
			
				|  |  | +	{ .irq = -1 },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +struct omap_hwmod_dma_info omap2xxx_dss_sdma_chs[] = {
 | 
	
		
			
				|  |  | +	{ .name = "dispc", .dma_req = 5 },
 | 
	
		
			
				|  |  | +	{ .dma_req = -1 }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * 'dispc' class
 | 
	
		
			
				|  |  | + * display controller
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod_class_sysconfig omap2_dispc_sysc = {
 | 
	
		
			
				|  |  | +	.rev_offs	= 0x0000,
 | 
	
		
			
				|  |  | +	.sysc_offs	= 0x0010,
 | 
	
		
			
				|  |  | +	.syss_offs	= 0x0014,
 | 
	
		
			
				|  |  | +	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
 | 
	
		
			
				|  |  | +			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
 | 
	
		
			
				|  |  | +	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
 | 
	
		
			
				|  |  | +			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
 | 
	
		
			
				|  |  | +	.sysc_fields	= &omap_hwmod_sysc_type1,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +struct omap_hwmod_class omap2_dispc_hwmod_class = {
 | 
	
		
			
				|  |  | +	.name	= "dispc",
 | 
	
		
			
				|  |  | +	.sysc	= &omap2_dispc_sysc,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* OMAP2xxx Timer Common */
 | 
	
		
			
				|  |  | +static struct omap_hwmod_class_sysconfig omap2xxx_timer_sysc = {
 | 
	
		
			
				|  |  | +	.rev_offs	= 0x0000,
 | 
	
		
			
				|  |  | +	.sysc_offs	= 0x0010,
 | 
	
		
			
				|  |  | +	.syss_offs	= 0x0014,
 | 
	
		
			
				|  |  | +	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
 | 
	
		
			
				|  |  | +			   SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
 | 
	
		
			
				|  |  | +			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
 | 
	
		
			
				|  |  | +	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
 | 
	
		
			
				|  |  | +	.clockact       = CLOCKACT_TEST_ICLK,
 | 
	
		
			
				|  |  | +	.sysc_fields	= &omap_hwmod_sysc_type1,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +struct omap_hwmod_class omap2xxx_timer_hwmod_class = {
 | 
	
		
			
				|  |  | +	.name	= "timer",
 | 
	
		
			
				|  |  | +	.sysc	= &omap2xxx_timer_sysc,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * 'wd_timer' class
 | 
	
		
			
				|  |  | + * 32-bit watchdog upward counter that generates a pulse on the reset pin on
 | 
	
		
			
				|  |  | + * overflow condition
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod_class_sysconfig omap2xxx_wd_timer_sysc = {
 | 
	
		
			
				|  |  | +	.rev_offs	= 0x0000,
 | 
	
		
			
				|  |  | +	.sysc_offs	= 0x0010,
 | 
	
		
			
				|  |  | +	.syss_offs	= 0x0014,
 | 
	
		
			
				|  |  | +	.sysc_flags	= (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
 | 
	
		
			
				|  |  | +			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
 | 
	
		
			
				|  |  | +	.sysc_fields	= &omap_hwmod_sysc_type1,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +struct omap_hwmod_class omap2xxx_wd_timer_hwmod_class = {
 | 
	
		
			
				|  |  | +	.name		= "wd_timer",
 | 
	
		
			
				|  |  | +	.sysc		= &omap2xxx_wd_timer_sysc,
 | 
	
		
			
				|  |  | +	.pre_shutdown	= &omap2_wd_timer_disable,
 | 
	
		
			
				|  |  | +	.reset		= &omap2_wd_timer_reset,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * 'gpio' class
 | 
	
		
			
				|  |  | + * general purpose io module
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +static struct omap_hwmod_class_sysconfig omap2xxx_gpio_sysc = {
 | 
	
		
			
				|  |  | +	.rev_offs	= 0x0000,
 | 
	
		
			
				|  |  | +	.sysc_offs	= 0x0010,
 | 
	
		
			
				|  |  | +	.syss_offs	= 0x0014,
 | 
	
		
			
				|  |  | +	.sysc_flags	= (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
 | 
	
		
			
				|  |  | +			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
 | 
	
		
			
				|  |  | +			   SYSS_HAS_RESET_STATUS),
 |