diff mbox series

[U-Boot,1/1] drivers: mmc: rpmb: Use R1 response

Message ID 20191122231309.30586-1-vladimir.olovyannikov@broadcom.com
State Accepted
Commit ae93d8106bdb5926efef9222d553adb295ebce96
Delegated to: Peng Fan
Headers show
Series [U-Boot,1/1] drivers: mmc: rpmb: Use R1 response | expand

Commit Message

Vladimir Olovyannikov Nov. 22, 2019, 11:13 p.m. UTC
From: Bharat Kumar Reddy Gooty <bharat.gooty@broadcom.com>

If the host has Broken R1B, use only R1 response type.

Signed-off-by: Bharat Kumar Reddy Gooty <bharat.gooty@broadcom.com>
Signed-off-by: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com>
---
 drivers/mmc/rpmb.c | 5 +++++
 1 file changed, 5 insertions(+)
diff mbox series

Patch

diff --git a/drivers/mmc/rpmb.c b/drivers/mmc/rpmb.c
index 33371fe562..ee6dbe30db 100644
--- a/drivers/mmc/rpmb.c
+++ b/drivers/mmc/rpmb.c
@@ -11,6 +11,7 @@ 
 #include <common.h>
 #include <memalign.h>
 #include <mmc.h>
+#include <sdhci.h>
 #include <u-boot/sha256.h>
 #include "mmc_private.h"
 
@@ -91,6 +92,7 @@  static int mmc_rpmb_request(struct mmc *mmc, const struct s_rpmb *s,
 {
 	struct mmc_cmd cmd = {0};
 	struct mmc_data data;
+	struct sdhci_host *host = mmc->priv;
 	int ret;
 
 	ret = mmc_set_blockcount(mmc, count, is_rel_write);
@@ -105,6 +107,9 @@  static int mmc_rpmb_request(struct mmc *mmc, const struct s_rpmb *s,
 	cmd.cmdarg = 0;
 	cmd.resp_type = MMC_RSP_R1;
 
+	if (host->quirks & SDHCI_QUIRK_BROKEN_R1B)
+		cmd.resp_type = MMC_RSP_R1;
+
 	data.src = (const char *)s;
 	data.blocks = 1;
 	data.blocksize = MMC_MAX_BLOCK_LEN;