From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web09.3459.1616142151143405614 for ; Fri, 19 Mar 2021 01:22:31 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: tien.hock.loh@intel.com) IronPort-SDR: lO+f2V/ZccX33xunEgcqB6MDEc+L+IwLWCxYH5h4mNe8g/34AHfHagiWVVRsJjRzPf5In6J74h iekYfOWvuHRg== X-IronPort-AV: E=McAfee;i="6000,8403,9927"; a="186501521" X-IronPort-AV: E=Sophos;i="5.81,261,1610438400"; d="scan'208";a="186501521" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2021 01:22:29 -0700 IronPort-SDR: n0/H76iEmhuLLw1rHtnVQD8ZHMhCqKgdhS5SisuXnngh7G0b+i0NYo6SGxhQLAYfzVr6rnMu3X 6okhDlnaeX4g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,261,1610438400"; d="scan'208";a="450788695" Received: from pglc00408.png.intel.com ([10.221.235.211]) by orsmga001.jf.intel.com with ESMTP; 19 Mar 2021 01:22:28 -0700 From: "Loh, Tien Hock" To: devel@edk2.groups.io Cc: tien.hock.loh@intel.com, thloh85@gmail.com Subject: [PATCH V4 1/1] EmbeddedPkg: DwMmcHcDxe: Add support for Designware SDMMC driver Date: Fri, 19 Mar 2021 16:22:15 +0800 Message-Id: <20210319082216.34366-1-tien.hock.loh@intel.com> X-Mailer: git-send-email 2.12.3 From: Loh Tien Hock This adds support for Designware SDMMC driver. The SDMMC driver depends on MdeModulePkg/Bus/Sd/, and produces EFI_SD_MMC_PASS_THRU_PROTOCOL. The driver uses MMIO to read/write, and uses gEdkiiNonDiscoverableDeviceProtocolGuid. Platform needs to register device with gEdkiiNonDiscoverableDeviceProtocolGuid. https://github.com/thloh85-intel/edk2/tree/dwmmc_driver_v4 -- v4: * Rewrite the MMIO section so that it reuses gEdkiiNonDiscoverableDeviceProtocolGuid, thus no extra NonDiscoverable driver is needed Tien Hock, Loh (1): EmbeddedPkg: DwMmcHcDxe: Add support for Designware SDMMC driver EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.dec | 40 + EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.inf | 70 + EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.h | 817 ++++++++++ EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHci.h | 985 ++++++++++++ EmbeddedPkg/Include/Protocol/PlatformDwMmc.h | 79 + EmbeddedPkg/Drivers/DwMmcHcDxe/ComponentName.c | 214 +++ EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.c | 1296 ++++++++++++++++ EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHci.c | 1602 ++++++++++++++++++++ EmbeddedPkg/Drivers/DwMmcHcDxe/EmmcDevice.c | 1042 +++++++++++++ EmbeddedPkg/Drivers/DwMmcHcDxe/SdDevice.c | 1105 ++++++++++++++ 10 files changed, 7250 insertions(+) create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.dec create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.inf create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.h create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHci.h create mode 100644 EmbeddedPkg/Include/Protocol/PlatformDwMmc.h create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/ComponentName.c create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.c create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHci.c create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/EmmcDevice.c create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/SdDevice.c -- 2.12.3