I2s on jetson nano produciton

Hello Dieter,

The best reference for configuring the pinmux for Nano is the following …

https://developer.nvidia.com/jetson-nano-developer-kit-40-pin-expansion-header-gpio-usage-considerations-applications-note

Please note that although the above refers to the 40-pin header found on the devkit, the procedure is still relevant to the production version. However, you will need to …

  1. Use the module pinmux spreadsheet for the Nano module [0] and not the one for the Nano devkit.
  2. The module pinmux does not have a configuration for the Auvidea carrier board. So you may wish to ask Auvidea if they maintain a version for their carrier board. In fact, you may wish to ask them if they have the necessary devicetree files which contain an update pinmux for their carrier board.
  3. If you are using L4T r32.3+ then it is no longer necessary to update the U-Boot pinmux as described in the above document, only the C-Boot pinmux.

With regard, to the I2S slave/master mode, for each I2S interface there is an amixer control that can be used to change this from userspace.

$ amixer -c tegrasndt210ref cget name="I2S4 codec master mode"

Set Tegra as master, codec as slave …

$ amixer -c tegrasndt210ref cset name="I2S4 codec master mode" cbs-cfs

Set Tegra as slave, codec as master …

$ amixer -c tegrasndt210ref cset name="I2S4 codec master mode" cbm-cfm

Or you can change the default via device-tree [1].

Regards,
Jon

[0] https://developer.nvidia.com/jetson-nano-pinmux
[1] Welcome — Jetson Linux<br/>Developer Guide 34.1 documentation