[PATCH 03/10] mmc: spi: Add necessary bits into mxs-spi.h

2012-08-03 Thread Marek Vasut
Add missing register bits and registers into mxs-spi.h .
These will be used by the SPI driver.

Based on previous attempt by:
Fabio Estevam fabio.este...@freescale.com

Signed-off-by: Fabio Estevam fabio.este...@freescale.com
Signed-off-by: Marek Vasut ma...@denx.de
Cc: Attila Kinali att...@kinali.ch
Cc: Chris Ball c...@laptop.org
CC: Dong Aisheng b29...@freescale.com
Cc: Grant Likely grant.lik...@secretlab.ca
Cc: Linux ARM kernel linux-arm-ker...@lists.infradead.org
Cc: Mark Brown broo...@opensource.wolfsonmicro.com
CC: Shawn Guo shawn@linaro.org
---
 include/linux/spi/mxs-spi.h |   22 ++
 1 file changed, 22 insertions(+)

diff --git a/include/linux/spi/mxs-spi.h b/include/linux/spi/mxs-spi.h
index c08aef5..7dfa1d7 100644
--- a/include/linux/spi/mxs-spi.h
+++ b/include/linux/spi/mxs-spi.h
@@ -30,12 +30,14 @@
 #define HW_SSP_CTRL0   0x000
 #define  BM_SSP_CTRL0_RUN  (1  29)
 #define  BM_SSP_CTRL0_SDIO_IRQ_CHECK   (1  28)
+#define  BM_SSP_CTRL0_LOCK_CS  (1  27)
 #define  BM_SSP_CTRL0_IGNORE_CRC   (1  26)
 #define  BM_SSP_CTRL0_READ (1  25)
 #define  BM_SSP_CTRL0_DATA_XFER(1  24)
 #define  BP_SSP_CTRL0_BUS_WIDTH22
 #define  BM_SSP_CTRL0_BUS_WIDTH(0x3  22)
 #define  BM_SSP_CTRL0_WAIT_FOR_IRQ (1  21)
+#define  BM_SSP_CTRL0_WAIT_FOR_CMD (1  20)
 #define  BM_SSP_CTRL0_LONG_RESP(1  19)
 #define  BM_SSP_CTRL0_GET_RESP (1  17)
 #define  BM_SSP_CTRL0_ENABLE   (1  16)
@@ -64,8 +66,12 @@
 #define  BM_SSP_TIMING_TIMEOUT (0x  16)
 #define  BP_SSP_TIMING_CLOCK_DIVIDE8
 #define  BM_SSP_TIMING_CLOCK_DIVIDE(0xff  8)
+#define  BF_SSP_TIMING_CLOCK_DIVIDE(v) \
+   (((v)  8)  BM_SSP_TIMING_CLOCK_DIVIDE)
 #define  BP_SSP_TIMING_CLOCK_RATE  0
 #define  BM_SSP_TIMING_CLOCK_RATE  0xff
+#define BF_SSP_TIMING_CLOCK_RATE(v)\
+   (((v)  0)  BM_SSP_TIMING_CLOCK_RATE)
 #define HW_SSP_CTRL1(h)(ssp_is_old(h) ? 0x060 
: 0x080)
 #define  BM_SSP_CTRL1_SDIO_IRQ (1  31)
 #define  BM_SSP_CTRL1_SDIO_IRQ_EN  (1  30)
@@ -84,11 +90,26 @@
 #define  BM_SSP_CTRL1_FIFO_OVERRUN_IRQ (1  15)
 #define  BM_SSP_CTRL1_FIFO_OVERRUN_IRQ_EN  (1  14)
 #define  BM_SSP_CTRL1_DMA_ENABLE   (1  13)
+#define  BM_SSP_CTRL1_PHASE(1  10)
 #define  BM_SSP_CTRL1_POLARITY (1  9)
 #define  BP_SSP_CTRL1_WORD_LENGTH  4
 #define  BM_SSP_CTRL1_WORD_LENGTH  (0xf  4)
+#define  BF_SSP_CTRL1_WORD_LENGTH(v)   \
+   (((v)  4)  BM_SSP_CTRL1_WORD_LENGTH)
+#define  BV_SSP_CTRL1_WORD_LENGTH__FOUR_BITS   0x3
+#define  BV_SSP_CTRL1_WORD_LENGTH__EIGHT_BITS  0x7
+#define  BV_SSP_CTRL1_WORD_LENGTH__SIXTEEN_BITS0xF
 #define  BP_SSP_CTRL1_SSP_MODE 0
 #define  BM_SSP_CTRL1_SSP_MODE 0xf
+#define  BF_SSP_CTRL1_SSP_MODE(v)  \
+   (((v)  0)  BM_SSP_CTRL1_SSP_MODE)
+#define  BV_SSP_CTRL1_SSP_MODE__SPI0x0
+#define  BV_SSP_CTRL1_SSP_MODE__SSI0x1
+#define  BV_SSP_CTRL1_SSP_MODE__SD_MMC 0x3
+#define  BV_SSP_CTRL1_SSP_MODE__MS 0x4
+
+#define HW_SSP_DATA(h) (ssp_is_old(h) ? 0x070 : 0x090)
+
 #define HW_SSP_SDRESP0(h)  (ssp_is_old(h) ? 0x080 : 0x0a0)
 #define HW_SSP_SDRESP1(h)  (ssp_is_old(h) ? 0x090 : 0x0b0)
 #define HW_SSP_SDRESP2(h)  (ssp_is_old(h) ? 0x0a0 : 0x0c0)
@@ -96,6 +117,7 @@
 #define HW_SSP_STATUS(h)   (ssp_is_old(h) ? 0x0c0 : 0x100)
 #define  BM_SSP_STATUS_CARD_DETECT (1  28)
 #define  BM_SSP_STATUS_SDIO_IRQ(1  17)
+#define  BM_SSP_STATUS_FIFO_EMPTY  (1  5)
 
 #define BF_SSP(value, field)   (((value)  BP_SSP_##field)  BM_SSP_##field)
 
-- 
1.7.10.4


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


[PATCH 03/10] mmc: spi: Add necessary bits into mxs-spi.h

2012-07-16 Thread Marek Vasut
Add missing register bits and registers into mxs-spi.h .
These will be used by the SPI driver.

Based on previous attempt by:
Fabio Estevam fabio.este...@freescale.com

Signed-off-by: Fabio Estevam fabio.este...@freescale.com
Signed-off-by: Marek Vasut ma...@denx.de
Cc: Chris Ball c...@laptop.org
Cc: Detlev Zundel d...@denx.de
CC: Dong Aisheng b29...@freescale.com
Cc: Grant Likely grant.lik...@secretlab.ca
Cc: Linux ARM kernel linux-arm-ker...@lists.infradead.org
Cc: Rob Herring rob.herr...@calxeda.com
CC: Shawn Guo shawn@linaro.org
Cc: Stefano Babic sba...@denx.de
Cc: Wolfgang Denk w...@denx.de
---
 include/linux/spi/mxs-spi.h |   22 ++
 1 file changed, 22 insertions(+)

diff --git a/include/linux/spi/mxs-spi.h b/include/linux/spi/mxs-spi.h
index c08aef5..b0a0335 100644
--- a/include/linux/spi/mxs-spi.h
+++ b/include/linux/spi/mxs-spi.h
@@ -30,12 +30,14 @@
 #define HW_SSP_CTRL0   0x000
 #define  BM_SSP_CTRL0_RUN  (1  29)
 #define  BM_SSP_CTRL0_SDIO_IRQ_CHECK   (1  28)
+#define  BM_SSP_CTRL0_LOCK_CS  (1  27)
 #define  BM_SSP_CTRL0_IGNORE_CRC   (1  26)
 #define  BM_SSP_CTRL0_READ (1  25)
 #define  BM_SSP_CTRL0_DATA_XFER(1  24)
 #define  BP_SSP_CTRL0_BUS_WIDTH22
 #define  BM_SSP_CTRL0_BUS_WIDTH(0x3  22)
 #define  BM_SSP_CTRL0_WAIT_FOR_IRQ (1  21)
+#define  BM_SSP_CTRL0_WAIT_FOR_CMD (1  20)
 #define  BM_SSP_CTRL0_LONG_RESP(1  19)
 #define  BM_SSP_CTRL0_GET_RESP (1  17)
 #define  BM_SSP_CTRL0_ENABLE   (1  16)
@@ -64,8 +66,12 @@
 #define  BM_SSP_TIMING_TIMEOUT (0x  16)
 #define  BP_SSP_TIMING_CLOCK_DIVIDE8
 #define  BM_SSP_TIMING_CLOCK_DIVIDE(0xff  8)
+#define  BF_SSP_TIMING_CLOCK_DIVIDE(v) \
+   (((v)  8)  BM_SSP_TIMING_CLOCK_DIVIDE)
 #define  BP_SSP_TIMING_CLOCK_RATE  0
 #define  BM_SSP_TIMING_CLOCK_RATE  0xff
+#define BF_SSP_TIMING_CLOCK_RATE(v)\
+   (((v)  0)  BM_SSP_TIMING_CLOCK_RATE)
 #define HW_SSP_CTRL1(h)(ssp_is_old(h) ? 0x060 
: 0x080)
 #define  BM_SSP_CTRL1_SDIO_IRQ (1  31)
 #define  BM_SSP_CTRL1_SDIO_IRQ_EN  (1  30)
@@ -84,11 +90,26 @@
 #define  BM_SSP_CTRL1_FIFO_OVERRUN_IRQ (1  15)
 #define  BM_SSP_CTRL1_FIFO_OVERRUN_IRQ_EN  (1  14)
 #define  BM_SSP_CTRL1_DMA_ENABLE   (1  13)
+#define  BM_SSP_CTRL1_PHASE(1  10)
 #define  BM_SSP_CTRL1_POLARITY (1  9)
 #define  BP_SSP_CTRL1_WORD_LENGTH  4
 #define  BM_SSP_CTRL1_WORD_LENGTH  (0xf  4)
+#define  BF_SSP_CTRL1_WORD_LENGTH(v)   \
+   (((v)  4)  BM_SSP_CTRL1_WORD_LENGTH)
+#define  BV_SSP_CTRL1_WORD_LENGTH__FOUR_BITS   0x3
+#define  BV_SSP_CTRL1_WORD_LENGTH__EIGHT_BITS  0x7
+#define  BV_SSP_CTRL1_WORD_LENGTH__SIXTEEN_BITS0xF
 #define  BP_SSP_CTRL1_SSP_MODE 0
 #define  BM_SSP_CTRL1_SSP_MODE 0xf
+#define  BF_SSP_CTRL1_SSP_MODE(v)  \
+   (((v)  0)  BM_SSP_CTRL1_SSP_MODE)
+#define  BV_SSP_CTRL1_SSP_MODE__SPI0x0
+#define  BV_SSP_CTRL1_SSP_MODE__SSI0x1
+#define  BV_SSP_CTRL1_SSP_MODE__SD_MMC 0x3
+#define  BV_SSP_CTRL1_SSP_MODE__MS 0x4
+
+#define HW_SSP_DATA0x090
+
 #define HW_SSP_SDRESP0(h)  (ssp_is_old(h) ? 0x080 : 0x0a0)
 #define HW_SSP_SDRESP1(h)  (ssp_is_old(h) ? 0x090 : 0x0b0)
 #define HW_SSP_SDRESP2(h)  (ssp_is_old(h) ? 0x0a0 : 0x0c0)
@@ -96,6 +117,7 @@
 #define HW_SSP_STATUS(h)   (ssp_is_old(h) ? 0x0c0 : 0x100)
 #define  BM_SSP_STATUS_CARD_DETECT (1  28)
 #define  BM_SSP_STATUS_SDIO_IRQ(1  17)
+#define  BM_SSP_STATUS_FIFO_EMPTY  (1  5)
 
 #define BF_SSP(value, field)   (((value)  BP_SSP_##field)  BM_SSP_##field)
 
-- 
1.7.10.4


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general