Hello Daniel,
Thanks a lot for the fast answers.
I would like to get started with SOF: I'm interested in audio signal processing, audio driver programming and hardware. I do this to some extend during my normal work, however, for new things to learn there is never time.
Good to hear that. Care to elaborate what kind of projects are you targeting? What kind of audio signal processing algorithms are you top priorities. We are now scoping and talking with various customers in order to understand what algorithms we should plan on implementing or at least provide an easy interface for integration. You might have reached this page, just to make an idea where we sit at the moment: https://thesofproject.github.io/latest/algos/index.html#supplied-processing-...
Very impressive. Especially that there is a ASRC in software. Need to look into that. For the time being I'm more interested into how the different algorithms are connected within a pipline and how these pipelines are interacting with the kernel (alsa) and on the other side the DSP serving the DAI. That’s more what I'm interested privately.
One a second step, I would maybe lock how my companies algorithms might be ported to SOF. That are mostly automotive algos including acoustic echo cancelation, noise reduction, beamforming both for telephony and voice recognition application. But that is closed source as you can imagine. Furthermore, it is also very important how 3rd party tunning tools can be "connected" to SOF in a general way. Probably the third step then.
So, I’m looking for a suitable NXP board for SOF. I would like to use the new i.MX8M Plus if possible or is it better to use one of the NXP platforms mention in the sof documentation? I could not find any NXP "native" 8M Plus board on the web page, however, there is a device tree file imx8mp-evk-sof-wm8960.dts indicating there is one?
Yes, there is an i.MX8MP Evaluation board and has SOF support with NXP BSP software. I can get in touch with sales team at NXP and get back at you with more details in private.
Thank you. I'm looking forward to it.
Also I'm unclear how to get technical information of the Hifi4 core. Nothing mentioned in the SOC datasheets so far. I could use one of the Tensilica licenses of my company I work for. But do I need to contact NXP or Cadence?. Any NDA required?
What kind of technical information you need? Most of getting started technical info can be found inside the source code on github. You will need a license to use Xtensa toolchain, but just for prototyping you can go with GCC based toochain.
Basic information how the Hifi4 core is included into the SOC (memory map, interrupts). Probably similar to what you already do for the M4/M7 cores via own sections for them. When I search for Hifi4 in e.g. IMX8DQXPRM, I get only a few matches in overview pictures and some tables. Anyway, for the time being I'm good. I will look into the code.
I have already a i.MX 8M Mini EVK for Android learning and a i.MX RT600 EVK just for fun. So, just a maybe stupid question: Any plans to support SOF together with a "normal" Cortex-M4 / Cortex-M7 accelerator core on the (NXP) SOCs? Now that it is possible to use Zephyr as RTOS, I think this would be possible, at least for some not too complex audio pipelines.
Everything is possible since SOF is an open source project. Someone just needs to do it.
Yes, that is true. Just not sure if my skill set and time is enough for that 😊.
At NXP, on the short term we are planning to use Zephyr as RTOS on HIFI4 (mind that this is available now only on intel platforms).
Thanks for the info. Was not aware of it. Just found my old MinnowboardMax and reactivated it. This will probably good for getting started and then use it for cheating. I know, the MinnowboardMax it's already a bit old and it's recommended to use the Up2 board, but for the Up2 there are no schematics available, which I personally do not like for that kind of work.
Also, it is on my todo list (as a side project) to give it a try with SOF and i.MX RT variants.
Great.