| 
					
				 | 
			
			
				@@ -264,3 +264,98 @@ static struct clk *clkset_moutdmc0src_list[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	[3] = NULL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clksrc_sources clkset_moutdmc0src = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.sources	= clkset_moutdmc0src_list, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.nr_sources	= ARRAY_SIZE(clkset_moutdmc0src_list), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clksrc_clk clk_mout_dmc0 = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.clk	= { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "mout_dmc0", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.sources	= &clkset_moutdmc0src, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.reg_src	= { .reg = S5P_CLK_SRC6, .shift = 24, .size = 2 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clksrc_clk clk_sclk_dmc0 = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.clk	= { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "sclk_dmc0", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.parent		= &clk_mout_dmc0.clk, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.reg_div	= { .reg = S5P_CLK_DIV6, .shift = 28, .size = 4 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static unsigned long s5pv210_clk_imem_get_rate(struct clk *clk) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return clk_get_rate(clk->parent) / 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk_ops clk_hclk_imem_ops = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.get_rate	= s5pv210_clk_imem_get_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static unsigned long s5pv210_clk_fout_apll_get_rate(struct clk *clk) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return s5p_get_pll45xx(xtal, __raw_readl(S5P_APLL_CON), pll_4508); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk_ops clk_fout_apll_ops = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.get_rate	= s5pv210_clk_fout_apll_get_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct clk init_clocks_off[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "dma", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.devname	= "dma-pl330.0", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.parent		= &clk_hclk_psys.clk, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.enable		= s5pv210_clk_ip0_ctrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ctrlbit	= (1 << 3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "dma", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.devname	= "dma-pl330.1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.parent		= &clk_hclk_psys.clk, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.enable		= s5pv210_clk_ip0_ctrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ctrlbit	= (1 << 4), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "rot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.parent		= &clk_hclk_dsys.clk, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.enable		= s5pv210_clk_ip0_ctrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ctrlbit	= (1<<29), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "fimc", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.devname	= "s5pv210-fimc.0", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.parent		= &clk_hclk_dsys.clk, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.enable		= s5pv210_clk_ip0_ctrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ctrlbit	= (1 << 24), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "fimc", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.devname	= "s5pv210-fimc.1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.parent		= &clk_hclk_dsys.clk, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.enable		= s5pv210_clk_ip0_ctrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ctrlbit	= (1 << 25), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "fimc", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.devname	= "s5pv210-fimc.2", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.parent		= &clk_hclk_dsys.clk, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.enable		= s5pv210_clk_ip0_ctrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ctrlbit	= (1 << 26), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "jpeg", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.parent		= &clk_hclk_dsys.clk, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.enable		= s5pv210_clk_ip0_ctrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ctrlbit	= (1 << 28), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "mfc", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.devname	= "s5p-mfc", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.parent		= &clk_pclk_psys.clk, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.enable		= s5pv210_clk_ip0_ctrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ctrlbit	= (1 << 16), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "dac", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.devname	= "s5p-sdo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.parent		= &clk_hclk_dsys.clk, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.enable		= s5pv210_clk_ip1_ctrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ctrlbit	= (1 << 10), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name		= "mixer", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.devname	= "s5p-mixer", 
			 |