| 
					
				 | 
			
			
				@@ -1076,3 +1076,85 @@ static struct clk_hw_omap ipss_ick_hw = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		.clk = &ipss_ick, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	.ops		= &clkhwops_am35xx_ipss_wait, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.enable_reg	= OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.enable_bit	= AM35XX_EN_IPSS_SHIFT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.clkdm_name	= "core_l3_clkdm", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DEFINE_STRUCT_CLK(ipss_ick, ipss_ick_parent_names, aes2_ick_ops); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk emac_ick; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const char *emac_ick_parent_names[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"ipss_ick", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk_hw_omap emac_ick_hw = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.hw = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.clk = &emac_ick, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.ops		= &clkhwops_am35xx_ipss_module_wait, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.enable_reg	= OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.enable_bit	= AM35XX_CPGMAC_VBUSP_CLK_SHIFT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.clkdm_name	= "core_l3_clkdm", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DEFINE_STRUCT_CLK(emac_ick, emac_ick_parent_names, aes2_ick_ops); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk emu_core_alwon_ck; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const char *emu_core_alwon_ck_parent_names[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"dpll3_m3x2_ck", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DEFINE_STRUCT_CLK_HW_OMAP(emu_core_alwon_ck, "dpll3_clkdm"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DEFINE_STRUCT_CLK(emu_core_alwon_ck, emu_core_alwon_ck_parent_names, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  core_l4_ick_ops); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk emu_mpu_alwon_ck; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const char *emu_mpu_alwon_ck_parent_names[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"mpu_ck", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DEFINE_STRUCT_CLK_HW_OMAP(emu_mpu_alwon_ck, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DEFINE_STRUCT_CLK(emu_mpu_alwon_ck, emu_mpu_alwon_ck_parent_names, core_ck_ops); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk emu_per_alwon_ck; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const char *emu_per_alwon_ck_parent_names[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"dpll4_m6x2_ck", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DEFINE_STRUCT_CLK_HW_OMAP(emu_per_alwon_ck, "dpll4_clkdm"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DEFINE_STRUCT_CLK(emu_per_alwon_ck, emu_per_alwon_ck_parent_names, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		  core_l4_ick_ops); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const char *emu_src_ck_parent_names[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"sys_ck", "emu_core_alwon_ck", "emu_per_alwon_ck", "emu_mpu_alwon_ck", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clksel_rate emu_src_sys_rates[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 1, .val = 0, .flags = RATE_IN_3XXX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 0 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clksel_rate emu_src_core_rates[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 1, .val = 1, .flags = RATE_IN_3XXX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 0 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clksel_rate emu_src_per_rates[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 1, .val = 2, .flags = RATE_IN_3XXX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 0 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clksel_rate emu_src_mpu_rates[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 1, .val = 3, .flags = RATE_IN_3XXX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 0 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clksel emu_src_clksel[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .parent = &sys_ck,		.rates = emu_src_sys_rates }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .parent = &emu_core_alwon_ck, .rates = emu_src_core_rates }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .parent = &emu_per_alwon_ck,	.rates = emu_src_per_rates }, 
			 |