Other Parts Discussed in Thread: TWL6030, TWL6040
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: TWL6030, TWL6040
Hello Dinesh,
At first I will suggest to apply this workaround in your McPDM driver from OMAP4470 ERRATA document - i635 Presence of a Floor Noise on Audio Band When Multiple McPDM Downlink Enabled.
Case 1 workaround for transfer 6 downlink channels of McPDM: • Set McPDM downlink FIFO threshold to 2 (floor noise goes back to ~ -130dB_fullscale), or set 0x2 in the bit-field MCPDM_FIFO_CTRL_DN[3:0] DN_TRESH FIFO downlink threshold value.
Case 2 workaround for transfer 4 downlink channels of McPDM: • Set McPDM downlink FIFO threshold to 4 (floor noise goes back to ~ -130dB_fullscale), or set 0x4 in the bit-field MCPDM_FIFO_CTRL_DN[3:0] DN_TRESH FIFO downlink threshold value
Check the suggested workaround, it is possible to solve your issue with McPDM.
Best regards,
Yanko
Dinesh,
Just in case.
The TWL604x bug "#7 PDM Downlink Data Corrupted" is taken care ?
Depending on the delay between PDMCLK (provided by TWL604x) and PDMCLKLB (provided by OMAP),
the data transmitted to the TWL604x DACs can be corrupted.
Please contact your local TI representative to get TWL604x Errata document.
Thanks and regards,
Koichiro Tashiro
Hello Dinesh,
The similar problem is described in OMAP5 ERRATA document - http://www.ti.com/lit/er/swpz037b/swpz037b.pdf
Errata ID: i800 - "McPDM Downlink Data Corrupted With TWL604x" The suggested guideline is following: An inverter is placed on the board between TWL604x.PDMCLK and the OMAP abe_clks pad. The inverter (for example, SN74AUC1G04DCK) must be placed close to TWL604x on the PCB.
Depending on the delay between abe_clks provided by TWL604x and the loopback clock abe_pdm_lb_clk from OMAP, the data transmitted to TWL604x DACs can be corrupted. As a result, the output noise of the analog output stages can increase.
About your questions:
1. The FIFO downlink is read by the McPDM module and data related to the audio downlink channels are
sent to the delta-sigma modulators. The maximum number of write accesses (before overwriting the data in the FIFO still to be transmitted) from the host/DMA is determined by the following equation:
Num_max_write_access = (FIFO_SIZE – DN_THRESH + 1) * (PDM_DN1_EN + PDM_DN2_EN + PDM_DN3_EN + PDM_DN4_EN + PDM_DN5_EN +CMD_INT). For more information refer to section 23.6.4.8.2 Downlink Path Description in OMAP4470 TRM.
2. I think there is not a relation between SmartReflex and McPDM audio interface. The noise can be caused by ripples onsignals from PMIC. For more information see section 3.10.4.1.4.1 Subsequence – Error-to-Voltage Converter Configuration in OMAP4 TRM.
I suggest to apply the workaround from i800 OMAP5 ERRATA if possibly.
Best regards,
Yanko