We’re having some issues flashing an Orin NX 16GB on a custom carrier board. Here is our full setup(s):
Nvidia Orin Nano carrier board
Custom carrier board v1
Custom carrier board v2
Orin NX 16 GB
256GB SSD
r35.4.1
The same flashing commands are used for attempting to flash on all 3 carrier boards, from the docs: Flashing Support — Jetson Linux Developer Guide documentation, “Flashing with disk encryption enabled”. Also, a modification we had to make is set the carrier board EEPROM size to 0, as our board doesn’t have an EEPROM. The flashing commands are in a script which generates a clean environment for every attempt.
Flashing on Nvidia carrier board, and on our v1 carrier board (which is inspired from the Orin NX Eng sample) works as expected every time.
Flashing on our carrier board v2, which has the same USB2-0 implementation as our v1 fails at “Step 3: Start the flashing process” with “Waiting for target to boot-up…” carrier board v2 UART log (100.9 KB)
We’ve looked at the USB implementation, I2Cs and GPIOs, but couldn’t figure out the problem. Could you help us locate the issue?
Just moved the Orin SOM to the v1 carrier board and got the logs at boot. Will reflash it on the v1 carrier board and get the dmesg from there too. cbv1_003_boot_dmesg.log (83.0 KB)
Indeed, the flashing usb port does not work as host after flashing on the v1 cb, but does on the NV cb. Now on the v2 cb it does not even work for flashing anymore. Again, same Orin SOM, same SW in all the tests.
Config for the port is default, no changes there:
usb2-0 {/* Goes to recovery port */
mode = "otg";
status = "okay";
vbus-supply = <&p3768_vdd_5v_sys>;
usb-role-switch;
port {
typec_p0: endpoint {
remote-endpoint = <&fusb_p0>;
};
};
};
The USB design for usb2-0 is the same as the nvidia carrier board, this is why the flashing works without any change on the nvidia carrier board. The issue is that it does not work on the v2 carrier board, which also has the same usb2-0 implementation
Please see my initial post " * Flashing on Nvidia carrier board, and on our v1 carrier board (which is inspired from the Orin NX Eng sample) works as expected every time."
Our v1 and v2 carrier boards have the same HW usb2-0 implementation as the nvidia carrier board. The device tree for usb 2-0 is the original one, no changes there.
Sorry to say that, your board can get flashed on v1 carrier board is just a luck. Somehow usb device mode gets triggered on v1 board but not happened on v2 board. However, even v1 board software configuration is wrong. Thus, the result your board can gets flashed is just a luck or coincidence.
From software log and your comment,
The USB design for usb2-0 is the same as the nvidia carrier board,
I don’t know what nvidia carrier board you are talking about. This is false according to your log. Your design is not same a Orin Nano devkit carrier board at all.