Audio Passthrough not working outside of demo project

Hi Analog Devices, 

I have a 21569 EZ Kit (BOM Rev "B"), and am trying to get an audio passthrough working in a new project I've created, using the Audio Passthrough I2S example as a base.

I was having trouble with adi_sport_Open getting stuck, and couldn't find any difference between my project and the demo, so I created a brand new CrossCore C project with nothing else in it, and literally copy & pasted the demo code and supporting files into this new test project as a sanity check, but this did not work either.

Notably the bare test project gets stuck in adi_twi_Write rather than sport_open as in my larger project, but stuck it is.

I have triple-checked the pinmux config and this is identical between the two projects, and as far as I can see the cache configuration is also the same (disabled).

I have attached a folder containing the working demo project, and the non-working copy & pasted test project, and I'd be very grateful if someone could let me know what I'm missing? 

Many thanks, 


  • In addition to the above, it seems that in the bare project where I copy & pasted the demo code into, it's stuck waiting for a semaphore in the TWI device to be accessed.

    I'm very much unsure why this is an issue in this duplicate project, and not in the demo project.

    I hope this is useful info.


  • 0
    •  Analog Employees 
    on Mar 1, 2021 4:55 PM in reply to cSmout


    Can you please follow the below steps to run Audio Passthrough example:

    1. Enable TWI2 in Pin Multiplexing tab from system.svc 2. Update "adi_sport_config_2156x.c" file as per Audio_Passthrough example from <BSP path>\Audio_Passthrough_I2S\21569\system\drivers\sport.

    It seems you have used default static configuration file for SPORT. CCES add-in for Device Drivers and System Services can be used to add the given Device Drivers as an external and copy the default static configuration header file from CCES to User's application. Users can modify the configuration macros inside the project's local static configuration header file in order to configure the peripheral as per the requirements.

    Anand Selvaraj.