Initialization of SCI Interface.
24 static int SCI_A_in_use=0;
25 static int SCI_B_in_use=0;
26 static int SCI_C_in_use=0;
28 switch(SCI_Int.
scirx){
29 case 11:
if(!SCI_B_in_use){
30 TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<11);
31 TMC_BASE_PIO->CTL[0].QSEL1 |= ((
Uint32)0x3<<22);
32 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x2<<22);
33 switch(SCI_Int.
scitx){
34 case 9: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<9);
35 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x2<<18);
37 case 14: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<14);
38 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x2<<28);
40 case 18: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<18);
41 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x2<<4);
43 case 22: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<22);
44 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x3<<12);
56 case 15:
if(!SCI_B_in_use){
57 TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<15);
58 TMC_BASE_PIO->CTL[0].QSEL1 |= ((
Uint32)0x3<<30);
59 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x2<<30);
60 switch(SCI_Int.
scitx){
61 case 9: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<9);
62 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x2<<18);
64 case 14: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<14);
65 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x2<<28);
67 case 18: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<18);
68 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x2<<4);
70 case 22: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<22);
71 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x3<<12);
83 case 19:
if(!SCI_B_in_use){
84 TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<19);
85 TMC_BASE_PIO->CTL[0].QSEL2 |= ((
Uint32)0x3<<6);
86 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x2<<6);
87 switch(SCI_Int.
scitx){
88 case 9: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<9);
89 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x2<<18);
91 case 14: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<14);
92 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x2<<28);
94 case 18: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<18);
95 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x2<<4);
97 case 22: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<22);
98 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x3<<12);
110 case 23:
if(!SCI_B_in_use){
111 TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<23);
112 TMC_BASE_PIO->CTL[0].QSEL2 |= ((
Uint32)0x3<<14);
113 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x3<<14);
114 switch(SCI_Int.
scitx){
115 case 9: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<9);
116 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x2<<18);
118 case 14: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<14);
119 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x2<<28);
121 case 18: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<18);
122 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x2<<4);
124 case 22: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<22);
125 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x3<<12);
137 case 28:
if(!SCI_A_in_use){
138 TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<28);
139 TMC_BASE_PIO->CTL[0].QSEL2 |= ((
Uint32)0x3<<24);
140 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x1<<24);
141 switch(SCI_Int.
scitx){
142 case 29: TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1<<29);
143 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x1<<26);
155 case 62:
if(!SCI_C_in_use){
156 TMC_BASE_PIO->CTL[1].PUD &= ~((
Uint32)0x1<<30);
157 TMC_BASE_PIO->CTL[1].QSEL2 |= ((
Uint32)0x3<<28);
158 TMC_BASE_PIO->CTL[1].MUX2 |= ((
Uint32)0x1<<28);
159 switch(SCI_Int.
scitx){
160 case 63: TMC_BASE_PIO->CTL[1].PUD &= ~((
Uint32)0x1<<31);
161 TMC_BASE_PIO->CTL[1].MUX2 |= ((
Uint32)0x1<<30);
180 SCI->
CTL1 |= (0x1 << 1);
181 SCI->
PRI |= (0x1 << 3);
182 BRR = (0x23BE000/((long)SCI_Int.
baudrate*8))-1;
184 SCI->
HBAUD = BRR >> 8;
185 SCI->
LBAUD = BRR&0xFF;
189 SCI->
FFTX |= (0x1 << 5);
190 SCI->
FFTX |= (0x1 << 6);
191 SCI->
FFTX &= ~(0x1F);
193 SCI->
FFRX |= (0x1 << 14);
194 SCI->
FFRX |= (0x1 << 13);
195 SCI->
FFRX |= (0x1 << 5);
196 SCI->
FFRX &= ~(0x1F);
198 SCI->
FFRX |= (0x1 << 6);
200 SCI->
CTL1 |= (0x1<<5);