Question about changing tx2 pinmux

Hi, NV team,

i am trying to change the pinmux of my custom tx2 board. so i refered to “TX2 Configuring Pinmux GPIO and PAD” of the “NVIDIA Tegra Linux Driver Package Development Guide 28.2 Release”
i thought the first step of controlling pins of my custom board is to use generic Jetson-TX2-Generic-Customer-Pinmux-Template.xlsm, and if i succeed on booting the board with the CFG file of MB1, i will modify the Jetson-TX2-Generic-Customer-Pinmux-Template.xlsm for my custom board.

anyway, i succeed on getting the three dtsi files and two CFG files without any warning or error so i checked and modified the name value of PINMUX_CONFIG, PMC_CONFIG variable in the p2771-0000.conf.common like below

...
SCR_COLD_BOOT_CONFIG="mobile_scr.cfg";
MISC_CONFIG="tegra186-mb1-bct-misc-si-l4t.cfg";

#PINMUX_CONFIG="tegra186-mb1-bct-pinmux-quill-p3310-1000-a00.cfg";
PINMUX_CONFIG="tegra186-myboard-mb1-bct-pinmux-quill-p3310-1000-a00.cfg";

PMIC_CONFIG="tegra186-mb1-bct-pmic-quill-p3310-1000-a00.cfg";
#PMC_CONFIG="tegra186-mb1-bct-pad-quill-p3310-1000-a00.cfg";
PMC_CONFIG="tegra186-myboard-mb1-bct-pad-quill-p3310-1000-a00.cfg";
...

but when i fused my tx2 based custom board with these two cfg files, it failed to boot. here is boot message

[0136.289] E> MB1 BCT does not have PMC table
[0136.293] E> PMC init failed
[0136.296] E> MB1 BCT does not have pinmux table
[0136.300] E> Pinmux init failed
[0136.304] W> MB1 PMIC CFG is version 1.2
[0136.307] W> Rail ID 7 is not found on MB1 BCT
[0136.312] W> MB1 PMIC CFG is version 1.2
[0136.317] C> I2C command failed
[0136.320] C> block index = (0) and rail_id = (1)
[0136.324] C> Addr: Reg = [0x78:0x00]: 336166918
[0136.330] C> I2C command failed
[0136.333] C> block index = (1) and rail_id = (1)
[0136.338] C> Addr: Reg = [0x78:0x31]: 336166918
[0136.343] C> I2C command failed
[0136.346] C> block index = (2) and rail_id = (1)
[0136.351] C> Addr: Reg = [0x78:0x2b]: 336166918
[0136.356] C> I2C command failed
[0136.359] C> block index = (3) and rail_id = (1)
[0136.364] C> Addr: Reg = [0x78:0x2a]: 336166918
[0136.369] E> tegrabl_i2c_open: failed error = 13098006
[0136.374] C> I2C command failed
[0136.377] C> block index = (4) and rail_id = (1)
[0136.381] C> Addr: Reg = [0xe8:0x07]: 336199953
[0136.386] W> MB1 PMIC CFG is version 1.2
[0136.394] C> I2C command failed
[0136.397] C> block index = (2) and rail_id = (3)
[0136.401] C> Addr: Reg = [0x78:0x2f]: 336166918
[0136.406] W> Failed to bringup CORE rails
[0136.410] W> MB1 PMIC CFG is version 1.2
[0136.415] C> I2C command failed
[0136.418] C> block index = (0) and rail_id = (6)
[0136.422] C> Addr: Reg = [0x78:0x22]: 336166918
[0136.427] E> Failed to bringup MEMIO rails
[0136.431] I> sdram slot : 1
[0136.433] I> Initializing SDRAM
[0136.440] I> mss encrypt status check successful
[0136.444] I> downloaded image bct_mb1 successfully
[0136.826] I> Downloading blob at 0x0000000084800000
[0137.251] I> downloaded image blob successfully
[0137.445] I> exiting nv3p server
[0137.448] I> MB1-recovery(prd-version : 14.01.171031-t186-M-00.00-6b33ecf5)
[0137.455] I> disabled_core_mask: 0xffffff0c
[0137.459] I> Enabled Cores: 0xf3
[0137.462] I> TPC disable fuse status: 0
[0137.466] I> Booting Parker Sku
[0137.469] I> Setup temp. GSC#29 (base:0x30000000, size:0x00010000)
[0137.475] I> Loading preboot
[0137.480] I> Binary(1) of size 62224 is loaded @ 0x40000000
[0137.485] I> Restrict GSC#29 access to DPMU only
[0137.490] I> Updated LSR_DVCOMP_PARAMS: 0xc06e0dc5c
[0137.494] I> Updated LSR_DVCOMP_PARAMS: 0xc0740e85c
[0137.499] I> WP0 triggered
[0137.502] I> Waypoint-0 ACK received :)
[0137.506] I> WP0.5 triggered
[0137.509] I> Initialized SCRs
[0137.512] W> MB1 PMIC CFG is version 1.2
[0137.680] !!! Exception !!! [lr:0x40022b1c, dfar:0x22110c0, dfsr:0x1008]
[0137.687] MB1-BIT() boot status dump :
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[0137.715] Last seen error : 0x00000000

from the error message above, i though my two pinmux and pmic config might not be valid … but i have no idea why these errors occured because i didn’t modify Jetson-TX2-Generic-Customer-Pinmux-Template.xlsm.

by the way, i have 2 questions below

first question is that i want to know why this error occurred

second question is that my tx2 custom board could be booted with default tegra186-mb1-bct-pinmux-quill-p3310-1000-a00.cfg, tegra186-mb1-bct-pad-quill-p3310-1000-a00.cfg files in the default L4T, now i applied jetpack3.2, so i checked these files and i found these files was made with tegra18x-p3310-1000-a0-a2-cvm-config-pinmux.dtsi and tegra18x-p3310-1000-a0-a2-cvm-config-gpio-default.dtsi.
could i get these two dts files and its original XLSM file ?

thanks previously ~

hello parkjeho,

would like to double confirm your environment settings and the pinmux spreadsheet version,
please also share the flashing process logs to check which *.cfg files were being flashed.
thanks

hello JerryChang,

i downloaded the pinmux spreadsheet again today(2018. 4. 19, am)
pinmux spreadsheet version: 1.05 2018/03/02

and i use ms office 2016 in the virtualbox

and i made two cfg files. i found their name is important

  • pinmux cfg
$ 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                                             \
> > tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg
  • pad cfg
$ python pinmux-dts2cfg.py  \
             --pad pad_info.txt  \
             tegra186-quill-char-e3301-1080-a00-padvoltage-default.dtsi  \
              1.0  \
             > tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg

i met error during fusing tx2 board
i attached two log files. first one is the log from tx2 board, the other is flash log from development host

*tx2_board.log
https://raw.githubusercontent.com/linuxpark72/www/master/tx2_board.log

*flash.log
https://raw.githubusercontent.com/linuxpark72/www/master/flash.log

hello parkjeho,

FYI, we had verified with JetPack-3.2/TX2, that two generated *.cfg files from pinmux spreadsheet v1.05 can be flashed and boot-up without failures.
please customize the pinmux spreadsheet and flashing your device with correct cfg files.
thanks

hello JerryChang,

can you share your two cfg files in this thread? because i have to verify the method i had done … and i want to know whether i have to modify any configuration file of L4T or not

previously thanks ~

hello parkjeho,

we’re using the cfg files generated by the pinmux spreadsheet.
thanks

Hi parkjeho,

Have you managed to get your custom board boot up successfully with correct .cfg file?
Any further support required?

Thanks

hi kayccc,

no i have failed on booting my custom board. :-(
could you please share your cfg files with me the files JerryChang mentioned

hello parkjeho,

please download the pinmux spreadsheet from the Jetson Download Center,
click the “Generate DT File” button to create dtsi files, and execute the dts2cfg to generate cfg file,
thanks

Hello NVteam,
i had to do something else until recent

anyway, i tried to make my two cfg again and i succeed on fusing and booting with two cfg below which i was gotten from the pinmux spreadsheet

Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg
Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg

i don’t know why i failed on this continuously before :-)

thanks~