[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