emc-strap for 28.2.1

Hello-

I’m trying to implement the emc-strap in the device tree for the TX2 in 28.2.1. There have been multiple posts about this, culiminating with this one: https://devtalk.nvidia.com/default/topic/1055158/jetson-tx2/emc-configuration-for-latest-l4t/. Unfortunately this does not provide insight in how to set the emc-strap in the DTB for 28.2.1. Could nvidia provide guidance here?

Thanks,

-Allan

The emc-strap is for loading different memory configure. I don’t think you need it for Jetson platform.

The reason I need the emc-strap is for the reasons listed in the above link, namely that the baseboard I’m using (a custom one) can’t guarantee that the boot cfg pins (UART pins) are left floating at power-up. I was able to get this to work by:

1.) Take the BPMP bootloader DTB that ships with L4T 28.2.1 (pre-compiled, not sources) and de-compile it (from within Linux_For_Tegra):

./kernel/dtc -I dtb -O dts ./bootloader/t186ref/tegra186-a02-bpmp-quill-p3310-1000-c01-00-te770d-ucm2.dtb > tegra186-a02-bpmp-quill-p3310-1000-c01-00-te770d-ucm2.dts

2.) Change the line related to emc-strap to:

emc-strap {
    select = <0x9 0xa 0xa 0xa>;
};

3.) re-compile the DTB

./kernel/dtc -I dts -O dtb tegra186-a02-bpmp-quill-p3310-1000-c01-00-te770d-ucm2.dts > ./bootloader/t186ref/tegra186-a02-bpmp-quill-p3310-1000-c01-00-te770d-ucm2.dtb

4.) Re-flash the TX2.

sudo ./flash.sh jetson-tx2 mmcblk0p1

NOTE: I was unable to use the following command:

sudo ./flash.sh -r -k bpmp-fw-dtb jetson-tx2 mmcblk0p1

to flash just the BPMP DTB. This resulted in an error about not having a signed version of the file. I was only able to get this new BPMP DTB flashed when doing a complete re-flash of the TX2. @ShaneCCC perhaps you could help with this.

Does any error message when you update the bpmp-fw-dtb?

I see:

File to be written cannot be of zero size

because it is looking for

bootloader/t186ref/signed/tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt

which does not exist. Looks like it should be generating a signed version of the dtb but is not.

Could you check if the full flash command will gen the tegra186*.dtb.encrypt file?

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

Yes, the full flash command generates the encrypt file

You can use dd command to update the bpmp partition instead of using flash command for r28.2

copy the .dtv.encrypt file to tegra
check the partition by sudo ls -al /dev/disk/by-partlabel/
dd if=tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt of=/dev/mmcblk0p*