|  | @@ -1148,3 +1148,155 @@ static struct omap_gpio_dev_attr gpio_dev_attr = {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /* gpio1 */
 | 
	
		
			
				|  |  |  static struct omap_hwmod_irq_info omap44xx_gpio1_irqs[] = {
 | 
	
		
			
				|  |  | +	{ .irq = 29 + OMAP44XX_IRQ_GIC_START },
 | 
	
		
			
				|  |  | +	{ .irq = -1 }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod_opt_clk gpio1_opt_clks[] = {
 | 
	
		
			
				|  |  | +	{ .role = "dbclk", .clk = "gpio1_dbclk" },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod omap44xx_gpio1_hwmod = {
 | 
	
		
			
				|  |  | +	.name		= "gpio1",
 | 
	
		
			
				|  |  | +	.class		= &omap44xx_gpio_hwmod_class,
 | 
	
		
			
				|  |  | +	.clkdm_name	= "l4_wkup_clkdm",
 | 
	
		
			
				|  |  | +	.mpu_irqs	= omap44xx_gpio1_irqs,
 | 
	
		
			
				|  |  | +	.main_clk	= "gpio1_ick",
 | 
	
		
			
				|  |  | +	.prcm = {
 | 
	
		
			
				|  |  | +		.omap4 = {
 | 
	
		
			
				|  |  | +			.clkctrl_offs = OMAP4_CM_WKUP_GPIO1_CLKCTRL_OFFSET,
 | 
	
		
			
				|  |  | +			.context_offs = OMAP4_RM_WKUP_GPIO1_CONTEXT_OFFSET,
 | 
	
		
			
				|  |  | +			.modulemode   = MODULEMODE_HWCTRL,
 | 
	
		
			
				|  |  | +		},
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	.opt_clks	= gpio1_opt_clks,
 | 
	
		
			
				|  |  | +	.opt_clks_cnt	= ARRAY_SIZE(gpio1_opt_clks),
 | 
	
		
			
				|  |  | +	.dev_attr	= &gpio_dev_attr,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* gpio2 */
 | 
	
		
			
				|  |  | +static struct omap_hwmod_irq_info omap44xx_gpio2_irqs[] = {
 | 
	
		
			
				|  |  | +	{ .irq = 30 + OMAP44XX_IRQ_GIC_START },
 | 
	
		
			
				|  |  | +	{ .irq = -1 }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod_opt_clk gpio2_opt_clks[] = {
 | 
	
		
			
				|  |  | +	{ .role = "dbclk", .clk = "gpio2_dbclk" },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod omap44xx_gpio2_hwmod = {
 | 
	
		
			
				|  |  | +	.name		= "gpio2",
 | 
	
		
			
				|  |  | +	.class		= &omap44xx_gpio_hwmod_class,
 | 
	
		
			
				|  |  | +	.clkdm_name	= "l4_per_clkdm",
 | 
	
		
			
				|  |  | +	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
 | 
	
		
			
				|  |  | +	.mpu_irqs	= omap44xx_gpio2_irqs,
 | 
	
		
			
				|  |  | +	.main_clk	= "gpio2_ick",
 | 
	
		
			
				|  |  | +	.prcm = {
 | 
	
		
			
				|  |  | +		.omap4 = {
 | 
	
		
			
				|  |  | +			.clkctrl_offs = OMAP4_CM_L4PER_GPIO2_CLKCTRL_OFFSET,
 | 
	
		
			
				|  |  | +			.context_offs = OMAP4_RM_L4PER_GPIO2_CONTEXT_OFFSET,
 | 
	
		
			
				|  |  | +			.modulemode   = MODULEMODE_HWCTRL,
 | 
	
		
			
				|  |  | +		},
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	.opt_clks	= gpio2_opt_clks,
 | 
	
		
			
				|  |  | +	.opt_clks_cnt	= ARRAY_SIZE(gpio2_opt_clks),
 | 
	
		
			
				|  |  | +	.dev_attr	= &gpio_dev_attr,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* gpio3 */
 | 
	
		
			
				|  |  | +static struct omap_hwmod_irq_info omap44xx_gpio3_irqs[] = {
 | 
	
		
			
				|  |  | +	{ .irq = 31 + OMAP44XX_IRQ_GIC_START },
 | 
	
		
			
				|  |  | +	{ .irq = -1 }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod_opt_clk gpio3_opt_clks[] = {
 | 
	
		
			
				|  |  | +	{ .role = "dbclk", .clk = "gpio3_dbclk" },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod omap44xx_gpio3_hwmod = {
 | 
	
		
			
				|  |  | +	.name		= "gpio3",
 | 
	
		
			
				|  |  | +	.class		= &omap44xx_gpio_hwmod_class,
 | 
	
		
			
				|  |  | +	.clkdm_name	= "l4_per_clkdm",
 | 
	
		
			
				|  |  | +	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
 | 
	
		
			
				|  |  | +	.mpu_irqs	= omap44xx_gpio3_irqs,
 | 
	
		
			
				|  |  | +	.main_clk	= "gpio3_ick",
 | 
	
		
			
				|  |  | +	.prcm = {
 | 
	
		
			
				|  |  | +		.omap4 = {
 | 
	
		
			
				|  |  | +			.clkctrl_offs = OMAP4_CM_L4PER_GPIO3_CLKCTRL_OFFSET,
 | 
	
		
			
				|  |  | +			.context_offs = OMAP4_RM_L4PER_GPIO3_CONTEXT_OFFSET,
 | 
	
		
			
				|  |  | +			.modulemode   = MODULEMODE_HWCTRL,
 | 
	
		
			
				|  |  | +		},
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	.opt_clks	= gpio3_opt_clks,
 | 
	
		
			
				|  |  | +	.opt_clks_cnt	= ARRAY_SIZE(gpio3_opt_clks),
 | 
	
		
			
				|  |  | +	.dev_attr	= &gpio_dev_attr,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* gpio4 */
 | 
	
		
			
				|  |  | +static struct omap_hwmod_irq_info omap44xx_gpio4_irqs[] = {
 | 
	
		
			
				|  |  | +	{ .irq = 32 + OMAP44XX_IRQ_GIC_START },
 | 
	
		
			
				|  |  | +	{ .irq = -1 }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod_opt_clk gpio4_opt_clks[] = {
 | 
	
		
			
				|  |  | +	{ .role = "dbclk", .clk = "gpio4_dbclk" },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod omap44xx_gpio4_hwmod = {
 | 
	
		
			
				|  |  | +	.name		= "gpio4",
 | 
	
		
			
				|  |  | +	.class		= &omap44xx_gpio_hwmod_class,
 | 
	
		
			
				|  |  | +	.clkdm_name	= "l4_per_clkdm",
 | 
	
		
			
				|  |  | +	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
 | 
	
		
			
				|  |  | +	.mpu_irqs	= omap44xx_gpio4_irqs,
 | 
	
		
			
				|  |  | +	.main_clk	= "gpio4_ick",
 | 
	
		
			
				|  |  | +	.prcm = {
 | 
	
		
			
				|  |  | +		.omap4 = {
 | 
	
		
			
				|  |  | +			.clkctrl_offs = OMAP4_CM_L4PER_GPIO4_CLKCTRL_OFFSET,
 | 
	
		
			
				|  |  | +			.context_offs = OMAP4_RM_L4PER_GPIO4_CONTEXT_OFFSET,
 | 
	
		
			
				|  |  | +			.modulemode   = MODULEMODE_HWCTRL,
 | 
	
		
			
				|  |  | +		},
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	.opt_clks	= gpio4_opt_clks,
 | 
	
		
			
				|  |  | +	.opt_clks_cnt	= ARRAY_SIZE(gpio4_opt_clks),
 | 
	
		
			
				|  |  | +	.dev_attr	= &gpio_dev_attr,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* gpio5 */
 | 
	
		
			
				|  |  | +static struct omap_hwmod_irq_info omap44xx_gpio5_irqs[] = {
 | 
	
		
			
				|  |  | +	{ .irq = 33 + OMAP44XX_IRQ_GIC_START },
 | 
	
		
			
				|  |  | +	{ .irq = -1 }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod_opt_clk gpio5_opt_clks[] = {
 | 
	
		
			
				|  |  | +	{ .role = "dbclk", .clk = "gpio5_dbclk" },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod omap44xx_gpio5_hwmod = {
 | 
	
		
			
				|  |  | +	.name		= "gpio5",
 | 
	
		
			
				|  |  | +	.class		= &omap44xx_gpio_hwmod_class,
 | 
	
		
			
				|  |  | +	.clkdm_name	= "l4_per_clkdm",
 | 
	
		
			
				|  |  | +	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
 | 
	
		
			
				|  |  | +	.mpu_irqs	= omap44xx_gpio5_irqs,
 | 
	
		
			
				|  |  | +	.main_clk	= "gpio5_ick",
 | 
	
		
			
				|  |  | +	.prcm = {
 | 
	
		
			
				|  |  | +		.omap4 = {
 | 
	
		
			
				|  |  | +			.clkctrl_offs = OMAP4_CM_L4PER_GPIO5_CLKCTRL_OFFSET,
 | 
	
		
			
				|  |  | +			.context_offs = OMAP4_RM_L4PER_GPIO5_CONTEXT_OFFSET,
 | 
	
		
			
				|  |  | +			.modulemode   = MODULEMODE_HWCTRL,
 | 
	
		
			
				|  |  | +		},
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	.opt_clks	= gpio5_opt_clks,
 | 
	
		
			
				|  |  | +	.opt_clks_cnt	= ARRAY_SIZE(gpio5_opt_clks),
 | 
	
		
			
				|  |  | +	.dev_attr	= &gpio_dev_attr,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* gpio6 */
 | 
	
		
			
				|  |  | +static struct omap_hwmod_irq_info omap44xx_gpio6_irqs[] = {
 | 
	
		
			
				|  |  | +	{ .irq = 34 + OMAP44XX_IRQ_GIC_START },
 | 
	
		
			
				|  |  | +	{ .irq = -1 }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct omap_hwmod_opt_clk gpio6_opt_clks[] = {
 | 
	
		
			
				|  |  | +	{ .role = "dbclk", .clk = "gpio6_dbclk" },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 |