About Changing pinmux for Xavier nx

Hello,

/media/aiserver/data/manage_jetpack_version/xavier_nx_462/Linux_for_Tegra/kernel/pinmux/t19x/README.txt

this README.txt says

The resulting .cfg file will be printed to standard output, so redirect it to the file
Example:
python pinmux-dts2cfg.py
–pinmux
addr_info.txt gpio_addr_info.txt por_val.txt
–mandatory_pinmux_file mandatory_pinmux.txt
tegra19x-p2888_galen_devkit-pinmux.dtsi
tegra19x-p2888_galen_devkit-gpio-default.dtsi
1.0
> galen.cfg

If the dtsi file I created in the Xavier nx pinmux table (excel) file is as follows, how do I set the config file name?

tegra19x-jetson_xavier_nx_module-gpio-default.dtsi
tegra19x-jetson_xavier_nx_module-padvoltage-default.dtsi
tegra19x-jetson_xavier_nx_module-pinmux.dtsi

hello mszeta,

that’s python script pinmux-dts2cfg.py to convert dtsi files into cfg format.
the flashing process actually take this cfg file to program the pin configuration.
hence,
you may copy the generated galen.cfg to overwrite the default cfg file to update the target.
you may also refer to flash logs for the pinmux configure your target used for flashing.
for example,
./tegraflash.py ... --pinmux_config tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg ...

note,
it cannot be done by using partition update. please perform full flash to update pinmux configuration.
please see-also developer guide as see-also, Pinmux Changes.
thanks

1 Like

Hello, @JerryChang

Can I use file name “galen.cfg”?
Is there a designated name?
I’m using jetson xavier nx 16gb ddr module.

I supposed to galen refer to jetson xavier nx devkit code name.
then, I think that I have to use other name.

Thank you.

hello mszeta,

you may, please modify the PINMUX_CONFIG in the flash configuration file to use the exactly cfg file for image flashing.
for example, it’s p3668.conf.common used by Xavier NX.

1 Like

Hello, @JerryChang

It seems like that default cfg name is /media/aiserver/data/manage_jetpack_version/xavier_nx_461_flashing/Linux_for_Tegra/bootloader/tegra19x-mb1-pinmux-p3668-a01.cfg

I am trying to create a cfg file using dtsi created in Excel, but I get the following error.
No changes were made to the pinmux configuration table.
First, create a cfg file without changing anything and apply it.
If it was applied well, I tried to apply the desired content.

May I know what the problem is?

python pinmux-dts2cfg.py --pinmux addr_info.txt gpio_addr_info.txt por_val.txt --mandatory_pinmux_file mandatory_pinmux.txt tegra19x-jetson_xavier_nx_module-pinmux.dtsi tegra19x-jetson_xavier_nx_module-gpio-default.dtsi 1.0 > tegra19x-mb1-pinmux-p3668-a01.cfg
ERROR: pin dap3_sclk_pt1(0x00000440) field nvidia,enable-input(0x00000040) is not matching, val = 0x01 expected = 0x00
ERROR: pin dap3_fs_pt4(0x00000440) field nvidia,enable-input(0x00000040) is not matching, val = 0x01 expected = 0x00
ERROR: pin eqos_rd3_pf1(0x00022470) field nvidia,lpbk(0x00000020) is not matching, val = 0x01 expected = 0x00
ERROR: pin eqos_sma_mdio_pf4(0x00022440) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
ERROR: pin sdmmc4_cmd(0x00002440) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
ERROR: pin soc_gpio10_pg6(0x00000410) field nvidia,tristate(0x00000010) is not matching, val = 0x01 expected = 0x00
ERROR: pin gp_pwm2_px2(0x00000410) field nvidia,tristate(0x00000010) is not matching, val = 0x01 expected = 0x00
ERROR: pin uart2_tx_px4(0x00000400) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
ERROR: pin uart2_rx_px5(0x00000450) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
ERROR: pin can0_dout_paa2(0x0000c400) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
ERROR: pin can0_din_paa3(0x0000c450) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
ERROR: pin uart3_tx_pcc5(0x00000400) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
ERROR: pin uart3_rx_pcc6(0x00000450) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
ERROR: pin soc_gpio22_pq2(0x00000459) field nvidia,pull(0x0000000c) is not matching, val = 0x02 expected = 0x00
ERROR: pin uart1_tx_pr2(0x00000400) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
ERROR: pin uart1_rx_pr3(0x00000454) field nvidia,pull(0x0000000c) is not matching, val = 0x01 expected = 0x02

Thank you.

hello mszeta,

it’s due to you’ve add --mandatory_pinmux_file option.
the mandatory_pinmux.txt it’s an information for PinMux configuration for the bring-up process.
the mandatory (must have) configurations will be like hardcoded, such that mandatory configurations cannot be changed.
for example, this mandatory configurations used specific for IOs in PinMux configurations, such as I2C SCL/SDA pins should be in input enable mode.

so,
you may try removing --mandatory_pinmux_file options to avoid these errors.
thanks

1 Like

Hello, @JerryChang and @jonathanh

I set it up like below in jetson nano
I have modified the following to set the same settings in jetson xavier.
Can you please check if it is set correctly?

Thank you.

hello mszeta,

the pinmux configuration depends-on your hardware design.
there’s no problem found in your pinmux I2S0 settings.

1 Like