From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.3006.1608066049358442825 for ; Tue, 15 Dec 2020 13:00:49 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jeremy.linton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0415230E; Tue, 15 Dec 2020 13:00:49 -0800 (PST) Received: from mammon-tx2.austin.arm.com (mammon-tx2.austin.arm.com [10.118.28.62]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id F04FC3F66B; Tue, 15 Dec 2020 13:00:48 -0800 (PST) From: "Jeremy Linton" To: devel@edk2.groups.io Cc: ard.biesheuvel@arm.com, leif@nuviainc.com, pete@akeo.ie, andrey.warkentin@gmail.com, samer.el-haj-mahmoud@arm.com, Jeremy Linton Subject: [PATCH v2 6/9] Platform/RaspberryPi: Power up sd, and tweak GPIOs Date: Tue, 15 Dec 2020 15:00:45 -0600 Message-Id: <20201215210045.1195658-1-jeremy.linton@arm.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable It seems we should be powering up the sd cards, and possibly the clocks as well to assure they are setup properly before we attempt to access the controller. Signed-off-by: Jeremy Linton --- Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c b/Platform/= RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c index 28f57438c5..e55ed63efa 100644 --- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c +++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c @@ -552,6 +552,16 @@ ApplyVariables ( GpioPinFuncSet (37, GPIO_FSEL_ALT3);=0D GpioPinFuncSet (38, GPIO_FSEL_ALT3);=0D GpioPinFuncSet (39, GPIO_FSEL_ALT3);=0D +=0D + /*=0D + * power and clock everything by default=0D + */=0D + Status =3D mFwProtocol->SetPowerState (RPI_MBOX_POWER_STATE_SDHCI,=0D + TRUE, TRUE); //SD on with wait= =0D + Status =3D mFwProtocol->SetGpioConfig (RPI_EXP_GPIO_SD_VOLT, =0D + RPI_EXP_GPIO_DIR_OUT, TRUE); //= 3.3v=0D + Status =3D mFwProtocol->SetClockState (RPI_MBOX_CLOCK_RATE_EMMC2, TR= UE);=0D + Status =3D mFwProtocol->SetClockState (RPI_MBOX_CLOCK_RATE_EMMC, TRU= E);=0D }=0D } else {=0D DEBUG ((DEBUG_ERROR, "Model Family %d not supported...\n", mModelFamil= y));=0D --=20 2.13.7