I2S7 pinmux - not possible to map to I2S

In our design of a custom carrier board the port I2S7 is used. In the pinmux tool I can not map pins L50, L49, L9 and L48 to I2S. I’m using version 1.4 of Pinmux_Template.

Available options:

L9: unused, GPIO3_PV.00
L48: unused, GPIO3_PU.00, CCLA_LA_TRIGGER_MUX
L49: unused, GPIO3_PV.01, GP_PWM10
L50: unused, GPIO3_PU.06

How to proceed here?

The I2S7 pins are not supported for I2S usage on Jetson Thor. Please refer to Table 11-1 of the Jetson Thor Series Modules Interface Design Guide for the pins supporting audio on Jetson Thor.

@ChrisB_NV Can you please specify what you mean with ‘not supported’ here? We have been able to setup and use I2S7 so I’m a bit puzzled by this answer if it is that Nvidia doesn’t give any help or support using this interface or not recommend using it for some reason or something else?

I manually specified my pins for I2S7 like this in the pinmux dts:

soc_gpio170_pu0 {
				nvidia,pins = "dap7_in_pu0";
				nvidia,function = "i2s7_sdata_in";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,drv-type = <TEGRA_PIN_1X_DRIVER>;
				nvidia,e-io-od = <TEGRA_PIN_DISABLE>;
				nvidia,e-lpbk = <TEGRA_PIN_DISABLE>;
};
soc_gpio176_pu6 {
				nvidia,pins = "dap7_sclk_pu6";
				nvidia,function = "i2s7_sclk";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
				nvidia,drv-type = <TEGRA_PIN_1X_DRIVER>;
				nvidia,e-io-od = <TEGRA_PIN_DISABLE>;
				nvidia,e-lpbk = <TEGRA_PIN_DISABLE>;
};
soc_gpio178_pv0 {
				nvidia,pins = "dap7_out_pv0";
				nvidia,function = "i2s7_sdata_out";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
				nvidia,drv-type = <TEGRA_PIN_1X_DRIVER>;
				nvidia,e-io-od = <TEGRA_PIN_DISABLE>;
				nvidia,e-lpbk = <TEGRA_PIN_DISABLE>;
};
pwm10_pv1 {
				nvidia,pins = "dap7_fs_pv1";
				nvidia,function = "i2s7_lrck";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
				nvidia,drv-type = <TEGRA_PIN_1X_DRIVER>;
				nvidia,e-io-od = <TEGRA_PIN_DISABLE>;
				nvidia,e-lpbk = <TEGRA_PIN_DISABLE>;
};

With this settings, derived/guessed from other i2s interfaces, together with Linux device-tree and codec setup we are able to get sound out of I2S7.

The pinmux mappings validated by NVIDIA are documented in the Interface Design Guides for the various modules and are the recommended interfaces to use. Other pinmux mappings not shown in the Design Guides may work but are not validated on the corresponding Jetson module.

The pinmux tool only supports the mappings and usecases validated by NVIDIA.