Hi Ard,

I tried using NonDiscoverablePciDeviceDxe driver for SATA (AHCI), but on using 
this my SATA drive is not been detected by UEFI.

Below is the reason of error:

>From EnumerateAttachedDevice() function AhciModeInitialization() function gets 
>called.

In AhciModeInitialization() under else loop i am receiving EFI_TIMEOUT from 
AhciIdentify()

      } else if ((Data & EFI_AHCI_ATAPI_SIG_MASK) == EFI_AHCI_ATA_DEVICE_SIG) {
        Status = AhciIdentify (PciIo, AhciRegisters, Port, 0, &Buffer);

        if (EFI_ERROR (Status)) {
          REPORT_STATUS_CODE (EFI_PROGRESS_CODE, (EFI_PERIPHERAL_FIXED_MEDIA | 
EFI_P_EC_NOT_DETECTED));
          continue;
        }

        DeviceType = EfiIdeHarddisk;

Then i check In AhciIdentify() function.
Here, AhciPioTransfer() calls AhciCheckMemSet() to read PioFisReceived and 
D2hFisReceived.
And AhciCheckMemSet() returns EFI_NOT_READY for both cases.
So timeout occurs.

I tried to compare PciEmulation layer and NonDiscoverablePciDeviceDxe but not 
able to find much difference.

Please suggest what can possibly i am missing.



> -----Original Message-----
> From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org]
> Sent: Friday, December 22, 2017 9:02 PM
> To: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com>
> Cc: Leif Lindholm <leif.lindh...@linaro.org>; Kinney, Michael D
> <michael.d.kin...@intel.com>; edk2-devel@lists.01.org; Udit Kumar
> <udit.ku...@nxp.com>; Varun Sethi <v.se...@nxp.com>
> Subject: Re: [PATCH edk2-platforms 0/3] Cover letter:Pci Emulation and SATA
> support
> 
> On 22 December 2017 at 12:16, Meenakshi Aggarwal
> <meenakshi.aggar...@nxp.com> wrote:
> > Following patches add support for pci emulation layer
> > and SATA on NXP boards.
> >
> > Null Library for USB is also present to give completeness
> > to Pci Emulation layer.
> >
> > Meenakshi Aggarwal (3):
> >   USB: Added Support of DWC3 USB controller.
> >   PciEmulation : Add support for Pci Emulation layer.
> >   SATA : Added SATA controller initialization driver.
> >
> 
> Please don't add PCI emulation drivers. Instead, we have
> NonDiscoverablePciDeviceDxe that supports AHCI, XHCI, EHCI, OHCI,
> UHCI, UFS, NVME and SDHCI platform devices.
> 
> >  Platform/NXP/Drivers/PciEmulation/PciEmulation.c   | 624
> +++++++++++++++++++++
> >  Platform/NXP/Drivers/PciEmulation/PciEmulation.h   | 306 ++++++++++
> >  Platform/NXP/Drivers/PciEmulation/PciEmulation.inf |  54 ++
> >  .../NXP/Drivers/PciEmulation/PciRootBridgeIo.c     | 286 ++++++++++
> >  Platform/NXP/Drivers/SataInitDxe/SataInit.c        | 122 ++++
> >  Platform/NXP/Drivers/SataInitDxe/SataInit.h        |  32 ++
> >  Platform/NXP/Drivers/SataInitDxe/SataInitDxe.inf   |  43 ++
> >  .../NXP/Library/UsbHcdNullLibrary/UsbHcdLibNull.c  |  25 +
> >  .../NXP/Library/UsbHcdNullLibrary/UsbHcdNull.inf   |  28 +
> >  Platform/NXP/NxpQoriqLs.dec                        |  14 +-
> >  Platform/NXP/NxpQoriqLs.dsc                        |  15 +
> >  11 files changed, 1547 insertions(+), 2 deletions(-)
> >  create mode 100644 Platform/NXP/Drivers/PciEmulation/PciEmulation.c
> >  create mode 100755 Platform/NXP/Drivers/PciEmulation/PciEmulation.h
> >  create mode 100644 Platform/NXP/Drivers/PciEmulation/PciEmulation.inf
> >  create mode 100644
> Platform/NXP/Drivers/PciEmulation/PciRootBridgeIo.c
> >  create mode 100644 Platform/NXP/Drivers/SataInitDxe/SataInit.c
> >  create mode 100644 Platform/NXP/Drivers/SataInitDxe/SataInit.h
> >  create mode 100644 Platform/NXP/Drivers/SataInitDxe/SataInitDxe.inf
> >  create mode 100644
> Platform/NXP/Library/UsbHcdNullLibrary/UsbHcdLibNull.c
> >  create mode 100644
> Platform/NXP/Library/UsbHcdNullLibrary/UsbHcdNull.inf
> >
> > --
> > 1.9.1
> >
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to