NVIDIA / edk2-nvidia

NVIDIA EDK2 platform support
Other
78 stars 36 forks source link

I2C timeout on jetson-agx-orin-devkit #84

Open matsunaoki opened 11 months ago

matsunaoki commented 11 months ago

Issues

[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

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.

ashishsingha commented 11 months ago

Hello,

You can do it in two ways:

  1. In the UEFI DTB, disable the I2C controllers that you know you would not be using on your platform.
  2. In the Supported function in TegraI2C driver in UEFI, you can return EFI_UNSUPPORTED for the controllers you want UEFI to ignore.

Thanks

matsunaoki commented 11 months ago

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?