/** * Function Name: DSPDRV_Init * * Description: Initialize DSP driver * * Notes: * ******************************************************************************/ void DSPDRV_Init() { UInt32 *dsp_shared_mem; int rc; AP_SharedMem_t *shared_mem; UInt16 temp; aTrace(LOG_AUDIO_DSP, "DSPDRV_Init:\n"); /* get DSP AP shared memory */ dsp_shared_mem = ioremap_nocache(AP_SH_BASE, AP_SH_SIZE); if (dsp_shared_mem == NULL) { aTrace(LOG_AUDIO_DSP, "\n\r\t* mapping shared memory failed\n\r"); return; } shared_mem = (AP_SharedMem_t *) dsp_shared_mem; temp = shared_mem->shared_dsp_support_chip_reg_ap_int; /* initialize DSP AP shared memory */ VPSHAREDMEM_Init(dsp_shared_mem); shared_mem->shared_dsp_support_chip_reg_ap_int = temp; /* Create Tasklet */ tasklet_init(&(dsp_drv.task), dsp_thread_proc, (unsigned long)(&dsp_drv)); /* enable AP to DSP interrupt */ IRQ_EnableRIPInt(); /* enable DSP to AP interrupt */ IRQ_Enable_BModem_Interrupt(); /* Plug in the ISR enables IRQ198 */ rc = request_irq(COMMS_SUBS6_IRQ, rip_isr, IRQF_DISABLED | IRQF_NO_SUSPEND, "bcm215xx-dsp", &(dsp_drv)); if (rc < 0) { aTrace(LOG_AUDIO_DSP, "RIPISR: %s failed to attach interrupt, rc = %d\n", __func__, rc); return; } CSL_VPU_Enable(); return; }
/** * Function Name: DSPDRV_Init * * Description: Initialize DSP driver * * Notes: * ******************************************************************************/ void DSPDRV_Init() { UInt32 *dsp_shared_mem; int rc; aTrace(LOG_AUDIO_DSP, "DSPDRV_Init:\n"); dsp_drv.h = chal_intc_init(KONA_BINTC_BASE_ADDR); dsp_shared_mem = DSPDRV_GetSharedMemoryAddress(); VPSHAREDMEM_Init(dsp_shared_mem); /* temporary to open CP DSP shared memory structure on AP */ cp_shared_mem = ioremap_nocache(CP_SH_BASE, CP_SH_SIZE); /* Create Tasklet */ tasklet_init(&(dsp_drv.task), dsp_thread_proc, (unsigned long)(&dsp_drv)); IRQ_EnableRIPInt(); IRQ_Enable_BModem_Interrupt(BMIRQ23, 6); /* Plug in the ISR enables IRQ198 */ rc = request_irq(COMMS_SUBS6_IRQ, rip_isr, IRQF_DISABLED | IRQF_NO_SUSPEND, "bcm215xx-dsp", &(dsp_drv)); if (rc < 0) { aTrace(LOG_AUDIO_DSP, "RIPISR: %s failed to attach interrupt, rc = %d\n", __func__, rc); return; } CSL_VPU_Enable(); return; }
void SYSPARM_Init(void) { SharedMem_t * const mem = SHAREDMEM_GetSharedMemPtr(); PAGE1_SharedMem_t * const pg1_mem = SHAREDMEM_GetPage1SharedMemPtr(); PAGE5_SharedMem_t * const pg5_mem = SHAREDMEM_GetPage5SharedMemPtr(); pr_info(__AUD"SYSPARM_Init\n"); //mem->shared_frame_out = 0; pg5_mem->shared_cmdq_in = 0; pg5_mem->shared_cmdq_out = 0; pg5_mem->shared_statusq_in = 0; pg5_mem->shared_statusq_out = 0; mem->shared_audio_output_gain = 32767; // sys_data_ind->audio_output_gain; pg1_mem->shared_polyringer_out_gain_dl = 64; pg1_mem->shared_polyringer_out_gain_ul = 64; //#ifdef VPU_INCLUDED VPSHAREDMEM_Init(); //#endif }