diff options
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod_3xxx_data.c')
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 654 | 
1 files changed, 131 insertions, 523 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 909a84de668..1a52716e48b 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c @@ -1,7 +1,7 @@  /*   * omap_hwmod_3xxx_data.c - hardware modules present on the OMAP3xxx chips   * - * Copyright (C) 2009-2010 Nokia Corporation + * Copyright (C) 2009-2011 Nokia Corporation   * Paul Walmsley   *   * This program is free software; you can redistribute it and/or modify @@ -103,6 +103,7 @@ static struct omap_hwmod_ocp_if omap3xxx_l3_main__l4_per = {  static struct omap_hwmod_irq_info omap3xxx_l3_main_irqs[] = {  	{ .irq = INT_34XX_L3_DBG_IRQ },  	{ .irq = INT_34XX_L3_APP_IRQ }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap3xxx_l3_main_addrs[] = { @@ -111,6 +112,7 @@ static struct omap_hwmod_addr_space omap3xxx_l3_main_addrs[] = {  		.pa_end         = 0x6800ffff,  		.flags          = ADDR_TYPE_RT,  	}, +	{ }  };  /* MPU -> L3 interface */ @@ -118,7 +120,6 @@ static struct omap_hwmod_ocp_if omap3xxx_mpu__l3_main = {  	.master   = &omap3xxx_mpu_hwmod,  	.slave    = &omap3xxx_l3_main_hwmod,  	.addr     = omap3xxx_l3_main_addrs, -	.addr_cnt = ARRAY_SIZE(omap3xxx_l3_main_addrs),  	.user	= OCP_USER_MPU,  }; @@ -150,8 +151,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_l3_main_masters[] = {  static struct omap_hwmod omap3xxx_l3_main_hwmod = {  	.name		= "l3_main",  	.class		= &l3_hwmod_class, -	.mpu_irqs       = omap3xxx_l3_main_irqs, -	.mpu_irqs_cnt   = ARRAY_SIZE(omap3xxx_l3_main_irqs), +	.mpu_irqs	= omap3xxx_l3_main_irqs,  	.masters	= omap3xxx_l3_main_masters,  	.masters_cnt	= ARRAY_SIZE(omap3xxx_l3_main_masters),  	.slaves		= omap3xxx_l3_main_slaves, @@ -190,39 +190,21 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__l4_wkup = {  };  /* L4 CORE -> MMC1 interface */ -static struct omap_hwmod_addr_space omap3xxx_mmc1_addr_space[] = { -	{ -		.pa_start	= 0x4809c000, -		.pa_end		= 0x4809c1ff, -		.flags		= ADDR_TYPE_RT, -	}, -}; -  static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc1 = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_mmc1_hwmod,  	.clk		= "mmchs1_ick", -	.addr		= omap3xxx_mmc1_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mmc1_addr_space), +	.addr		= omap2430_mmc1_addr_space,  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  	.flags		= OMAP_FIREWALL_L4  };  /* L4 CORE -> MMC2 interface */ -static struct omap_hwmod_addr_space omap3xxx_mmc2_addr_space[] = { -	{ -		.pa_start	= 0x480b4000, -		.pa_end		= 0x480b41ff, -		.flags		= ADDR_TYPE_RT, -	}, -}; -  static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc2 = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_mmc2_hwmod,  	.clk		= "mmchs2_ick", -	.addr		= omap3xxx_mmc2_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mmc2_addr_space), +	.addr		= omap2430_mmc2_addr_space,  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  	.flags		= OMAP_FIREWALL_L4  }; @@ -234,6 +216,7 @@ static struct omap_hwmod_addr_space omap3xxx_mmc3_addr_space[] = {  		.pa_end		= 0x480ad1ff,  		.flags		= ADDR_TYPE_RT,  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc3 = { @@ -241,7 +224,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc3 = {  	.slave		= &omap3xxx_mmc3_hwmod,  	.clk		= "mmchs3_ick",  	.addr		= omap3xxx_mmc3_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mmc3_addr_space),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  	.flags		= OMAP_FIREWALL_L4  }; @@ -253,6 +235,7 @@ static struct omap_hwmod_addr_space omap3xxx_uart1_addr_space[] = {  		.pa_end		= OMAP3_UART1_BASE + SZ_8K - 1,  		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3_l4_core__uart1 = { @@ -260,7 +243,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__uart1 = {  	.slave		= &omap3xxx_uart1_hwmod,  	.clk		= "uart1_ick",  	.addr		= omap3xxx_uart1_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_uart1_addr_space),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -271,6 +253,7 @@ static struct omap_hwmod_addr_space omap3xxx_uart2_addr_space[] = {  		.pa_end		= OMAP3_UART2_BASE + SZ_1K - 1,  		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3_l4_core__uart2 = { @@ -278,7 +261,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__uart2 = {  	.slave		= &omap3xxx_uart2_hwmod,  	.clk		= "uart2_ick",  	.addr		= omap3xxx_uart2_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_uart2_addr_space),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -289,6 +271,7 @@ static struct omap_hwmod_addr_space omap3xxx_uart3_addr_space[] = {  		.pa_end		= OMAP3_UART3_BASE + SZ_1K - 1,  		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3_l4_per__uart3 = { @@ -296,7 +279,6 @@ static struct omap_hwmod_ocp_if omap3_l4_per__uart3 = {  	.slave		= &omap3xxx_uart3_hwmod,  	.clk		= "uart3_ick",  	.addr		= omap3xxx_uart3_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_uart3_addr_space),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -307,6 +289,7 @@ static struct omap_hwmod_addr_space omap3xxx_uart4_addr_space[] = {  		.pa_end		= OMAP3_UART4_BASE + SZ_1K - 1,  		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3_l4_per__uart4 = { @@ -314,28 +297,15 @@ static struct omap_hwmod_ocp_if omap3_l4_per__uart4 = {  	.slave		= &omap3xxx_uart4_hwmod,  	.clk		= "uart4_ick",  	.addr		= omap3xxx_uart4_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_uart4_addr_space),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; -/* I2C IP block address space length (in bytes) */ -#define OMAP2_I2C_AS_LEN		128 -  /* L4 CORE -> I2C1 interface */ -static struct omap_hwmod_addr_space omap3xxx_i2c1_addr_space[] = { -	{ -		.pa_start	= 0x48070000, -		.pa_end		= 0x48070000 + OMAP2_I2C_AS_LEN - 1, -		.flags		= ADDR_TYPE_RT, -	}, -}; -  static struct omap_hwmod_ocp_if omap3_l4_core__i2c1 = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_i2c1_hwmod,  	.clk		= "i2c1_ick", -	.addr		= omap3xxx_i2c1_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_i2c1_addr_space), +	.addr		= omap2_i2c1_addr_space,  	.fw = {  		.omap2 = {  			.l4_fw_region  = OMAP3_L4_CORE_FW_I2C1_REGION, @@ -347,20 +317,11 @@ static struct omap_hwmod_ocp_if omap3_l4_core__i2c1 = {  };  /* L4 CORE -> I2C2 interface */ -static struct omap_hwmod_addr_space omap3xxx_i2c2_addr_space[] = { -	{ -		.pa_start	= 0x48072000, -		.pa_end		= 0x48072000 + OMAP2_I2C_AS_LEN - 1, -		.flags		= ADDR_TYPE_RT, -	}, -}; -  static struct omap_hwmod_ocp_if omap3_l4_core__i2c2 = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_i2c2_hwmod,  	.clk		= "i2c2_ick", -	.addr		= omap3xxx_i2c2_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_i2c2_addr_space), +	.addr		= omap2_i2c2_addr_space,  	.fw = {  		.omap2 = {  			.l4_fw_region  = OMAP3_L4_CORE_FW_I2C2_REGION, @@ -375,9 +336,10 @@ static struct omap_hwmod_ocp_if omap3_l4_core__i2c2 = {  static struct omap_hwmod_addr_space omap3xxx_i2c3_addr_space[] = {  	{  		.pa_start	= 0x48060000, -		.pa_end		= 0x48060000 + OMAP2_I2C_AS_LEN - 1, +		.pa_end		= 0x48060000 + SZ_128 - 1,  		.flags		= ADDR_TYPE_RT,  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3_l4_core__i2c3 = { @@ -385,7 +347,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__i2c3 = {  	.slave		= &omap3xxx_i2c3_hwmod,  	.clk		= "i2c3_ick",  	.addr		= omap3xxx_i2c3_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_i2c3_addr_space),  	.fw = {  		.omap2 = {  			.l4_fw_region  = OMAP3_L4_CORE_FW_I2C3_REGION, @@ -403,6 +364,7 @@ static struct omap_hwmod_addr_space omap3_sr1_addr_space[] = {  		.pa_end		= OMAP34XX_SR1_BASE + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT,  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3_l4_core__sr1 = { @@ -410,7 +372,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__sr1 = {  	.slave		= &omap34xx_sr1_hwmod,  	.clk		= "sr_l4_ick",  	.addr		= omap3_sr1_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3_sr1_addr_space),  	.user		= OCP_USER_MPU,  }; @@ -421,6 +382,7 @@ static struct omap_hwmod_addr_space omap3_sr2_addr_space[] = {  		.pa_end		= OMAP34XX_SR2_BASE + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT,  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3_l4_core__sr2 = { @@ -428,7 +390,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__sr2 = {  	.slave		= &omap34xx_sr2_hwmod,  	.clk		= "sr_l4_ick",  	.addr		= omap3_sr2_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap3_sr2_addr_space),  	.user		= OCP_USER_MPU,  }; @@ -442,6 +403,7 @@ static struct omap_hwmod_addr_space omap3xxx_usbhsotg_addrs[] = {  		.pa_end		= OMAP34XX_HSUSB_OTG_BASE + SZ_4K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_core -> usbhsotg  */ @@ -450,7 +412,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__usbhsotg = {  	.slave		= &omap3xxx_usbhsotg_hwmod,  	.clk		= "l4_ick",  	.addr		= omap3xxx_usbhsotg_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_usbhsotg_addrs),  	.user		= OCP_USER_MPU,  }; @@ -468,6 +429,7 @@ static struct omap_hwmod_addr_space am35xx_usbhsotg_addrs[] = {  		.pa_end		= AM35XX_IPSS_USBOTGSS_BASE + SZ_4K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_core -> usbhsotg  */ @@ -476,7 +438,6 @@ static struct omap_hwmod_ocp_if am35xx_l4_core__usbhsotg = {  	.slave		= &am35xx_usbhsotg_hwmod,  	.clk		= "l4_ick",  	.addr		= am35xx_usbhsotg_addrs, -	.addr_cnt	= ARRAY_SIZE(am35xx_usbhsotg_addrs),  	.user		= OCP_USER_MPU,  }; @@ -611,9 +572,6 @@ static struct omap_hwmod_class omap3xxx_timer_hwmod_class = {  /* timer1 */  static struct omap_hwmod omap3xxx_timer1_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer1_mpu_irqs[] = { -	{ .irq = 37, }, -};  static struct omap_hwmod_addr_space omap3xxx_timer1_addrs[] = {  	{ @@ -621,6 +579,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer1_addrs[] = {  		.pa_end		= 0x48318000 + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_wkup -> timer1 */ @@ -629,7 +588,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__timer1 = {  	.slave		= &omap3xxx_timer1_hwmod,  	.clk		= "gpt1_ick",  	.addr		= omap3xxx_timer1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer1_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -641,8 +599,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer1_slaves[] = {  /* timer1 hwmod */  static struct omap_hwmod omap3xxx_timer1_hwmod = {  	.name		= "timer1", -	.mpu_irqs	= omap3xxx_timer1_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer1_mpu_irqs), +	.mpu_irqs	= omap2_timer1_mpu_irqs,  	.main_clk	= "gpt1_fck",  	.prcm		= {  		.omap2 = { @@ -661,9 +618,6 @@ static struct omap_hwmod omap3xxx_timer1_hwmod = {  /* timer2 */  static struct omap_hwmod omap3xxx_timer2_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer2_mpu_irqs[] = { -	{ .irq = 38, }, -};  static struct omap_hwmod_addr_space omap3xxx_timer2_addrs[] = {  	{ @@ -671,6 +625,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer2_addrs[] = {  		.pa_end		= 0x49032000 + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer2 */ @@ -679,7 +634,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer2 = {  	.slave		= &omap3xxx_timer2_hwmod,  	.clk		= "gpt2_ick",  	.addr		= omap3xxx_timer2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -691,8 +645,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer2_slaves[] = {  /* timer2 hwmod */  static struct omap_hwmod omap3xxx_timer2_hwmod = {  	.name		= "timer2", -	.mpu_irqs	= omap3xxx_timer2_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer2_mpu_irqs), +	.mpu_irqs	= omap2_timer2_mpu_irqs,  	.main_clk	= "gpt2_fck",  	.prcm		= {  		.omap2 = { @@ -711,9 +664,6 @@ static struct omap_hwmod omap3xxx_timer2_hwmod = {  /* timer3 */  static struct omap_hwmod omap3xxx_timer3_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer3_mpu_irqs[] = { -	{ .irq = 39, }, -};  static struct omap_hwmod_addr_space omap3xxx_timer3_addrs[] = {  	{ @@ -721,6 +671,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer3_addrs[] = {  		.pa_end		= 0x49034000 + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer3 */ @@ -729,7 +680,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer3 = {  	.slave		= &omap3xxx_timer3_hwmod,  	.clk		= "gpt3_ick",  	.addr		= omap3xxx_timer3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer3_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -741,8 +691,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer3_slaves[] = {  /* timer3 hwmod */  static struct omap_hwmod omap3xxx_timer3_hwmod = {  	.name		= "timer3", -	.mpu_irqs	= omap3xxx_timer3_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer3_mpu_irqs), +	.mpu_irqs	= omap2_timer3_mpu_irqs,  	.main_clk	= "gpt3_fck",  	.prcm		= {  		.omap2 = { @@ -761,9 +710,6 @@ static struct omap_hwmod omap3xxx_timer3_hwmod = {  /* timer4 */  static struct omap_hwmod omap3xxx_timer4_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer4_mpu_irqs[] = { -	{ .irq = 40, }, -};  static struct omap_hwmod_addr_space omap3xxx_timer4_addrs[] = {  	{ @@ -771,6 +717,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer4_addrs[] = {  		.pa_end		= 0x49036000 + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer4 */ @@ -779,7 +726,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer4 = {  	.slave		= &omap3xxx_timer4_hwmod,  	.clk		= "gpt4_ick",  	.addr		= omap3xxx_timer4_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer4_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -791,8 +737,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer4_slaves[] = {  /* timer4 hwmod */  static struct omap_hwmod omap3xxx_timer4_hwmod = {  	.name		= "timer4", -	.mpu_irqs	= omap3xxx_timer4_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer4_mpu_irqs), +	.mpu_irqs	= omap2_timer4_mpu_irqs,  	.main_clk	= "gpt4_fck",  	.prcm		= {  		.omap2 = { @@ -811,9 +756,6 @@ static struct omap_hwmod omap3xxx_timer4_hwmod = {  /* timer5 */  static struct omap_hwmod omap3xxx_timer5_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer5_mpu_irqs[] = { -	{ .irq = 41, }, -};  static struct omap_hwmod_addr_space omap3xxx_timer5_addrs[] = {  	{ @@ -821,6 +763,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer5_addrs[] = {  		.pa_end		= 0x49038000 + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer5 */ @@ -829,7 +772,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer5 = {  	.slave		= &omap3xxx_timer5_hwmod,  	.clk		= "gpt5_ick",  	.addr		= omap3xxx_timer5_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer5_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -841,8 +783,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer5_slaves[] = {  /* timer5 hwmod */  static struct omap_hwmod omap3xxx_timer5_hwmod = {  	.name		= "timer5", -	.mpu_irqs	= omap3xxx_timer5_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer5_mpu_irqs), +	.mpu_irqs	= omap2_timer5_mpu_irqs,  	.main_clk	= "gpt5_fck",  	.prcm		= {  		.omap2 = { @@ -861,9 +802,6 @@ static struct omap_hwmod omap3xxx_timer5_hwmod = {  /* timer6 */  static struct omap_hwmod omap3xxx_timer6_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer6_mpu_irqs[] = { -	{ .irq = 42, }, -};  static struct omap_hwmod_addr_space omap3xxx_timer6_addrs[] = {  	{ @@ -871,6 +809,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer6_addrs[] = {  		.pa_end		= 0x4903A000 + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer6 */ @@ -879,7 +818,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer6 = {  	.slave		= &omap3xxx_timer6_hwmod,  	.clk		= "gpt6_ick",  	.addr		= omap3xxx_timer6_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer6_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -891,8 +829,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer6_slaves[] = {  /* timer6 hwmod */  static struct omap_hwmod omap3xxx_timer6_hwmod = {  	.name		= "timer6", -	.mpu_irqs	= omap3xxx_timer6_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer6_mpu_irqs), +	.mpu_irqs	= omap2_timer6_mpu_irqs,  	.main_clk	= "gpt6_fck",  	.prcm		= {  		.omap2 = { @@ -911,9 +848,6 @@ static struct omap_hwmod omap3xxx_timer6_hwmod = {  /* timer7 */  static struct omap_hwmod omap3xxx_timer7_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer7_mpu_irqs[] = { -	{ .irq = 43, }, -};  static struct omap_hwmod_addr_space omap3xxx_timer7_addrs[] = {  	{ @@ -921,6 +855,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer7_addrs[] = {  		.pa_end		= 0x4903C000 + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer7 */ @@ -929,7 +864,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer7 = {  	.slave		= &omap3xxx_timer7_hwmod,  	.clk		= "gpt7_ick",  	.addr		= omap3xxx_timer7_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer7_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -941,8 +875,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer7_slaves[] = {  /* timer7 hwmod */  static struct omap_hwmod omap3xxx_timer7_hwmod = {  	.name		= "timer7", -	.mpu_irqs	= omap3xxx_timer7_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer7_mpu_irqs), +	.mpu_irqs	= omap2_timer7_mpu_irqs,  	.main_clk	= "gpt7_fck",  	.prcm		= {  		.omap2 = { @@ -961,9 +894,6 @@ static struct omap_hwmod omap3xxx_timer7_hwmod = {  /* timer8 */  static struct omap_hwmod omap3xxx_timer8_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer8_mpu_irqs[] = { -	{ .irq = 44, }, -};  static struct omap_hwmod_addr_space omap3xxx_timer8_addrs[] = {  	{ @@ -971,6 +901,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer8_addrs[] = {  		.pa_end		= 0x4903E000 + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer8 */ @@ -979,7 +910,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer8 = {  	.slave		= &omap3xxx_timer8_hwmod,  	.clk		= "gpt8_ick",  	.addr		= omap3xxx_timer8_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer8_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -991,8 +921,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer8_slaves[] = {  /* timer8 hwmod */  static struct omap_hwmod omap3xxx_timer8_hwmod = {  	.name		= "timer8", -	.mpu_irqs	= omap3xxx_timer8_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer8_mpu_irqs), +	.mpu_irqs	= omap2_timer8_mpu_irqs,  	.main_clk	= "gpt8_fck",  	.prcm		= {  		.omap2 = { @@ -1011,9 +940,6 @@ static struct omap_hwmod omap3xxx_timer8_hwmod = {  /* timer9 */  static struct omap_hwmod omap3xxx_timer9_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer9_mpu_irqs[] = { -	{ .irq = 45, }, -};  static struct omap_hwmod_addr_space omap3xxx_timer9_addrs[] = {  	{ @@ -1021,6 +947,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer9_addrs[] = {  		.pa_end		= 0x49040000 + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer9 */ @@ -1029,7 +956,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer9 = {  	.slave		= &omap3xxx_timer9_hwmod,  	.clk		= "gpt9_ick",  	.addr		= omap3xxx_timer9_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer9_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -1041,8 +967,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer9_slaves[] = {  /* timer9 hwmod */  static struct omap_hwmod omap3xxx_timer9_hwmod = {  	.name		= "timer9", -	.mpu_irqs	= omap3xxx_timer9_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer9_mpu_irqs), +	.mpu_irqs	= omap2_timer9_mpu_irqs,  	.main_clk	= "gpt9_fck",  	.prcm		= {  		.omap2 = { @@ -1061,25 +986,13 @@ static struct omap_hwmod omap3xxx_timer9_hwmod = {  /* timer10 */  static struct omap_hwmod omap3xxx_timer10_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer10_mpu_irqs[] = { -	{ .irq = 46, }, -}; - -static struct omap_hwmod_addr_space omap3xxx_timer10_addrs[] = { -	{ -		.pa_start	= 0x48086000, -		.pa_end		= 0x48086000 + SZ_1K - 1, -		.flags		= ADDR_TYPE_RT -	}, -};  /* l4_core -> timer10 */  static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer10 = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_timer10_hwmod,  	.clk		= "gpt10_ick", -	.addr		= omap3xxx_timer10_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer10_addrs), +	.addr		= omap2_timer10_addrs,  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -1091,8 +1004,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer10_slaves[] = {  /* timer10 hwmod */  static struct omap_hwmod omap3xxx_timer10_hwmod = {  	.name		= "timer10", -	.mpu_irqs	= omap3xxx_timer10_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer10_mpu_irqs), +	.mpu_irqs	= omap2_timer10_mpu_irqs,  	.main_clk	= "gpt10_fck",  	.prcm		= {  		.omap2 = { @@ -1111,25 +1023,13 @@ static struct omap_hwmod omap3xxx_timer10_hwmod = {  /* timer11 */  static struct omap_hwmod omap3xxx_timer11_hwmod; -static struct omap_hwmod_irq_info omap3xxx_timer11_mpu_irqs[] = { -	{ .irq = 47, }, -}; - -static struct omap_hwmod_addr_space omap3xxx_timer11_addrs[] = { -	{ -		.pa_start	= 0x48088000, -		.pa_end		= 0x48088000 + SZ_1K - 1, -		.flags		= ADDR_TYPE_RT -	}, -};  /* l4_core -> timer11 */  static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer11 = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_timer11_hwmod,  	.clk		= "gpt11_ick", -	.addr		= omap3xxx_timer11_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer11_addrs), +	.addr		= omap2_timer11_addrs,  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -1141,8 +1041,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer11_slaves[] = {  /* timer11 hwmod */  static struct omap_hwmod omap3xxx_timer11_hwmod = {  	.name		= "timer11", -	.mpu_irqs	= omap3xxx_timer11_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer11_mpu_irqs), +	.mpu_irqs	= omap2_timer11_mpu_irqs,  	.main_clk	= "gpt11_fck",  	.prcm		= {  		.omap2 = { @@ -1163,6 +1062,7 @@ static struct omap_hwmod omap3xxx_timer11_hwmod = {  static struct omap_hwmod omap3xxx_timer12_hwmod;  static struct omap_hwmod_irq_info omap3xxx_timer12_mpu_irqs[] = {  	{ .irq = 95, }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap3xxx_timer12_addrs[] = { @@ -1171,6 +1071,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer12_addrs[] = {  		.pa_end		= 0x48304000 + SZ_1K - 1,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_core -> timer12 */ @@ -1179,7 +1080,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer12 = {  	.slave		= &omap3xxx_timer12_hwmod,  	.clk		= "gpt12_ick",  	.addr		= omap3xxx_timer12_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer12_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -1192,7 +1092,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer12_slaves[] = {  static struct omap_hwmod omap3xxx_timer12_hwmod = {  	.name		= "timer12",  	.mpu_irqs	= omap3xxx_timer12_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer12_mpu_irqs),  	.main_clk	= "gpt12_fck",  	.prcm		= {  		.omap2 = { @@ -1216,6 +1115,7 @@ static struct omap_hwmod_addr_space omap3xxx_wd_timer2_addrs[] = {  		.pa_end		= 0x4831407f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__wd_timer2 = { @@ -1223,7 +1123,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__wd_timer2 = {  	.slave		= &omap3xxx_wd_timer2_hwmod,  	.clk		= "wdt2_ick",  	.addr		= omap3xxx_wd_timer2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_wd_timer2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -1291,45 +1190,16 @@ static struct omap_hwmod omap3xxx_wd_timer2_hwmod = {  	.flags		= HWMOD_SWSUP_SIDLE,  }; -/* UART common */ - -static struct omap_hwmod_class_sysconfig uart_sysc = { -	.rev_offs	= 0x50, -	.sysc_offs	= 0x54, -	.syss_offs	= 0x58, -	.sysc_flags	= (SYSC_HAS_SIDLEMODE | -			   SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET | -			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS), -	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), -	.sysc_fields    = &omap_hwmod_sysc_type1, -}; - -static struct omap_hwmod_class uart_class = { -	.name = "uart", -	.sysc = &uart_sysc, -}; -  /* UART1 */ -static struct omap_hwmod_irq_info uart1_mpu_irqs[] = { -	{ .irq = INT_24XX_UART1_IRQ, }, -}; - -static struct omap_hwmod_dma_info uart1_sdma_reqs[] = { -	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART1_TX, }, -	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART1_RX, }, -}; -  static struct omap_hwmod_ocp_if *omap3xxx_uart1_slaves[] = {  	&omap3_l4_core__uart1,  };  static struct omap_hwmod omap3xxx_uart1_hwmod = {  	.name		= "uart1", -	.mpu_irqs	= uart1_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(uart1_mpu_irqs), -	.sdma_reqs	= uart1_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(uart1_sdma_reqs), +	.mpu_irqs	= omap2_uart1_mpu_irqs, +	.sdma_reqs	= omap2_uart1_sdma_reqs,  	.main_clk	= "uart1_fck",  	.prcm		= {  		.omap2 = { @@ -1342,31 +1212,20 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = {  	},  	.slaves		= omap3xxx_uart1_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap3xxx_uart1_slaves), -	.class		= &uart_class, +	.class		= &omap2_uart_class,  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),  };  /* UART2 */ -static struct omap_hwmod_irq_info uart2_mpu_irqs[] = { -	{ .irq = INT_24XX_UART2_IRQ, }, -}; - -static struct omap_hwmod_dma_info uart2_sdma_reqs[] = { -	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART2_TX, }, -	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART2_RX, }, -}; -  static struct omap_hwmod_ocp_if *omap3xxx_uart2_slaves[] = {  	&omap3_l4_core__uart2,  };  static struct omap_hwmod omap3xxx_uart2_hwmod = {  	.name		= "uart2", -	.mpu_irqs	= uart2_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(uart2_mpu_irqs), -	.sdma_reqs	= uart2_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(uart2_sdma_reqs), +	.mpu_irqs	= omap2_uart2_mpu_irqs, +	.sdma_reqs	= omap2_uart2_sdma_reqs,  	.main_clk	= "uart2_fck",  	.prcm		= {  		.omap2 = { @@ -1379,31 +1238,20 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = {  	},  	.slaves		= omap3xxx_uart2_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap3xxx_uart2_slaves), -	.class		= &uart_class, +	.class		= &omap2_uart_class,  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),  };  /* UART3 */ -static struct omap_hwmod_irq_info uart3_mpu_irqs[] = { -	{ .irq = INT_24XX_UART3_IRQ, }, -}; - -static struct omap_hwmod_dma_info uart3_sdma_reqs[] = { -	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART3_TX, }, -	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART3_RX, }, -}; -  static struct omap_hwmod_ocp_if *omap3xxx_uart3_slaves[] = {  	&omap3_l4_per__uart3,  };  static struct omap_hwmod omap3xxx_uart3_hwmod = {  	.name		= "uart3", -	.mpu_irqs	= uart3_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(uart3_mpu_irqs), -	.sdma_reqs	= uart3_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(uart3_sdma_reqs), +	.mpu_irqs	= omap2_uart3_mpu_irqs, +	.sdma_reqs	= omap2_uart3_sdma_reqs,  	.main_clk	= "uart3_fck",  	.prcm		= {  		.omap2 = { @@ -1416,7 +1264,7 @@ static struct omap_hwmod omap3xxx_uart3_hwmod = {  	},  	.slaves		= omap3xxx_uart3_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap3xxx_uart3_slaves), -	.class		= &uart_class, +	.class		= &omap2_uart_class,  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),  }; @@ -1424,11 +1272,13 @@ static struct omap_hwmod omap3xxx_uart3_hwmod = {  static struct omap_hwmod_irq_info uart4_mpu_irqs[] = {  	{ .irq = INT_36XX_UART4_IRQ, }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info uart4_sdma_reqs[] = {  	{ .name = "rx",	.dma_req = OMAP36XX_DMA_UART4_RX, },  	{ .name = "tx",	.dma_req = OMAP36XX_DMA_UART4_TX, }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_ocp_if *omap3xxx_uart4_slaves[] = { @@ -1438,9 +1288,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart4_slaves[] = {  static struct omap_hwmod omap3xxx_uart4_hwmod = {  	.name		= "uart4",  	.mpu_irqs	= uart4_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(uart4_mpu_irqs),  	.sdma_reqs	= uart4_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(uart4_sdma_reqs),  	.main_clk	= "uart4_fck",  	.prcm		= {  		.omap2 = { @@ -1453,7 +1301,7 @@ static struct omap_hwmod omap3xxx_uart4_hwmod = {  	},  	.slaves		= omap3xxx_uart4_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap3xxx_uart4_slaves), -	.class		= &uart_class, +	.class		= &omap2_uart_class,  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3630ES1),  }; @@ -1462,27 +1310,10 @@ static struct omap_hwmod_class i2c_class = {  	.sysc = &i2c_sysc,  }; -/* - * 'dss' class - * display sub-system - */ - -static struct omap_hwmod_class_sysconfig omap3xxx_dss_sysc = { -	.rev_offs	= 0x0000, -	.sysc_offs	= 0x0010, -	.syss_offs	= 0x0014, -	.sysc_flags	= (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE), -	.sysc_fields	= &omap_hwmod_sysc_type1, -}; - -static struct omap_hwmod_class omap3xxx_dss_hwmod_class = { -	.name = "dss", -	.sysc = &omap3xxx_dss_sysc, -}; -  static struct omap_hwmod_dma_info omap3xxx_dss_sdma_chs[] = {  	{ .name = "dispc", .dma_req = 5 },  	{ .name = "dsi1", .dma_req = 74 }, +	{ .dma_req = -1 }  };  /* dss */ @@ -1491,21 +1322,12 @@ static struct omap_hwmod_ocp_if *omap3xxx_dss_masters[] = {  	&omap3xxx_dss__l3,  }; -static struct omap_hwmod_addr_space omap3xxx_dss_addrs[] = { -	{ -		.pa_start	= 0x48050000, -		.pa_end		= 0x480503FF, -		.flags		= ADDR_TYPE_RT -	}, -}; -  /* l4_core -> dss */  static struct omap_hwmod_ocp_if omap3430es1_l4_core__dss = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3430es1_dss_core_hwmod,  	.clk		= "dss_ick", -	.addr		= omap3xxx_dss_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_addrs), +	.addr		= omap2_dss_addrs,  	.fw = {  		.omap2 = {  			.l4_fw_region  = OMAP3ES1_L4_CORE_FW_DSS_CORE_REGION, @@ -1520,8 +1342,7 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_dss_core_hwmod,  	.clk		= "dss_ick", -	.addr		= omap3xxx_dss_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_addrs), +	.addr		= omap2_dss_addrs,  	.fw = {  		.omap2 = {  			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_CORE_REGION, @@ -1549,11 +1370,9 @@ static struct omap_hwmod_opt_clk dss_opt_clks[] = {  static struct omap_hwmod omap3430es1_dss_core_hwmod = {  	.name		= "dss_core", -	.class		= &omap3xxx_dss_hwmod_class, +	.class		= &omap2_dss_hwmod_class,  	.main_clk	= "dss1_alwon_fck", /* instead of dss_fck */  	.sdma_reqs	= omap3xxx_dss_sdma_chs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_dss_sdma_chs), -  	.prcm		= {  		.omap2 = {  			.prcm_reg_id = 1, @@ -1575,11 +1394,9 @@ static struct omap_hwmod omap3430es1_dss_core_hwmod = {  static struct omap_hwmod omap3xxx_dss_core_hwmod = {  	.name		= "dss_core", -	.class		= &omap3xxx_dss_hwmod_class, +	.class		= &omap2_dss_hwmod_class,  	.main_clk	= "dss1_alwon_fck", /* instead of dss_fck */  	.sdma_reqs	= omap3xxx_dss_sdma_chs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_dss_sdma_chs), -  	.prcm		= {  		.omap2 = {  			.prcm_reg_id = 1, @@ -1600,47 +1417,12 @@ static struct omap_hwmod omap3xxx_dss_core_hwmod = {  				CHIP_IS_OMAP3630ES1 | CHIP_GE_OMAP3630ES1_1),  }; -/* - * 'dispc' class - * display controller - */ - -static struct omap_hwmod_class_sysconfig omap3xxx_dispc_sysc = { -	.rev_offs	= 0x0000, -	.sysc_offs	= 0x0010, -	.syss_offs	= 0x0014, -	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_CLOCKACTIVITY | -			   SYSC_HAS_MIDLEMODE | SYSC_HAS_ENAWAKEUP | -			   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, -}; - -static struct omap_hwmod_class omap3xxx_dispc_hwmod_class = { -	.name = "dispc", -	.sysc = &omap3xxx_dispc_sysc, -}; - -static struct omap_hwmod_irq_info omap3xxx_dispc_irqs[] = { -	{ .irq = 25 }, -}; - -static struct omap_hwmod_addr_space omap3xxx_dss_dispc_addrs[] = { -	{ -		.pa_start	= 0x48050400, -		.pa_end		= 0x480507FF, -		.flags		= ADDR_TYPE_RT -	}, -}; -  /* l4_core -> dss_dispc */  static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_dispc = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_dss_dispc_hwmod,  	.clk		= "dss_ick", -	.addr		= omap3xxx_dss_dispc_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_dispc_addrs), +	.addr		= omap2_dss_dispc_addrs,  	.fw = {  		.omap2 = {  			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_DISPC_REGION, @@ -1658,9 +1440,8 @@ static struct omap_hwmod_ocp_if *omap3xxx_dss_dispc_slaves[] = {  static struct omap_hwmod omap3xxx_dss_dispc_hwmod = {  	.name		= "dss_dispc", -	.class		= &omap3xxx_dispc_hwmod_class, -	.mpu_irqs	= omap3xxx_dispc_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_dispc_irqs), +	.class		= &omap2_dispc_hwmod_class, +	.mpu_irqs	= omap2_dispc_irqs,  	.main_clk	= "dss1_alwon_fck",  	.prcm		= {  		.omap2 = { @@ -1688,6 +1469,7 @@ static struct omap_hwmod_class omap3xxx_dsi_hwmod_class = {  static struct omap_hwmod_irq_info omap3xxx_dsi1_irqs[] = {  	{ .irq = 25 }, +	{ .irq = -1 }  };  /* dss_dsi1 */ @@ -1697,6 +1479,7 @@ static struct omap_hwmod_addr_space omap3xxx_dss_dsi1_addrs[] = {  		.pa_end		= 0x4804FFFF,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_core -> dss_dsi1 */ @@ -1704,7 +1487,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_dsi1 = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_dss_dsi1_hwmod,  	.addr		= omap3xxx_dss_dsi1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_dsi1_addrs),  	.fw = {  		.omap2 = {  			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_DSI_REGION, @@ -1724,7 +1506,6 @@ static struct omap_hwmod omap3xxx_dss_dsi1_hwmod = {  	.name		= "dss_dsi1",  	.class		= &omap3xxx_dsi_hwmod_class,  	.mpu_irqs	= omap3xxx_dsi1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_dsi1_irqs),  	.main_clk	= "dss1_alwon_fck",  	.prcm		= {  		.omap2 = { @@ -1741,41 +1522,12 @@ static struct omap_hwmod omap3xxx_dss_dsi1_hwmod = {  	.flags		= HWMOD_NO_IDLEST,  }; -/* - * 'rfbi' class - * remote frame buffer interface - */ - -static struct omap_hwmod_class_sysconfig omap3xxx_rfbi_sysc = { -	.rev_offs	= 0x0000, -	.sysc_offs	= 0x0010, -	.syss_offs	= 0x0014, -	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | -			   SYSC_HAS_AUTOIDLE), -	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), -	.sysc_fields	= &omap_hwmod_sysc_type1, -}; - -static struct omap_hwmod_class omap3xxx_rfbi_hwmod_class = { -	.name = "rfbi", -	.sysc = &omap3xxx_rfbi_sysc, -}; - -static struct omap_hwmod_addr_space omap3xxx_dss_rfbi_addrs[] = { -	{ -		.pa_start	= 0x48050800, -		.pa_end		= 0x48050BFF, -		.flags		= ADDR_TYPE_RT -	}, -}; -  /* l4_core -> dss_rfbi */  static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_rfbi = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_dss_rfbi_hwmod,  	.clk		= "dss_ick", -	.addr		= omap3xxx_dss_rfbi_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_rfbi_addrs), +	.addr		= omap2_dss_rfbi_addrs,  	.fw = {  		.omap2 = {  			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_RFBI_REGION, @@ -1793,7 +1545,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_dss_rfbi_slaves[] = {  static struct omap_hwmod omap3xxx_dss_rfbi_hwmod = {  	.name		= "dss_rfbi", -	.class		= &omap3xxx_rfbi_hwmod_class, +	.class		= &omap2_rfbi_hwmod_class,  	.main_clk	= "dss1_alwon_fck",  	.prcm		= {  		.omap2 = { @@ -1810,31 +1562,12 @@ static struct omap_hwmod omap3xxx_dss_rfbi_hwmod = {  	.flags		= HWMOD_NO_IDLEST,  }; -/* - * 'venc' class - * video encoder - */ - -static struct omap_hwmod_class omap3xxx_venc_hwmod_class = { -	.name = "venc", -}; - -/* dss_venc */ -static struct omap_hwmod_addr_space omap3xxx_dss_venc_addrs[] = { -	{ -		.pa_start	= 0x48050C00, -		.pa_end		= 0x48050FFF, -		.flags		= ADDR_TYPE_RT -	}, -}; -  /* l4_core -> dss_venc */  static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_venc = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_dss_venc_hwmod,  	.clk		= "dss_tv_fck", -	.addr		= omap3xxx_dss_venc_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_venc_addrs), +	.addr		= omap2_dss_venc_addrs,  	.fw = {  		.omap2 = {  			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_VENC_REGION, @@ -1853,7 +1586,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_dss_venc_slaves[] = {  static struct omap_hwmod omap3xxx_dss_venc_hwmod = {  	.name		= "dss_venc", -	.class		= &omap3xxx_venc_hwmod_class, +	.class		= &omap2_venc_hwmod_class,  	.main_clk	= "dss1_alwon_fck",  	.prcm		= {  		.omap2 = { @@ -1876,25 +1609,14 @@ static struct omap_i2c_dev_attr i2c1_dev_attr = {  	.fifo_depth	= 8, /* bytes */  }; -static struct omap_hwmod_irq_info i2c1_mpu_irqs[] = { -	{ .irq = INT_24XX_I2C1_IRQ, }, -}; - -static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = { -	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX }, -	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX }, -}; -  static struct omap_hwmod_ocp_if *omap3xxx_i2c1_slaves[] = {  	&omap3_l4_core__i2c1,  };  static struct omap_hwmod omap3xxx_i2c1_hwmod = {  	.name		= "i2c1", -	.mpu_irqs	= i2c1_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(i2c1_mpu_irqs), -	.sdma_reqs	= i2c1_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(i2c1_sdma_reqs), +	.mpu_irqs	= omap2_i2c1_mpu_irqs, +	.sdma_reqs	= omap2_i2c1_sdma_reqs,  	.main_clk	= "i2c1_fck",  	.prcm		= {  		.omap2 = { @@ -1918,25 +1640,14 @@ static struct omap_i2c_dev_attr i2c2_dev_attr = {  	.fifo_depth	= 8, /* bytes */  }; -static struct omap_hwmod_irq_info i2c2_mpu_irqs[] = { -	{ .irq = INT_24XX_I2C2_IRQ, }, -}; - -static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = { -	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX }, -	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX }, -}; -  static struct omap_hwmod_ocp_if *omap3xxx_i2c2_slaves[] = {  	&omap3_l4_core__i2c2,  };  static struct omap_hwmod omap3xxx_i2c2_hwmod = {  	.name		= "i2c2", -	.mpu_irqs	= i2c2_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(i2c2_mpu_irqs), -	.sdma_reqs	= i2c2_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(i2c2_sdma_reqs), +	.mpu_irqs	= omap2_i2c2_mpu_irqs, +	.sdma_reqs	= omap2_i2c2_sdma_reqs,  	.main_clk	= "i2c2_fck",  	.prcm		= {  		.omap2 = { @@ -1962,11 +1673,13 @@ static struct omap_i2c_dev_attr i2c3_dev_attr = {  static struct omap_hwmod_irq_info i2c3_mpu_irqs[] = {  	{ .irq = INT_34XX_I2C3_IRQ, }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info i2c3_sdma_reqs[] = {  	{ .name = "tx", .dma_req = OMAP34XX_DMA_I2C3_TX },  	{ .name = "rx", .dma_req = OMAP34XX_DMA_I2C3_RX }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_ocp_if *omap3xxx_i2c3_slaves[] = { @@ -1976,9 +1689,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c3_slaves[] = {  static struct omap_hwmod omap3xxx_i2c3_hwmod = {  	.name		= "i2c3",  	.mpu_irqs	= i2c3_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(i2c3_mpu_irqs),  	.sdma_reqs	= i2c3_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(i2c3_sdma_reqs),  	.main_clk	= "i2c3_fck",  	.prcm		= {  		.omap2 = { @@ -2003,13 +1714,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio1_addrs[] = {  		.pa_end		= 0x483101ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__gpio1 = {  	.master		= &omap3xxx_l4_wkup_hwmod,  	.slave		= &omap3xxx_gpio1_hwmod,  	.addr		= omap3xxx_gpio1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio1_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2020,13 +1731,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio2_addrs[] = {  		.pa_end		= 0x490501ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3xxx_l4_per__gpio2 = {  	.master		= &omap3xxx_l4_per_hwmod,  	.slave		= &omap3xxx_gpio2_hwmod,  	.addr		= omap3xxx_gpio2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2037,13 +1748,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio3_addrs[] = {  		.pa_end		= 0x490521ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3xxx_l4_per__gpio3 = {  	.master		= &omap3xxx_l4_per_hwmod,  	.slave		= &omap3xxx_gpio3_hwmod,  	.addr		= omap3xxx_gpio3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio3_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2054,13 +1765,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio4_addrs[] = {  		.pa_end		= 0x490541ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3xxx_l4_per__gpio4 = {  	.master		= &omap3xxx_l4_per_hwmod,  	.slave		= &omap3xxx_gpio4_hwmod,  	.addr		= omap3xxx_gpio4_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio4_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2071,13 +1782,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio5_addrs[] = {  		.pa_end		= 0x490561ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3xxx_l4_per__gpio5 = {  	.master		= &omap3xxx_l4_per_hwmod,  	.slave		= &omap3xxx_gpio5_hwmod,  	.addr		= omap3xxx_gpio5_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio5_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2088,13 +1799,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio6_addrs[] = {  		.pa_end		= 0x490581ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap3xxx_l4_per__gpio6 = {  	.master		= &omap3xxx_l4_per_hwmod,  	.slave		= &omap3xxx_gpio6_hwmod,  	.addr		= omap3xxx_gpio6_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio6_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2127,10 +1838,6 @@ static struct omap_gpio_dev_attr gpio_dev_attr = {  };  /* gpio1 */ -static struct omap_hwmod_irq_info omap3xxx_gpio1_irqs[] = { -	{ .irq = 29 }, /* INT_34XX_GPIO_BANK1 */ -}; -  static struct omap_hwmod_opt_clk gpio1_opt_clks[] = {  	{ .role = "dbclk", .clk = "gpio1_dbck", },  }; @@ -2142,8 +1849,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio1_slaves[] = {  static struct omap_hwmod omap3xxx_gpio1_hwmod = {  	.name		= "gpio1",  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET, -	.mpu_irqs	= omap3xxx_gpio1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio1_irqs), +	.mpu_irqs	= omap2_gpio1_irqs,  	.main_clk	= "gpio1_ick",  	.opt_clks	= gpio1_opt_clks,  	.opt_clks_cnt	= ARRAY_SIZE(gpio1_opt_clks), @@ -2164,10 +1870,6 @@ static struct omap_hwmod omap3xxx_gpio1_hwmod = {  };  /* gpio2 */ -static struct omap_hwmod_irq_info omap3xxx_gpio2_irqs[] = { -	{ .irq = 30 }, /* INT_34XX_GPIO_BANK2 */ -}; -  static struct omap_hwmod_opt_clk gpio2_opt_clks[] = {  	{ .role = "dbclk", .clk = "gpio2_dbck", },  }; @@ -2179,8 +1881,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio2_slaves[] = {  static struct omap_hwmod omap3xxx_gpio2_hwmod = {  	.name		= "gpio2",  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET, -	.mpu_irqs	= omap3xxx_gpio2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio2_irqs), +	.mpu_irqs	= omap2_gpio2_irqs,  	.main_clk	= "gpio2_ick",  	.opt_clks	= gpio2_opt_clks,  	.opt_clks_cnt	= ARRAY_SIZE(gpio2_opt_clks), @@ -2201,10 +1902,6 @@ static struct omap_hwmod omap3xxx_gpio2_hwmod = {  };  /* gpio3 */ -static struct omap_hwmod_irq_info omap3xxx_gpio3_irqs[] = { -	{ .irq = 31 }, /* INT_34XX_GPIO_BANK3 */ -}; -  static struct omap_hwmod_opt_clk gpio3_opt_clks[] = {  	{ .role = "dbclk", .clk = "gpio3_dbck", },  }; @@ -2216,8 +1913,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio3_slaves[] = {  static struct omap_hwmod omap3xxx_gpio3_hwmod = {  	.name		= "gpio3",  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET, -	.mpu_irqs	= omap3xxx_gpio3_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio3_irqs), +	.mpu_irqs	= omap2_gpio3_irqs,  	.main_clk	= "gpio3_ick",  	.opt_clks	= gpio3_opt_clks,  	.opt_clks_cnt	= ARRAY_SIZE(gpio3_opt_clks), @@ -2238,10 +1934,6 @@ static struct omap_hwmod omap3xxx_gpio3_hwmod = {  };  /* gpio4 */ -static struct omap_hwmod_irq_info omap3xxx_gpio4_irqs[] = { -	{ .irq = 32 }, /* INT_34XX_GPIO_BANK4 */ -}; -  static struct omap_hwmod_opt_clk gpio4_opt_clks[] = {  	{ .role = "dbclk", .clk = "gpio4_dbck", },  }; @@ -2253,8 +1945,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio4_slaves[] = {  static struct omap_hwmod omap3xxx_gpio4_hwmod = {  	.name		= "gpio4",  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET, -	.mpu_irqs	= omap3xxx_gpio4_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio4_irqs), +	.mpu_irqs	= omap2_gpio4_irqs,  	.main_clk	= "gpio4_ick",  	.opt_clks	= gpio4_opt_clks,  	.opt_clks_cnt	= ARRAY_SIZE(gpio4_opt_clks), @@ -2277,6 +1968,7 @@ static struct omap_hwmod omap3xxx_gpio4_hwmod = {  /* gpio5 */  static struct omap_hwmod_irq_info omap3xxx_gpio5_irqs[] = {  	{ .irq = 33 }, /* INT_34XX_GPIO_BANK5 */ +	{ .irq = -1 }  };  static struct omap_hwmod_opt_clk gpio5_opt_clks[] = { @@ -2291,7 +1983,6 @@ static struct omap_hwmod omap3xxx_gpio5_hwmod = {  	.name		= "gpio5",  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,  	.mpu_irqs	= omap3xxx_gpio5_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio5_irqs),  	.main_clk	= "gpio5_ick",  	.opt_clks	= gpio5_opt_clks,  	.opt_clks_cnt	= ARRAY_SIZE(gpio5_opt_clks), @@ -2314,6 +2005,7 @@ static struct omap_hwmod omap3xxx_gpio5_hwmod = {  /* gpio6 */  static struct omap_hwmod_irq_info omap3xxx_gpio6_irqs[] = {  	{ .irq = 34 }, /* INT_34XX_GPIO_BANK6 */ +	{ .irq = -1 }  };  static struct omap_hwmod_opt_clk gpio6_opt_clks[] = { @@ -2328,7 +2020,6 @@ static struct omap_hwmod omap3xxx_gpio6_hwmod = {  	.name		= "gpio6",  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,  	.mpu_irqs	= omap3xxx_gpio6_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio6_irqs),  	.main_clk	= "gpio6_ick",  	.opt_clks	= gpio6_opt_clks,  	.opt_clks_cnt	= ARRAY_SIZE(gpio6_opt_clks), @@ -2382,19 +2073,13 @@ static struct omap_hwmod_class omap3xxx_dma_hwmod_class = {  };  /* dma_system */ -static struct omap_hwmod_irq_info omap3xxx_dma_system_irqs[] = { -	{ .name = "0", .irq = 12 }, /* INT_24XX_SDMA_IRQ0 */ -	{ .name = "1", .irq = 13 }, /* INT_24XX_SDMA_IRQ1 */ -	{ .name = "2", .irq = 14 }, /* INT_24XX_SDMA_IRQ2 */ -	{ .name = "3", .irq = 15 }, /* INT_24XX_SDMA_IRQ3 */ -}; -  static struct omap_hwmod_addr_space omap3xxx_dma_system_addrs[] = {  	{  		.pa_start	= 0x48056000,  		.pa_end		= 0x48056fff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* dma_system master ports */ @@ -2408,7 +2093,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dma_system = {  	.slave		= &omap3xxx_dma_system_hwmod,  	.clk		= "core_l4_ick",  	.addr		= omap3xxx_dma_system_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_dma_system_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2420,8 +2104,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_dma_system_slaves[] = {  static struct omap_hwmod omap3xxx_dma_system_hwmod = {  	.name		= "dma",  	.class		= &omap3xxx_dma_hwmod_class, -	.mpu_irqs	= omap3xxx_dma_system_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_dma_system_irqs), +	.mpu_irqs	= omap2_dma_system_irqs,  	.main_clk	= "core_l3_ick",  	.prcm = {  		.omap2 = { @@ -2466,11 +2149,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp1_irqs[] = {  	{ .name = "irq", .irq = 16 },  	{ .name = "tx", .irq = 59 },  	{ .name = "rx", .irq = 60 }, -}; - -static struct omap_hwmod_dma_info omap3xxx_mcbsp1_sdma_chs[] = { -	{ .name = "rx", .dma_req = 32 }, -	{ .name = "tx", .dma_req = 31 }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap3xxx_mcbsp1_addrs[] = { @@ -2480,6 +2159,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp1_addrs[] = {  		.pa_end		= 0x480740ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_core -> mcbsp1 */ @@ -2488,7 +2168,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__mcbsp1 = {  	.slave		= &omap3xxx_mcbsp1_hwmod,  	.clk		= "mcbsp1_ick",  	.addr		= omap3xxx_mcbsp1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp1_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2501,9 +2180,7 @@ static struct omap_hwmod omap3xxx_mcbsp1_hwmod = {  	.name		= "mcbsp1",  	.class		= &omap3xxx_mcbsp_hwmod_class,  	.mpu_irqs	= omap3xxx_mcbsp1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp1_irqs), -	.sdma_reqs	= omap3xxx_mcbsp1_sdma_chs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp1_sdma_chs), +	.sdma_reqs	= omap2_mcbsp1_sdma_reqs,  	.main_clk	= "mcbsp1_fck",  	.prcm		= {  		.omap2 = { @@ -2524,11 +2201,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp2_irqs[] = {  	{ .name = "irq", .irq = 17 },  	{ .name = "tx", .irq = 62 },  	{ .name = "rx", .irq = 63 }, -}; - -static struct omap_hwmod_dma_info omap3xxx_mcbsp2_sdma_chs[] = { -	{ .name = "rx", .dma_req = 34 }, -	{ .name = "tx", .dma_req = 33 }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap3xxx_mcbsp2_addrs[] = { @@ -2538,6 +2211,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp2_addrs[] = {  		.pa_end		= 0x490220ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mcbsp2 */ @@ -2546,7 +2220,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp2 = {  	.slave		= &omap3xxx_mcbsp2_hwmod,  	.clk		= "mcbsp2_ick",  	.addr		= omap3xxx_mcbsp2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2563,9 +2236,7 @@ static struct omap_hwmod omap3xxx_mcbsp2_hwmod = {  	.name		= "mcbsp2",  	.class		= &omap3xxx_mcbsp_hwmod_class,  	.mpu_irqs	= omap3xxx_mcbsp2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_irqs), -	.sdma_reqs	= omap3xxx_mcbsp2_sdma_chs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_sdma_chs), +	.sdma_reqs	= omap2_mcbsp2_sdma_reqs,  	.main_clk	= "mcbsp2_fck",  	.prcm		= {  		.omap2 = { @@ -2587,11 +2258,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp3_irqs[] = {  	{ .name = "irq", .irq = 22 },  	{ .name = "tx", .irq = 89 },  	{ .name = "rx", .irq = 90 }, -}; - -static struct omap_hwmod_dma_info omap3xxx_mcbsp3_sdma_chs[] = { -	{ .name = "rx", .dma_req = 18 }, -	{ .name = "tx", .dma_req = 17 }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap3xxx_mcbsp3_addrs[] = { @@ -2601,6 +2268,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp3_addrs[] = {  		.pa_end		= 0x490240ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mcbsp3 */ @@ -2609,7 +2277,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp3 = {  	.slave		= &omap3xxx_mcbsp3_hwmod,  	.clk		= "mcbsp3_ick",  	.addr		= omap3xxx_mcbsp3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2626,9 +2293,7 @@ static struct omap_hwmod omap3xxx_mcbsp3_hwmod = {  	.name		= "mcbsp3",  	.class		= &omap3xxx_mcbsp_hwmod_class,  	.mpu_irqs	= omap3xxx_mcbsp3_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_irqs), -	.sdma_reqs	= omap3xxx_mcbsp3_sdma_chs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_sdma_chs), +	.sdma_reqs	= omap2_mcbsp3_sdma_reqs,  	.main_clk	= "mcbsp3_fck",  	.prcm		= {  		.omap2 = { @@ -2650,11 +2315,13 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp4_irqs[] = {  	{ .name = "irq", .irq = 23 },  	{ .name = "tx", .irq = 54 },  	{ .name = "rx", .irq = 55 }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap3xxx_mcbsp4_sdma_chs[] = {  	{ .name = "rx", .dma_req = 20 },  	{ .name = "tx", .dma_req = 19 }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap3xxx_mcbsp4_addrs[] = { @@ -2664,6 +2331,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp4_addrs[] = {  		.pa_end		= 0x490260ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mcbsp4 */ @@ -2672,7 +2340,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp4 = {  	.slave		= &omap3xxx_mcbsp4_hwmod,  	.clk		= "mcbsp4_ick",  	.addr		= omap3xxx_mcbsp4_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp4_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2685,9 +2352,7 @@ static struct omap_hwmod omap3xxx_mcbsp4_hwmod = {  	.name		= "mcbsp4",  	.class		= &omap3xxx_mcbsp_hwmod_class,  	.mpu_irqs	= omap3xxx_mcbsp4_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp4_irqs),  	.sdma_reqs	= omap3xxx_mcbsp4_sdma_chs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp4_sdma_chs),  	.main_clk	= "mcbsp4_fck",  	.prcm		= {  		.omap2 = { @@ -2708,11 +2373,13 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp5_irqs[] = {  	{ .name = "irq", .irq = 27 },  	{ .name = "tx", .irq = 81 },  	{ .name = "rx", .irq = 82 }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap3xxx_mcbsp5_sdma_chs[] = {  	{ .name = "rx", .dma_req = 22 },  	{ .name = "tx", .dma_req = 21 }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap3xxx_mcbsp5_addrs[] = { @@ -2722,6 +2389,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp5_addrs[] = {  		.pa_end		= 0x480960ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_core -> mcbsp5 */ @@ -2730,7 +2398,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__mcbsp5 = {  	.slave		= &omap3xxx_mcbsp5_hwmod,  	.clk		= "mcbsp5_ick",  	.addr		= omap3xxx_mcbsp5_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp5_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2743,9 +2410,7 @@ static struct omap_hwmod omap3xxx_mcbsp5_hwmod = {  	.name		= "mcbsp5",  	.class		= &omap3xxx_mcbsp_hwmod_class,  	.mpu_irqs	= omap3xxx_mcbsp5_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp5_irqs),  	.sdma_reqs	= omap3xxx_mcbsp5_sdma_chs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp5_sdma_chs),  	.main_clk	= "mcbsp5_fck",  	.prcm		= {  		.omap2 = { @@ -2776,6 +2441,7 @@ static struct omap_hwmod_class omap3xxx_mcbsp_sidetone_hwmod_class = {  /* mcbsp2_sidetone */  static struct omap_hwmod_irq_info omap3xxx_mcbsp2_sidetone_irqs[] = {  	{ .name = "irq", .irq = 4 }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap3xxx_mcbsp2_sidetone_addrs[] = { @@ -2785,6 +2451,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp2_sidetone_addrs[] = {  		.pa_end		= 0x490280ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mcbsp2_sidetone */ @@ -2793,7 +2460,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp2_sidetone = {  	.slave		= &omap3xxx_mcbsp2_sidetone_hwmod,  	.clk		= "mcbsp2_ick",  	.addr		= omap3xxx_mcbsp2_sidetone_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_sidetone_addrs),  	.user		= OCP_USER_MPU,  }; @@ -2806,7 +2472,6 @@ static struct omap_hwmod omap3xxx_mcbsp2_sidetone_hwmod = {  	.name		= "mcbsp2_sidetone",  	.class		= &omap3xxx_mcbsp_sidetone_hwmod_class,  	.mpu_irqs	= omap3xxx_mcbsp2_sidetone_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_sidetone_irqs),  	.main_clk	= "mcbsp2_fck",  	.prcm		= {  		.omap2 = { @@ -2825,6 +2490,7 @@ static struct omap_hwmod omap3xxx_mcbsp2_sidetone_hwmod = {  /* mcbsp3_sidetone */  static struct omap_hwmod_irq_info omap3xxx_mcbsp3_sidetone_irqs[] = {  	{ .name = "irq", .irq = 5 }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap3xxx_mcbsp3_sidetone_addrs[] = { @@ -2834,6 +2500,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp3_sidetone_addrs[] = {  		.pa_end		= 0x4902A0ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mcbsp3_sidetone */ @@ -2842,7 +2509,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp3_sidetone = {  	.slave		= &omap3xxx_mcbsp3_sidetone_hwmod,  	.clk		= "mcbsp3_ick",  	.addr		= omap3xxx_mcbsp3_sidetone_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_sidetone_addrs),  	.user		= OCP_USER_MPU,  }; @@ -2855,7 +2521,6 @@ static struct omap_hwmod omap3xxx_mcbsp3_sidetone_hwmod = {  	.name		= "mcbsp3_sidetone",  	.class		= &omap3xxx_mcbsp_sidetone_hwmod_class,  	.mpu_irqs	= omap3xxx_mcbsp3_sidetone_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_sidetone_irqs),  	.main_clk	= "mcbsp3_fck",  	.prcm		= {  		.omap2 = { @@ -3025,6 +2690,7 @@ static struct omap_hwmod_class omap3xxx_mailbox_hwmod_class = {  static struct omap_hwmod omap3xxx_mailbox_hwmod;  static struct omap_hwmod_irq_info omap3xxx_mailbox_irqs[] = {  	{ .irq = 26 }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap3xxx_mailbox_addrs[] = { @@ -3033,6 +2699,7 @@ static struct omap_hwmod_addr_space omap3xxx_mailbox_addrs[] = {  		.pa_end		= 0x480941ff,  		.flags		= ADDR_TYPE_RT,  	}, +	{ }  };  /* l4_core -> mailbox */ @@ -3040,7 +2707,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__mailbox = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap3xxx_mailbox_hwmod,  	.addr		= omap3xxx_mailbox_addrs, -	.addr_cnt	= ARRAY_SIZE(omap3xxx_mailbox_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3053,7 +2719,6 @@ static struct omap_hwmod omap3xxx_mailbox_hwmod = {  	.name		= "mailbox",  	.class		= &omap3xxx_mailbox_hwmod_class,  	.mpu_irqs	= omap3xxx_mailbox_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mailbox_irqs),  	.main_clk	= "mailboxes_ick",  	.prcm		= {  		.omap2 = { @@ -3070,56 +2735,29 @@ static struct omap_hwmod omap3xxx_mailbox_hwmod = {  };  /* l4 core -> mcspi1 interface */ -static struct omap_hwmod_addr_space omap34xx_mcspi1_addr_space[] = { -	{ -		.pa_start	= 0x48098000, -		.pa_end		= 0x480980ff, -		.flags		= ADDR_TYPE_RT, -	}, -}; -  static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi1 = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap34xx_mcspi1,  	.clk		= "mcspi1_ick", -	.addr		= omap34xx_mcspi1_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap34xx_mcspi1_addr_space), +	.addr		= omap2_mcspi1_addr_space,  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  };  /* l4 core -> mcspi2 interface */ -static struct omap_hwmod_addr_space omap34xx_mcspi2_addr_space[] = { -	{ -		.pa_start	= 0x4809a000, -		.pa_end		= 0x4809a0ff, -		.flags		= ADDR_TYPE_RT, -	}, -}; -  static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi2 = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap34xx_mcspi2,  	.clk		= "mcspi2_ick", -	.addr		= omap34xx_mcspi2_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap34xx_mcspi2_addr_space), +	.addr		= omap2_mcspi2_addr_space,  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  };  /* l4 core -> mcspi3 interface */ -static struct omap_hwmod_addr_space omap34xx_mcspi3_addr_space[] = { -	{ -		.pa_start	= 0x480b8000, -		.pa_end		= 0x480b80ff, -		.flags		= ADDR_TYPE_RT, -	}, -}; -  static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi3 = {  	.master		= &omap3xxx_l4_core_hwmod,  	.slave		= &omap34xx_mcspi3,  	.clk		= "mcspi3_ick", -	.addr		= omap34xx_mcspi3_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap34xx_mcspi3_addr_space), +	.addr		= omap2430_mcspi3_addr_space,  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3130,6 +2768,7 @@ static struct omap_hwmod_addr_space omap34xx_mcspi4_addr_space[] = {  		.pa_end		= 0x480ba0ff,  		.flags		= ADDR_TYPE_RT,  	}, +	{ }  };  static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi4 = { @@ -3137,7 +2776,6 @@ static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi4 = {  	.slave		= &omap34xx_mcspi4,  	.clk		= "mcspi4_ick",  	.addr		= omap34xx_mcspi4_addr_space, -	.addr_cnt	= ARRAY_SIZE(omap34xx_mcspi4_addr_space),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3165,21 +2803,6 @@ static struct omap_hwmod_class omap34xx_mcspi_class = {  };  /* mcspi1 */ -static struct omap_hwmod_irq_info omap34xx_mcspi1_mpu_irqs[] = { -	{ .name = "irq", .irq = 65 }, -}; - -static struct omap_hwmod_dma_info omap34xx_mcspi1_sdma_reqs[] = { -	{ .name = "tx0", .dma_req = 35 }, -	{ .name = "rx0", .dma_req = 36 }, -	{ .name = "tx1", .dma_req = 37 }, -	{ .name = "rx1", .dma_req = 38 }, -	{ .name = "tx2", .dma_req = 39 }, -	{ .name = "rx2", .dma_req = 40 }, -	{ .name = "tx3", .dma_req = 41 }, -	{ .name = "rx3", .dma_req = 42 }, -}; -  static struct omap_hwmod_ocp_if *omap34xx_mcspi1_slaves[] = {  	&omap34xx_l4_core__mcspi1,  }; @@ -3190,10 +2813,8 @@ static struct omap2_mcspi_dev_attr omap_mcspi1_dev_attr = {  static struct omap_hwmod omap34xx_mcspi1 = {  	.name		= "mcspi1", -	.mpu_irqs	= omap34xx_mcspi1_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mcspi1_mpu_irqs), -	.sdma_reqs	= omap34xx_mcspi1_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi1_sdma_reqs), +	.mpu_irqs	= omap2_mcspi1_mpu_irqs, +	.sdma_reqs	= omap2_mcspi1_sdma_reqs,  	.main_clk	= "mcspi1_fck",  	.prcm		= {  		.omap2 = { @@ -3212,17 +2833,6 @@ static struct omap_hwmod omap34xx_mcspi1 = {  };  /* mcspi2 */ -static struct omap_hwmod_irq_info omap34xx_mcspi2_mpu_irqs[] = { -	{ .name = "irq", .irq = 66 }, -}; - -static struct omap_hwmod_dma_info omap34xx_mcspi2_sdma_reqs[] = { -	{ .name = "tx0", .dma_req = 43 }, -	{ .name = "rx0", .dma_req = 44 }, -	{ .name = "tx1", .dma_req = 45 }, -	{ .name = "rx1", .dma_req = 46 }, -}; -  static struct omap_hwmod_ocp_if *omap34xx_mcspi2_slaves[] = {  	&omap34xx_l4_core__mcspi2,  }; @@ -3233,10 +2843,8 @@ static struct omap2_mcspi_dev_attr omap_mcspi2_dev_attr = {  static struct omap_hwmod omap34xx_mcspi2 = {  	.name		= "mcspi2", -	.mpu_irqs	= omap34xx_mcspi2_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mcspi2_mpu_irqs), -	.sdma_reqs	= omap34xx_mcspi2_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi2_sdma_reqs), +	.mpu_irqs	= omap2_mcspi2_mpu_irqs, +	.sdma_reqs	= omap2_mcspi2_sdma_reqs,  	.main_clk	= "mcspi2_fck",  	.prcm		= {  		.omap2 = { @@ -3257,6 +2865,7 @@ static struct omap_hwmod omap34xx_mcspi2 = {  /* mcspi3 */  static struct omap_hwmod_irq_info omap34xx_mcspi3_mpu_irqs[] = {  	{ .name = "irq", .irq = 91 }, /* 91 */ +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap34xx_mcspi3_sdma_reqs[] = { @@ -3264,6 +2873,7 @@ static struct omap_hwmod_dma_info omap34xx_mcspi3_sdma_reqs[] = {  	{ .name = "rx0", .dma_req = 16 },  	{ .name = "tx1", .dma_req = 23 },  	{ .name = "rx1", .dma_req = 24 }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_ocp_if *omap34xx_mcspi3_slaves[] = { @@ -3277,9 +2887,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi3_dev_attr = {  static struct omap_hwmod omap34xx_mcspi3 = {  	.name		= "mcspi3",  	.mpu_irqs	= omap34xx_mcspi3_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mcspi3_mpu_irqs),  	.sdma_reqs	= omap34xx_mcspi3_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi3_sdma_reqs),  	.main_clk	= "mcspi3_fck",  	.prcm		= {  		.omap2 = { @@ -3300,11 +2908,13 @@ static struct omap_hwmod omap34xx_mcspi3 = {  /* SPI4 */  static struct omap_hwmod_irq_info omap34xx_mcspi4_mpu_irqs[] = {  	{ .name = "irq", .irq = INT_34XX_SPI4_IRQ }, /* 48 */ +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap34xx_mcspi4_sdma_reqs[] = {  	{ .name = "tx0", .dma_req = 70 }, /* DMA_SPI4_TX0 */  	{ .name = "rx0", .dma_req = 71 }, /* DMA_SPI4_RX0 */ +	{ .dma_req = -1 }  };  static struct omap_hwmod_ocp_if *omap34xx_mcspi4_slaves[] = { @@ -3318,9 +2928,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi4_dev_attr = {  static struct omap_hwmod omap34xx_mcspi4 = {  	.name		= "mcspi4",  	.mpu_irqs	= omap34xx_mcspi4_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mcspi4_mpu_irqs),  	.sdma_reqs	= omap34xx_mcspi4_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi4_sdma_reqs),  	.main_clk	= "mcspi4_fck",  	.prcm		= {  		.omap2 = { @@ -3362,12 +2970,12 @@ static struct omap_hwmod_irq_info omap3xxx_usbhsotg_mpu_irqs[] = {  	{ .name = "mc", .irq = 92 },  	{ .name = "dma", .irq = 93 }, +	{ .irq = -1 }  };  static struct omap_hwmod omap3xxx_usbhsotg_hwmod = {  	.name		= "usb_otg_hs",  	.mpu_irqs	= omap3xxx_usbhsotg_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_usbhsotg_mpu_irqs),  	.main_clk	= "hsotgusb_ick",  	.prcm		= {  		.omap2 = { @@ -3399,6 +3007,7 @@ static struct omap_hwmod omap3xxx_usbhsotg_hwmod = {  static struct omap_hwmod_irq_info am35xx_usbhsotg_mpu_irqs[] = {  	{ .name = "mc", .irq = 71 }, +	{ .irq = -1 }  };  static struct omap_hwmod_class am35xx_usbotg_class = { @@ -3409,7 +3018,6 @@ static struct omap_hwmod_class am35xx_usbotg_class = {  static struct omap_hwmod am35xx_usbhsotg_hwmod = {  	.name		= "am35x_otg_hs",  	.mpu_irqs	= am35xx_usbhsotg_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(am35xx_usbhsotg_mpu_irqs),  	.main_clk	= NULL,  	.prcm = {  		.omap2 = { @@ -3445,11 +3053,13 @@ static struct omap_hwmod_class omap34xx_mmc_class = {  static struct omap_hwmod_irq_info omap34xx_mmc1_mpu_irqs[] = {  	{ .irq = 83, }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap34xx_mmc1_sdma_reqs[] = {  	{ .name = "tx",	.dma_req = 61, },  	{ .name = "rx",	.dma_req = 62, }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_opt_clk omap34xx_mmc1_opt_clks[] = { @@ -3467,9 +3077,7 @@ static struct omap_mmc_dev_attr mmc1_dev_attr = {  static struct omap_hwmod omap3xxx_mmc1_hwmod = {  	.name		= "mmc1",  	.mpu_irqs	= omap34xx_mmc1_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mmc1_mpu_irqs),  	.sdma_reqs	= omap34xx_mmc1_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mmc1_sdma_reqs),  	.opt_clks	= omap34xx_mmc1_opt_clks,  	.opt_clks_cnt	= ARRAY_SIZE(omap34xx_mmc1_opt_clks),  	.main_clk	= "mmchs1_fck", @@ -3493,11 +3101,13 @@ static struct omap_hwmod omap3xxx_mmc1_hwmod = {  static struct omap_hwmod_irq_info omap34xx_mmc2_mpu_irqs[] = {  	{ .irq = INT_24XX_MMC2_IRQ, }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap34xx_mmc2_sdma_reqs[] = {  	{ .name = "tx",	.dma_req = 47, },  	{ .name = "rx",	.dma_req = 48, }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_opt_clk omap34xx_mmc2_opt_clks[] = { @@ -3511,9 +3121,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_mmc2_slaves[] = {  static struct omap_hwmod omap3xxx_mmc2_hwmod = {  	.name		= "mmc2",  	.mpu_irqs	= omap34xx_mmc2_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mmc2_mpu_irqs),  	.sdma_reqs	= omap34xx_mmc2_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mmc2_sdma_reqs),  	.opt_clks	= omap34xx_mmc2_opt_clks,  	.opt_clks_cnt	= ARRAY_SIZE(omap34xx_mmc2_opt_clks),  	.main_clk	= "mmchs2_fck", @@ -3536,11 +3144,13 @@ static struct omap_hwmod omap3xxx_mmc2_hwmod = {  static struct omap_hwmod_irq_info omap34xx_mmc3_mpu_irqs[] = {  	{ .irq = 94, }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap34xx_mmc3_sdma_reqs[] = {  	{ .name = "tx",	.dma_req = 77, },  	{ .name = "rx",	.dma_req = 78, }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_opt_clk omap34xx_mmc3_opt_clks[] = { @@ -3554,9 +3164,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_mmc3_slaves[] = {  static struct omap_hwmod omap3xxx_mmc3_hwmod = {  	.name		= "mmc3",  	.mpu_irqs	= omap34xx_mmc3_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mmc3_mpu_irqs),  	.sdma_reqs	= omap34xx_mmc3_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mmc3_sdma_reqs),  	.opt_clks	= omap34xx_mmc3_opt_clks,  	.opt_clks_cnt	= ARRAY_SIZE(omap34xx_mmc3_opt_clks),  	.main_clk	= "mmchs3_fck",  |