Dear jonathanh.
I’m so sorry to trouble you many times. I followed your tips, but not capture data correctly yet.
###############################################################################
L4T BSP Information:
R32 (release), REVISION: 1.0, GCID: 14531094, BOARD: t186ref, EABI: aarch64,
DATE: Wed Mar 13 07:41:08 UTC 2019
###############################################################################
Target Board Information:
Name: jetson-tx2, Board Family: t186ref, SoC: Tegra 186,
OpMode: production, Boot Authentication: NS,
###############################################################################
./tegraflash.py --chip 0x18 --applet “/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin” --skipuid --cmd “dump eeprom boardinfo cvm.bin”
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands
[ 0.0087 ] Generating RCM messages
[ 0.0108 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm /home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin 0 0
[ 0.0127 ] RCM 0 is saved as rcm_0.rcm
[ 0.0293 ] RCM 1 is saved as rcm_1.rcm
[ 0.0293 ] List of rcm files are saved in rcm_list.xml
[ 0.0293 ]
[ 0.0293 ] Signing RCM messages
[ 0.0415 ] tegrasign_v2 --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0434 ] Assuming zero filled SBK key
[ 0.0511 ]
[ 0.0511 ] Copying signature to RCM mesages
[ 0.0531 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml
[ 0.0555 ]
[ 0.0556 ] Boot Rom communication
[ 0.0574 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml --skipuid
[ 0.0591 ] RCM version 0X180001
[ 0.0604 ] Boot Rom communication completed
[ 1.0671 ]
[ 2.0711 ] tegrarcm_v2 --isapplet
[ 2.0735 ] Applet version 01.00.0000
[ 2.0765 ]
[ 2.0791 ] Retrieving EEPROM data
[ 2.0794 ] tegrarcm_v2 --oem platformdetails eeprom cvm /home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/cvm.bin
[ 2.0807 ] Applet version 01.00.0000
[ 2.0954 ] Saved platform info in /home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/cvm.bin
[ 2.1695 ]
Board ID(3310) version(D00) sku(1000) revision(E.0)
copying bctfile(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg)… done.
copying misc_config(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-misc-si-l4t.cfg)… done.
copying pinmux_config(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg)… done.
copying pmic_config(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg)… done.
copying pmc_config(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg)… done.
copying prod_config(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg)… done.
copying scr_config(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/minimal_scr.cfg)… done.
copying scr_cold_boot_config(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/mobile_scr.cfg)… done.
copying bootrom_config(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg)… done.
copying dev_params(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/emmc.cfg)… done.
Existing bootloader(/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
populating kernel to rootfs… done.
populating initrd to rootfs… done.
populating extlinux.conf.emmc to rootfs… done.
populating /home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb to rootfs… done.
done.
from the flash.sh output logs, I think the pin mux config file is
/home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg
firstly,I changed in #### Pinmux for gpio-input pins #### section then execute sudo ./flash.sh jetson-tx2 mmcblk0p2 to flush tx2. after reboot, no change in tegra_pinctrl_reg file.
#### Pinmux for gpio-input pins ####
pinmux.0x022130a0 = 0x00000001; # CONFIG B5
pinmux.0x02434050 = 0x00000000; # GPIO gpio_wan2_pb5
pinmux.0x02213200 = 0x00000001; # CONFIG C0
pinmux.0x02434040 = 0x00000000; # GPIO gpio_wan4_pc0
pinmux.0x02215000 = 0x00000001; # CONFIG J0
pinmux.0x02431040 = 0x00000440; # GPIO dap1_sclk_pj0
pinmux.0x02215020 = 0x00000001; # CONFIG J1
pinmux.0x02431038 = 0x00000400; # GPIO dap1_dout_pj1
pinmux.0x02215040 = 0x00000001; # CONFIG J2
pinmux.0x02431030 = 0x00000448; # GPIO dap1_din_pj2
pinmux.0x02215060 = 0x00000001; # CONFIG J3
pinmux.0x02431028 = 0x00000440; # GPIO dap1_fs_pj3
another try I add four setting lines code in #### Pinmux for used pins ####, flush tx2 again, I failed again.
#### Pinmux for used pins ####
pinmux.0x02434038 = 0x00000400; # uart4_tx_pb0: uartd, tristate-disable, input-disable, lpdr-disable
pinmux.0x02434030 = 0x00000458; # uart4_rx_pb1: uartd, pull-up, tristate-enable, input-enable, lpdr-disable
pinmux.0x02434028 = 0x00000400; # uart4_rts_pb2: uartd, tristate-disable, input-disable, lpdr-disable
pinmux.0x02434020 = 0x00000458; # uart4_cts_pb3: uartd, pull-up, tristate-enable, input-enable, lpdr-disable
pinmux.0x02431040 = 0x00000440; # GPIO dap1_sclk_pj0
pinmux.0x02431038 = 0x00000400; # GPIO dap1_dout_pj1
pinmux.0x02431030 = 0x00000448; # GPIO dap1_din_pj2
pinmux.0x02431028 = 0x00000440; # GPIO dap1_fs_pj3
pinmux.0x02434018 = 0x00000400; # dap2_sclk_pc1: i2s2, tristate-disable, input-disable, lpdr-disable
pinmux.0x02434008 = 0x00000400; # dap2_dout_pc2: i2s2, tristate-disable, input-disable, lpdr-disable
pinmux.0x02434000 = 0x00000458; # dap2_din_pc3: i2s2, pull-up, tristate-enable, input-enable, lpdr-disable
pinmux.0x02434010 = 0x00000400; # dap2_fs_pc4: i2s2, tristate-disable, input-disable, lpdr-disable
pinmux.0x02434060 = 0x00000460; # gen1_i2c_scl_pc5: i2c1, tristate-disable, input-enable, io_high_voltage-enable, lpdr-disable
pinmux.0x02434068 = 0x00000460; # gen1_i2c_sda_pc6: i2c1, tristate-disable, input-enable, io_high_voltage-enable, lpdr-disable
pinmux.0x02431008 = 0x00000401; # gpio_aud2_pj7: dspk1, tristate-disable, input-disable, lpdr-disable
pinmux.0x02431000 = 0x00000401; # gpio_aud3_pk0: dspk1, tristate-disable, input-disable, lpdr-disable
pinmux.0x02432000 = 0x00004401; # dmic1_clk_pm1: i2s3, tristate-disable, input-disable
pinmux.0x02432008 = 0x00004459; # dmic1_dat_pm0: i2s3, pull-up, tristate-enable, input-enable
pinmux.0x02432018 = 0x00004401; # dmic2_clk_pm3: i2s3, tristate-disable, input-disable
pinmux.0x02432010 = 0x00004401; # dmic2_dat_pm2: i2s3, tristate-disable, input-disable
pinmux.0x02432048 = 0x00004400; # dap4_sclk_pcc0: i2s4, tristate-disable, input-disable
pinmux.0x02432040 = 0x00004400; # dap4_dout_pcc1: i2s4, tristate-disable, input-disable
pinmux.0x02432038 = 0x00004458; # dap4_din_pcc2: i2s4, pull-up, tristate-enable, input-enable
pinmux.0x02432030 = 0x00004400; # dap4_fs_pcc3: i2s4, tristate-disable, input-disable
pinmux.0x02433000 = 0x00004406; # gpio_pq0_pi0: i2s6, pull-down, tristate-disable, input-disable
pinmux.0x02433008 = 0x00004406; # gpio_pq1_pi1: i2s6, pull-down, tristate-disable, input-disable
pinmux.0x02433010 = 0x00004456; # gpio_pq2_pi2: i2s6, pull-down, tristate-enable, input-enable
pinmux.0x02433018 = 0x00004406; # gpio_pq3_pi3: i2s6, pull-down, tristate-disable, input-disable
pinmux.0x02430008 = 0x00000400; # extperiph1_clk_po0: extperiph1, tristate-disable, input-disable, lpdr-disable
pinmux.0x02430000 = 0x00000400; # extperiph2_clk_po1: extperiph2, tristate-disable, input-disable, lpdr-disable
zhangshaoyan@YNT8:~$ sudo cat /sys/kernel/debug/tegra_pinctrl_reg | grep dap1
Bank: 0 Reg: 0x02431028 Val: 0x00000400 -> dap1_fs_pj3
Bank: 0 Reg: 0x02431030 Val: 0x00000458 -> dap1_din_pj2
Bank: 0 Reg: 0x02431038 Val: 0x00000400 -> dap1_dout_pj1
Bank: 0 Reg: 0x02431040 Val: 0x00000400 -> dap1_sclk_pj0
From the dump of tegra_pinctrl_reg, I cannot set bit6 to 1 . from the datasheet, it said bit6 is input mode if it was set.but now,it still keeps 1.
Any there something special I missed ?
Please help me. Best regards.