diff options
author | Geert Uytterhoeven <geert+renesas@linux-m68k.org> | 2014-01-12 05:27:38 -0500 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-01-13 07:10:01 -0500 |
commit | fbe5072bbeac5362edc8c49435b76e6df75a9d95 (patch) | |
tree | 23deadb58e97ab820553012855554515571adf8a | |
parent | 6ab4865b7e34e707857107ca76c0b98d87a992dd (diff) |
spi: rspi: Add more QSPI register documentation
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r-- | drivers/spi/spi-rspi.c | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c index 1f69343689f9..4a2c7592b5eb 100644 --- a/drivers/spi/spi-rspi.c +++ b/drivers/spi/spi-rspi.c | |||
@@ -62,12 +62,12 @@ | |||
62 | #define RSPI_SPBFDR 0x22 /* Buffer Data Count Setting Register */ | 62 | #define RSPI_SPBFDR 0x22 /* Buffer Data Count Setting Register */ |
63 | 63 | ||
64 | /*qspi only */ | 64 | /*qspi only */ |
65 | #define QSPI_SPBFCR 0x18 | 65 | #define QSPI_SPBFCR 0x18 /* Buffer Control Register */ |
66 | #define QSPI_SPBDCR 0x1a | 66 | #define QSPI_SPBDCR 0x1a /* Buffer Data Count Register */ |
67 | #define QSPI_SPBMUL0 0x1c | 67 | #define QSPI_SPBMUL0 0x1c /* Transfer Data Length Multiplier Setting Register 0 */ |
68 | #define QSPI_SPBMUL1 0x20 | 68 | #define QSPI_SPBMUL1 0x20 /* Transfer Data Length Multiplier Setting Register 1 */ |
69 | #define QSPI_SPBMUL2 0x24 | 69 | #define QSPI_SPBMUL2 0x24 /* Transfer Data Length Multiplier Setting Register 2 */ |
70 | #define QSPI_SPBMUL3 0x28 | 70 | #define QSPI_SPBMUL3 0x28 /* Transfer Data Length Multiplier Setting Register 3 */ |
71 | 71 | ||
72 | /* SPCR - Control Register */ | 72 | /* SPCR - Control Register */ |
73 | #define SPCR_SPRIE 0x80 /* Receive Interrupt Enable */ | 73 | #define SPCR_SPRIE 0x80 /* Receive Interrupt Enable */ |
@@ -79,6 +79,9 @@ | |||
79 | /* RSPI on SH only */ | 79 | /* RSPI on SH only */ |
80 | #define SPCR_TXMD 0x02 /* TX Only Mode (vs. Full Duplex) */ | 80 | #define SPCR_TXMD 0x02 /* TX Only Mode (vs. Full Duplex) */ |
81 | #define SPCR_SPMS 0x01 /* 3-wire Mode (vs. 4-wire) */ | 81 | #define SPCR_SPMS 0x01 /* 3-wire Mode (vs. 4-wire) */ |
82 | /* QSPI on R-Car M2 only */ | ||
83 | #define SPCR_WSWAP 0x02 /* Word Swap of read-data for DMAC */ | ||
84 | #define SPCR_BSWAP 0x01 /* Byte Swap of read-data for DMAC */ | ||
82 | 85 | ||
83 | /* SSLP - Slave Select Polarity Register */ | 86 | /* SSLP - Slave Select Polarity Register */ |
84 | #define SSLP_SSL1P 0x02 /* SSL1 Signal Polarity Setting */ | 87 | #define SSLP_SSL1P 0x02 /* SSL1 Signal Polarity Setting */ |
@@ -91,6 +94,9 @@ | |||
91 | #define SPPCR_SPLP2 0x02 /* Loopback Mode 2 (non-inverting) */ | 94 | #define SPPCR_SPLP2 0x02 /* Loopback Mode 2 (non-inverting) */ |
92 | #define SPPCR_SPLP 0x01 /* Loopback Mode (inverting) */ | 95 | #define SPPCR_SPLP 0x01 /* Loopback Mode (inverting) */ |
93 | 96 | ||
97 | #define SPPCR_IO3FV 0x04 /* Single-/Dual-SPI Mode IO3 Output Fixed Value */ | ||
98 | #define SPPCR_IO2FV 0x04 /* Single-/Dual-SPI Mode IO2 Output Fixed Value */ | ||
99 | |||
94 | /* SPSR - Status Register */ | 100 | /* SPSR - Status Register */ |
95 | #define SPSR_SPRF 0x80 /* Receive Buffer Full Flag */ | 101 | #define SPSR_SPRF 0x80 /* Receive Buffer Full Flag */ |
96 | #define SPSR_TEND 0x40 /* Transmit End */ | 102 | #define SPSR_TEND 0x40 /* Transmit End */ |
@@ -151,6 +157,13 @@ | |||
151 | #define SPCMD_SPB_24BIT 0x0100 | 157 | #define SPCMD_SPB_24BIT 0x0100 |
152 | #define SPCMD_SPB_32BIT 0x0200 | 158 | #define SPCMD_SPB_32BIT 0x0200 |
153 | #define SPCMD_SSLKP 0x0080 /* SSL Signal Level Keeping */ | 159 | #define SPCMD_SSLKP 0x0080 /* SSL Signal Level Keeping */ |
160 | #define SPCMD_SPIMOD_MASK 0x0060 /* SPI Operating Mode (QSPI only) */ | ||
161 | #define SPCMD_SPIMOD1 0x0040 | ||
162 | #define SPCMD_SPIMOD0 0x0020 | ||
163 | #define SPCMD_SPIMOD_SINGLE 0 | ||
164 | #define SPCMD_SPIMOD_DUAL SPCMD_SPIMOD0 | ||
165 | #define SPCMD_SPIMOD_QUAD SPCMD_SPIMOD1 | ||
166 | #define SPCMD_SPRW 0x0010 /* SPI Read/Write Access (Dual/Quad) */ | ||
154 | #define SPCMD_SSLA_MASK 0x0030 /* SSL Assert Signal Setting (RSPI) */ | 167 | #define SPCMD_SSLA_MASK 0x0030 /* SSL Assert Signal Setting (RSPI) */ |
155 | #define SPCMD_BRDV_MASK 0x000c /* Bit Rate Division Setting */ | 168 | #define SPCMD_BRDV_MASK 0x000c /* Bit Rate Division Setting */ |
156 | #define SPCMD_CPOL 0x0002 /* Clock Polarity Setting */ | 169 | #define SPCMD_CPOL 0x0002 /* Clock Polarity Setting */ |