I have an audio problem on mcbsp1 when I develop the HDMI driver :
The output audio is strange as the Transformer (correct tempo but incorrect pitch).
The processor is OMAP3430 and I try to transfer the audio in I2S format by MCBSP1.
The hardware has already wired between the MCBSP1 and HDMI.
I use the TI BSP 6.09 to modify the value of plateform.reg in MCBSP, the following is the list:
IF BSP_NOMCBSP1 !
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MCP1]
"Prefix"="MCP"
"Dll"="mcbsp.dll"
"Index"=dword:1
"Order"=dword:13
"McBSPProfile"=dword:0 ; 0->I2S Mode, 1-> TDM mode ;seven_audio
; MCBSPLP1, SDMA
"MemBase"=multi_sz:"48074000", "48056000"
"MemLen"=multi_sz:"00001000", "00001000"
"DeviceId"=dword:1
"DmaTxSyncMap"=dword:1f ; SDMA_REQ_MCBSP1_TX
"DmaRxSyncMap"=dword:20 ; SDMA_REQ_MCBSP1_RX
"UseRegForMcbsp"=dword:1 ; Either 0 (use default setup) or 1 (use reg)
"WordLength"=dword:20 ; Range 8, 12, 16, 20, 24, or 32 bits Michael 8 to 8
"WordLength2"=dword:20 ; Range 8, 12, 16, 20, 24, or 32 bits Michael 8 to 8
"WordsPerFrame"=dword:2 ; Range 1-128 words Michael 4 to 2, this value would minus 1 in function
"TDMWordsPerFrame"=dword:1 ; Range 1-128 words
"PartitionMode"=dword:0 ; 0-> 2-partition mode, 1-> 8-partition mode
"NumOfTxChannels"=dword:4 ; Number of channels to be enabled
"EnableMcBSPTxChannels"=multi_sz:"16","48","80","112"
"NumOfRxChannels"=dword:4 ; Number of channels to be enabled
"EnableMcBSPRxChannels"=multi_sz:"0","32","64","96"
"DualPhase"=dword:1 ; Either 0 (false) or 1 (true)
"DataDelay"=dword:1 ; Range 0, 1, or 2 bits
"FrameSyncSourceTx"=dword:3 ; Range 0 (ext), 2 (int xmit), or 3 (int SRG)
"FrameSyncSourceRx"=dword:0 ; Either 0 (external) or 1 (internal)
"ClockModeTx"=dword:1 ; Either 0 (external) or 1 (internal)
"ClockModeRx"=dword:0 ; Either 0 (external) or 1 (internal)
"FrameSyncPolarityTx"=dword:1 ; Either 0 (active high) or 1 (active low)
"FrameSyncPolarityRx"=dword:1 ; Either 0 (active high) or 1 (active low)
"ClockPolarityTx"=dword:1 ; Either 0 (data driven on rising edge) or 1 (falling)
"ClockPolarityRx"=dword:1 ; Either 0 (data sampled on falling edge) or 1 (rising)
"ClockSourceSrg"=dword:2 ; Range 0 (rising CLKS), 1, (falling CLKS) 2 (CPU), 3 (CLKRI), or 4 (CLKXI)
"FrameWidthSrg"=dword:40 ; Range 1-256 Michael 2 to 20
"ClockDividerSrg"=dword:F0 ; Range 0-255 Michael 80 to 80
"ClockResyncSrg"=dword:0 ; Either 0 (no resync) or 1 (resync) Michael 0 to 1
"LoopbackMode"=dword:1 ; Either 0 (no loopback) or 1 (loopback) Michael 1 to 0
"JustificationMode"=dword:2 ; Range 0 (right, zero fill), 1 (right, sign fill), or 2 (left) Michael 0 to 2
"ReverseModeTx"=dword:0 ; Either 0 (MSB first) or 1 (LSB first) Michael 1 to 0
"ReverseModeRx"=dword:0 ; Either 0 (MSB first) or 1 (LSB first) Michael 1 to 0
; PMCLASS_PMEXT_GUID
"IClass"=multi_sz:"{0AE2066F-89A2-4D70-8FC2-29AEF
I have checked the HDMI driver, but I could confirm all HDMI registers are correct because the video is okay.
Could you give me some hint for this problem? I have no idea why the audio is not correct.
Thank you.
Respective
Michael Wu