Eth0 interface is gone after using updated pinmux spreadsheet on TX2

Hi Sir/Madam,

I use this pinmux spreadsheet(no change) on TX2 kit but eth0 interface will be gone
https://devtalk.nvidia.com/default/topic/1023417/jetson-tx2/pinmux-dts2cfg-py-gives-errors-from-default-pinmux/post/5208337/#5208337

Could you please provide correct pinmux spreadsheet?

Thank you!

Hi JasonFan,

Could you share your dts after generated by this spreadsheet?

What is the error log (dmesg)?

Hi WayneWWW,

Please help check attachments

The spreadsheet is modified some fields for our custom board but most are the same to original one.
I also verified original one on TX2 kit and eth0 is also gone.
The log is TX2 + custom board.

Thank you.

[This file was removed because it was flagged as potentially malicious] (758 KB)
dmesg_spreadsheet.log (67.9 KB)

Hi JasonFan,

Thanks for this info. I’ll look into this.

Here are my steps

  1. Use “Jetson-TX2-Generic-Customer-Pinmux-Template (3).xlsm” and “mandatory_pinmux.txt” in the following link.
    https://devtalk.nvidia.com/default/topic/1023417/jetson-tx2/pinmux-dts2cfg-py-gives-errors-from-default-pinmux/post/5208337/#5208337

  2. Generate three DT files from “Jetson-TX2-Generic-Customer-Pinmux-Template (3).xlsm”

  1. tegra18x-jetson-tx2-config-pegabot-gpio-default.dtsi
  2. tegra18x-jetson-tx2-config-pegabot-padvoltage-default.dtsi
  3. tegra18x-jetson-tx2-config-pegabot-pinmux.dtsi
  1. Copy step2 three files and “mandatory_pinmux.txt” to Linus_for_Tegra/kernel/pinmux

  2. python pinmux-dts2cfg.py --pinmux addr_info.txt gpio_addr_info.txt por_val.txt mandatory_pinmux.txt tegra18x-jetson-tx2-config-pegabot-pinmux.dtsi tegra18x-jetson-tx2-config-pegabot-gpio-default.dtsi 1.0 > tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg

  3. python pinmux-dts2cfg.py --pad pad_info.txt tegra18x-jetson-tx2-config-pegabot-padvoltage-default.dtsi 1.0 > tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg

  4. replace tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg and tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg at Linux_fot_Tegra/kernal/dtb

  5. sudo ./flash.sh jetson-tx2 mmcblk0p1

Hi JasonFan,

On your steps #6, please copy the configuration file to the default location:
/bootloader/t186ref/BCT/

We following your steps, the ethernet (eth0) works fine.
Please update your latest result. Thanks!

Sorry to make a mistake (typo).

Correct Step#6
I do copy tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg and tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg to Linux_fot_Tegra/bootloader/t186ref/BCT/. not Linux_fot_Tegra/kernal/dtb

I will do it again and give you feedback

Hi Carolyuu,

I do it again on TX2 kit (no change spreadsheet), the situation is the same. eth0 is still gone.
(also the same on Tx2 + our custom board).

If I use pre-build cfg files in R28.1 official release (others are the same), eth0 is okay.

I attache the files I use.

R28.1_pinmux_update.7z is the updated spreadsheet NV updated.

[This file was removed because it was flagged as potentially malicious] (714 KB)

I also update the dtsi and cfg files that I generate for verify to check if the files I generate are correct or not.
dtsi_cfg_R28.1_pinmux_update.7z (6.24 KB)

Hi JasonFan,

I think the problem should be your cfg file name.
Please try below commands to generate .cfg files and flash again:

python pinmux-dts2cfg.py --pinmux addr_info.txt gpio_addr_info.txt por_val.txt mandatory_pinmux.txt tegra186-quill-p3310-1000-a00-pinmux.dtsi tegra186-quill-p3310-1000-a00-gpio-default.dtsi 1.0 > <b>tegra186-quill-p3310-1000-a00-pinmux-gpio.cfg</b>

python pinmux-dts2cfg.py --pad pad_info.txt tegra186-quill-char-e3301-1080-a00-padvoltage-default.dtsi 1.0 > <b>tegra186-mb1-bct-pad-quill-char-e3301-1080-a00.cfg</b>

Hi carolyuu,

I am confused.

Q1:
dtsi files are generated from spreadsheet and the file names are input arguments.
Should I also follow your file name?

Q2:
cfg files are generated by dtsi files via python script and they will be flashed into TX2.
In my current Linux_for_Target/bootloader/t186ref/BCT, I don’t see these two files “tegra186-quill-p3310-1000-a00-pinmux-gpio.cfg” and “tegra186-mb1-bct-pad-quill-char-e3301-1080-a00.cfg”.
If I use these two file name, will they be flashed into TX2?

I have asked this question before but didn’t got an answer
https://devtalk.nvidia.com/default/topic/1023417/?comment=5206798

Could you confirm this? or Could you share your steps?

Thank you.

Hi JasonFan,

Sorry for confused.
Q1: No, please used spreadsheet dtsi files. Just change your .cfg file name.
Q2: Yes, you can check your flash message.

Hi carolyuu,

I change the .cfg file name to “tegra186-quill-p3310-1000-a00-pinmux-gpio.cfg” and “tegra186-mb1-bct-pad-quill-char-e3301-1080-a00.cfg” and did it again and again but TX2 didn’t apply the pinmux settings I set.

I also can’t find any message related to “tegra186-quill-p3310-1000-a00-pinmux-gpio.cfg” and “tegra186-mb1-bct-pad-quill-char-e3301-1080-a00.cfg” in my flash message.

Please check the attachment “flash.log”

Do you also use R28.1?

flash.log (244 KB)

Hi JasonFan,

Could you try our *.cfg files to check your eth0 function first? Thanks!
R28.1_CFG-nvidia.7z (3.35 KB)

Hi carolyuu,

eth0 is gone is because I replace “tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg” and “tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg” at Linux_for_Tegra/bootloader/t186ref/BCT with generated ones.
If using default cfg, eth0 is fine because these two cfg “tegra186-quill-p3310-1000-a00-pinmux-gpio.cfg” and “tegra186-mb1-bct-pad-quill-char-e3301-1080-a00.cfg” seem not flash into TX2. You can check my flash log.

So the question becomes to how to config pinmux with spreadsheet. All documents’ description is to use spreadsheet to change pinmux but it doesn’t work now.

Should I need to create a new topic? Thank you.

Hi carolyuu,

I create a new topic to track.
https://devtalk.nvidia.com/default/topic/1025816/jetson-tx2/using-spreadsheet-to-set-pinmux-is-not-workable-on-r28-1-with-tx2/