[AudioI] Audio Injector soundcards and the NVIDIA Jetson

Matt matt at audioinjector.net
Sat Sep 12 06:39:40 UTC 2020


On 12/9/20 10:22 am, bob via People wrote:
>
> Hello,
>
> I am interested using Audio Injector soundcard with NVIDIA Jetson Nano 
> Development Board.
>
> Can the Ultra 2 Soundcard work for the Jetson Nano, of which shares 
> similar ARM platform as Raspberry Pi?
>
Most definately - I would imagine that all the soundcards will work with 
that platform as it's GPIO pins match the specification of the Pi.


> Compiling the soundcard driver available for Jetson Nano?
>

The Ultra 2 is a nice one for you to use. It doesn't have a machine 
driver, it only uses a device tree overlay file. Have a look here :

https://github.com/raspberrypi/linux/blob/rpi-5.4.y/arch/arm/boot/dts/overlays/audioinjector-ultra-overlay.dts

The only hardware dependency is the reset gpio which has to be specified 
correctly on the NVIDIA Jetson Nano. Have a look at its specification 
for the Pi here :

https://github.com/raspberrypi/linux/blob/rpi-5.4.y/arch/arm/boot/dts/overlays/audioinjector-ultra-overlay.dts#L26

 From here : 
https://www.jetsonhacks.com/nvidia-jetson-nano-j41-header-pinout/

It appears that the NVIDIA Jetsons's equivalent pin (29) maps to gpio149.

Does the Jetson use device tree overlays ? If not then you would need to 
either create a custom device tree for booting OR write a device tree 
overlay which you can manually load AND OR write a machine driver.

Another idea is to use the Isolated soundcard. This one has its device 
tree here :

https://github.com/raspberrypi/linux/blob/rpi-5.4.y/arch/arm/boot/dts/overlays/audioinjector-isolated-soundcard-overlay.dts

and its machine driver here :

https://github.com/raspberrypi/linux/blob/rpi-5.4.y/sound/soc/bcm/audioinjector-isolated-soundcard.c

It also has a dependency on the same GPIO pin for reset. Otherwise it 
has some funk in the machine driver for controlling mute. I would 
imagine you could look at how they do Jetson ALSA machine drivers in 
some examples in their kernel (linux/sound/soc/jetson or whatever) and 
mimic that by adapting the isolated machine driver.

I notice that there is some info about building external kernel modules 
which they provide :

https://docs.nvidia.com/jetson/l4t/#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fkernel_custom.html%23wwpID0E0PB0HA

This means that you can host your own git repo which is specifically for 
building an ALSA machine driver which is outside their kernel. It means 
you can manage it and just compile that kernel externally in a far more 
simple fashion - then run it on the image they provide out of the box.

Oh - also - perhaps you can craft a device tree overlay which you load 
manually once the system has booted up ... this means that you could 
develop like this :

* Create a device tree, build and then test it on the jetson. Debug it 
like that.

* If you need to load a kernel ALSA machine driver, compile it and use 
modprobe / rmmod to develop it on the jetson and debug it on the jetson.

If it were me, I would probably develop locally on my desktop/laptop and 
use scp/ssh to get code over to the jetson and test load/run it there 
... probably better then writing code in ssh or otherwise on the jetson 
itself.

> Would any other Audio Injector soundcard better choice for the Jetson 
> Nano?
>

I think they all have the same challenge of making them work on the 
jetson, except the ultra which only uses the device tree overlay (i.e. 
no ALSA machine driver) which would slightly simplify things. Ultimately 
I guess it depends on what audio features you want for your projects.


> Thank you,
>
> Bob
>

Any time - keep hitting the list with updates and if you have questions 
- those too !

Matt


>
-- 
Join the community discussion forum :
https://lists.audioinjector.net/mailman/listinfo/people

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.audioinjector.net/pipermail/people/attachments/20200912/473adfa8/attachment-0001.htm>


More information about the People mailing list