From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web12.14774.1642523143215541890 for ; Tue, 18 Jan 2022 08:25:43 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=gkcH4o6U; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: muhammad.aiman.rosli@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642523143; x=1674059143; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=dsbbNF8Xyi0WN8UBK22+x+2t2xRpOrvcKvdISIy+f+M=; b=gkcH4o6UeeQ2vGGNMb+DEPx4k8LoZImkiSp/orrkRVhVKrJsstEp9Exn 5QPkP79flglNxRl03PXl33TicORCWYxEF73UqglFARiMyP5O6mMWaLwob 3rSzNIJjDQe70KGorftwzSLzsio+iISCGa7AM7LCUFe7+OfOj0GNY8zkT XSouKQaaoAft0ooGT/ja0lYodXpNNwO3JI92+3EG2BUMFAKZc1YtvO87D otjnpH0K/0mMOao8tuoTBSksofphIqrpQL0iPlto+7tWp3LAFAqjwRIkW NHo1PrexMM5iZNXh8tLzUA32XuHqgocfofWKvoXfgBqZg19vJ46a4cUkL Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10230"; a="243677656" X-IronPort-AV: E=Sophos;i="5.88,297,1635231600"; d="scan'208";a="243677656" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jan 2022 08:25:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,297,1635231600"; d="scan'208";a="531862124" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga008.jf.intel.com with ESMTP; 18 Jan 2022 08:25:42 -0800 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Tue, 18 Jan 2022 08:25:42 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Tue, 18 Jan 2022 08:25:42 -0800 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.45) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Tue, 18 Jan 2022 08:25:41 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N1yWFksMnJgXxzjeXMqnyh+uavOhpLwl0WcUv42g4qhY8o4G1zltZN0pzaSxR8uTc625yYUUqXj2gbR1bsVubvWCaI/yCyCwRgUycgiLd7YBiAW3oPMpGWOffoXBvr2m+sbsfFZEovtXJA/JO323qrH3kT1TEuhR/9qxmRAia654SqS8nr+s7IzueN/wMG1Kee45Ar+/XZYNgP6XDMR/BzbeWZQMJsCkC0NvPbOCFedwvhBjiBW6Qok4WOXAvaU5ipc3IyEZlE5ZDPfFZYgLR2mzXmXMLOgaDVYiGDD5sAoQHjvGhjSHdU9gC4L/Mv2Dlkqp4Y6zeJx/rSkmfUe3YQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EkrTh95YCgMe5vlYN2nDo0ICnlnaXd8bgYlCQc/bb+o=; b=LJvvPL6vv+gQuBDKowKMvvaoe0Ratj5b8/RRy/4Zq2kgyYDUQODm1GhGDGtFbmbf/f0JiQYcI98sdvF9OsiqsZue/Q/FFZjla/0yBflr9n0c3DRUSkVVscksqxdZTKtXV2oKVgp3L7gV6AXvxD6rzsFdGLjcrYw4H0sAXd7ZURm07GdwUnk3dVuq7iR42ZbM/N3ESkXUHiEeMtSk1oqvx15jtI6wW/hbluDdMb2Pg9yooh4aDW/r790GYZuKl2Bk1hgY5gd9Qg/9p9CMXLds5rUCRWsSyQYff3aKStVp9dfq0gxW9/+2hzDRe0lVwCn3GfJJrHjZfLlVXSoJBMRNnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM4PR11MB5485.namprd11.prod.outlook.com (2603:10b6:5:39d::18) by BL0PR11MB2930.namprd11.prod.outlook.com (2603:10b6:208:73::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Tue, 18 Jan 2022 16:25:40 +0000 Received: from DM4PR11MB5485.namprd11.prod.outlook.com ([fe80::5e:7908:7bf5:dda7]) by DM4PR11MB5485.namprd11.prod.outlook.com ([fe80::5e:7908:7bf5:dda7%6]) with mapi id 15.20.4888.014; Tue, 18 Jan 2022 16:25:40 +0000 From: "Aiman Rosli" To: "devel@edk2.groups.io" , "Wu, Hao A" , "Gao, Zhichao" , "Ni, Ray" , "Wang, Jian J" Subject: Re: [edk2-devel] [PATCH v2] MdeModulePkg: Enabling OS boot from SD card through UEFI payload Thread-Topic: [edk2-devel] [PATCH v2] MdeModulePkg: Enabling OS boot from SD card through UEFI payload Thread-Index: AQHYC6Gfwyfu0rCEMk+KApzOKRH66qxo9+pw Date: Tue, 18 Jan 2022 16:25:40 +0000 Message-ID: References: <16CB1013993012B3.30851@groups.io> In-Reply-To: <16CB1013993012B3.30851@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ce5f942a-f531-4742-7065-08d9da9f2ac2 x-ms-traffictypediagnostic: BL0PR11MB2930:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JT3XC8lYekY2d6AUVwxiheSKsiw6LeKhD3iiI5AnSijI7strsuM4LS+e1cAO/ZZ5WpmHog4eAeZjYszcYGZtz9PYvjPPQ0ugAz4ON1VZDpjgsKY01zRJzUbcjah6WhvUhj+HO6SaSt7LcP++fQ7KKd/9tb+GrndPX3GTNjQkxuHGmIccrXHIChkuXboiTM5/sXlozroMNZ5xlpB43TaeOpS4ced1pKpCpA+RlpxZ4j6qcNy9jeb9ZeifPYeL7PxoLCgbnRYhr4V/TrtVp9DDpyYde9bm5ftAV5nu/2uuAAHe/Zyw6ru1nCxnlePFlbyirlP5fUxVvQ+Efotj+YdrjN1Bsvtu9RSDit5F+pYPurzprXP8tqGilFlcS9l9p8SXzI7h08UX8dc7jC3kvm8joPvVy98Yi8eKiUGENSLFujnRAkANp1ONRQE+GkMtdCqb7SsY8qYKA0fmq8/eI7CTqi7rHvqZm7RcocYXXF5kisTzYHE0ATididWDo8gVo4z8bKDxxnZCO7rB+9o4MwTRcgKvMmwuZ75aonT+pyQ5oEqFCkh7iEK1yCJkhJmR83VO5qeRBL8PGcWTYHQKqH5SNWyOA4aGZ0qAFKYTYsa/FIu72dDPDHQ+lbXe2E8D0Wf8Jr1gtNQ524ndsenDnVhDc7XaO1TQyQ/4GEcyAQEqhegZiozVJKM225yIwjjRdkDGto06DY8aAnOUH8SdSThp8bMdoEn10R5R/ebaRznpJ4MzX4k5WABrPSJd1n6jS934RRZ1SFr5tZv8yq5qCLsSjDYwCAh/4Fb9CI1bdSuC5KZeKA6ryMh8+B///AC95wBq3KhKcUZl4csg/p9JyamI8g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5485.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(186003)(66446008)(38070700005)(86362001)(5660300002)(38100700002)(66946007)(53546011)(508600001)(316002)(64756008)(66476007)(122000001)(26005)(2906002)(76116006)(6636002)(7696005)(110136005)(9686003)(8936002)(52536014)(83380400001)(33656002)(71200400001)(966005)(55016003)(8676002)(82960400001)(6506007)(66556008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?cdfP+6XJtoAfV6//MjXLAdnZtQeYYIyOe2ZwFsbcGiA16OHEbXYqK1gwR6O8?= =?us-ascii?Q?hle2QL107hGCq9BNo+TVyS4YAQ89BsCnOW1oMRJVX0k4bMFPG5QFggc3XZXR?= =?us-ascii?Q?n8UkdFIOjHRVJcLOS/QdQBrbQkj62T2ctkF1XL+oCLLj6gYOU21DxjP0JyY5?= =?us-ascii?Q?fO4j6u1cmpwfQL9miKCuTVF3LDiv5h/Sl+s9aUkEIqe16RzvZl6LHYDjOsP/?= =?us-ascii?Q?o4tEJ+CMhV4UI+UAJe4XxK9P1aF5SicHaspSnsQS4e8Ds26tS+PiU+Rc+bL8?= =?us-ascii?Q?kVQ64nhXAB73puGE+1y5r+9slRTQMQrpoCfFvGVyR/YPmgqQIlLXdn3PFEAr?= =?us-ascii?Q?g+HVhVSmi1ZIq3eWUL4uoK95q87j0FM+jISfLhaaV0nu0L5XL+ud09HLourd?= =?us-ascii?Q?UqqqUG6ZSfQ3b++bKGds32i1KHJI2vVqM30eWP87Fq5KMoiH2OGfVduW2mon?= =?us-ascii?Q?kN9jBjfaV4yuMdjoS3MRgDjQdXcOOHQZsp8QytpchviYAy2ap6AFspfJ4e8R?= =?us-ascii?Q?+21U/vvZJ2gbVF8L2w4oHu70RTLGjxMMHORBffH1QyR0LR5yqW2qu9V1RP6t?= =?us-ascii?Q?y5/I1iyruIT4lpOZKmSNNp2yYkylrEFkJkTiCTDrEVtv3vudSX+LXg/iAeB2?= =?us-ascii?Q?OaWo8Jf6FzazejVtOgZJ733t7TFko8EzWFx8iNSvf1vyybj6BBa86itiFAmP?= =?us-ascii?Q?XqcjcAWUdbkZtgBtugS7lKvjNASEx5FDCcmIHifJrz6s6HHlYuzPpSo9jM/I?= =?us-ascii?Q?JHdniiog0nXp7JU70POzmJVhsZrpul4kDSK7fpf6iL0Yy6nYwzXo/D40ugLm?= =?us-ascii?Q?qDEl11v5IlQz7od0gT9v2EXSEGfBhI62SOqvx15StrBhuT05/RxxPS8aTLpd?= =?us-ascii?Q?KOVSvjPpOe82Y0397KnohFNARNdK9Nodx2UlRer6sPkhYZBfA/ZZb+6MH4x4?= =?us-ascii?Q?l0wvyLowLZxgYNd+bJ7OlIa0KIc2hMe0dD03stHFGGrLROJUjUBwaq64+4+O?= =?us-ascii?Q?1CyO8bpSUp9DUTYXyevTraP2D9oJYaZV0odbjaGskxXI/LCkmT+X1fEEjQ+8?= =?us-ascii?Q?qU3rsKRDSp5iQbXd9jEKBPO839ekECyp3aqZY1BL+1z1vEtBPWZDTaNNWXrb?= =?us-ascii?Q?7b9vMmjReeNP5Oqdl/cgasr/Yl18QVOCGIKWeMqJn6BQtoYSWmOdExZhx3Kt?= =?us-ascii?Q?fvI3TkAku2MmDr4L24pXeygtOqJ7tBBqALydKBow04i9jrO1WSCrOhQ1SvOh?= =?us-ascii?Q?WGXSLMAK2oKWp6dR8Lt+rSe/IjaQ5EX2YRnrGzj2oqwfsCvUOX2mCZ2eHtNi?= =?us-ascii?Q?8S1AuuZjYlsD+efDGjaijgDY9AfA8kZhNVYCpKz+hNzsA+TV6N9tg9THCFbG?= =?us-ascii?Q?/DWS3XeCHbXA1RGsY5x44tXzREtwCtm9vf/c6Q53FyOtPEbbzV8cwb4Yc6KH?= =?us-ascii?Q?zo+SaC8JVITp3z5K5n3nvCuq0dlm/Aaia8wDC0KLfV+Fx+fYubiWIqX63htt?= =?us-ascii?Q?Rvlxgvgsj8W8Q3RBgXA+PXhA7gOXbZ0bssBJ+GVgREpDVZ5lat6IECWO7VOL?= =?us-ascii?Q?0dpvwoOki07cq9W9puJlL9l3NlOr1qriv/wspy+5DkO1x2zMOp+YWKDDNJMV?= =?us-ascii?Q?uM1+fz1cvlH9vY/62ff046VcJWr8kUgzIecAEGrmyCoCKHAZ1f6H45D+pqxm?= =?us-ascii?Q?I1UQCg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5485.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ce5f942a-f531-4742-7065-08d9da9f2ac2 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2022 16:25:40.1052 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Uh3wfGgRDCpkyZJ8P0BWJ8BreBIQQwMMNEr846jpinHnjwO9iSFWwdUJkgy63t5Hel38O3r8qY6BQy0iNAXSkyHXSzbbHGZzp7Mm9cEC3Bc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB2930 Return-Path: muhammad.aiman.rosli@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all,=20 Please review my patch, if there is no issue, can help to add push label. Thank you. Regards, Aiman Rosli -----Original Message----- From: devel@edk2.groups.io On Behalf Of Aiman Rosli Sent: Monday, 17 January, 2022 8:56 PM To: devel@edk2.groups.io Cc: Rosli, Muhammad Aiman Subject: [edk2-devel] [PATCH v2] MdeModulePkg: Enabling OS boot from SD car= d through UEFI payload This changes is by adding 50ms delay during voltage switching from 3.3V to = 1.8V, plus adding a goto Voltage33Retry for 3.3V checking and retrying. Signed-off-by: Aiman Rosli --- MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c b/MdeModulePkg/B= us/Pci/SdMmcPciHcDxe/SdDevice.c index 662f9f483c..527fe7dc20 100644 --- a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c +++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c @@ -1213,9 +1213,14 @@ SdCardIdentification ( UINT32 PresentState; UINT8 HostCtrl2; UINTN Retry; + BOOLEAN ForceVoltage33; + + ForceVoltage33 =3D FALSE; =20 PciIo =3D Private->PciIo; PassThru =3D &Private->PassThru; + +Voltage33Retry: // // 1. Send Cmd0 to the device // @@ -1294,6 +1299,14 @@ SdCardIdentification ( return EFI_UNSUPPORTED; } =20 + // + // 1.8V had failed in the previous run, forcing a retry with 3.3V=20 + instead // if (ForceVoltage33 =3D=3D TRUE) { + S18r =3D FALSE; + ForceVoltage33 =3D FALSE; + } + // // 5. Repeatly send Acmd41 with supply voltage window to the device. // Note here we only support the cards complied with SD physical @@ -1362,13 +1375,17 @@ SdCardIdentification ( goto Error; } =20 - gBS->Stall (1000); + // Workaround to add a delay of 50 ms in order for clock to stabiliz= e before turning on the SD card again. + gBS->Stall (50000); =20 SdMmcHcRwMmio (PciIo, Slot, SD_MMC_HC_PRESENT_STATE, TRUE, sizeof (P= resentState), &PresentState); if (((PresentState >> 20) & 0xF) !=3D 0xF) { DEBUG ((DEBUG_ERROR, "SdCardIdentification: SwitchVoltage fails wi= th PresentState =3D 0x%x, It should be 0xF\n", PresentState)); - Status =3D EFI_DEVICE_ERROR; - goto Error; + Status =3D SdMmcHcReset (Private, Slot); + Status =3D SdMmcHcInitHost (Private, Slot); + ForceVoltage33 =3D TRUE; + DEBUG ((DEBUG_ERROR, "SdCardIdentification: Switching to 1.8V had = failed in the previous run, forcing a retry with 3.3V instead\n")); + goto Voltage33Retry; } } =20 -- 2.34.1.windows.1