122 typedef struct NSS_SSP_S {
135 typedef enum SSP_INT_STATUS {
146 #define SSP_CR0_DSS(n) ((uint32_t) ((n) & 0xF)) 147 #define SSP_CR0_FRF_SPI ((uint32_t) (0 << 4)) 148 #define SSP_CR0_FRF_TI ((uint32_t) (1 << 4)) 149 #define SSP_CR0_FRF_MICROWIRE ((uint32_t) (2 << 4)) 150 #define SSP_CR0_CPOL_LO ((uint32_t) (0)) 151 #define SSP_CR0_CPOL_HI ((uint32_t) (1 << 6)) 152 #define SSP_CR0_CPHA_FIRST ((uint32_t) (0)) 153 #define SSP_CR0_CPHA_SECOND ((uint32_t) (1 << 7)) 154 #define SSP_CR0_SCR(n) ((uint32_t) ((n & 0xFF) << 8)) 155 #define SSP_CR0_BITMASK ((uint32_t) (0xFFFF)) 157 #define SSP_CR1_LBM_EN ((uint32_t) (1 << 0)) 158 #define SSP_CR1_SSP_EN ((uint32_t) (1 << 1)) 159 #define SSP_CR1_SLAVE_EN ((uint32_t) (1 << 2)) 160 #define SSP_CR1_MASTER_EN ((uint32_t) (0)) 161 #define SSP_CR1_SO_DISABLE ((uint32_t) (1 << 3)) 162 #define SSP_CR1_BITMASK ((uint32_t) (0x0F)) 164 #define SSP_CPSR_BITMASK ((uint32_t) (0xFF)) 166 #define SSP_DR_BITMASK(n) ((n) & 0xFFFF) 168 #define SSP_SR_BITMASK ((uint32_t) (0x1F)) 170 #define SSP_ICR_BITMASK ((uint32_t) (0x03)) 173 typedef enum SSP_STATUS { 182 typedef enum SSP_INTMASK {
191 typedef enum SSP_MASKINTSTATUS {
200 typedef enum SSP_RAWINTSTATUS {
209 typedef enum SSP_INTCLEAR {
216 typedef enum CHIP_SSP_CLOCK_FORMAT {
228 typedef enum CHIP_SSP_FRAME_FORMAT {
235 typedef enum CHIP_SSP_BITS {
252 typedef enum CHIP_SSP_MODE {
364 pSSP->
ICR = IntClear;
435 pSSP->
CR0 = (pSSP->
CR0 & ~0xFFu) | bits | frameFormat | clockMode;
448 pSSP->
CR1 = (pSSP->
CR1 & ~(1u << 2)) | mode;
static void Chip_SSP_ClearIntPending(NSS_SSP_T *pSSP, SSP_INTCLEAR_T IntClear)
Definition: ssp_nss.h:362
Definition: ssp_nss.h:192
Definition: ssp_nss.h:240
Definition: ssp_nss.h:201
Status
Definition: ssp_nss.h:141
uint32_t Chip_SSP_RWFrames_Blocking(NSS_SSP_T *pSSP, Chip_SSP_DATA_SETUP_T *xf_setup)
Definition: ssp_nss.h:246
uint32_t Chip_SSP_WriteFrames_Blocking(NSS_SSP_T *pSSP, uint8_t *buffer, uint32_t buffer_len)
Definition: ssp_nss.h:143
SSP_RAWINTSTATUS_T
Definition: ssp_nss.h:200
Definition: ssp_nss.h:184
Definition: ssp_nss.h:194
Definition: ssp_nss.h:185
__IO uint32_t CR0
Definition: ssp_nss.h:123
SSP_STATUS_T
Definition: ssp_nss.h:173
Status Chip_SSP_Int_RWFrames16Bits(NSS_SSP_T *pSSP, Chip_SSP_DATA_SETUP_T *xf_setup)
Definition: ssp_nss.h:242
__IO uint32_t DR
Definition: ssp_nss.h:125
Definition: ssp_nss.h:174
Definition: ssp_nss.h:187
static uint8_t Chip_SSP_GetDataSize(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:348
CHIP_SSP_BITS_T
Definition: ssp_nss.h:235
__I uint32_t SR
Definition: ssp_nss.h:126
Definition: ssp_nss.h:211
Definition: ssp_nss.h:254
Definition: ssp_nss.h:218
Definition: ssp_nss.h:196
Definition: ssp_nss.h:183
static void Chip_SSP_Int_Disable(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:382
static void Chip_SSP_SendFrame(NSS_SSP_T *pSSP, uint16_t tx_data)
Definition: ssp_nss.h:402
Definition: ssp_nss.h:203
uint32_t Chip_SSP_GetBitRate(NSS_SSP_T *pSSP)
#define __IO
Definition: core_cm0plus.h:167
Definition: ssp_nss.h:237
__IO uint32_t CR1
Definition: ssp_nss.h:124
SSP_INTMASK_T
Definition: ssp_nss.h:182
#define __I
Definition: core_cm0plus.h:164
void * rx_data
Definition: ssp_nss.h:457
#define SSP_CR1_SSP_EN
Definition: ssp_nss.h:158
Definition: ssp_nss.h:231
Definition: ssp_nss.h:205
SSP_INT_STATUS_T
Definition: ssp_nss.h:135
Definition: ssp_nss.h:137
Definition: ssp_nss.h:178
__I uint32_t RIS
Definition: ssp_nss.h:129
Definition: ssp_nss.h:222
__IO uint32_t IMSC
Definition: ssp_nss.h:128
Definition: ssp_nss.h:202
CHIP_SSP_MODE_T
Definition: ssp_nss.h:252
Definition: ssp_nss.h:142
Definition: ssp_nss.h:224
#define SSP_CR1_BITMASK
Definition: ssp_nss.h:162
Definition: ssp_nss.h:217
Definition: ssp_nss.h:238
Definition: ssp_nss.h:247
Definition: ssp_nss.h:253
__I uint32_t MIS
Definition: ssp_nss.h:130
#define SSP_DR_BITMASK(n)
Definition: ssp_nss.h:166
Status Chip_SSP_Int_RWFrames8Bits(NSS_SSP_T *pSSP, Chip_SSP_DATA_SETUP_T *xf_setup)
void Chip_SSP_SetClockRate(NSS_SSP_T *pSSP, uint32_t clk_rate, uint32_t prescale)
Definition: ssp_nss.h:177
Definition: ssp_nss.h:195
uint32_t Chip_SSP_ReadFrames_Blocking(NSS_SSP_T *pSSP, uint8_t *buffer, uint32_t buffer_len)
SSP_MASKINTSTATUS_T
Definition: ssp_nss.h:191
static uint32_t Chip_SSP_GetIntStatus(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:320
Definition: ssp_nss.h:212
uint32_t rx_cnt
Definition: ssp_nss.h:458
void Chip_SSP_SetBitRate(NSS_SSP_T *pSSP, uint32_t bitRate)
static void Chip_SSP_Enable(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:263
Definition: ssp_nss.h:229
Definition: ssp_nss.h:244
Definition: ssp_nss.h:241
Definition: ssp_nss.h:136
uint32_t length
Definition: ssp_nss.h:459
Definition: ssp_nss.h:220
static SSP_INT_STATUS_T Chip_SSP_GetStatus(NSS_SSP_T *pSSP, SSP_STATUS_T Stat)
Definition: ssp_nss.h:309
Definition: ssp_nss.h:230
Definition: ssp_nss.h:186
void Chip_SSP_SetMaster(NSS_SSP_T *pSSP, bool master)
#define __O
Definition: core_cm0plus.h:166
Definition: ssp_nss.h:219
Definition: ssp_nss.h:248
static void Chip_SSP_SetFormat(NSS_SSP_T *pSSP, uint32_t bits, uint32_t frameFormat, uint32_t clockMode)
Definition: ssp_nss.h:433
Definition: ssp_nss.h:236
void Chip_SSP_Int_FlushData(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:193
static void Chip_SSP_Set_Mode(NSS_SSP_T *pSSP, uint32_t mode)
Definition: ssp_nss.h:446
void Chip_SSP_Init(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:210
Definition: ssp_nss.h:176
Definition: ssp_nss.h:454
Definition: ssp_nss.h:122
static uint16_t Chip_SSP_ReceiveFrame(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:392
void Chip_SSP_DeInit(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:245
SSP_INTCLEAR_T
Definition: ssp_nss.h:209
Definition: ssp_nss.h:243
CHIP_SSP_CLOCK_MODE_T
Definition: ssp_nss.h:216
static void Chip_SSP_Int_Enable(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:372
Definition: ssp_nss.h:204
Definition: ssp_nss.h:221
uint32_t tx_cnt
Definition: ssp_nss.h:456
Definition: ssp_nss.h:239
#define SSP_CR1_LBM_EN
Definition: ssp_nss.h:157
#define SSP_CR0_DSS(n)
Definition: ssp_nss.h:146
static SSP_INT_STATUS_T Chip_SSP_GetRawIntStatus(NSS_SSP_T *pSSP, SSP_RAWINTSTATUS_T RawInt)
Definition: ssp_nss.h:337
CHIP_SSP_FRAME_FORMAT_T
Definition: ssp_nss.h:228
static void Chip_SSP_DisableLoopBack(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:292
__O uint32_t ICR
Definition: ssp_nss.h:131
static void Chip_SSP_EnableLoopBack(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:282
static void Chip_SSP_Disable(NSS_SSP_T *pSSP)
Definition: ssp_nss.h:272
__IO uint32_t CPSR
Definition: ssp_nss.h:127
Definition: ssp_nss.h:223
Definition: ssp_nss.h:175
void * tx_data
Definition: ssp_nss.h:455