I2C communication in UEFI shell

tylor_yang
New Member Posts: 9 ✭
Hi,
I'm trying to develop I2C application in UEFI shell.
But the simple I2C device scan efi program(build by edk2) fails to get the i2c master under extreme i14 UEFI shell. The same program could get I2C master under Intel LNL RVP board. I think its because of extrem i14 lack the Intel serialIO driver under UEFI. Could you look into this issue?
Answers
-
Extreme I14:
LNL RVP: -
extreme I14 UEFI driver list
T D D Y C I R P F A V VERSION E G G #D #C DRIVER NAME IMAGE NAME == ======== = = = == == =================================== ========== 38 00000001 ? - - - - <null string> NvmeRstPassword 42 0000000A D - - 2 - Intel SMBUS driver SmbusDxe 4B 00000010 ? - - - - NVMe Erase Driver NvmeEraseDxe 4C 00000010 ? - - - - SATA Erase Driver SataEraseDxe 50 0000001C ? - - - - Platform Opal Driver PlatformOpalDxe 67 00000024 D - - 2 - AMI USB Driver Uhcd 69 00000024 B - - 2 10 AMI USB Bus Driver Uhcd 6A 00000002 D - - 3 - AMI USB Hid Driver Uhcd 6B 00000001 D - - 1 - AMI USB Mass Storage Driver Uhcd 7E 00000001 D - - 1 - Usb Hid Io Driver UsbHidDxe 90 00000001 D - - 1 - AMI AHCI BUS Driver Ahci AD 0000001B ? - - - - Storage erase Driver StorageEraseDxe DB 0000000A ? - - - - TPM Driver Tcg2Dxe 14D 00000010 ? - - - - PCI Serial Driver SerialOverLan 162 00000010 B - - 1 1 AMI Console Splitter Text Out Drive ConSplitter 163 00000010 B - - 1 1 AMI Console Splitter Text In Driver ConSplitter 164 00000010 B - - 1 1 AMI Console Splitter Pointer Driver ConSplitter 167 00000010 D - - 1 - AMI Graphic Console Driver GraphicsConsole 168 0000000A D - - 8 - Generic Disk I/O Driver DiskIoDxe 169 0000000B B - - 2 6 Partition Driver(MBR/GPT/El Torito) PartitionDxe 16A 0000000A D - - 1 - Sata Controller Init Driver SataController 16B 00000010 ? - - - - Serial Io Uart Driver SerialIoUartDriver 16C 00000001 ? - - - - Touch Host Controller QuickSpi Driv QuickSpi 16D 00000001 ? - - - - Touch Host Controller Driver Thc 16F 00000001 ? - - - - UFS Erase Driver UfsEraseDxe 176 00000010 ? - - - - Ami HID keyboard Driver HidKeyboardDxe 177 00000010 ? - - - - Ami HID Absolute Pointer HidAbsolutePointer 178 00000010 ? - - - - Ami HID Simple Pointer HidSimplePointer 17A 00000010 D - - 1 - Ami HID Service Driver AmiHidServiceDriver 17D 00A5011E B - - 1 22 AMI PCI Bus Driver PciBus 17F 00000010 ? - - - - AMI PS/2 Driver Ps2Main 181 00000010 ? - - - - AMI Terminal Driver TerminalSrc 183 00000010 B - - 2 2 AMI Serial I/O Driver SerialIo 186 0000000A D - - 2 - FAT File System Driver Fat 188 00000001 B - - 1 1 AMI NVMe BUS Driver Nvme 189 0000000A ? - - - - SCSI Bus Driver ScsiBus 18A 0000000A ? - - - - Scsi Disk Driver ScsiDisk 18B 00000010 ? - - - - AMI SDIO Driver SdioDriver 18C 00000010 ? - - - - Universal Flash Storage (UFS) Pass UfsPassThruDxe 18D 00000010 ? - - - - Universal Flash Storage (UFS) Pci H UfsPciHcDxe 18F 00000010 D - - 4 - AMI Generic LPC Super I/O Driver GenericSio 190 0000001B ? - - - - Intel(R) RST 20.1.0.5743 RST VMD Dr FvFile(8D3168FD-8CD5-4B35-9AA0-3C964D4CC14A) 199 000A0400 B - X 1 1 Intel(R) 2.5G Ethernet Controller 0 FvFile(0DC95F31-EF41-4A91-922C-7149FA66D33F) 1A5 1601040B B - - 1 1 Intel(R) GOP Driver [22.1.1035] MemoryMapped(0x3,0x659C0018,0x659E1018)
LNL RVP driver list
T D D Y C I R P F A V VERSION E G G #D #C DRIVER NAME IMAGE NAME == ======== = = = == == =================================== ========== 31 00000000 D - - 1 - I2C Pss Monza driver I2cPssMonzaDxe 3D 0000001C ? - - - - Platform Opal Driver PlatformOpalDxe 3F 00000010 ? - - - - NVMe Erase Driver NvmeEraseDxe 6D 0000001B ? - - - - 1.0 UEFI Opal Driver OpalPasswordDxe 97 00000000 ? - - - - <null string> I2cPlatformDxe B8 180003FC B - - 1 1 Intel(R) GOP Driver [24.0.1020] IntelGopDriver F3 0000000A B - - 1 30 PCI Bus Driver PciBusDxe F5 00000030 D - - 2 - Usb Xhci Driver XhciDxe F6 00000030 ? - - - - Usb Ehci Driver EhciDxe F7 00000020 ? - - - - Usb Uhci Driver UhciDxe F8 0000000A D - - 2 - Usb Bus Driver UsbBusDxe F9 00000011 D - - 1 - Usb Mass Storage Driver UsbMassStorageDxe FA 0000000A D - - 1 - Usb Keyboard Driver UsbKbDxe FB 0000000A D - - 7 - Generic Disk I/O Driver DiskIoDxe FC 0000000B B - - 2 5 Partition Driver(MBR/GPT/El Torito) PartitionDxe FF 0000000A D - - 2 - FAT File System Driver Fat 100 0000000A D - - 1 - Graphics Console Driver GraphicsConsoleDxe 101 0000000A D - - 3 - Platform Console Management Driver ConPlatformDxe 102 0000000A D - - 2 - Platform Console Management Driver ConPlatformDxe 103 0000000A B - - 3 3 Console Splitter Driver ConSplitterDxe 104 0000000A B - - 1 1 Console Splitter Driver ConSplitterDxe 105 0000000A ? - - - - Console Splitter Driver ConSplitterDxe 106 0000000A B - - 2 2 Console Splitter Driver ConSplitterDxe 107 0000000A ? - - - - Console Splitter Driver ConSplitterDxe 10B 00000010 ? - - - - Generic Graphics Output Driver GraphicsOutputDxe 10C 0000000A B - - 1 1 PCI SIO Serial Driver PciSioSerialDxe 10D 00000010 B - - 1 1 NVM Express Driver NvmExpressDxe 10E 00000001 B - - 1 3 Super I/O Driver LegacySioDxe 10F 0000000A B - - 1 1 Serial Terminal Driver TerminalDxe 112 00000010 D - - 3 - I2c Host Driver I2cDxe 113 00000010 D - - 3 - I2C Bus Driver I2cDxe 114 00000010 ? - - - - <null string> SerialIoI2cDriver 125 00000010 ? - - - - Universal Flash Storage (UFS) Pci H UfsPciHcDxe 126 00000010 ? - - - - Universal Flash Storage (UFS) Pass UfsPassThruDxe 127 0000000A D - - 1 - Usb Mouse Driver UsbMouseDxe 129 00000010 ? - - - - Serial Io Uart Driver SerialIoUartDriver 12A 0000000A D - - 1 - PS/2 Keyboard Driver Ps2KeyboardDxe 12B 00000001 ? - - - - UFS Erase Driver UfsEraseDxe 12C 00000010 ? - - - - PCI Serial Driver SerialOverLan 12E 00000001 ? - - - - Touch Host Controller QuickSpi Driv QuickSpi 12F 00000001 D - - 2 - Touch Host Controller QuickI2c Driv QuickI2c 130 0000000A ? - - - - SCSI Bus Driver ScsiBus 131 0000000A ? - - - - Scsi Disk Driver ScsiDisk 172 00000000 ? - - - - HID touchpanel driver I2cTouchPanelDxe
-
The protocol is query by gEfiI2cMasterProtocolGuid which is:
GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID gEfiI2cMasterProtocolGuid = { 0xcd72881f, 0x45b5, 0x4feb, { 0x98, 0xc8, 0x31, 0x3d, 0xa8, 0x11, 0x74, 0x62 }};
-
Do you have any progress?
-
No, I tried loading EDK i2c driver manually. It does not work. I can only working on LNL board now.