For some applications, enabling multiple SPORTs need to be synchronized so that all of them start and/or end at the same time. It may also be required to generate/receive a single interrupt/trigger for the DMA transfer of all the SPORTs in the same group. The DAI_GBL_SP_EN register is used to control enabling/disabling. The DAI_GBL_INT_EN register can be used to control interrupt/trigger generation/reception by multiple SPORTs in a group.
In ADSP-2156x,each DAI has a DAI_GBL_SP_EN register. This register is used to enable the SPORTs globally. This works independent of SPORT enable in SPCTLx register. The enable feature in legacy SPORT remains same and can be used if the SPORTs has to be enabled individually.
To enable the SPORTs grouped within the same DAI at the same time, write to the corresponding DAI_GBL_SP_EN register is required. If a group of SPORTs in different DAIs has to be enabled at the same time, write to the DAI_GBL_SP_EN.GBL_SP_EN field is required. This bit is reserved for the DAI1.
Possible sport grouping for enabling globally,
- All 32 channels in 16 half SPORTs together.
- 16 channels in 8 half SPORTs in DAI0.
- 16 channels in 8 half SPORTs in DAI1.
- 8 channels in every 4 half SPORTs in each DAI.
- Within a DAI any number of groups are possible.