예제 #1
0
static void omap1_mcbsp_request(unsigned int id)
{
    /*
     * On 1510, 1610 and 1710, McBSP1 and McBSP3
     * are DSP public peripherals.
     */
    if (id == OMAP_MCBSP1 || id == OMAP_MCBSP3) {
        if (dsp_use++ == 0) {
            api_clk = clk_get(NULL, "api_clk");
            dsp_clk = clk_get(NULL, "dsp_clk");
            if (!IS_ERR(api_clk) && !IS_ERR(dsp_clk)) {
                clk_enable(api_clk);
                clk_enable(dsp_clk);

                omap_dsp_request_mem();
                /*
                 * DSP external peripheral reset
                 * FIXME: This should be moved to dsp code
                 */
                __raw_writew(__raw_readw(DSP_RSTCT2) | DPS_RSTCT2_PER_EN |
                             DSP_RSTCT2_WD_PER_EN, DSP_RSTCT2);
            }
        }
    }
}
예제 #2
0
파일: mcbsp.c 프로젝트: E-LLP/n900
static void omap1_mcbsp_request(unsigned int id)
{
	/*
	 * On 1510, 1610 and 1710, McBSP1 and McBSP3
	 * are DSP public peripherals.
	 */
	if (id == OMAP_MCBSP1 || id == OMAP_MCBSP3) {
		omap_dsp_request_mem();
		/*
		 * DSP external peripheral reset
		 * FIXME: This should be moved to dsp code
		 */
		__raw_writew(__raw_readw(DSP_RSTCT2) | DPS_RSTCT2_PER_EN |
				DSP_RSTCT2_WD_PER_EN, DSP_RSTCT2);
	}
}