Patch to enable SSI Master Mode when using ASRC_P2P function based on Kernel 3.0.35 for I.MX6DL/DQ SebreSD boards

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Patch to enable SSI Master Mode when using ASRC_P2P function based on Kernel 3.0.35 for I.MX6DL/DQ SebreSD boards

Patch to enable SSI Master Mode when using ASRC_P2P function based on Kernel 3.0.35 for I.MX6DL/DQ SebreSD boards

When using SSI Slave Mode for ASRC_P2P function (https://community.freescale.com/docs/DOC-95342), the waveform of the converted 24bit data is abnormal(have some values between 0 and 1). When using SSI Master Mode, these abnormal data disappear. This patch shows how to enable SSI Master Mode based on ASRC_P2P patches.

Because SSI Master Mode uses fixed data width for LRCLK(32bits for each L or R), and the SSI Dual FIFO Mode is not supported for ASRC_P2P, the converted 16bit data is not well supported in this patch.

Suggestions:

If you want to convert the audio data to 16bit, you can use SSI Slave Mode; if you want to convert the audio data to 24bit, you can use SSI Master Mode.

附件
评论

good patch

_at

Hi Lei Ge,

I had used above patch. It is for Normal Audio Playback (ASRC added in between PLAYBACK path & uses only one OUT CLK source i.e OUTCLK_SSI2_TX while IN CLK source is INCLK_NONE) and working perfectly fine!.

Now, I want to use ASRC in between Recording Path.I had tried following setup (taking above patch for reference):

1.  Request DMA channel for P2P:

        - DMA Request-SSI RX0

        - P2P DMA request-ASRC RX1

    Configured abvoe channel as Slave DMA channel. Input src is SSI-1 RX0, output dst is ASRC RX1 & direction is DMA_DEV_TO_DEV

   

2.  Request DMA channel for P2M:

        - DMA request-ASRC TX1

    Configured abvoe channel as Slave DMA channel. Input src is ASRC TX1, output dst is MEMORY & direction is DMA_FROM_DEV

   

SSI is configured as SLAVE I2S device.

Configuratin of ASRC:

    config.input_word_width = ASRC_WIDTH_24_BIT;

    config.output_word_width = ASRC_WIDTH_24_BIT;

    config.pair = iprtd->asrc_index; [ASRC_PAIR_A]

    config.channel_num = channel;    [2]  

    config.input_sample_rate = 48000;   

    config.output_sample_rate = 44100;

    config.inclk = INCLK_SSI1_RX;       [clk coming from SSI RX & its slave device]

    config.outclk = OUTCLK_SSI2_TX;     [clk coming from playback codec, SSI is master I2S (same as above patch)]

I had verified that both clock coming to ASRC.

My Result:

I received 'blank' data from MEMORY

Can you help me out, why i received 'blank' data. Or something is missing in above setup.

-Ankit.   

_at

Hello All,

Found the solution: Configure SSI-1  & AUDMUX's ports to ASYNC MODE. Otherwise, SSI-1 never get clock on SRCK.

-Ankit.

Can you attach or share the patch in community?

_at

Hi Lei Ge,

I am attaching patch at following locatin Audio LOST after ~10 hrs on i.MX 6Q for your reference. Please review it & give comments upon it.

Now, We got Audio lost after ~10 hrs after this attached patch. Issue explained in above link.

Note:

- We able to play smoothly till 10 hrs.

_at

Hi Lei Ge,

Can you please give a comments over last attached patch here-Audio LOST after ~10 hrs on i.MX 6Q?

-Ankit.

%3CLINGO-SUB%20id%3D%22lingo-sub-1122599%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9F%BA%E4%BA%8E%E5%86%85%E6%A0%B8%203.0.35%20%E4%BD%BF%E7%94%A8%20ASRC_P2P%20%E5%8A%9F%E8%83%BD%E6%97%B6%E5%90%AF%E7%94%A8%20SSI%20%E4%B8%BB%E6%A8%A1%E5%BC%8F%E7%9A%84%E8%A1%A5%E4%B8%81%E9%80%82%E7%94%A8%E4%BA%8E%20I.MX6DL%2FDQ%20SebreSD%20%E6%9D%BF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1122599%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E5%BD%93%E4%BD%BF%E7%94%A8%20SSI%20%E4%BB%8E%E5%B1%9E%E6%A8%A1%E5%BC%8F%E8%BF%9B%E8%A1%8C%20ASRC_P2P%20%E5%8A%9F%E8%83%BD%EF%BC%88%20%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-95342%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.freescale.com%2Fdocs%2FDOC-95342%3C%2FA%3E%20%EF%BC%89%E6%97%B6%EF%BC%8C%E8%BD%AC%E6%8D%A2%E5%90%8E%E7%9A%84%2024%20%E4%BD%8D%E6%95%B0%E6%8D%AE%E7%9A%84%E6%B3%A2%E5%BD%A2%E5%BC%82%E5%B8%B8%EF%BC%88%E6%9C%89%E4%B8%80%E4%BA%9B%E4%BB%8B%E4%BA%8E%200%20%E5%92%8C%201%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%80%BC%EF%BC%89%E3%80%82%E5%BD%93%E4%BD%BF%E7%94%A8SSI%20Master%20Mode%E6%97%B6%EF%BC%8C%E8%BF%99%E4%BA%9B%E5%BC%82%E5%B8%B8%E6%95%B0%E6%8D%AE%E5%B0%B1%E4%BC%9A%E6%B6%88%E5%A4%B1%E3%80%82%E6%AD%A4%E8%A1%A5%E4%B8%81%E5%B1%95%E7%A4%BA%E4%BA%86%E5%A6%82%E4%BD%95%E5%9F%BA%E4%BA%8E%20ASRC_P2P%20%E8%A1%A5%E4%B8%81%E5%90%AF%E7%94%A8%20SSI%20%E4%B8%BB%E6%A8%A1%E5%BC%8F%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E7%94%B1%E4%BA%8E%20SSI%20%E4%B8%BB%E6%A8%A1%E5%BC%8F%E5%AF%B9%20LRCLK%20%E4%BD%BF%E7%94%A8%E5%9B%BA%E5%AE%9A%E6%95%B0%E6%8D%AE%E5%AE%BD%E5%BA%A6%EF%BC%88%E6%AF%8F%E4%B8%AA%20L%20%E6%88%96%20R%2032%20%E4%BD%8D%EF%BC%89%EF%BC%8C%E5%B9%B6%E4%B8%94%20ASRC_P2P%20%E4%B8%8D%E6%94%AF%E6%8C%81%20SSI%20%E5%8F%8C%20FIFO%20%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%AD%A4%E8%A1%A5%E4%B8%81%E4%B8%8D%E8%83%BD%E5%BE%88%E5%A5%BD%E5%9C%B0%E6%94%AF%E6%8C%81%E8%BD%AC%E6%8D%A2%E5%90%8E%E7%9A%84%2016%20%E4%BD%8D%E6%95%B0%E6%8D%AE%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E5%BB%BA%E8%AE%AE%EF%BC%9A%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E8%A6%81%E5%B0%86%E9%9F%B3%E9%A2%91%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2%E4%B8%BA16bit%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8SSI%20Slave%20Mode%EF%BC%9B%E5%A6%82%E6%9E%9C%E8%A6%81%E5%B0%86%E9%9F%B3%E9%A2%91%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2%E4%B8%BA24bit%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8SSI%20Master%20Mode%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-1122599%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E5%BD%93%E4%BD%BF%E7%94%A8%20SSI%20%E4%BB%8E%E5%B1%9E%E6%A8%A1%E5%BC%8F%E8%BF%9B%E8%A1%8C%20ASRC_P2P%20%E5%8A%9F%E8%83%BD%EF%BC%88%20%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-95342%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.freescale.com%2Fdocs%2FDOC-95342%3C%2FA%3E%20%EF%BC%89%E6%97%B6%EF%BC%8C%E8%BD%AC%E6%8D%A2%E5%90%8E%E7%9A%84%2024%20%E4%BD%8D%E6%95%B0%E6%8D%AE%E7%9A%84%E6%B3%A2%E5%BD%A2%E5%BC%82%E5%B8%B8%EF%BC%88%E6%9C%89%E4%B8%80%E4%BA%9B%E4%BB%8B%E4%BA%8E%200%20%E5%92%8C%201%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%80%BC%EF%BC%89%E3%80%82%E5%BD%93%E4%BD%BF%E7%94%A8SSI%20Master%20Mode%E6%97%B6%EF%BC%8C%E8%BF%99%E4%BA%9B%E5%BC%82%E5%B8%B8%E6%95%B0%E6%8D%AE%E5%B0%B1%E4%BC%9A%E6%B6%88%E5%A4%B1%E3%80%82%E6%AD%A4%E8%A1%A5%E4%B8%81%E5%B1%95%E7%A4%BA%E4%BA%86%E5%A6%82%E4%BD%95%E5%9F%BA%E4%BA%8E%20ASRC_P2P%20%E8%A1%A5%E4%B8%81%E5%90%AF%E7%94%A8%20SSI%20%E4%B8%BB%E6%A8%A1%E5%BC%8F%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E7%94%B1%E4%BA%8E%20SSI%20%E4%B8%BB%E6%A8%A1%E5%BC%8F%E5%AF%B9%20LRCLK%20%E4%BD%BF%E7%94%A8%E5%9B%BA%E5%AE%9A%E6%95%B0%E6%8D%AE%E5%AE%BD%E5%BA%A6%EF%BC%88%E6%AF%8F%E4%B8%AA%20L%20%E6%88%96%20R%2032%20%E4%BD%8D%EF%BC%89%EF%BC%8C%E5%B9%B6%E4%B8%94%20ASRC_P2P%20%E4%B8%8D%E6%94%AF%E6%8C%81%20SSI%20%E5%8F%8C%20FIFO%20%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%AD%A4%E8%A1%A5%E4%B8%81%E4%B8%8D%E8%83%BD%E5%BE%88%E5%A5%BD%E5%9C%B0%E6%94%AF%E6%8C%81%E8%BD%AC%E6%8D%A2%E5%90%8E%E7%9A%84%2016%20%E4%BD%8D%E6%95%B0%E6%8D%AE%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E5%BB%BA%E8%AE%AE%EF%BC%9A%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E8%A6%81%E5%B0%86%E9%9F%B3%E9%A2%91%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2%E4%B8%BA16bit%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8SSI%20Slave%20Mode%EF%BC%9B%E5%A6%82%E6%9E%9C%E8%A6%81%E5%B0%86%E9%9F%B3%E9%A2%91%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2%E4%B8%BA24bit%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8SSI%20Master%20Mode%E3%80%82%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1122603%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%9F%BA%E4%BA%8E%E5%86%85%E6%A0%B8%203.0.35%20%E4%BD%BF%E7%94%A8%20ASRC_P2P%20%E5%8A%9F%E8%83%BD%E6%97%B6%E5%90%AF%E7%94%A8%20SSI%20%E4%B8%BB%E6%A8%A1%E5%BC%8F%E7%9A%84%E8%A1%A5%E4%B8%81%E9%80%82%E7%94%A8%E4%BA%8E%20I.MX6DL%2FDQ%20SebreSD%20%E6%9D%BF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1122603%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E6%82%A8%E8%83%BD%E9%99%84%E5%8A%A0%E6%88%96%E5%9C%A8%E7%A4%BE%E5%8C%BA%E4%B8%AD%E5%88%86%E4%BA%AB%E8%A1%A5%E4%B8%81%E5%90%97%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1122600%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%9F%BA%E4%BA%8E%E5%86%85%E6%A0%B8%203.0.35%20%E4%BD%BF%E7%94%A8%20ASRC_P2P%20%E5%8A%9F%E8%83%BD%E6%97%B6%E5%90%AF%E7%94%A8%20SSI%20%E4%B8%BB%E6%A8%A1%E5%BC%8F%E7%9A%84%E8%A1%A5%E4%B8%81%E9%80%82%E7%94%A8%E4%BA%8E%20I.MX6DL%2FDQ%20SebreSD%20%E6%9D%BF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1122600%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E5%A5%BD%E8%A1%A5%E4%B8%81%3C%2FP%3E%3C%2FLINGO-BODY%3E
无评分
版本历史
最后更新:
‎08-06-2013 10:56 PM
更新人: