edk2-nvidia
edk2-nvidia copied to clipboard
I2C timeout on jetson-agx-orin-devkit
Issues
- Timeout error occurs while issuing TegraI2cStartRequest
- How can I skip initializing I2C if it is not mandatory for edk2 on AGX Orin developer kit?
[2023-10-24 16:38:22] Invalid EFI_I2C_DEVICE reported by I2c Enumerate protocol.
[2023-10-24 16:38:22] Invalid EFI_I2C_DEVICE reported by I2c Enumerate protocol.
[2023-10-24 16:38:22] Invalid EFI_I2C_DEVICE reported by I2c Enumerate protocol.
[2023-10-24 16:38:22] Invalid EFI_I2C_DEVICE reported by I2c Enumerate protocol.
[2023-10-24 16:38:22] Invalid EFI_I2C_DEVICE reported by I2c Enumerate protocol.
[2023-10-24 16:38:23] Installed Fat filesystem on 8221EE398
[2023-10-24 16:38:23] [ext4] Needs journal recovery, mounting read-only
[2023-10-24 16:38:25] TegraI2cStartRequest: Timeout waiting for Packet Complete
[2023-10-24 16:38:25] TegraI2cStartRequest: Timeout waiting for Packet Complete
[2023-10-24 16:38:25] TegraI2cStartRequest: Timeout waiting for Packet Complete
[2023-10-24 16:38:25] TegraI2cStartRequest: Timeout waiting for Packet Complete
[2023-10-24 16:38:26] TegraI2cStartRequest: Timeout waiting for Packet Complete
[2023-10-24 16:38:26] PrintBootOrder: Current BootOrder:
[2023-10-24 16:38:26] PrintBootOrder: BootOrder[0] = 0x0008 = UEFI I-O DATA USB Flash Disk 1242609221250144
[2023-10-24 16:38:26] PrintBootOrder: BootOrder[1] = 0x0001 = UEFI eMMC Device
Environment
- BSP r35.4.1
- Board: AGX Orin developer kit
- uefi_Jetson_DEBUG.bin built from r35.4.1 https://github.com/NVIDIA/edk2-nvidia/releases/tag/r35.4.1
Background
It's important boot time on some embedded scene. so, We investigate how many seconds spent each compornent. We found the above time out messages.
- https://forums.developer.nvidia.com/t/jetson-agx-orin-faq/237459#q-is-there-any-tips-for-debugging-uefi-10
- https://forums.developer.nvidia.com/t/jetson-agx-orin-long-boot-time/266855/
Hello,
You can do it in two ways:
- In the UEFI DTB, disable the I2C controllers that you know you would not be using on your platform.
- In the Supported function in TegraI2C driver in UEFI, you can return EFI_UNSUPPORTED for the controllers you want UEFI to ignore.
Thanks
Thanks for comment. I know disable tips by nvidia forum.
I think 2 problems. No1) initialize slowly, No2) It's difficult to know whether impact if disabled.
If the initializing is fast, it's no problems and no need to disable. Therefore, I hope driver developer team to improve it.
I have a question in No2's view point. Does it have impact to secure boot when disable i2c?