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:
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.