예제 #1
0
파일: lradc.c 프로젝트: jonronen/audio-fx
void lradc_setup_channels_for_polling()
{
    unsigned char i;
    int trigger_bitmap = 0;

    imx233_lradc_init();

    for (i=0; i<MAX_USER_LRADC; i++) {
        imx233_lradc_setup_channel(i, 1, 0, 0, i);
        imx233_lradc_enable_channel_irq(i, false);
        imx233_lradc_clear_channel_irq(i);

        trigger_bitmap |= 1<<i;
    }

    imx233_lradc_setup_delay(LRADC_DELAY_INDEX, trigger_bitmap, 1<<LRADC_DELAY_INDEX, 0, 100);
    imx233_lradc_kick_delay(LRADC_DELAY_INDEX);
}
예제 #2
0
void system_init(void)
{
    /* NOTE: don't use anything here that might require tick task !
     * It is initialized by kernel_init *after* system_init().
     * The main() will naturally set cpu speed to normal after kernel_init()
     * so don't bother if the cpu is running at 24MHz here.
     * Make sure IO clock is running at expected speed */
    imx233_clkctrl_init();
    imx233_clkctrl_enable(CLK_PLL, true);
#if IMX233_SUBTARGET >= 3700
    imx233_clkctrl_set_frac_div(CLK_IO, 18); // clk_io@clk_pll
#endif

    imx233_rtc_init();
    imx233_icoll_init();
    imx233_pinctrl_init();
    imx233_timrot_init();
    imx233_dma_init();
    imx233_ssp_init();
#if IMX233_SUBTARGET >= 3700
    imx233_dcp_init();
#endif
    imx233_pwm_init();
    imx233_lradc_init();
    imx233_power_init();
    imx233_i2c_init();
    imx233_powermgmt_init();
    /* setup watchdog */
    watchdog_init();

    /* make sure auto-slow is disable now, we don't know at which frequency we
     * are running and auto-slow could violate constraints on {xbus,hbus} */
    imx233_clkctrl_enable_auto_slow(false);
    imx233_clkctrl_set_auto_slow_div(BV_CLKCTRL_HBUS_SLOW_DIV__BY8);

    cpu_frequency = imx233_clkctrl_get_freq(CLK_CPU);

#if !defined(BOOTLOADER) && CONFIG_TUNER != 0
    fmradio_i2c_init();
#endif
}