I2C communication in UEFI shell

tylor_yang
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

  • tylor_yang
    tylor_yang New Member Posts: 9

    Extreme I14:
    extrem i14
    LNL RVP:
    LNL RVP

  • tylor_yang
    tylor_yang New Member Posts: 9

    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
    
    
  • tylor_yang
    tylor_yang New Member Posts: 9

    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 }};
    

  • xianghao
    xianghao New Member Posts: 1

    Do you have any progress?

  • tylor_yang
    tylor_yang New Member Posts: 9

    No, I tried loading EDK i2c driver manually. It does not work. I can only working on LNL board now.

Privacy Policy