static const char *ipg_per_sel[] = {"ahb_per_div", "arm_per_div"};
 
 enum mx35_clks {
-       ckih, mpll, ppll, mpll_075, arm, hsp, hsp_div, hsp_sel, ahb, ipg,
+       ckih, ckil, mpll, ppll, mpll_075, arm, hsp, hsp_div, hsp_sel, ahb, ipg,
        arm_per_div, ahb_per_div, ipg_per, uart_sel, uart_div, esdhc_sel,
        esdhc1_div, esdhc2_div, esdhc3_div, spdif_sel, spdif_div_pre,
        spdif_div_post, ssi_sel, ssi1_div_pre, ssi1_div_post, ssi2_div_pre,
        }
 
        clk[ckih] = imx_clk_fixed("ckih", 24000000);
+       clk[ckil] = imx_clk_fixed("ckih", 32768);
        clk[mpll] = imx_clk_pllv1(IMX_PLLV1_IMX35, "mpll", "ckih", base + MX35_CCM_MPCTL);
        clk[ppll] = imx_clk_pllv1(IMX_PLLV1_IMX35, "ppll", "ckih", base + MX35_CCM_PPCTL);
 
        clk_register_clkdev(clk[ipg], "ipg", "imx21-uart.1");
        clk_register_clkdev(clk[uart3_gate], "per", "imx21-uart.2");
        clk_register_clkdev(clk[ipg], "ipg", "imx21-uart.2");
+       /* i.mx35 has the i.mx21 type rtc */
+       clk_register_clkdev(clk[ckil], "ref", "imx21-rtc");
+       clk_register_clkdev(clk[rtc_gate], "ipg", "imx21-rtc");
        clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.0");
        clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.0");
        clk_register_clkdev(clk[usbotg_gate], "ahb", "mxc-ehci.0");