static int mtk_capture_alsa_start(struct snd_pcm_substream *substream) { printk("mtk_capture_alsa_start \n"); SetMemifSubStream(Soc_Aud_Digital_Block_MEM_VUL, substream); StartAudioCaptureHardware(substream); return 0; }
static int mtk_capture_alsa_start(struct snd_pcm_substream *substream) { printk("mtk_capture_alsa_start \n"); SetMemifSubStream(Soc_Aud_Digital_Block_MEM_VUL, substream); StartAudioCaptureHardware(substream); #ifdef DENALI_FPGA_EARLYPORTING //ccc early porting, copy from TurnOnDacPower() and ADC_LOOP_DAC_Func() // Afe_Set_Reg(AFE_SGEN_CON0, 0x24862862, 0xffffffff); // Ana_Set_Reg(PMIC_AFE_TOP_CON0, 0x0002, 0x0002); //UL from sinetable // Ana_Set_Reg(PMIC_AFE_TOP_CON0, 0x0001, 0x0001); //DL from sinetable // Ana_Set_Reg(AFE_SGEN_CFG0 , 0x0080 , 0xffff); // Ana_Set_Reg(AFE_SGEN_CFG1 , 0x0101 , 0xffff); Ana_Get_Reg(AFE_AUDIO_TOP_CON0); //power on clock Ana_Get_Reg(AFUNC_AUD_CON2); Ana_Get_Reg(AFUNC_AUD_CON0); //sdm audio fifo clock power on Ana_Get_Reg(AFUNC_AUD_CON2); //sdm power on Ana_Get_Reg(AFUNC_AUD_CON2); //sdm fifo enable Ana_Get_Reg(AFE_DL_SDM_CON1); //set attenuation gain Ana_Get_Reg(AFE_UL_DL_CON0); //[0] afe enable Ana_Get_Reg(AFE_PMIC_NEWIF_CFG0); //8k sample rate Ana_Get_Reg(AFE_DL_SRC2_CON0_H);//8k sample rate Ana_Get_Reg(AFE_DL_SRC2_CON0_L); //turn off mute function and turn on dl Ana_Get_Reg(PMIC_AFE_TOP_CON0); //set DL in normal path, not from sine gen table Ana_Get_Reg(AFE_SGEN_CFG0); //set DL in normal path, not from sine gen table Ana_Get_Reg(AFE_SGEN_CFG1); //set DL in normal path, not from sine gen table Ana_Get_Reg(TOP_CLKSQ); //Enable CLKSQ 26MHz Ana_Get_Reg(TOP_CLKSQ_SET); //Turn on 26MHz source clock Ana_Get_Reg(AFE_AUDIO_TOP_CON0); //power on clock Ana_Get_Reg(FPGA_CFG1); // must set in FPGA platform for PMIC digital loopback #endif return 0; }