Part Number: DRA756
Linux kernel version: 7_04_00_03
Hi,
Our tuner is configured to McASP2 with below configurations. Issue is, we are getting only I data, no Q data. Q channel is always having garbage value like 4000 0000 4000 0000...
Tuner : Master mode
MCASP : slave mode
Data format: I2S (In davinci_set_dai_fmt() call, SND_SOC_DAIFMT_DSP_A is choosen with data_delay edited as zero. This DSP_A mode only giving the required FSRP and FRWID in RXFMT register)
Serializer: 0 (AXR0) in receive mode
Slot count : 2 (slot 0 and 1)
slot size: 32
Rx Rotate: 16 bits
Channels: 2
Active serializer and max active serializers: 1 (edited in davinci-mcasp.c file)
rx-num-evt: 8 (set as 8 in dts file, but this numevt hardcoded as 32 in davinci-mcasp.c file by default to correct the Errata i868)
And also please find the further mcasp register details.
| 1 | RMASK | 0xFFFFFFFF | |||
| RFMT: | |||||
| RDATDLY | 0 bit delay | ||||
| RRVRS | MSB first | ||||
| RPAD | 0 | ||||
| RPBIT | 0 | ||||
| RSSZ | slot size = 32 | ||||
| RBUSEL | DATA port | ||||
| RROT | rotate 16 bits | ||||
| RXFMCTL: | |||||
| RMOD | 2 slot TDM | ||||
| FRWID | single bit | ||||
| FSRM | external | ||||
| FSRP | rising edge | ||||
| ACLKRCTL: | |||||
| CLKRP | Falling | ||||
| CLKRM | external | ||||
| CLKRDIV | div by 1(default value) | ||||
| AHCLKRCTL: | |||||
| HCLKRP | Not inverted(default value) | ||||
| HCLKRM | internal(default value) | ||||
| HCLKRDIV | div by 1 (default value) | ||||
| RXTDM | 3 (slot 0 and 1) | ||||
| ALSA word length | 32 | ||||
What goes wrong here? Please help us.
Regards,
Rajeswari S
