How to enable Hi-Fi DSP from Audio Subsystem?

Please refer “System Block Diagram” from the below HiKey_User_Guide_Rev0.2.pdf document,which shows “Audio Subsystem” => “Hi-Fi DSP”
https://www.96boards.org/wp-content/uploads/2015/02/HiKey_User_Guide_Rev0.2.pdf

Does Linaro has developed a driver to offload audio tasks to the Hi-Fi DSP?

If not how to access Hi-Fi DSP from the ARM processor? details of registers, kernel driver to use Hi-Fi DSP?

Please provide more details on how can we use Hi-Fi DSP capabilities on Hi-Key Linaro board.

Thanks,
Niranjan

Hi @niruyadla,

It would be great if we could use the Hi-Fi DSP with hardware acceleration.

We also do not have access to the technical information of the IP of Hi-Fi DSP, which can be used for implementing capabilities of the Hi-Fi DSP with kernel driver and etc…

Hi Akira,

Can I get your email ID(preferably linaro mail id) ,and would like to send an email.
we are vising Shanghai early next week and would like to help Linaro to get HiFI DSP running on HiKey board.

Thanks,
Niranjan

Hi,

I’m refreshing this topic as I’m also interested in running HiFi DSP. Is this solved already? Does anybody already know what it takes to use this DSP?

Cheers,
Dziku.

Hi,

HiFi3 DSP present in Hikey960 has been working on AOSP with the help of @niruyadla. He upstreamed the driver and constantly working on improving it. It can be used to offload the audio processing from CPU.

You can find the driver here: drivers/hisi/hifi_dsp - kernel/hikey-linaro - Git at Google

Within couple of months, I will be working on porting this driver to Linux. But there is no information available on HiFi DSP present in Hikey (HiKey6220).

Hope this helps!

Thanks,
Mani

Thanks, great to hear that things are moving in good direction!
@Mani, from what I saw from the driver sources, you can use HiFi DSP to offload some audio processing. My questions then would be the following:

  • how do you know what kind of processing is supported in the HiFi DSP? Is it described somewhere? How do you know what should the driver support?
  • are you able to create you own custom HiFi image and load it to HiFi? Are there any instructions for that?
    In my case, I would like to create some custom audio processing algorithm and run it in HiFi. I have access to HiFi3 toolchain so building a library or executable is not a problem for me.

Thanks in advance for help!

Cheers,
Dzik.

Please find below my inline answers…

how do you know what kind of processing is supported in the HiFi DSP?

The HiFi 3 DSP is a powerful VLIW, SIMD featured DSP. It runs upto 533MHz frequency on Hikey960. It has a good set of tools.
Therefore any DSP type application with realtime processing needs can be run on the HiFi DSP. As an example, we are providing Ogg-Vorbis decoder and PCM playback.

How do you know what should the driver support?

Driver handles HiFi 3 load, IPC/mailbox and it is just an interface between DSP app from user space to DSP firmware running at HiFi 3 DSP

are you able to create you own custom HiFi image and load it to HiFi? Are there any instructions for that?

Yes, we can create custom HiFi image and load it to HiFi 3 DSP. When we release software then will release associated document describing how to build image and load it.

Hello,

What is the estimated date of the software release? I’m interested especially in the documentation on creating cutsom HiFi3 image. You mentioned the release date around Feb’18. Is it still the planned date?
Do you also plan to open your HiFi3 image to the public, so that people could add their own stuff on top of the example Ogg-Vorbis and pcm playback?

Cheers,
Dziki Dzik.

We are on track on our internal QA which is ongoing and we plan to complete it on Feb 15th.
You will be able to create custom HiFi3 image, based on documentation we provide.
Yes we are going to open our HiFi3 image to public.

Thanks @niruyadla! Looking forward to put my hands on it!

Cheers,
Dzik

HiFi DSP is open now and can find more information from the below link
https://android.googlesource.com/device/linaro/hikey/+/master/hifi/xaf/docs/

1 Like

@niruyadla This is awesome! Thanks for your efforts :smiley:

1 Like

Hello there, About loading the custom DSP image to HiFi-3 hardware…
1- Is there any other method to flash this image, other than using XAF api?
2- Does this XAF works in case of Linux? (The tutorial is for AOSP).
Thank you for your time.