Signed-off-by: Steffen Trumtrar <[email protected]>
---
 drivers/mci/dw_mmc.c | 115 +-----------------------------------------
 drivers/mci/dw_mmc.h | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 141 insertions(+), 114 deletions(-)
 create mode 100644 drivers/mci/dw_mmc.h

diff --git a/drivers/mci/dw_mmc.c b/drivers/mci/dw_mmc.c
index 473942cbe0f9..e4c550c3edda 100644
--- a/drivers/mci/dw_mmc.c
+++ b/drivers/mci/dw_mmc.c
@@ -30,121 +30,8 @@
 #include <linux/clk.h>
 #include <linux/err.h>
 #include <asm-generic/errno.h>
+#include "dw_mmc.h"
 
-#define DWMCI_CTRL             0x000
-#define        DWMCI_PWREN             0x004
-#define DWMCI_CLKDIV           0x008
-#define DWMCI_CLKSRC           0x00C
-#define DWMCI_CLKENA           0x010
-#define DWMCI_TMOUT            0x014
-#define DWMCI_CTYPE            0x018
-#define DWMCI_BLKSIZ           0x01C
-#define DWMCI_BYTCNT           0x020
-#define DWMCI_INTMASK          0x024
-#define DWMCI_CMDARG           0x028
-#define DWMCI_CMD              0x02C
-#define DWMCI_RESP0            0x030
-#define DWMCI_RESP1            0x034
-#define DWMCI_RESP2            0x038
-#define DWMCI_RESP3            0x03C
-#define DWMCI_MINTSTS          0x040
-#define DWMCI_RINTSTS          0x044
-#define DWMCI_STATUS           0x048
-#define DWMCI_FIFOTH           0x04C
-#define DWMCI_CDETECT          0x050
-#define DWMCI_WRTPRT           0x054
-#define DWMCI_GPIO             0x058
-#define DWMCI_TCMCNT           0x05C
-#define DWMCI_TBBCNT           0x060
-#define DWMCI_DEBNCE           0x064
-#define DWMCI_USRID            0x068
-#define DWMCI_VERID            0x06C
-#define DWMCI_HCON             0x070
-#define DWMCI_UHS_REG          0x074
-#define DWMCI_BMOD             0x080
-#define DWMCI_PLDMND           0x084
-#define DWMCI_DBADDR           0x088
-#define DWMCI_IDSTS            0x08C
-#define DWMCI_IDINTEN          0x090
-#define DWMCI_DSCADDR          0x094
-#define DWMCI_BUFADDR          0x098
-#define DWMCI_DATA             0x200
-
-/* Interrupt Mask register */
-#define DWMCI_INTMSK_ALL       0xffffffff
-#define DWMCI_INTMSK_RE                BIT(1)
-#define DWMCI_INTMSK_CDONE     BIT(2)
-#define DWMCI_INTMSK_DTO       BIT(3)
-#define DWMCI_INTMSK_TXDR      BIT(4)
-#define DWMCI_INTMSK_RXDR      BIT(5)
-#define DWMCI_INTMSK_RCRC      BIT(6)
-#define DWMCI_INTMSK_DCRC      BIT(7)
-#define DWMCI_INTMSK_RTO       BIT(8)
-#define DWMCI_INTMSK_DRTO      BIT(9)
-#define DWMCI_INTMSK_HTO       BIT(10)
-#define DWMCI_INTMSK_FRUN      BIT(11)
-#define DWMCI_INTMSK_HLE       BIT(12)
-#define DWMCI_INTMSK_SBE       BIT(13)
-#define DWMCI_INTMSK_ACD       BIT(14)
-#define DWMCI_INTMSK_EBE       BIT(15)
-
-/* Raw interrupt Register */
-#define DWMCI_DATA_ERR (DWMCI_INTMSK_EBE | DWMCI_INTMSK_SBE | DWMCI_INTMSK_HLE 
|\
-                       DWMCI_INTMSK_FRUN | DWMCI_INTMSK_DCRC)
-#define DWMCI_DATA_TOUT        (DWMCI_INTMSK_HTO | DWMCI_INTMSK_DRTO)
-
-/* CTRL register */
-#define DWMCI_CTRL_RESET       BIT(0)
-#define DWMCI_CTRL_FIFO_RESET  BIT(1)
-#define DWMCI_CTRL_DMA_RESET   BIT(2)
-#define DWMCI_DMA_EN           BIT(5)
-#define DWMCI_CTRL_SEND_AS_CCSD        BIT(10)
-#define DWMCI_IDMAC_EN         BIT(25)
-#define DWMCI_RESET_ALL                (DWMCI_CTRL_RESET | 
DWMCI_CTRL_FIFO_RESET |     \
-                               DWMCI_CTRL_DMA_RESET)
-
-/* CMD register */
-#define DWMCI_CMD_RESP_EXP     BIT(6)
-#define DWMCI_CMD_RESP_LENGTH  BIT(7)
-#define DWMCI_CMD_CHECK_CRC    BIT(8)
-#define DWMCI_CMD_DATA_EXP     BIT(9)
-#define DWMCI_CMD_RW           BIT(10)
-#define DWMCI_CMD_SEND_STOP    BIT(12)
-#define DWMCI_CMD_ABORT_STOP   BIT(14)
-#define DWMCI_CMD_PRV_DAT_WAIT BIT(13)
-#define DWMCI_CMD_UPD_CLK      BIT(21)
-#define DWMCI_CMD_USE_HOLD_REG BIT(29)
-#define DWMCI_CMD_START                BIT(31)
-
-/* CLKENA register */
-#define DWMCI_CLKEN_ENABLE     BIT(0)
-#define DWMCI_CLKEN_LOW_PWR    BIT(16)
-
-/* Card-type register */
-#define DWMCI_CTYPE_1BIT       0
-#define DWMCI_CTYPE_4BIT       BIT(0)
-#define DWMCI_CTYPE_8BIT       BIT(16)
-
-/* Status Register */
-#define DWMCI_STATUS_FIFO_EMPTY        BIT(2)
-#define DWMCI_STATUS_FIFO_FULL BIT(3)
-#define DWMCI_STATUS_BUSY      BIT(9)
-
-/* FIFOTH Register */
-#define DWMCI_FIFOTH_MSIZE(x)          ((x) << 28)
-#define DWMCI_FIFOTH_RX_WMARK(x)       ((x) << 16)
-#define DWMCI_FIFOTH_TX_WMARK(x)       (x)
-#define DWMCI_FIFOTH_FIFO_DEPTH(x)     ((((x) >> 16) & 0x3ff) + 1)
-
-#define DWMCI_IDMAC_OWN        BIT(31)
-#define DWMCI_IDMAC_CH BIT(4)
-#define DWMCI_IDMAC_FS BIT(3)
-#define DWMCI_IDMAC_LD BIT(2)
-
-/* Bus Mode Register */
-#define DWMCI_BMOD_IDMAC_RESET BIT(0)
-#define DWMCI_BMOD_IDMAC_FB    BIT(1)
-#define DWMCI_BMOD_IDMAC_EN    BIT(7)
 
 struct dwmci_host {
        struct mci_host mci;
diff --git a/drivers/mci/dw_mmc.h b/drivers/mci/dw_mmc.h
new file mode 100644
index 000000000000..23b0f0fe2680
--- /dev/null
+++ b/drivers/mci/dw_mmc.h
@@ -0,0 +1,140 @@
+/*
+ * Copyright (C) 2013 Altera Corporation <www.altera.com>
+ *
+ * (C) Copyright 2012 SAMSUNG Electronics
+ * Jaehoon Chung <[email protected]>
+ * Rajeshawari Shinde <[email protected]>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef  __DW_MMC_H__
+#define        __DW_MMC_H__
+
+#include <linux/bitops.h>
+
+#define DWMCI_CTRL             0x000
+#define        DWMCI_PWREN             0x004
+#define DWMCI_CLKDIV           0x008
+#define DWMCI_CLKSRC           0x00C
+#define DWMCI_CLKENA           0x010
+#define DWMCI_TMOUT            0x014
+#define DWMCI_CTYPE            0x018
+#define DWMCI_BLKSIZ           0x01C
+#define DWMCI_BYTCNT           0x020
+#define DWMCI_INTMASK          0x024
+#define DWMCI_CMDARG           0x028
+#define DWMCI_CMD              0x02C
+#define DWMCI_RESP0            0x030
+#define DWMCI_RESP1            0x034
+#define DWMCI_RESP2            0x038
+#define DWMCI_RESP3            0x03C
+#define DWMCI_MINTSTS          0x040
+#define DWMCI_RINTSTS          0x044
+#define DWMCI_STATUS           0x048
+#define DWMCI_FIFOTH           0x04C
+#define DWMCI_CDETECT          0x050
+#define DWMCI_WRTPRT           0x054
+#define DWMCI_GPIO             0x058
+#define DWMCI_TCMCNT           0x05C
+#define DWMCI_TBBCNT           0x060
+#define DWMCI_DEBNCE           0x064
+#define DWMCI_USRID            0x068
+#define DWMCI_VERID            0x06C
+#define DWMCI_HCON             0x070
+#define DWMCI_UHS_REG          0x074
+#define DWMCI_BMOD             0x080
+#define DWMCI_PLDMND           0x084
+#define DWMCI_DBADDR           0x088
+#define DWMCI_IDSTS            0x08C
+#define DWMCI_IDINTEN          0x090
+#define DWMCI_DSCADDR          0x094
+#define DWMCI_BUFADDR          0x098
+#define DWMCI_DATA             0x200
+
+/* Interrupt Mask register */
+#define DWMCI_INTMSK_ALL       0xffffffff
+#define DWMCI_INTMSK_RE                BIT(1)
+#define DWMCI_INTMSK_CDONE     BIT(2)
+#define DWMCI_INTMSK_DTO       BIT(3)
+#define DWMCI_INTMSK_TXDR      BIT(4)
+#define DWMCI_INTMSK_RXDR      BIT(5)
+#define DWMCI_INTMSK_RCRC      BIT(6)
+#define DWMCI_INTMSK_DCRC      BIT(7)
+#define DWMCI_INTMSK_RTO       BIT(8)
+#define DWMCI_INTMSK_DRTO      BIT(9)
+#define DWMCI_INTMSK_HTO       BIT(10)
+#define DWMCI_INTMSK_FRUN      BIT(11)
+#define DWMCI_INTMSK_HLE       BIT(12)
+#define DWMCI_INTMSK_SBE       BIT(13)
+#define DWMCI_INTMSK_ACD       BIT(14)
+#define DWMCI_INTMSK_EBE       BIT(15)
+
+/* Raw interrupt Register */
+#define DWMCI_DATA_ERR (DWMCI_INTMSK_EBE | DWMCI_INTMSK_SBE | DWMCI_INTMSK_HLE 
|\
+                       DWMCI_INTMSK_FRUN | DWMCI_INTMSK_DCRC)
+#define DWMCI_DATA_TOUT        (DWMCI_INTMSK_HTO | DWMCI_INTMSK_DRTO)
+
+/* CTRL register */
+#define DWMCI_CTRL_RESET       BIT(0)
+#define DWMCI_CTRL_FIFO_RESET  BIT(1)
+#define DWMCI_CTRL_DMA_RESET   BIT(2)
+#define DWMCI_DMA_EN           BIT(5)
+#define DWMCI_CTRL_SEND_AS_CCSD        BIT(10)
+#define DWMCI_IDMAC_EN         BIT(25)
+#define DWMCI_RESET_ALL                (DWMCI_CTRL_RESET | 
DWMCI_CTRL_FIFO_RESET |     \
+                               DWMCI_CTRL_DMA_RESET)
+
+/* CMD register */
+#define DWMCI_CMD_RESP_EXP     BIT(6)
+#define DWMCI_CMD_RESP_LENGTH  BIT(7)
+#define DWMCI_CMD_CHECK_CRC    BIT(8)
+#define DWMCI_CMD_DATA_EXP     BIT(9)
+#define DWMCI_CMD_RW           BIT(10)
+#define DWMCI_CMD_SEND_STOP    BIT(12)
+#define DWMCI_CMD_ABORT_STOP   BIT(14)
+#define DWMCI_CMD_PRV_DAT_WAIT BIT(13)
+#define DWMCI_CMD_UPD_CLK      BIT(21)
+#define DWMCI_CMD_USE_HOLD_REG BIT(29)
+#define DWMCI_CMD_START                BIT(31)
+
+/* CLKENA register */
+#define DWMCI_CLKEN_ENABLE     BIT(0)
+#define DWMCI_CLKEN_LOW_PWR    BIT(16)
+
+/* Card-type register */
+#define DWMCI_CTYPE_1BIT       0
+#define DWMCI_CTYPE_4BIT       BIT(0)
+#define DWMCI_CTYPE_8BIT       BIT(16)
+
+/* Status Register */
+#define DWMCI_STATUS_FIFO_EMPTY        BIT(2)
+#define DWMCI_STATUS_FIFO_FULL BIT(3)
+#define DWMCI_STATUS_BUSY      BIT(9)
+
+/* FIFOTH Register */
+#define DWMCI_FIFOTH_MSIZE(x)          ((x) << 28)
+#define DWMCI_FIFOTH_RX_WMARK(x)       ((x) << 16)
+#define DWMCI_FIFOTH_TX_WMARK(x)       (x)
+#define DWMCI_FIFOTH_FIFO_DEPTH(x)     ((((x) >> 16) & 0x3ff) + 1)
+
+#define DWMCI_IDMAC_OWN        BIT(31)
+#define DWMCI_IDMAC_CH BIT(4)
+#define DWMCI_IDMAC_FS BIT(3)
+#define DWMCI_IDMAC_LD BIT(2)
+
+/* Bus Mode Register */
+#define DWMCI_BMOD_IDMAC_RESET BIT(0)
+#define DWMCI_BMOD_IDMAC_FB    BIT(1)
+#define DWMCI_BMOD_IDMAC_EN    BIT(7)
+
+#endif
-- 
2.11.0


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to