1: int32_t AG903_SSPMgrSpiDisableTransfer(
AG903_SSPMgrHandle* handle)
2: {
3: int32_t retval =
AG903_ENONE;
4:
AG903_SSPPrmIntCtrl* ictrl;
5:
AG903_SSPPrmCtrl2* ctrl2;
6: uint8_t ch;
7:
8: retval = SSPMgr_CheckHandle(handle, &ch);
9:
if(
AG903_ENONE != retval) {
10:
return -
AG903_EINVAL;
11: }
12:
13:
if (AG903_SSP_FORMAT_SPI != SspChStat[ch].format) {
14:
return -
AG903_EPERM;
15: }
16:
17: ictrl = &SspRegStat[ch].ictrl;
18: ictrl->tfthod = 2;
19: ictrl->rfthod = 2;
20: ictrl->tfdmaen = 0;
21: ictrl->rfdmaen = 0;
22: ictrl->tfthien = 0;
23: ictrl->rfthien = 0;
24: ictrl->tfurien = 0;
25: ictrl->rforien = 0;
26:
AG903_SSPPrmSetIntControl(ch, ictrl);
27:
28: ctrl2 = &SspRegStat[ch].ctrl2;
29: ctrl2->fsos = 0;
30: ctrl2->fs = 0;
31: ctrl2->txen = 0;
32: ctrl2->rxen = 0;
33: ctrl2->ssprst = 0;
34: ctrl2->txfclr = 1;
35: ctrl2->rxfclr = 1;
36: ctrl2->txdoe = 0;
37: ctrl2->sspen = 0;
38:
AG903_SSPPrmSetControl2(ch, ctrl2);
39: ctrl2->txfclr = 0;
40: ctrl2->rxfclr = 0;
41:
42:
return retval;
43: }