Hi All,
I’m trying to flash my board with a custom pinmux, which diverges quite a lot from the default. But I can’t find any proper documentation on how to do it…? For the moment these are my steps:
- Change what I need in the pinmux spreadsheet
- generate my dtsi files
- run
pinmux-dts2cfg.py
to generate tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg
using my dtsi files
- copy tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg into bootloader/t186ref/BCT/
- run ./flash. sh jetson-tx2 mmcblk0p1
But nothing happens! if I do
sudo cat /sys/kernel/debug/tegra_pinctrl_reg
I always see the “original” setup and never mine.
My .cfg file seems to be passed on in the flashing process:
tegrabct_v2 --chip 0x18 0 --mb1bct mb1_bct.cfg --sdram P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --misc tegra186-mb1-bct-misc-si-l4t.cfg --scr minimal_scr.cfg --pinmux tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmc tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --pmic tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --brcommand tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --prod tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg
Is this the proper way to do it? How does the linux kernel read this file? These is a topic on the manual but it says no more than “modify the excel file, good luck”.
Thanks
Hi,
Could you check the cfg file under Linux_for_Tegra/bootloader and see if this file has the pinmux setting you want?
This file is a copy from bootloader/t186ref/BCT/ and it is the actual one that would be flashed into device.
Please validate what @WayneWWW has requested and also verify the process you have followed:
-
Generate the dtsi files from your changed pinmux spreadsheet file.
-
Use the generated dtsi files to generate the pinmux and pad .cfg files. You can see how to correctly use the generating tools under /Linux_for_Tegra/kernel/pinmux/t186/README.txt
-
Replace the following files under /Linux_for_Tegra/bootloader/t186ref/BCT by the newly generated ones (backup the existing ones if you wish to retrieve them eventually):
tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg
tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg
-
Flash the device.
At the end it worked! I was flashing the dtb and not the whole image…
Where is the pinmux copied in the running system? I guess it is a file stored somewhere in a partition? I could not find it.
Please check the files under /sys/kernel/debug/pinctrl
For the pins exposed through the GPIO extension header you can even use the convenience of the Jetson-IO tool. For that ckeck the documention below:
https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fhw_setup_jetson_io.html%23