BOOTLOADER
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
spi0.h
Go to the documentation of this file.
1 #ifndef SPI0_H
2 #define SPI0_H
3 
4 #define SPI0_POLLING_MODE 0x00000000
5 #define SPI0_INTRQ_MODE 0x00000020
6 #define SPI0_DMA_MODE 0x00000040
7 #define SPI0_SCK_ENABLE 0x00000010
8 #define SPI0_SCK_DISABLE 0x00000000
9 #define SPI0_MASTER 0x00000008
10 #define SPI0_SLAVE 0x00000000
11 #define SPI0_CLK_ACTIVE_H 0x00000004
12 #define SPI0_CLK_ACTIVE_L 0x00000000
13 #define SPI0_CLK_FMT_B 0x00000002
14 #define SPI0_CLK_FMT_A 0x00000000
15 #define SPI0_TX_AUTO 0x00000001
16 #define SPI0_TX_NORMAL 0x00000000
17 
18 #define SPI0_DCOL_DETECT 0x00000004
19 #define SPI0_DCOL_NOT 0x00000000
20 #define SPI0_MULF_DETECT 0x00000002
21 #define SPI0_MULF_NOT 0x00000000
22 #define SPI0_READY_DETECT 0x00000001
23 #define SPI0_READY_NOT 0x00000000
24 
25 #define SPI0_ENMUL_ENABLE 0x00000004
26 #define SPI0_ENMUL_DISABLE 0x00000000
27 #define SPI0_RESERVE_SET 0x00000002
28 #define SPI0_RESERVE_CLR 0x00000000
29 #define SPI0_KEEP_ENABLE 0x00000001
30 #define SPI0_KEEP_DISABLE 0x00000000
31 
32 typedef struct{ //can't use __packed???
33  volatile U32 SPCON; //0x0 spi0 control register
34  volatile U32 SPSTA; //0x4 spi0 status register
35  volatile U32 SPPIN; //0x8 spi0 pin control register
36  volatile U32 SPPRE; //0xc spi0 prescaler
37  volatile U32 SPTDAT; //0x10 spi0 tx data
38  volatile U32 SPRDAT; //0x14 spi0 rx data
40 
41 typedef struct{
49 
50 extern SPI0_CONTROL Spi0Ctrl;
51 
52 extern void F_Spi0Init(void);
53 extern void F_Spi0Svc(void);
54 extern INT8U F_Spi0InUseCheck(void);
56 extern INT8U F_Spi0Release(INT16U);
57 extern INT8U F_Spi0SpconSet(INT16U UserId,INT8U SpconValue);
58 extern INT8U F_Spi0SpstaGet(INT16U UserId,INT8U *pSpstaValue);
59 extern INT8U F_Spi0SppinSet(INT16U UserId,INT8U SppinValue);
60 extern INT8U F_Spi0SppreSet(INT16U UserId,INT8U SppreValue);
61 extern INT8U F_Spi0SptdatSet(INT16U UserId,INT8U SptdatValue);
62 extern INT8U F_Spi0SprdatGet(INT16U UserId,INT8U *pSprdatValue);
63 extern INT8U F_Spi0IsrHookFunctionSet(INT16U UserId,INT32U Function);
64 
65 #endif