Hi everyone
I am trying use the cmd “sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_t234_nvme.xml -p “-c bootloader/generic/cfg/flash_t234_qspi_sdmmc.xml” --showlogs --network usb0 jetson-agx-orin-devkit internal“ to flash the nvme
but when get the setp 3 : Start the flashing process,here is the error log
Waiting for target to boot-up...
Waiting for target to boot-up...
Waiting for target to boot-up...
Waiting for target to boot-up...
Timeout
Device failed to boot to the initrd flash kernel. Please retrive the serial log during flashing to debug further.
Cleaning up...
and here is the dmesg log and flash log
flash_initrd.log (9.5 KB)
dmesg_initrd.log (39.5 KB)
need anyone help me .Thanks
The log looks like typical USB device mode not detect on your custom board.
Please configure device tree of USB part to match your hardware design. Also, your hardware design shall support usb device mode.
Document in below
Hi WayneWWW
I can use the “sudo ./flash.sh jetson-agx-orin-devkit internal” to success boot the orin.And what exactly do you mean by “typical USB device mode ”? Is that Debug USB 3.0?
and attach the dtb on board
extracted_proc.txt (349.3 KB)
and here is the hardware design
Debug USB 3.0 (flash port)
use USB2_0 and USB3_1
Hi,
I have explanation in Chinese on another post. Please read if it is okay for you.
Hi,
感覺你好像搞錯了方向. 這條目前的問題跟你的PCIe沒有關聯. 你不用說明C0/C4的差異. 因為問題根本不在那裡
這邊先解釋一下flash的機制.
目前Orin AGX上能使用的flash tool有兩種
flash.sh
l4t_initrd_flash.sh
不論哪一種燒錄方式, 都是host PC用USB線接著你的Jetson燒錄. 所以你的host PC這時候得當USB host的角色. Jetson需要當USB device.
當你用pin或是按鈕把device切進recovery mode之後. host PC上使用"lsusb"指令能讀到Jetson, 代表Jetson這時候進入的usb device mode.
以上部份是flash.sh跟initrd_flash共同的部份. 接下來講解不同的地方
flash.sh的燒錄過程不會有Jetson開進Linux kernel的部份. 基本上就是透過BootRom從host PC端直接寫資料進去Jetson裡面. 這個過程不會在意你的device tree內容是對還是錯的. 就是…
Thanks
I have solved it by modify this
usb@3550000 {
status = "okay";
phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
// <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
// <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
phy-names = "usb2-0" , "usb3-1";
};
and the last question need help how to skip the system_image generate like “flash.sh -r“ when use l4t_initrd_flash.sh.
tianyuw1:
I have solved it by modify this
usb@3550000 {
status = "okay";
phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
// <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
// <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
phy-names = "usb2-0" , "usb3-1";
};
I am not quite sure what did you change in above… isn’t that the default setting already?
你好,WayneWW
这是我们的原理图设计
经过我们这些天的测试
我发现会当usb2.2所连接的usb_hub没有接入负载设备时,initrd无法进行下去,console log会卡在
但是当使用负载设备接入的时候就能正常烧录完成,但是这个情况下,烧录口也是只有device mode ,没法自动切换成host的(注:我们没有采用cypress,而是使用的TUSB321AIRWBR,并没有接入id和vbus-detect引脚) 所以,本质我们是没有能够自动控制type-c进行切换的,
那么我有两个困惑:
1.使用initrd烧录的时候是驱动xusb强制写入切换的吗?
2.在没有id和vbud-detect接入的时候,也是能够实现initrd烧录和手动切换role的吗?
希望能够解答,谢谢
Hi,
但是当使用负载设备接入的时候就能正常烧录完成
聽起來好像硬體部份跟device tree還是沒有對上. 照理你usb2-2的東西接不接跟usb2-0 port的device mode沒有關聯. 好像變成有點隨機行為導致usb跑進device mode然後你們把這個狀況當成問題已解決
理論上你沒有做id/vbus-detect或是採用任何type C solution的狀況下, 那個port的device mode是沒辦法正確執行的.
是的,我也觉得usb2-2不应该影响到usb2-0,目前唯一的硬件关联点是,j13(type-c连接器)和usb2-2连接的usb_hub通用一个5v电源.
请问如果想要实现这个type-c的otg(initrd一定依赖otg的情况下)是一定需要id和vbud-detect这两个引脚的对吗?
不確定我有沒有看錯connector, 你的type C那個load switch是透過GPIO做控制的嗎?
你是说这个脚吗,是gpio22控制的,但是目前软件没做控制,默认高电平
因為你的vbus-supply使用的這個0xf9 regulator其實是 always-on, 沒有受到gpio22的控制. 你得寫一個透過gpio 22控制的regulator然後給vbus-supply使用
类似于这样吗
vdd_5v0_vbus_en1: regulator-vdd-5v0-vbus-en1 {
compatible = "regulator-fixed";
regulator-name = "VDD_5V0_VBUS-EN1";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio TEGRA234_MAIN_GPIO(Z, 1) GPIO_ACTIVE_HIGH>;
enable-active-high;
};
usb2-0{
mode = "otg";
vbus-supply = <&vdd_5v0_vbus_en1>;
status = "okay";
};
这样写就不用引入id和vbus-detect了吗
你要不要直接把mode改成device? 你這個設計基本上不可能執行otg的功能. OTG代表能在host/device之間切換.
我們頂多只能看看讓你能正常燒錄而已. 完全OTG功能基本上不可能滿足
不行,
这样改完后usb2-2插不插东西,都没法用initrd烧录了
這邊說明一下, 如果你要給device tree, 請你就提供最後dtb 轉回dts的結果
現在這種都是註解的code說實話真的沒有辦法知道你最後的dts長怎樣…
好的,对了role-switch-default-mode = “peripheral”;这个还要吗
請問你們是跟其他post的詢問有一起cowork嗎?
我好像在這一篇沒提到這件事情. 照理是有加沒加都沒有影響.