Jetson Nano p3448-0020 Production SOM

Hi all,

we have received the first production modules marked as p3448-0020, with eMMC and no SD slot. This module shows different pinout with respect to the one mounted on the Jetson Nano devkit (so no interoperability between p3448-0000 and p3448-0020).

Which is the reference DTS file to be used? Is that the t210b01?

Thank you
Luca

You could know what dts is used based on the flash config.
For example, if you use p3448-0000-emmc.conf to flash, then the DTB info would be in that config.

Hi Wayne,

thank you for your hint.
The p3448-0000-emmc.conf indeed sources the p3448-0000.conf.common. This latter involves a board detection procedure as follows:

DTB_FILE=tegra210-p3448-{board_sku}-p3449-0000-{dtbfab}.dtb;

in my case, board_sku = 0002 and board_version = 400, thus a

tegra210-p3448-0002-p3449-0000-b00.dtb

is used. However the SOM has a “b01” silkscreen code. Has this any relevance?

With flash.sh utility I managed to upload kernel and rootfs to the eMMC, yet U-boot hangs on the subsequent reboot.

Thank you
Luca

I don’t think we should dig into the dtb naming rules here. You could even check the dtb flashed by sdkmanager by the flash log.

If you need us to help check the error, please elaborate what you are doing and share the full boot log.

Hi Wayne,
here my flash.sh log

###############################################################################
# L4T BSP Information:
# R32 , REVISION: 2.0
###############################################################################
# Target Board Information:
# Name: p3448-0020-emmc, Board Family: t210ref, SoC: Tegra 210, 
# OpMode: production, Boot Authentication: , 
###############################################################################
./tegraflash.py --chip 0x21 --applet "/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/nvtboot_recovery.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.0024 ] Generating RCM messages
[   0.0035 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[   0.0045 ] RCM 0 is saved as rcm_0.rcm
[   0.0054 ] RCM 1 is saved as rcm_1.rcm
[   0.0055 ] List of rcm files are saved in rcm_list.xml
[   0.0055 ] 
[   0.0055 ] Signing RCM messages
[   0.0068 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0080 ] Assuming zero filled SBK key
[   0.0160 ] 
[   0.0162 ] Copying signature to RCM mesages
[   0.0192 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0207 ] 
[   0.0208 ] Boot Rom communication
[   0.0218 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[   0.0229 ] RCM version 0X210001
[   0.0674 ] Boot Rom communication completed
[   1.0743 ] 
[   1.0744 ] dump EEPROM info
[   1.0758 ] tegrarcm --oem platformdetails eeprom /home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/cvm.bin
[   1.0779 ] Applet version 00.01.0000
[   1.0972 ] Saved platform info in /home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/cvm.bin
[   1.1739 ] 
Board ID(3448) version(400) 
Board DTB: tegra210-p3448-0002-p3449-0000-b00.dtb
copying bctfile(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying initrd(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating /home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb to rootfs... done.
Making Boot image... done.
Existing sosfile(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
Existing badpagefile(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/badpage.bin) reused.
copying wb0boot(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done.
Copying nv_boot_control.conf to rootfs
generating system.img for booting... 
Making system.img... 
	populating rootfs from /tmp/tmp.VrvjZxDWS7 ... done.
	Sync'ing system.img ... done.
	Converting RAW image to Sparse image... 

---- Raw to Sparse Image Converter v1.0 ----------------------------
  0: RAW:     5242880(      5 blks) ==>          28:5242892
  1: SKP:    32505856(     31 blks) ==>     5242920:12
  2: RAW:     1048576(      1 blks) ==>     5242932:1048588
  3: SKP:    95420416(     91 blks) ==>     6291520:12
  4: RAW:     1048576(      1 blks) ==>     6291532:1048588
  5: SKP:     3145728(      3 blks) ==>     7340120:12
  6: RAW:     1048576(      1 blks) ==>     7340132:1048588
  7: SKP:     3145728(      3 blks) ==>     8388720:12
  8: RAW:    23068672(     22 blks) ==>     8388732:23068684
  9: SKP:     1048576(      1 blks) ==>    31457416:12
 10: RAW:     9437184(      9 blks) ==>    31457428:9437196
 11: SKP:   226492416(    216 blks) ==>    40894624:12
 12: RAW:     1048576(      1 blks) ==>    40894636:1048588
 13: SKP:   267386880(    255 blks) ==>    41943224:12
 14: RAW:     1048576(      1 blks) ==>    41943236:1048588
 15: SKP:   267386880(    255 blks) ==>    42991824:12
 16: RAW:     1048576(      1 blks) ==>    42991836:1048588
 17: SKP:   267386880(    255 blks) ==>    44040424:12
 18: RAW:     1048576(      1 blks) ==>    44040436:1048588
 19: SKP:   938475520(    895 blks) ==>    45089024:12
 20: RAW:     1048576(      1 blks) ==>    45089036:1048588
 21: SKP:  1206910976(   1151 blks) ==>    46137624:12
 22: RAW:     1048576(      1 blks) ==>    46137636:1048588
 23: SKP:   267386880(    255 blks) ==>    47186224:12
 24: RAW:     1048576(      1 blks) ==>    47186236:1048588
 25: SKP:   670040064(    639 blks) ==>    48234824:12
 26: RAW:     1048576(      1 blks) ==>    48234836:1048588
 27: SKP:  2146435072(   2047 blks) ==>    49283424:12
 28: RAW:     1048576(      1 blks) ==>    49283436:1048588
 29: SKP:   133169152(    127 blks) ==>    50332024:12
 30: RAW:     1048576(      1 blks) ==>    50332036:1048588
 31: SKP:     3145728(      3 blks) ==>    51380624:12
 32: RAW:     1048576(      1 blks) ==>    51380636:1048588
 33: SKP:  2008023040(   1915 blks) ==>    52429224:12
 34: RAW:     1048576(      1 blks) ==>    52429236:1048588
 35: SKP:  2146435072(   2047 blks) ==>    53477824:12
 36: RAW:     1048576(      1 blks) ==>    53477836:1048588
 37: SKP:    32505856(     31 blks) ==>    54526424:12
 38: RAW:     1048576(      1 blks) ==>    54526436:1048588
 39: SKP:    99614720(     95 blks) ==>    55575024:12
 40: RAW:     1048576(      1 blks) ==>    55575036:1048588
 41: SKP:     3145728(      3 blks) ==>    56623624:12
 42: RAW:     6291456(      6 blks) ==>    56623636:6291468
 43: SKP:  2002780160(   1910 blks) ==>    62915104:12
 44: RAW:     1048576(      1 blks) ==>    62915116:1048588
 45: SKP:  2146435072(   2047 blks) ==>    63963704:12
-- Total: ---------------------------------------------------
 46 CHUNK 15032385536(  14336 blks) ==>    63963716(61 blks)

done.
system.img built successfully. 
Existing tbcfile(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done.
copying cfgfile(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_emmc_p3448.xml) to flash.xml... done.
copying flasher(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
Existing flashapp(/home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/tegraflash.py) reused.
./tegraflash.py --bl cboot.bin --bct  P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --odmdata 0x94000 --bldtb tegra210-p3448-0002-p3449-0000-b00.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot"  --cfg flash.xml --chip 0x21    --bins "EBT cboot.bin; DTB tegra210-p3448-0002-p3449-0000-b00.dtb" 
saving flash command in /home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/flashcmd.txt
saving Windows flash command to /home/luca/repo/nvidia/Jetson-210_Linux_R32.2.0_aarch64/Linux_for_Tegra/bootloader/flash_win.bat
*** Flashing target device started. ***
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.0023 ] tegrasign --key None --getmode mode.txt
[   0.0387 ] Assuming zero filled SBK key
[   0.0398 ] 
[   0.0400 ] Generating RCM messages
[   0.0524 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[   0.0587 ] RCM 0 is saved as rcm_0.rcm
[   0.0608 ] RCM 1 is saved as rcm_1.rcm
[   0.0608 ] List of rcm files are saved in rcm_list.xml
[   0.0608 ] 
[   0.0608 ] Signing RCM messages
[   0.0626 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0689 ] Assuming zero filled SBK key
[   0.0910 ] 
[   0.0910 ] Copying signature to RCM mesages
[   0.0928 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.1080 ] 
[   0.1082 ] Parsing partition layout
[   0.1139 ] tegraparser --pt flash.xml.tmp
[   0.1411 ] 
[   0.1412 ] Creating list of images to be signed
[   0.1567 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[   0.1792 ] 
[   0.1793 ] Generating signatures
[   0.1873 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.1895 ] Assuming zero filled SBK key
[   0.3084 ] 
[   0.3085 ] Generating br-bct
[   0.3214 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[   0.3377 ] Copying Sdram info from 0 to 1 set
[   0.3448 ] Copying Sdram info from 1 to 2 set
[   0.3451 ] Copying Sdram info from 2 to 3 set
[   0.3451 ] 
[   0.3451 ] Updating boot device parameters
[   0.3477 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[   0.3497 ] Warning: No sdram params
[   0.3632 ] 
[   0.3632 ] Updating bl info
[   0.3831 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.3952 ] 
[   0.3953 ] Updating secondary storage information into bct
[   0.4095 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.4232 ] 
[   0.4232 ] Updating Odmdata
[   0.4278 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0x94000
[   0.4396 ] Warning: No sdram params
[   0.4399 ] 
[   0.4400 ] Get Signed section of bct
[   0.4522 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[   0.4570 ] 
[   0.4571 ] Signing BCT
[   0.4735 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.4746 ] Assuming zero filled SBK key
[   0.4757 ] 
[   0.4757 ] Updating BCT with signature
[   0.4774 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[   0.4800 ] 
[   0.4802 ] Copying signatures
[   0.4860 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[   0.5152 ] 
[   0.5152 ] Updating BFS information on BCT
[   0.5180 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin
[   0.5207 ]    BFS:
[   0.5250 ]      0: [PT ] flash.xml.bin (size=2306/65536)
[   0.5254 ]      2: [VER] emmc_bootblob_ver.txt (size=57/65536)
[   0.5258 ] BFS0: 65536 @ 896 SUM 3d4489ba over 7929856 bytes
[   0.5318 ] 
[   0.5318 ] Boot Rom communication
[   0.5330 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[   0.5342 ] BootRom is not running
[   0.5754 ] 
[   0.5754 ] Sending BCTs
[   0.5770 ] tegrarcm --download bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   0.5878 ] Applet version 00.01.0000
[   0.6075 ] Sending bct
[   0.6076 ] [................................................] 100%
[   0.7816 ] 
[   0.7871 ] tegrahost --chip 0x21 --align cboot.bin
[   0.7898 ] 
[   0.7925 ] tegrahost --magicid EBT --appendsigheader cboot.bin cboot.bin_blheader
[   0.7987 ] 
[   0.8005 ] tegrasign --key None --list cboot.bin_list.xml
[   0.8017 ] Assuming zero filled SBK key
[   0.8394 ] 
[   0.8416 ] tegrahost --updatesigheader cboot.bin_blheader.encrypt cboot.bin_blheader.hash zerosbk
[   0.8442 ] 
[   0.8473 ] tegrahost --chip 0x21 --align tegra210-p3448-0002-p3449-0000-b00.dtb
[   0.8507 ] 
[   0.8537 ] tegrahost --magicid DTB --appendsigheader tegra210-p3448-0002-p3449-0000-b00.dtb tegra210-p3448-0002-p3449-0000-b00.dtb_blheader
[   0.8726 ] 
[   0.8755 ] tegrasign --key None --list tegra210-p3448-0002-p3449-0000-b00.dtb_list.xml
[   0.8775 ] Assuming zero filled SBK key
[   0.9026 ] 
[   0.9286 ] tegrahost --updatesigheader tegra210-p3448-0002-p3449-0000-b00.dtb_blheader.encrypt tegra210-p3448-0002-p3449-0000-b00.dtb_blheader.hash zerosbk
[   0.9334 ] 
[   0.9347 ] Sending bootloader and pre-requisite binaries
[   0.9380 ] tegrarcm --download ebt cboot.bin.encrypt 0 0 --download rp1 tegra210-p3448-0002-p3449-0000-b00.dtb.encrypt 0
[   0.9411 ] Applet version 00.01.0000
[   0.9585 ] Sending ebt
[   0.9592 ] [................................................] 100%
[   1.0685 ] Sending rp1
[   1.0736 ] [................................................] 100%
[   1.1257 ] 
[   1.1306 ] tegrarcm --boot recovery
[   1.1342 ] Applet version 00.01.0000
[   1.1948 ] 
[   1.1951 ] Retrieving storage infomation
[   1.2074 ] tegrarcm --oem platformdetails storage storage_info.bin
[   1.2127 ] Applet is not running on device. Continue with Bootloader
[   1.7547 ] 
[   1.7570 ] tegradevflash --oem platformdetails storage storage_info.bin
[   1.7646 ] Cboot version 00.01.0000
[   1.7754 ] Saved platform info in storage_info.bin
[   1.7895 ] 
[   1.7898 ] Flashing the device
[   1.7943 ] tegradevflash --pt flash.xml.bin --storageinfo storage_info.bin --create
[   1.8030 ] Cboot version 00.01.0000
[   1.8050 ] Writing partition GPT with gpt.bin
[   1.8053 ] [................................................] 100%
[   1.8145 ] Writing partition NVC with nvtboot.bin.encrypt
[   2.2895 ] [................................................] 100%
[   2.3089 ] Writing partition PT with flash.xml.bin
[   2.3326 ] [................................................] 100%
[   2.3410 ] Writing partition VER with emmc_bootblob_ver.txt
[   2.3651 ] [................................................] 100%
[   2.3822 ] Writing partition APP with system.img
[   2.4323 ] [................................................] 100%
[   5.0580 ] Writing partition TBC with nvtboot_cpu.bin.encrypt
[   6.6303 ] [................................................] 100%
[   6.6428 ] Writing partition RP1 with tegra210-p3448-0002-p3449-0000-b00.dtb.encrypt
[   6.6801 ] [................................................] 100%
[   6.7037 ] Writing partition EBT with cboot.bin.encrypt
[   6.7416 ] [................................................] 100%
[   6.7685 ] Writing partition WB0 with warmboot.bin.encrypt
[   6.8096 ] [................................................] 100%
[   6.8203 ] Writing partition BPF with sc7entry-firmware.bin.encrypt
[   6.8553 ] [................................................] 100%
[   6.8655 ] Writing partition TOS with tos-mon-only.img.encrypt
[   6.9008 ] [................................................] 100%
[   6.9119 ] Writing partition DTB with tegra210-p3448-0002-p3449-0000-b00.dtb.encrypt
[   6.9477 ] [................................................] 100%
[   6.9660 ] Writing partition LNX with boot.img.encrypt
[   7.0047 ] [................................................] 100%
[   7.0296 ] Warning: EKS partition magic header mismatch!
[   7.0586 ] Writing partition EKS with eks.img
[   7.0589 ] [................................................] 100%
[   7.0707 ] Writing partition BMP with bmp.blob
[   7.1057 ] [................................................] 100%
[   7.1212 ] Writing partition RP4 with rp4.blob
[   7.1572 ] [................................................] 100%
[   7.2112 ] 
[   7.2162 ] tegradevflash --write BCT P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   7.2202 ] Cboot version 00.01.0000
[   7.2233 ] Writing partition BCT with P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[   7.2239 ] [................................................] 100%
[   7.3409 ] 
[   7.3409 ] Flashing completed

[   7.3410 ] Coldbooting the device
[   7.3431 ] tegradevflash --reboot coldboot
[   7.3570 ] Cboot version 00.01.0000
[   7.3605 ] 
*** The target t210ref has been flashed successfully. ***
Make the target filesystem available to the device and reset the board to boot from external mmcblk1p1.

It finishes successfully, yet u-boot will not boot… Below the tty log from uboot

[code]

#####################
[0000.233] [TegraBoot] (version 00.00.2018.01-l4t-89b97a49)
[0000.238] Processing in cold boot mode Bootloader 2
[0000.243] A02 Bootrom Patch rev = 1023
[0000.247] Power-up reason: pmc por
[0000.250] No Battery Present
[0000.252] pmic max77620 reset reason
[0000.256] pmic max77620 NVERC : 0x10
[0000.259] RamCode = 0
[0000.261] Platform has DDR4 type RAM
[0000.265] max77620 disabling SD1 Remote Sense
[0000.269] Setting DDR voltage to 1125mv
[0000.273] Serial Number of Pmic Max77663: 0xd0bf1
[0000.281] Entering ramdump check
[0000.284] Get RamDumpCarveOut = 0x0
[0000.287] RamDumpCarveOut=0x0, RamDumperFlag=0xe59ff3f8
[0000.292] Last reboot was clean, booting normally!
[0000.296] Sdram initialization is successful
[0000.301] SecureOs Carveout Base=0x00000000ff800000 Size=0x00800000
[0000.307] Lp0 Carveout Base=0x00000000ff780000 Size=0x00001000
[0000.312] BpmpFw Carveout Base=0x00000000ff700000 Size=0x00080000
[0000.318] GSC1 Carveout Base=0x00000000ff600000 Size=0x00100000
[0000.324] GSC2 Carveout Base=0x00000000ff500000 Size=0x00100000
[0000.330] GSC4 Carveout Base=0x00000000ff400000 Size=0x00100000
[0000.336] GSC5 Carveout Base=0x00000000ff300000 Size=0x00100000
[0000.342] GSC3 Carveout Base=0x000000017f300000 Size=0x00d00000
[0000.358] RamDump Carveout Base=0x00000000ff280000 Size=0x00080000
[0000.364] Platform-DebugCarveout: 0
[0000.367] Nck Carveout Base=0x00000000ff080000 Size=0x00200000
[0000.373] Non secure mode, and RB not enabled.
[0000.390] Csd NumOfBlocks=0
[0000.398] Using GPT Primary to query partitions
[0000.403] Loading Tboot-CPU binary
[0000.409] Verifying TBC in OdmNonSecureSBK mode
[0000.419] Bootloader load address is 0xa0000000, entry address is 0xa0000258
[0000.426] Bootloader downloaded successfully.
[0000.430] Downloaded Tboot-CPU binary to 0xa0000258
[0000.435] MAX77620_GPIO5 configured
[0000.439] CPU power rail is up
[0000.441] CPU clock enabled
[0000.445] Performing RAM repair
[0000.448] Updating A64 Warmreset Address to 0xa00002e9
[0000.453] Loading NvTbootBootloaderDTB
[0000.467] Verifying NvTbootBootloaderDTB in OdmNonSecureSBK mode
[0000.533] Bootloader DTB Load Address: 0x83000000
[0000.537] Loading NvTbootKernelDTB
[0000.551] Verifying NvTbootKernelDTB in OdmNonSecureSBK mode
[0000.616] Kernel DTB Load Address: 0x83100000
[0000.621] Loading cboot binary
[0000.637] Verifying EBT in OdmNonSecureSBK mode
[0000.679] Bootloader load address is 0x92c00000, entry address is 0x92c00258
[0000.686] Bootloader downloaded successfully.
[0000.693] Using BFS PT to query partitions
[0000.697] Next binary entry address: 0x92c00258
[0000.701] BoardId: 3448
[0000.706] Overriding pmu board id with proc board id
[0000.711] Display board id is not available
[0000.727] Verifying SC7EntryFw in OdmNonSecureSBK mode
[0000.779] /bpmp deleted
[0000.781] SC7EntryFw header found loaded at 0xff700000
[0000.969] OVR2 PMIC
[0000.971] Bpmp FW successfully loaded
[0000.975] WB0 init successfully at 0xff780000
[0000.980] Set NvDecSticky Bits
[0000.983] GSC2 address ff53fffc value c0edbbcc
[0000.990] GSC MC Settings done
[0000.993] TOS Image length 53680
[0000.996] Monitor size 53680
[0000.999] OS size 0
[0001.004] Secure Os AES-CMAC Verification Success!
[0001.009] TOS image cipher info: plaintext
[0001.013] Loading and Validation of Secure OS Successful
[0001.029] SC7 Entry Firmware - 0xff700000, 0x4000
[0001.033] NvTbootPackSdramParams: start.
[0001.038] NvTbootPackSdramParams: done.
[0001.042] Tegraboot started after 163334 us
[0001.046] Basic modules init took 569391 us
[0001.050] Sec Bootdevice Read Time = 57 ms, Read Size = 2292 KB
[0001.056] Sec Bootdevice Write Time = 0 ms, Write Size = 0 KB
[0001.061] Next stage binary read took 11898 us
[0001.066] Carveout took -23597 us
[0001.069] CPU initialization took 346514 us
[0001.073] Total time taken by TegraBoot 904206 us

[0001.077] Starting CPU & Halting co-processor

64NOTICE: BL31: v1.3(release):a28d87f09
NOTICE: BL31: Built : 16:52:46, Jul 16 2019
ERROR: Error initializing runtime service trusty_fast
[0001.200] RamCode = 0
[0001.204] LPDDR4 Training: Read DT: Number of tables = 2
[0001.209] EMC Training (SRC-freq: 204000; DST-freq: 1600000)
[0001.222] EMC Training Successful
[0001.225] 408000 not found in DVFS table
[0001.232] RamCode = 0
[0001.235] DT Write: emc-table@204000 succeeded
[0001.240] DT Write: emc-table@1600000 succeeded
[0001.245] LPDDR4 Training: Write DT: Number of tables = 2
[0001.284]
[0001.285] Debug Init done
[0001.287] Marked DTB cacheable
[0001.290] Bootloader DTB loaded at 0x83000000
[0001.295] Marked DTB cacheable
[0001.298] Kernel DTB loaded at 0x83100000
[0001.302] DeviceTree Init done
[0001.313] Pinmux applied successfully
[0001.318] gicd_base: 0x50041000
[0001.321] gicc_base: 0x50042000
[0001.324] Interrupts Init done
[0001.328] Using base:0x60005090 & irq:208 for tick-timer
[0001.333] Using base:0x60005098 for delay-timer
[0001.338] platform_init_timer: DONE
[0001.341] Timer(tick) Init done
[0001.345] osc freq = 38400 khz
[0001.349]
[0001.350] welcome to cboot
[0001.353]
[0001.354] Cboot Version: 00.00.2018.01-t210-3a168c35
[0001.359] calling constructors
[0001.362] initializing heap
[0001.364] initializing threads
[0001.367] initializing timers
[0001.370] creating bootstrap completion thread
[0001.375] top of bootstrap2()
[0001.378] CPU: ARM Cortex A57
[0001.380] CPU: MIDR: 0x411FD071, MPIDR: 0x80000000
[0001.385] initializing platform
[0001.388] Scratch reg 37 & 271 initial value set…
[0001.395] cboot:secure-pmc present
[0001.444] config for ddr50 mode completed
[0001.448] sdmmc bdev is already initialized
[0001.452] Enable APE clock
[0001.455] Un-powergate APE partition
[0001.458] of_register: registering tegra_udc to of_hal
[0001.463] of_register: registering tegra_udc to of_hal
[0001.469] of_register: registering inv20628-driver to of_hal
[0001.474] of_register: registering ads1015-driver to of_hal
[0001.480] of_register: registering lp8557-bl-driver to of_hal
[0001.485] of_register: registering bq2419x_charger to of_hal
[0001.491] of_register: registering cpc to of_hal
[0001.496] of_register: registering bq27441_fuel_gauge to of_hal
[0001.507] gpio framework initialized
[0001.510] of_register: registering tca9539_gpio to of_hal
[0001.516] of_register: registering tca9539_gpio to of_hal
[0001.521] of_register: registering i2c_bus_driver to of_hal
[0001.527] of_register: registering i2c_bus_driver to of_hal
[0001.532] of_register: registering i2c_bus_driver to of_hal
[0001.538] of_register: registering i2c_bus_driver to of_hal
[0001.543] pmic framework initialized
[0001.547] of_register: registering max77620_pmic to of_hal
[0001.552] regulator framework initialized
[0001.556] of_register: registering tps65132_bl_driver to of_hal
[0001.562] initializing target
[0001.568] gpio_driver_register: register ‘tegra_gpio_driver’ driver
[0001.576] fixed regulator driver initialized
[0001.593] initializing OF layer
[0001.596] NCK carveout not present
[0001.600] Skipping dts_overrides
[0001.604] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.620] I2C Bus Init done
[0001.623] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.633] I2C Bus Init done
[0001.636] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.646] I2C Bus Init done
[0001.649] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.659] I2C Bus Init done
[0001.662] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.672] I2C Bus Init done
[0001.674] of_children_init: Ops found for compatible string maxim,max77620
[0001.685] max77620_init using irq 118
[0001.690] register ‘maxim,max77620’ pmic
[0001.694] gpio_driver_register: register ‘max77620-gpio’ driver
[0001.700] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0001.710] I2C Bus Init done
[0001.714] NCK carveout not present
[0001.717] shim_invoke: No NCT, Calling dts updates
[0001.729] Find /i2c@7000c000’s alias i2c0
[0001.732] get eeprom at 1-a0, size 256, type 0
[0001.741] Find /i2c@7000c500’s alias i2c2
[0001.745] get eeprom at 3-a0, size 256, type 0
[0001.749] get eeprom at 3-ae, size 256, type 0
[0001.754] pm_ids_update: Updating 1,a0, size 256, type 0
[0001.759] I2C slave not started
[0001.762] I2C write failed
[0001.765] Writing offset failed
[0001.768] eeprom_init: EEPROM read failed
[0001.772] pm_ids_update: eeprom init failed
[0001.776] pm_ids_update: Updating 3,a0, siz[0000.234] [TegraBoot] (version 00.00.2018.01-l4t-89b97a49)
[0000.239] Processing in cold boot mode Bootloader 2
[0000.244] A02 Bootrom Patch rev = 1023
[0000.248] Power-up reason: pmc por
[0000.251] No Battery Present
[0000.253] pmic max77620 reset reason
[0000.257] pmic max77620 NVERC : 0x40
[0000.260] RamCode = 0
[0000.262] Platform has DDR4 type RAM
[0000.266] max77620 disabling SD1 Remote Sense
[0000.270] Setting DDR voltage to 1125mv
[0000.274] Serial Number of Pmic Max77663: 0xd0bf1
[0000.281] Entering ramdump check
[0000.284] Get RamDumpCarveOut = 0x0
[0000.288] RamDumpCarveOut=0x0, RamDumperFlag=0xe59ff3f8
[0000.293] Last reboot was clean, booting normally!
[0000.297] Sdram initialization is successful
[0000.302] SecureOs Carveout Base=0x00000000ff800000 Size=0x00800000
[0000.308] Lp0 Carveout Base=0x00000000ff780000 Size=0x00001000
[0000.313] BpmpFw Carveout Base=0x00000000ff700000 Size=0x00080000
[0000.319] GSC1 Carveout Base=0x00000000ff600000 Size=0x00100000
[0000.325] GSC2 Carveout Base=0x00000000ff500000 Size=0x00100000
[0000.331] GSC4 Carveout Base=0x00000000ff400000 Size=0x00100000
[0000.337] GSC5 Carveout Base=0x00000000ff300000 Size=0x00100000
[0000.343] GSC3 Carveout Base=0x000000017f300000 Size=0x00d00000
[0000.359] RamDump Carveout Base=0x00000000ff280000 Size=0x00080000
[0000.365] Platform-DebugCarveout: 0
[0000.368] Nck Carveout Base=0x00000000ff080000 Size=0x00200000
[0000.374] Non secure mode, and RB not enabled.
[0000.391] Csd NumOfBlocks=0
[0000.399] Using GPT Primary to query partitions
[0000.404] Loading Tboot-CPU binary
[0000.410] Verifying TBC in OdmNonSecureSBK mode
[0000.420] Bootloader load address is 0xa0000000, entry address is 0xa0000258
[0000.427] Bootloader downloaded successfully.
[0000.431] Downloaded Tboot-CPU binary to 0xa0000258
[0000.436] MAX77620_GPIO5 configured
[0000.440] CPU power rail is up
[0000.443] CPU clock enabled
[0000.446] Performing RAM repair
[0000.449] Updating A64 Warmreset Address to 0xa00002e9
[0000.454] Loading NvTbootBootloaderDTB
[0000.469] Verifying NvTbootBootloaderDTB in OdmNonSecureSBK mode
[0000.534] Bootloader DTB Load Address: 0x83000000
[0000.538] Loading NvTbootKernelDTB
[0000.552] Verifying NvTbootKernelDTB in OdmNonSecureSBK mode
[0000.617] Kernel DTB Load Address: 0x83100000
[0000.622] Loading cboot binary
[0000.638] Verifying EBT in OdmNonSecureSBK mode
[0000.680] Bootloader load address is 0x92c00000, entry address is 0x92c00258
[0000.687] Bootloader downloaded successfully.
[0000.694] Using BFS PT to query partitions
[0000.698] Next binary entry address: 0x92c00258
[0000.703] BoardId: 3448
[0000.707] Overriding pmu board id with proc board id
[0000.712] Display board id is not available
[0000.728] Verifying SC7EntryFw in OdmNonSecureSBK mode
[0000.780] /bpmp deleted
[0000.782] SC7EntryFw header found loaded at 0xff700000
[0000.970] OVR2 PMIC
[0000.972] Bpmp FW successfully loaded
[0000.977] WB0 init successfully at 0xff780000
[0000.981] Set NvDecSticky Bits
[0000.985] GSC2 address ff53fffc value c0edbbcc
[0000.991] GSC MC Settings done
[0000.994] TOS Image length 53680
[0000.997] Monitor size 53680
[0001.000] OS size 0
[0001.006] Secure Os AES-CMAC Verification Success!
[0001.010] TOS image cipher info: plaintext
[0001.014] Loading and Validation of Secure OS Successful
[0001.030] SC7 Entry Firmware - 0xff700000, 0x4000
[0001.035] NvTbootPackSdramParams: start.
[0001.040] NvTbootPackSdramParams: done.
[0001.043] Tegraboot started after 164265 us
[0001.047] Basic modules init took 569729 us
[0001.051] Sec Bootdevice Read Time = 57 ms, Read Size = 2292 KB
[0001.057] Sec Bootdevice Write Time = 0 ms, Write Size = 0 KB
[0001.063] Next stage binary read took 11903 us
[0001.067] Carveout took -23605 us
[0001.070] CPU initialization took 346531 us
[0001.074] Total time taken by TegraBoot 904558 us

[0001.079] Starting CPU & Halting co-processor

64NOTICE: BL31: v1.3(release):a28d87f09
NOTICE: BL31: Built : 16:52:46, Jul 16 2019
ERROR: Error initializing runtime service trusty_fast
[0001.201] RamCode = 0

Hi lucam,

Could you share what you are developing? I just checked my nano and it is using the same dtb as yours.

Hi Wayne,

I am customizing kernel (tag tegra-l4t-r32.2.0) and u-boot (tag l4t/tegra-l4t-r32.2.0) on the p3448-0020 SoM for an industrial application.

Finally, I made it working. In the procedure above I was making two mistakes:

  • eMMC is on the mmcblk0p1 (and not on mmcblk1p1).

  • in the rootfs folder (copied to the eMMC as rootfs), I miss the /boot/extlinux/extlinux.conf file, to tell u-boot where to look for the kernel Image.

My /boot/extlinux/extlinux.conf looks as:

TIMEOUT 30
DEFAULT emmc

MENU TITLE p3450-porg eMMC boot options

LABEL emmc
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
APPEND ${cbootargs} rootfstype=ext4 root=/dev/mmcblk0p1 rw rootwait

Hope this will help somebody else.

Thank you Wayne for your support.

Luca

Hi Luca,
I am also trying to install u-boot on a Jetson Nano production version “0020” but it seams never to be included in the boot.img

Here is my trace when flashing LNX partition:

sudo ./flash.sh -r -k LNX jetson-nano-emmc mmcblk0p1

Anyway I am able to see u-boot environment using fw_printenv on the board self, but I am not sure if this means that u-boot is properly invoked.

###############################################################################

L4T BSP Information:

R32 , REVISION: 2.1

###############################################################################

Target Board Information:

Name: jetson-nano-emmc, Board Family: t210ref, SoC: Tegra 210,

OpMode: production, Boot Authentication: ,

###############################################################################
./tegraflash.py --chip 0x21 --applet “/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/nvtboot_recovery.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.0032 ] Generating RCM messages
[ 0.0048 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[ 0.0061 ] RCM 0 is saved as rcm_0.rcm
[ 0.0070 ] RCM 1 is saved as rcm_1.rcm
[ 0.0070 ] List of rcm files are saved in rcm_list.xml
[ 0.0070 ]
[ 0.0071 ] Signing RCM messages
[ 0.0085 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0099 ] Assuming zero filled SBK key
[ 0.0222 ]
[ 0.0222 ] Copying signature to RCM mesages
[ 0.0244 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[ 0.0267 ]
[ 0.0268 ] Boot Rom communication
[ 0.0282 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[ 0.0296 ] RCM version 0X210001
[ 0.0754 ] Boot Rom communication completed
[ 1.0826 ]
[ 1.0828 ] dump EEPROM info
[ 1.0860 ] tegrarcm --oem platformdetails eeprom /home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/cvm.bin
[ 1.0895 ] Applet version 00.01.0000
[ 1.1081 ] Saved platform info in /home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/cvm.bin
[ 1.1849 ]
Board ID(3448) version(400)
copying bctfile(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg)… done.
copying bootloader(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/t210ref/cboot.bin)… done.
copying initrd(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/l4t_initrd.img)… done.
populating kernel to rootfs… done.
populating initrd to rootfs… done.
populating /home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb to rootfs… done.
Making Boot image… done.
Existing sosfile(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)… done.
copying cpu_bootloader(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/t210ref/cboot.bin)… done.
copying bpffile(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)… done.
Existing badpagefile(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/badpage.bin) reused.
copying wb0boot(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)… done.
Existing tosfile(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)… done.
Copying nv_boot_control.conf to rootfs
Reusing existing system.img…
done.
Existing tbcfile(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)… done.
copying cfgfile(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_emmc_p3448.xml) to flash.xml… done.
copying flasher(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/t210ref/cboot.bin)… done.
Existing flashapp(/home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/tegraflash.py) reused.
*** Updating [LNX] with boot.img ***
./tegraflash.py --bl cboot.bin --bldtb tegra210-p3448-0002-p3449-0000-b00.dtb --chip 0x21 --applet nvtboot_recovery.bin --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --cfg flash.xml --cmd “sign; write LNX ./signed/boot.img.encrypt; reboot”
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.0103 ] tegrasign --key None --getmode mode.txt
[ 0.0117 ] Assuming zero filled SBK key
[ 0.0119 ]
[ 0.0120 ] Generating RCM messages
[ 0.0134 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[ 0.0147 ] RCM 0 is saved as rcm_0.rcm
[ 0.0154 ] RCM 1 is saved as rcm_1.rcm
[ 0.0155 ] List of rcm files are saved in rcm_list.xml
[ 0.0155 ]
[ 0.0155 ] Signing RCM messages
[ 0.0168 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0181 ] Assuming zero filled SBK key
[ 0.0302 ]
[ 0.0302 ] Copying signature to RCM mesages
[ 0.0318 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[ 0.0338 ]
[ 0.0339 ] Parsing partition layout
[ 0.0353 ] tegraparser --pt flash.xml.tmp
[ 0.0371 ]
[ 0.0372 ] Creating list of images to be signed
[ 0.0389 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[ 0.0470 ]
[ 0.0471 ] Generating signatures
[ 0.0485 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[ 0.0498 ] Assuming zero filled SBK key
[ 0.1436 ]
[ 0.1436 ] Generating br-bct
[ 0.1452 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[ 0.1465 ] Copying Sdram info from 0 to 1 set
[ 0.1483 ] Copying Sdram info from 1 to 2 set
[ 0.1483 ] Copying Sdram info from 2 to 3 set
[ 0.1483 ]
[ 0.1484 ] Updating boot device parameters
[ 0.1496 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[ 0.1509 ] Warning: No sdram params
[ 0.1512 ]
[ 0.1512 ] Updating bl info
[ 0.1525 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[ 0.1544 ]
[ 0.1544 ] Updating secondary storage information into bct
[ 0.1560 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[ 0.1580 ]
[ 0.1581 ] Get Signed section of bct
[ 0.1595 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[ 0.1610 ]
[ 0.1611 ] Signing BCT
[ 0.1639 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[ 0.1652 ] Assuming zero filled SBK key
[ 0.1661 ]
[ 0.1662 ] Updating BCT with signature
[ 0.1677 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[ 0.1694 ]
[ 0.1695 ] Copying signatures
[ 0.1713 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[ 0.1798 ]
[ 0.1799 ] Copying signed file in /home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/signed
[ 0.1923 ] Generating RCM messages
[ 0.1943 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[ 0.1964 ] RCM 0 is saved as rcm_0.rcm
[ 0.1973 ] RCM 1 is saved as rcm_1.rcm
[ 0.1975 ] List of rcm files are saved in rcm_list.xml
[ 0.1975 ]
[ 0.1975 ] Signing RCM messages
[ 0.1991 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.2005 ] Assuming zero filled SBK key
[ 0.2127 ]
[ 0.2128 ] Copying signature to RCM mesages
[ 0.2146 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[ 0.2169 ]
[ 0.2169 ] Boot Rom communication
[ 0.2184 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[ 0.2199 ] BootRom is not running
[ 0.2619 ]
[ 0.2621 ] Parsing partition layout
[ 0.2650 ] tegraparser --pt flash.xml.tmp
[ 0.2696 ]
[ 0.2697 ] Creating list of images to be signed
[ 0.2723 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[ 0.2774 ]
[ 0.2775 ] Generating signatures
[ 0.2792 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[ 0.2806 ] Assuming zero filled SBK key
[ 0.3750 ]
[ 0.3750 ] Send BCT from Host
[ 0.3750 ] Generating br-bct
[ 0.3767 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[ 0.3781 ] Copying Sdram info from 0 to 1 set
[ 0.3800 ] Copying Sdram info from 1 to 2 set
[ 0.3801 ] Copying Sdram info from 2 to 3 set
[ 0.3801 ]
[ 0.3801 ] Updating boot device parameters
[ 0.3814 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[ 0.3831 ] Warning: No sdram params
[ 0.3834 ]
[ 0.3834 ] Updating bl info
[ 0.3849 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[ 0.3870 ]
[ 0.3870 ] Updating secondary storage information into bct
[ 0.3889 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[ 0.3910 ]
[ 0.3911 ] Get Signed section of bct
[ 0.3926 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[ 0.3945 ]
[ 0.3945 ] Signing BCT
[ 0.3974 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[ 0.3991 ] Assuming zero filled SBK key
[ 0.4001 ]
[ 0.4002 ] Updating BCT with signature
[ 0.4019 ] tegrabct --bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[ 0.4039 ]
[ 0.4040 ] Sending BCTs
[ 0.4058 ] tegrarcm --download bct P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.bct
[ 0.4076 ] Applet version 00.01.0000
[ 0.4237 ] Sending bct
[ 0.4240 ] […] 100%
[ 0.4962 ]
[ 0.4964 ] Sending bootloader and pre-requisite binaries
[ 0.4995 ] tegrarcm --download ebt cboot.bin 0 0 --download rp1 tegra210-p3448-0002-p3449-0000-b00.dtb 0
[ 0.5031 ] Applet version 00.01.0000
[ 0.5197 ] Sending ebt
[ 0.5206 ] […] 100%
[ 0.6276 ] Sending rp1
[ 0.6279 ] […] 100%
[ 0.6745 ]
[ 0.6777 ] tegrarcm --boot recovery
[ 0.6808 ] Applet version 00.01.0000
[ 0.7004 ]
[ 0.7005 ] Writing partition
[ 0.7033 ] tegradevflash --write LNX /home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/signed/boot.img.encrypt
[ 0.7057 ] Cboot version 00.01.0000
[ 1.2511 ] Writing partition LNX with /home/andrea/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader/signed/boot.img.encrypt
[ 1.2550 ] […] 100%
[ 1.2872 ]
[ 1.2873 ] Coldbooting the device
[ 1.2900 ] tegradevflash --reboot coldboot
[ 1.2930 ] Cboot version 00.01.0000
[ 1.2958 ]
*** The [LNX] has been updated successfully. ***

Dear WayneWWW,

(1) Dose p3448-0020 really only have eMMC but not SD slot?

(2) Which config file below should be choosed when compiling Image of p3448-0020?

garret:~/nano/nano_src/linux-4.9/arch/arm64/configs$ git log -n1 --oneline 
9fc61689d8fc (HEAD -> master, tag: tegra-l4t-r32.2.3-1, origin/l4t/l4t-r32.2.3-4.9) tcp: add tcp_min_snd_mss sysctl
garret:~/nano/nano_src/linux-4.9/arch/arm64/configs$ ls
defconfig                             tegra_defconfig                         tegra_gnu_linux_early_boot_defconfig
ranchu64_defconfig                    tegra_early_boot_defconfig              tegra_t186ref_gnu_linux_early_boot_defconfig_debug.config
tegra_android_defconfig               tegra_gnu_linux_defconfig
tegra_android_defconfig_debug.config  tegra_gnu_linux_defconfig_debug.config

Some forum users have make their own carrier board which has sdcard slot. But the module itself does not have it.

For “question (2)”, I find the answer in blow commit,

commit 8c32ef01bc4929dd5b7af7226a15fc4443974e79
Author: Shreshtha SAHU ssahu@nvidia.com
Date: Mon Apr 3 19:16:27 2017 +0530

arm64: tegra: unify defconfig again

Have one common defconfig file for all 64bit Tegra's.
For build-flow backwards compatibility add chip specific
symbolic links for now.

 tegra21_defconfig -> tegra_defconfig
 tegra21_android_defconfig -> tegra_android_defconfig

This soft link was broken as removal of TEGRA_ARCH_210_SOC
to enable display configs for T186 in bug 1846312 broke
T210 compilation. Now TEGRA_ARCH_210_SOC=y is added back.

Thanks

Hi Luca,

Can you provide more info on the pintout being different. I just got my production SOM and about to insert into our connector board. I need to know more about the pinout please.
Thanks.

Hi davoodskj0t,
you might check the SOM pinout from the NVIDIA Jetson NanoProduct Design Guide DG-09502-001_v2.0 .
Luca

Thanks for letting me know. Toggling low on the Sleep/Wake* does not seem to do anything, I assume it has to be programmed first as it is not a dedicated pin.