1 /*
2  * SPI Masks
3  */
4 
5 #ifndef __BFIN_PERIPHERAL_SPI__
6 #define __BFIN_PERIPHERAL_SPI__
7 
8 /* SPI_CTL Masks */
9 #define	TIMOD			0x0003	/* Transfer Initiate Mode */
10 #define RDBR_CORE		0x0000	/* RDBR Read Initiates, IRQ When RDBR Full */
11 #define	TDBR_CORE		0x0001	/* TDBR Write Initiates, IRQ When TDBR Empty */
12 #define RDBR_DMA		0x0002	/* DMA Read, DMA Until FIFO Empty */
13 #define TDBR_DMA		0x0003	/* DMA Write, DMA Until FIFO Full */
14 #define SZ			0x0004	/* Send Zero (When TDBR Empty, Send Zero/Last*) */
15 #define GM			0x0008	/* Get More (When RDBR Full, Overwrite/Discard*) */
16 #define PSSE			0x0010	/* Slave-Select Input Enable */
17 #define EMISO			0x0020	/* Enable MISO As Output */
18 #define SIZE			0x0100	/* Size of Words (16/8* Bits) */
19 #define LSBF			0x0200	/* LSB First */
20 #define CPHA			0x0400	/* Clock Phase */
21 #define CPOL			0x0800	/* Clock Polarity */
22 #define MSTR			0x1000	/* Master/Slave* */
23 #define WOM			0x2000	/* Write Open Drain Master */
24 #define SPE			0x4000	/* SPI Enable */
25 
26 /* SPI_FLG Masks */
27 #define FLS1			0x0002	/* Enables (=1) SPI_FLOUT1 as flag output for SPI Slave-select */
28 #define FLS2			0x0004	/* Enables (=1) SPI_FLOUT2 as flag output for SPI Slave-select */
29 #define FLS3			0x0008	/* Enables (=1) SPI_FLOUT3 as flag output for SPI Slave-select */
30 #define FLS4			0x0010	/* Enables (=1) SPI_FLOUT4 as flag output for SPI Slave-select */
31 #define FLS5			0x0020	/* Enables (=1) SPI_FLOUT5 as flag output for SPI Slave-select */
32 #define FLS6			0x0040	/* Enables (=1) SPI_FLOUT6 as flag output for SPI Slave-select */
33 #define FLS7			0x0080	/* Enables (=1) SPI_FLOUT7 as flag output for SPI Slave-select */
34 #define FLG1			0x0200	/* Activates (=0) SPI_FLOUT1 as flag output for SPI Slave-select */
35 #define FLG2			0x0400	/* Activates (=0) SPI_FLOUT2 as flag output for SPI Slave-select */
36 #define FLG3			0x0800	/* Activates (=0) SPI_FLOUT3 as flag output for SPI Slave-select */
37 #define FLG4			0x1000	/* Activates (=0) SPI_FLOUT4 as flag output for SPI Slave-select */
38 #define FLG5			0x2000	/* Activates (=0) SPI_FLOUT5 as flag output for SPI Slave-select */
39 #define FLG6			0x4000	/* Activates (=0) SPI_FLOUT6 as flag output for SPI Slave-select */
40 #define FLG7			0x8000	/* Activates (=0) SPI_FLOUT7 as flag output for SPI Slave-select */
41 
42 /* SPI_FLG Bit Positions */
43 #define FLS1_P			0x0001	/* Enables (=1) SPI_FLOUT1 as flag output for SPI Slave-select */
44 #define FLS2_P			0x0002	/* Enables (=1) SPI_FLOUT2 as flag output for SPI Slave-select */
45 #define FLS3_P			0x0003	/* Enables (=1) SPI_FLOUT3 as flag output for SPI Slave-select */
46 #define FLS4_P			0x0004	/* Enables (=1) SPI_FLOUT4 as flag output for SPI Slave-select */
47 #define FLS5_P			0x0005	/* Enables (=1) SPI_FLOUT5 as flag output for SPI Slave-select */
48 #define FLS6_P			0x0006	/* Enables (=1) SPI_FLOUT6 as flag output for SPI Slave-select */
49 #define FLS7_P			0x0007	/* Enables (=1) SPI_FLOUT7 as flag output for SPI Slave-select */
50 #define FLG1_P			0x0009	/* Activates (=0) SPI_FLOUT1 as flag output for SPI Slave-select */
51 #define FLG2_P			0x000A	/* Activates (=0) SPI_FLOUT2 as flag output for SPI Slave-select */
52 #define FLG3_P			0x000B	/* Activates (=0) SPI_FLOUT3 as flag output for SPI Slave-select */
53 #define FLG4_P			0x000C	/* Activates (=0) SPI_FLOUT4 as flag output for SPI Slave-select */
54 #define FLG5_P			0x000D	/* Activates (=0) SPI_FLOUT5 as flag output for SPI Slave-select */
55 #define FLG6_P			0x000E	/* Activates (=0) SPI_FLOUT6 as flag output for SPI Slave-select */
56 #define FLG7_P			0x000F	/* Activates (=0) SPI_FLOUT7 as flag output for SPI Slave-select */
57 
58 /* SPI_STAT Masks */
59 #define SPIF			0x0001	/* SPI Finished (Single-Word Transfer Complete) */
60 #define MODF			0x0002	/* Mode Fault Error (Another Device Tried To Become Master) */
61 #define TXE			0x0004	/* Transmission Error (Data Sent With No New Data In TDBR) */
62 #define TXS			0x0008	/* SPI_TDBR Data Buffer Status (Full/Empty*) */
63 #define RBSY			0x0010	/* Receive Error (Data Received With RDBR Full) */
64 #define RXS			0x0020	/* SPI_RDBR Data Buffer Status (Full/Empty*) */
65 #define TXCOL			0x0040	/* Transmit Collision Error (Corrupt Data May Have Been Sent) */
66 
67 #endif
68