[PATCH 08/21] mci: mci-bcm2835: Use 16bit register definitions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We have some register defines in a 16bit access version and a 32bit
access version. Use the former to get rid of the latter later.

Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
---
 drivers/mci/mci-bcm2835.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/drivers/mci/mci-bcm2835.c b/drivers/mci/mci-bcm2835.c
index 7037cbf7b8..d154dfa46d 100644
--- a/drivers/mci/mci-bcm2835.c
+++ b/drivers/mci/mci-bcm2835.c
@@ -203,30 +203,31 @@ static void bcm2835_mci_reset_emmc(struct bcm2835_mci_host *host, u32 reset,
  */
 static int bcm2835_mci_request(struct mci_host *mci, struct mci_cmd *cmd,
 		struct mci_data *data) {
-	u32 command, block_data = 0, ret = 0;
+	u32 command, block_data = 0, ret = 0, transfer_mode = 0;
 	u32 wait_inhibit_mask = PRSSTAT_CICHB | PRSSTAT_CIDHB;
 	struct bcm2835_mci_host *host = to_bcm2835_host(mci);
 
-	command = COMMAND_CMD(cmd->cmdidx);
+	command = SDHCI_CMD_INDEX(cmd->cmdidx);
 
 	if (cmd->resp_type != MMC_RSP_NONE) {
 		if (cmd->resp_type & MMC_RSP_136)
-			command |= COMMAND_RSPTYP_136;
+			command |= SDHCI_RESP_TYPE_136;
 		else if (cmd->resp_type & MMC_RSP_BUSY)
-			command |= COMMAND_RSPTYP_48_BUSY;
+			command |= SDHCI_RESP_TYPE_48_BUSY;
 		else
-			command |= COMMAND_RSPTYP_48;
+			command |= SDHCI_RESP_TYPE_48;
 		if (cmd->resp_type & MMC_RSP_CRC)
-			command |= COMMAND_CCCEN;
+			command |= SDHCI_CMD_CRC_CHECK_EN;
 	}
 	if (data != NULL) {
-		command |= COMMAND_DPSEL | TRANSFER_MODE_BCEN;
+		command |= SDHCI_DATA_PRESENT;
+		transfer_mode |= TRANSFER_MODE_BCEN;
 
 		if (data->blocks > 1)
-			command |= TRANSFER_MODE_MSBSEL;
+			transfer_mode |= TRANSFER_MODE_MSBSEL;
 
 		if (data->flags & MMC_DATA_READ)
-			command |= TRANSFER_MODE_DTDSEL;
+			transfer_mode |= TRANSFER_MODE_DTDSEL;
 
 		block_data = (data->blocks << BLOCK_SHIFT);
 		block_data |= data->blocksize;
@@ -247,7 +248,8 @@ static int bcm2835_mci_request(struct mci_host *mci, struct mci_cmd *cmd,
 
 	sdhci_write32(&host->sdhci, SDHCI_BLOCK_SIZE__BLOCK_COUNT, block_data);
 	sdhci_write32(&host->sdhci, SDHCI_ARGUMENT, cmd->cmdarg);
-	sdhci_write32(&host->sdhci, SDHCI_TRANSFER_MODE__COMMAND, command);
+	sdhci_write32(&host->sdhci, SDHCI_TRANSFER_MODE__COMMAND,
+		      command << 16 | transfer_mode);
 
 	ret = bcm2835_mci_wait_command_done(host);
 	if (ret) {
-- 
2.24.0


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux