Audio: Start add simulated DAI and host component
The just updated version adds a triangle wave generator to DAI capture and and glitch detector to DAI playback.
This version adds to host triangle wave generate to playback and to capture detecting of glitches. Both triangle generators in DAI and host have now an option to force making glitch every 5s for sanity check to make sure glitches are detected.
@singalsu AFAIK the simulated Host will self-generate the data right? Can we call it "Virtual"?
@lgirdwood @singalsu we are trying to decouple SOF firmware from Linux kernel to have it run on MCUs so this could be a good start for us.
@singalsu AFAIK the simulated Host will self-generate the data right? Can we call it "Virtual"?
Virtual could be better., I'm not good in naming things. It's still a functional host with data flow to/from user but the playback data is replaced. The next step would be to remove the host DMA traffic, but I have no idea if such is possible without changes to kernel and other SOF framework. The DAI part is now decoupled from HW, so it is "virtual".
Update - removed device driver probe from dai_get().
most comments apply to both host and DAI
@singalsu what topology would you use to test these? Also, how do you start a simulated host playback or capture? Would you still need a PCM in the topology? Ideally, we also want hostless capabaility right?
@singalsu AFAIK the simulated Host will self-generate the data right? Can we call it "Virtual"?
@lgirdwood @singalsu we are trying to decouple SOF firmware from Linux kernel to have it run on MCUs so this could be a good start for us.
This is not intended for MCU, but you could modify for MCUs as needed - intention here was to help test code flows without invoking any IP programming. i.e. pipelines could be created and run without programming IPs (and do memory to memory copies).
@singalsu what topology would you use to test these? Also, how do you start a simulated host playback or capture? Would you still need a PCM in the topology? Ideally, we also want hostless capabaility right?
Re hostless - yes, that would be a followup. i.e. it would use locally generated test data instead of copying from host.