| 
					
				 | 
			
			
				@@ -2536,3 +2536,73 @@ static struct clk_hw_omap sdrc_ick_hw = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	.ops		= &clkhwops_wait, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	.enable_reg	= OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.enable_bit	= OMAP3430_EN_SDRC_SHIFT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.flags		= ENABLE_ON_INIT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.clkdm_name	= "core_l3_clkdm", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DEFINE_STRUCT_CLK(sdrc_ick, ipss_ick_parent_names, aes2_ick_ops); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clksel_rate sgx_core_rates[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 2, .val = 5, .flags = RATE_IN_36XX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 3, .val = 0, .flags = RATE_IN_3XXX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 4, .val = 1, .flags = RATE_IN_3XXX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 6, .val = 2, .flags = RATE_IN_3XXX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 0 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clksel_rate sgx_96m_rates[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 1, .val = 3, .flags = RATE_IN_3XXX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 0 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clksel_rate sgx_192m_rates[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 1, .val = 4, .flags = RATE_IN_36XX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 0 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clksel_rate sgx_corex2_rates[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 3, .val = 6, .flags = RATE_IN_36XX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 5, .val = 7, .flags = RATE_IN_36XX }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .div = 0 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clksel sgx_clksel[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .parent = &core_ck, .rates = sgx_core_rates }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .parent = &cm_96m_fck, .rates = sgx_96m_rates }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .parent = &omap_192m_alwon_fck, .rates = sgx_192m_rates }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .parent = &corex2_fck, .rates = sgx_corex2_rates }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ .parent = NULL }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const char *sgx_fck_parent_names[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"core_ck", "cm_96m_fck", "omap_192m_alwon_fck", "corex2_fck", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk sgx_fck; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static const struct clk_ops sgx_fck_ops = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.init		= &omap2_init_clk_clkdm, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.enable		= &omap2_dflt_clk_enable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.disable	= &omap2_dflt_clk_disable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.is_enabled	= &omap2_dflt_clk_is_enabled, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.recalc_rate	= &omap2_clksel_recalc, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.set_rate	= &omap2_clksel_set_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.round_rate	= &omap2_clksel_round_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.get_parent	= &omap2_clksel_find_parent_index, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.set_parent	= &omap2_clksel_set_parent, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DEFINE_CLK_OMAP_MUX_GATE(sgx_fck, "sgx_clkdm", sgx_clksel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 OMAP_CM_REGADDR(OMAP3430ES2_SGX_MOD, CM_CLKSEL), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 OMAP3430ES2_CLKSEL_SGX_MASK, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 OMAP_CM_REGADDR(OMAP3430ES2_SGX_MOD, CM_FCLKEN), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 OMAP3430ES2_CM_FCLKEN_SGX_EN_SGX_SHIFT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 &clkhwops_wait, sgx_fck_parent_names, sgx_fck_ops); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk sgx_ick; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk_hw_omap sgx_ick_hw = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.hw = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.clk = &sgx_ick, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 |