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.web08.17074.1609781876750647973 for ; Mon, 04 Jan 2021 09:37:56 -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 666CA11D4; Mon, 4 Jan 2021 09:37:56 -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 6037F3F66E; Mon, 4 Jan 2021 09:37:56 -0800 (PST) From: "Jeremy Linton" To: devel@edk2.groups.io Cc: ard.biesheuvel@arm.com, leif@nuviainc.com, pete@akeo.ie, samer.el-haj-mahmoud@arm.com, Jeremy Linton , Andrei Warkentin Subject: [PATCH v3 6/7] Platform/RaspberryPi: Power up sd, and tweak GPIOs Date: Mon, 4 Jan 2021 11:37:30 -0600 Message-Id: <20210104173731.1413044-7-jeremy.linton@arm.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210104173731.1413044-1-jeremy.linton@arm.com> References: <20210104173731.1413044-1-jeremy.linton@arm.com> 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 Reviewed-by: Andrei Warkentin --- 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