Post Go back to editing

Grouping of SPORTs in 21565

Hi,

I have some questions after reading the hwr reference and BSP examples.

1) In hwr reference page 1074, it says up to 16 channels in 8 half SPORTs in DAI0, etc. I wonder if I can group SPORTs that config in TDM16 format with both PRIM and SEC, total 32 channels.

2) If 32 channels in each SPORTs could be group together, I need to make two groups, one group is SPORT6A,SPORT6B as TX, another group is SPORT1A,SPORT1B,SPORT7A,SPORT7B as RX, this group cross both DAI0 and DAI1,  is it possible to enable the two groups together.

3) In SportCallback, I can get the store pointer from *pArg which point to the processed buffer that caused the callback. However in GlobalRegisterCallback, I don't know how to get the pointers of each SPORTs. I tried to use the *pArg, but it seems I get error results.

The BSP SPT_GBL_Audio_Passthrough_TDM example only create one SPORT in each group, but I need to group several SPORTs, the example is not clear enough to me. 

Thanks. 

Parents
  • Hi,

    Regarding, "1) In hwr reference page 1074, it says up to 16 channels in 8 half SPORTs in DAI0, etc. I wonder if I can group SPORTs that config in TDM16 format with both PRIM and SEC, total 32 channels."
    >> This is not possible.

    Regarding, "2) If 32 channels in each SPORTs could be group together, I need to make two groups, one group is SPORT6A,SPORT6B as TX, another group is SPORT1A,SPORT1B,SPORT7A,SPORT7B as RX, this group cross both DAI0 and DAI1,  is it possible to enable the two groups together."
    >> This is also not possible.

    Regarding, "3) In SportCallback, I can get the store pointer from *pArg which point to the processed buffer that caused the callback. However in GlobalRegisterCallback, I don't know how to get the pointers of each SPORTs. I tried to use the *pArg, but it seems I get error results. The BSP SPT_GBL_Audio_Passthrough_TDM example only create one SPORT in each group, but I need to group several SPORTs, the example is not clear enough to me."
    >> The global register callback will return the group handle and application needs to transverse through the info returned by the global register callback to get individual sport handle info and then set up ISR events for that sport. For each of that sport handle you can set the sport event in application ISR to check for the error. Note that the global callback's *pArg contains address of hDai0Group0Tx

    Regards,
    Anand Selvaraj.

Reply
  • Hi,

    Regarding, "1) In hwr reference page 1074, it says up to 16 channels in 8 half SPORTs in DAI0, etc. I wonder if I can group SPORTs that config in TDM16 format with both PRIM and SEC, total 32 channels."
    >> This is not possible.

    Regarding, "2) If 32 channels in each SPORTs could be group together, I need to make two groups, one group is SPORT6A,SPORT6B as TX, another group is SPORT1A,SPORT1B,SPORT7A,SPORT7B as RX, this group cross both DAI0 and DAI1,  is it possible to enable the two groups together."
    >> This is also not possible.

    Regarding, "3) In SportCallback, I can get the store pointer from *pArg which point to the processed buffer that caused the callback. However in GlobalRegisterCallback, I don't know how to get the pointers of each SPORTs. I tried to use the *pArg, but it seems I get error results. The BSP SPT_GBL_Audio_Passthrough_TDM example only create one SPORT in each group, but I need to group several SPORTs, the example is not clear enough to me."
    >> The global register callback will return the group handle and application needs to transverse through the info returned by the global register callback to get individual sport handle info and then set up ISR events for that sport. For each of that sport handle you can set the sport event in application ISR to check for the error. Note that the global callback's *pArg contains address of hDai0Group0Tx

    Regards,
    Anand Selvaraj.

Children
No Data