Exemple #1
0
static int __init ppi_adc_init(void) {
    int ret;
    
    ret = dma_init();
    if(ret) {
        return ret;
    }

    ret = ppi_init();
    if(ret) {
        dma_close();
        return ret;
    }
    
    ret = device_init();
    if(ret) {
        ppi_close();
        dma_close();
        return ret;
    }

    /* Disable everything */
    disable_dma(CH_PPI);
    bfin_write_PPI_CONTROL(bfin_read_PPI_CONTROL() & (~PORT_EN));

    SSYNC();

    return 0;
}
Exemple #2
0
GERR GD_I2S_TX_Close(void)
{
	GERR err = GD_OK;
    SUB_DEVICE_S *pDev = prxDev;
	
    if(pDev->subDevID != I2S_DEV_RX_ID)
    {
        return GD_ERR_NOT_ALLOWED;
    }
	
	err = dma_close(pDev);
	if(err != GD_OK)
	{
		return err;
	}

	GD_TIMER_Delay(5);
	GD_I2S_RX_Disable();
    memset((void *)pDev, 0, sizeof(SUB_DEVICE_S));
	
    return GD_OK;
}
Exemple #3
0
static void __exit ppi_adc_close(void) {
    device_close();
    ppi_close();
    dma_close();
}