diff options
Diffstat (limited to 'arch/arm/mach-imx/clk-imx35.c')
| -rw-r--r-- | arch/arm/mach-imx/clk-imx35.c | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/arch/arm/mach-imx/clk-imx35.c b/arch/arm/mach-imx/clk-imx35.c index c6422fb10ba..177259b523c 100644 --- a/arch/arm/mach-imx/clk-imx35.c +++ b/arch/arm/mach-imx/clk-imx35.c @@ -62,8 +62,8 @@ enum mx35_clks {  	kpp_gate, mlb_gate, mshc_gate, owire_gate, pwm_gate, rngc_gate,  	rtc_gate, rtic_gate, scc_gate, sdma_gate, spba_gate, spdif_gate,  	ssi1_gate, ssi2_gate, uart1_gate, uart2_gate, uart3_gate, usbotg_gate, -	wdog_gate, max_gate, admux_gate, csi_gate, iim_gate, gpu2d_gate, -	clk_max +	wdog_gate, max_gate, admux_gate, csi_gate, csi_div, csi_sel, iim_gate, +	gpu2d_gate, clk_max  };  static struct clk *clk[clk_max]; @@ -142,6 +142,9 @@ int __init mx35_clocks_init()  	clk[nfc_div] = imx_clk_divider("nfc_div", "ahb", base + MX35_CCM_PDR4, 28, 4); +	clk[csi_sel] = imx_clk_mux("csi_sel", base + MX35_CCM_PDR2, 7, 1, std_sel, ARRAY_SIZE(std_sel)); +	clk[csi_div] = imx_clk_divider("csi_div", "csi_sel", base + MX35_CCM_PDR2, 16, 6); +  	clk[asrc_gate] = imx_clk_gate2("asrc_gate", "ipg", base + MX35_CCM_CGR0,  0);  	clk[pata_gate] = imx_clk_gate2("pata_gate", "ipg", base + MX35_CCM_CGR0,  2);  	clk[audmux_gate] = imx_clk_gate2("audmux_gate", "ipg", base + MX35_CCM_CGR0,  4); @@ -192,7 +195,7 @@ int __init mx35_clocks_init()  	clk[max_gate] = imx_clk_gate2("max_gate", "dummy", base + MX35_CCM_CGR2, 26);  	clk[admux_gate] = imx_clk_gate2("admux_gate", "ipg", base + MX35_CCM_CGR2, 30); -	clk[csi_gate] = imx_clk_gate2("csi_gate", "ipg", base + MX35_CCM_CGR3,  0); +	clk[csi_gate] = imx_clk_gate2("csi_gate", "csi_div", base + MX35_CCM_CGR3,  0);  	clk[iim_gate] = imx_clk_gate2("iim_gate", "ipg", base + MX35_CCM_CGR3,  2);  	clk[gpu2d_gate] = imx_clk_gate2("gpu2d_gate", "ahb", base + MX35_CCM_CGR3,  4); @@ -228,12 +231,11 @@ int __init mx35_clocks_init()  	clk_register_clkdev(clk[i2c3_gate], NULL, "imx-i2c.2");  	clk_register_clkdev(clk[ipu_gate], NULL, "ipu-core");  	clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb"); +	clk_register_clkdev(clk[kpp_gate], NULL, "imx-keypad");  	clk_register_clkdev(clk[owire_gate], NULL, "mxc_w1");  	clk_register_clkdev(clk[sdma_gate], NULL, "imx35-sdma"); -	clk_register_clkdev(clk[ipg], "ipg", "imx-ssi.0"); -	clk_register_clkdev(clk[ssi1_div_post], "per", "imx-ssi.0"); -	clk_register_clkdev(clk[ipg], "ipg", "imx-ssi.1"); -	clk_register_clkdev(clk[ssi2_div_post], "per", "imx-ssi.1"); +	clk_register_clkdev(clk[ssi1_gate], NULL, "imx-ssi.0"); +	clk_register_clkdev(clk[ssi2_gate], NULL, "imx-ssi.1");  	/* i.mx35 has the i.mx21 type uart */  	clk_register_clkdev(clk[uart1_gate], "per", "imx21-uart.0");  	clk_register_clkdev(clk[ipg], "ipg", "imx21-uart.0"); @@ -255,6 +257,7 @@ int __init mx35_clocks_init()  	clk_register_clkdev(clk[usbotg_gate], "ahb", "fsl-usb2-udc");  	clk_register_clkdev(clk[wdog_gate], NULL, "imx2-wdt.0");  	clk_register_clkdev(clk[nfc_div], NULL, "mxc_nand.0"); +	clk_register_clkdev(clk[csi_gate], NULL, "mx3-camera.0");  	clk_prepare_enable(clk[spba_gate]);  	clk_prepare_enable(clk[gpio1_gate]);  |