Coding the DSP on Dragonboard 410c

Hi All,

Here is a link describing how to use the Hexagon SDK on DragonBoard 410c running a Debian image:
https://github.com/96boards/documentation/wiki/Dragonboard-Hexagon-DSP

It describes how to build and execute a kernel with FastRPC support as well as a sample application doing matrix multiplications on the remote DSP.

Please note this is a early version of the FastRPC driver.

Feel free to comment or ask questions.

Regards,
Thierry

1 Like

Hi,

Thank you for your help , I followed the link and I faced this problem :
when I excute these lines

$ sudo su
$ qrtr-cfg 1
$ qrtr-ns
$ rmtfs 

I get : ERROR qrtr-cfg: failed to create AF_QIPCRTR socket: Address family not supported by protocol

what is the problem ?

thank you in advance.

you are probably missing some kernel patches or config. Do you have CONFIG_QRTR in your kernel config? are you using the Linaro prebuilt images, or building yours?

Thank you for your reply !
I followed the link step by step, but I didn’t do this
“you also need the apq8016 modem firmware files r1036.1 to get FastRPC support. These files are about to be released through the Qualcomm Developer Network. You’ll need to replace the files /lib/firmware/modem.* in your stock rootfs with the r1036.1 ones.”
because I didn’t find these files on Qualcomm developper network and I don’t know from where can I download them

ok, good. this kernel option is enabled by default in our builds, that’s why it was not mentioned explicitly. Feel free to edit/improve the wiki as you go along.

The firmware problem is (sadly) a bigger problem… Unfortunately, the firmware has not been released publicly for Dragonboard on Qualcomm Dev Network. We posted the instructions anyways , at least for those of you who have access to them… We are working hard to get them releases ASAP for everyone, but in the mean time, you can try to ask your board vendor for these files…

I cannot deny that this is a very unfortunate and uncomfortable situation for everyone (including ourselves)…

Ok thank you so much.

Hi Thierry.

I’m curious about one item in the Wiki. It mentions using version 3.2 of the Hexagon SDK. However, from Hexagon SDK - DSP Processor - Qualcomm Developer Network, the 410 has a Hexagon 500 and Qualcomm indicates that SDK version 2.x should be used. Was there a reason for using version 3.x?

Thanks,
Steve

We have a customer who is interested in communicating between the DSP and a SPI-connected device. However, looking at the libraries within the SDK I’m not finding any indication of support for use of the embedded peripherals by the DSP.

Can anyone tell me if this is possible? Do the embedded peripheral (like the SPI controller) registers even appear within the Hexagon memory map?

Thanks,
Steve

@lbitissam_serbouti

we are in the process of releasing MDSP firmware binaries to QDN , presently we are working on some license approvals . please give us some time.
May I know what is your project ? and use case ?

Thanks,
Sivaram

Disclosure : I am a employee from Qualcomm india.

Hi @sschefter Steve

As I discussed here: Qualcomm proprietary binary files / flashall / qdl / EDL - #2 by ljking the access to specific peripherals is enabled/disabled in the proprietary binaries that run before LK boots the system. I don’t know if the DSP has access to any of the I2S/SPI ports enabled in the default binaries, but I strongly suspect that if it does it will only be one of the I2S/SPI ports, not all of them.

I think that the DSP may have access to one of the BLSP blocks, and BLSP blocks can be programmed as I2C or SPI (or GPIO) ports, but I don’t know which BLSP the DSP can access.

The 410 hardware is physically capable of allowing the DSP to access all of the I2S and SPI ports, the limitation will be what has been enabled in the proprietary binaries. I would ask your SOM vendor or @c_snarra if any of the I2S/SPI ports are enabled.

-Lawrence- (no longer a Qualcomm employee)
Looking for a new employer…

Hi ljking ,

we can enable 4 I2s ports in source code depends on our codec which we are using . by default 2 i2s ports are enabled for internal codec .

Thanks,
Sivaram

thanks for your reply,
my project now is to be able to execute a simple code in different processors ( CPU,GPU and DSP) then I have to use that in image processing
I found that symphony SDK makes it easier but I’m using debian and symphony does heterogeneous computing in Android only.

I would highly appreciate it if you help me.

Thank you very much Lawrence

for now, our initial focus regarding the enablement of the DSP, will be compute offload, we are not looking at the moment at how to interface the DSP with peripherals (SPI, I2S, …). we might look into that at some point, but it is not planned.

Hi Linaro Experts,

Have any update for “apq8016 modem firmware files r1036.1” release schedule?

Appreciate with your help

Albert

it is a question for Qualcomm, not Linaro :wink: The release will be made by Qualcomm, last thing we heard is that it’s still in progress. and there is not specific ETA.

Hi @anon91830841

It seems no plan for “apq8016 modem firmware files r1036.1” release

thank you so much.

Albert

no. it is not what I said. There is a plan, and I know the release process has started. It is just taking more time than initial anticipated. But as far as I know, there will be a release.

Hi @anon91830841

Appreciate with your feedback. I think it will take long long time to release. :joy:

thank you so much.

Albert

Hi Linaro Experts,

Have any news for “apq8016 modem firmware files r1036.1” release schedule?

thank you so much.
:grinning: