[PATCH v2 6/9] mci: sdhci: define same SDHCI_INT_* constants as Linux
Ahmad Fatoum
a.fatoum at barebox.org
Fri Jun 26 09:19:37 PDT 2026
We already define a number of these bits and make use of them, but not
all of them are named identically to Linux.
To make code easier to port and avoid confusion, just define the Linux
bits as well.
Signed-off-by: Ahmad Fatoum <a.fatoum at barebox.org>
---
v1 -> v2:
- new commit
---
drivers/mci/sdhci.h | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/drivers/mci/sdhci.h b/drivers/mci/sdhci.h
index d1f05ac96859..a3b8e65b55ee 100644
--- a/drivers/mci/sdhci.h
+++ b/drivers/mci/sdhci.h
@@ -111,6 +111,10 @@
#define SDHCI_RESET_DATA BIT(2)
#define SDHCI_INT_STATUS 0x30
#define SDHCI_INT_NORMAL_STATUS 0x30
+#define SDHCI_INT_TUNING_ERROR BIT(26)
+#define SDHCI_INT_ADMA_ERROR BIT(25)
+#define SDHCI_INT_AUTO_CMD_ERR BIT(24)
+#define SDHCI_INT_BUS_POWER BIT(23)
#define SDHCI_INT_DATA_END_BIT BIT(22)
#define SDHCI_INT_DATA_CRC BIT(21)
#define SDHCI_INT_DATA_TIMEOUT BIT(20)
@@ -119,13 +123,36 @@
#define SDHCI_INT_CRC BIT(17)
#define SDHCI_INT_TIMEOUT BIT(16)
#define SDHCI_INT_ERROR BIT(15)
+#define SDHCI_INT_CQE BIT(14)
+/* Host Version 4.10 */
+#define SDHCI_INT_FX_EVENT BIT(13)
+#define SDHCI_INT_RETUNE BIT(12)
#define SDHCI_INT_CARD_INT BIT(8)
#define SDHCI_INT_CARD_INSERT BIT(6)
#define SDHCI_INT_DATA_AVAIL BIT(5)
#define SDHCI_INT_SPACE_AVAIL BIT(4)
#define SDHCI_INT_DMA BIT(3)
+#define SDHCI_INT_BLK_GAP BIT(2)
#define SDHCI_INT_XFER_COMPLETE BIT(1)
#define SDHCI_INT_CMD_COMPLETE BIT(0)
+
+/* Linux-compatible constants */
+#define SDHCI_INT_RESPONSE SDHCI_INT_CMD_COMPLETE
+#define SDHCI_INT_DATA_END SDHCI_INT_XFER_COMPLETE
+#define SDHCI_INT_DMA_END SDHCI_INT_DMA
+#define SDHCI_INT_CARD_REMOVE SDHCI_INT_CARD_INT
+
+#define SDHCI_INT_CMD_MASK (SDHCI_INT_RESPONSE | SDHCI_INT_TIMEOUT | \
+ SDHCI_INT_CRC | SDHCI_INT_END_BIT | SDHCI_INT_INDEX | \
+ SDHCI_INT_AUTO_CMD_ERR)
+#define SDHCI_INT_DATA_MASK (SDHCI_INT_DATA_END | SDHCI_INT_DMA_END | \
+ SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL | \
+ SDHCI_INT_DATA_TIMEOUT | SDHCI_INT_DATA_CRC | \
+ SDHCI_INT_DATA_END_BIT | SDHCI_INT_ADMA_ERROR | \
+ SDHCI_INT_BLK_GAP | SDHCI_INT_TUNING_ERROR)
+#define SDHCI_INT_ALL_MASK ((unsigned int)-1)
+
+
#define SDHCI_INT_ERROR_STATUS 0x32
#define SDHCI_INT_ENABLE 0x34
#define SDHCI_INT_ERROR_ENABLE 0x36
--
2.47.3
More information about the barebox
mailing list