Jetson Sensor Processing Engine (SPE) Developer Guide

r34.1.1 Release

IVC

Inter VM Communication provides interfaces to communicate between chip processors through memory channel. The only channel supported in the current distribution is the echo channel. The echo channel demonstrates:

  • How to establish the IVC channel.
  • How IVC communication works in the kernel.
  • How IVC communication works in the Freertos code.

The current IVC channel are described in the device tree repository. You must run source_sync.sh to get the dtsi file. After running source_sync.sh, the file is located at

  • For Jetson AGX Xavier:
    Linux_for_Tegra/sources/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-aon.dtsi
    

To add/remove or enable/disable the channels in linux kernel, you must update the device tree entries in the above dtsi file. The following code shows how to enable the IVC echo channel:

};
};
+ aon_echo {
+ compatible = "nvidia,tegra186-aon-ivc-echo";
+ mboxes = <&aon 0>;
+ status = "okay";
+ };
+
aondbg {
compatible = "nvidia,tegra186-aondbg";
mboxes = <&aon 1>;

Compile the device tree and copy the dtb file to Linux_for_Tegra/dtb/ directory. Rebuild the device tree and reflash the board by referencing the instructions in the Building the Kernel section of the Linux Developer Guide.

From the Linux kernel side, the /sys/devices/platform/aon_echo/data_channel node is used to communicate with AON after enabling echo channel as mentioned above. Messages sent to AON through this channel are echoed back to CCPLEX.

ubuntu@jetson:~$ sudo su -c 'echo t19x > /sys/devices/platform/aon_echo/data_channel'
ubuntu@jetson:~$ cat /sys/devices/platform/aon_echo/data_channel
t19x
ubuntu@jetson:~$

The echo channel ivc code in the current firmware resides at:

rt-aux-cpu-demo-fsp/app/ivc-echo-task.c

And the channel descriptions are at:

rt-aux-cpu-demo-fsp/platform/ivc-channel-ids.c
Note
The communication between CCPLEX and AON using IVC echo channel has been verified only on Jetson AGX Xavier. This feature is not yet available for AGX Orin.