Subversion Repositories NaviCtrl

Rev

Rev 196 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
196 killagreg 1
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
1 ingob 2
* File Name          : 91x_ssp.h
3
* Author             : MCD Application Team
196 killagreg 4
* Version            : V2.1
5
* Date               : 12/22/2008
1 ingob 6
* Description        : This file contains all the functions prototypes for the
196 killagreg 7
*                      SSP firmware library.
1 ingob 8
********************************************************************************
9
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
10
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
11
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
12
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
13
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
14
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
15
*******************************************************************************/
16
 
17
/* Define to prevent recursive inclusion -------------------------------------*/
18
#ifndef __91x_SSP_H
19
#define __91x_SSP_H
20
 
21
/* Includes ------------------------------------------------------------------*/
22
#include "91x_map.h"
23
 
24
/* Exported types ------------------------------------------------------------*/
25
/* SSP Init structure definition */
26
typedef struct
27
{
28
  u16 SSP_FrameFormat ;
29
  u16 SSP_Mode ;       
30
  u16 SSP_CPOL ;
31
  u16 SSP_CPHA ;
32
  u16 SSP_DataSize ;
33
  u16 SSP_SlaveOutput ;
34
  u8 SSP_ClockRate ;
35
  u8 SSP_ClockPrescaler ;
36
}SSP_InitTypeDef;
37
 
38
/* Exported constants --------------------------------------------------------*/
39
/* SSP Frame Format Select */
40
#define SSP_FrameFormat_TI         0x0010
41
#define SSP_FrameFormat_Motorola   0xFFCF
42
#define SSP_FrameFormat_Microwire  0x0020
43
 
44
/* SSP Master/Slave Select */
45
#define SSP_Mode_Master   0xFFFB
46
#define SSP_Mode_Slave    0x0004
47
 
48
/* SSP Clock Polarity */
49
#define SSP_CPOL_Low    0xFFBF
50
#define SSP_CPOL_High   0x0040
51
 
52
/* SSP Clock Phase */
53
#define SSP_CPHA_1Edge   0xFF7F
54
#define SSP_CPHA_2Edge   0x0080
55
 
56
/* SSP Data Size */
57
#define SSP_DataSize_16b   0x000F
58
#define SSP_DataSize_15b   0x000E
59
#define SSP_DataSize_14b   0x000D
60
#define SSP_DataSize_13b   0x000C
61
#define SSP_DataSize_12b   0x000B
62
#define SSP_DataSize_11b   0x000A
63
#define SSP_DataSize_10b   0x0009
64
#define SSP_DataSize_9b    0x0008
65
#define SSP_DataSize_8b    0x0007
66
#define SSP_DataSize_7b    0x0006
67
#define SSP_DataSize_6b    0x0005
68
#define SSP_DataSize_5b    0x0004
69
#define SSP_DataSize_4b    0x0003
70
 
71
/* SSP Slave output config */
72
#define SSP_SlaveOutput_Enable   0xFFF7
73
#define SSP_SlaveOutput_Disable  0x0008
74
 
75
/* SSP Interrupts */
76
#define SSP_IT_TxFifo       0x0008
77
#define SSP_IT_RxFifo       0x0004
78
#define SSP_IT_RxTimeOut    0x0002
79
#define SSP_IT_RxOverrun    0x0001
80
 
81
/* SSP Flags */
82
#define SSP_FLAG_Busy            0x0024
83
#define SSP_FLAG_RxFifoFull      0x0023
84
#define SSP_FLAG_RxFifoNotEmpty  0x0022
85
#define SSP_FLAG_TxFifoNotFull   0x0021
86
#define SSP_FLAG_TxFifoEmpty     0x0020
87
#define SSP_FLAG_TxFifo          0x0043
88
#define SSP_FLAG_RxFifo          0x0042
89
#define SSP_FLAG_RxTimeOut       0x0041
90
#define SSP_FLAG_RxOverrun       0x0040
91
 
92
/* SSP DMA Requests */
93
#define SSP_DMA_Transmit  0x0002
94
#define SSP_DMA_Receive   0x0001
95
 
96
/* Exported macro ------------------------------------------------------------*/
97
/* Exported functions ------------------------------------------------------- */
98
 
99
void SSP_DeInit(SSP_TypeDef* SSPx);
100
void SSP_Init(SSP_TypeDef* SSPx, SSP_InitTypeDef* SSP_InitStruct);
101
void SSP_StructInit(SSP_InitTypeDef* SSP_InitStruct);
102
void SSP_Cmd(SSP_TypeDef* SSPx, FunctionalState NewState);
103
void SSP_ITConfig(SSP_TypeDef* SSPx, u16 SSP_IT, FunctionalState NewState);
104
void SSP_DMACmd(SSP_TypeDef* SSPx, u16 SSP_DMATransfert, FunctionalState NewState);
105
void SSP_SendData(SSP_TypeDef* SSPx, u16 Data);
106
u16 SSP_ReceiveData(SSP_TypeDef* SSPx);
107
void SSP_LoopBackConfig(SSP_TypeDef* SSPx, FunctionalState NewState);
108
FlagStatus SSP_GetFlagStatus(SSP_TypeDef* SSPx, u16 SSP_FLAG);
109
void SSP_ClearFlag(SSP_TypeDef* SSPx, u16 SSP_FLAG);
110
ITStatus SSP_GetITStatus(SSP_TypeDef* SSPx, u16 SSP_IT);
111
void SSP_ClearITPendingBit(SSP_TypeDef* SSPx, u16 SSP_IT);
112
 
113
#endif /* __91x_SSP_H */
114
 
196 killagreg 115
/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
1 ingob 116