summaryrefslogtreecommitdiff
path: root/firmware/drivers/serial.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/serial.c')
-rw-r--r--firmware/drivers/serial.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/firmware/drivers/serial.c b/firmware/drivers/serial.c
index a496824261..039f7913a0 100644
--- a/firmware/drivers/serial.c
+++ b/firmware/drivers/serial.c
@@ -52,11 +52,11 @@
52#define VOLUP 0xD0 52#define VOLUP 0xD0
53#define VOLDN 0xE0 53#define VOLDN 0xE0
54 54
55void serial_setup (void) 55void serial_setup (void)
56{ 56{
57 /* Set PB10 function to serial Rx */ 57 /* Set PB10 function to serial Rx */
58 PBCR1 = (PBCR1 & 0xffcf) | 0x0020; 58 PBCR1 = (PBCR1 & 0xffcf) | 0x0020;
59 59
60 SMR1 = 0x00; 60 SMR1 = 0x00;
61 SCR1 = 0; 61 SCR1 = 0;
62 BRR1 = (FREQ/(32*9600))-1; 62 BRR1 = (FREQ/(32*9600))-1;
@@ -77,7 +77,7 @@ int tx_rdy(void)
77 return 1; 77 return 1;
78} 78}
79 79
80int rx_rdy(void) 80int rx_rdy(void)
81{ 81{
82 if(SSR1 & SCI_RDRF) 82 if(SSR1 & SCI_RDRF)
83 return 1; 83 return 1;
@@ -110,7 +110,7 @@ int remote_control_rx(void)
110 static int last_was_error = false; 110 static int last_was_error = false;
111 int btn; 111 int btn;
112 int ret = BUTTON_NONE; 112 int ret = BUTTON_NONE;
113 113
114 /* Errors? Just clear'em. The receiver stops if we don't */ 114 /* Errors? Just clear'em. The receiver stops if we don't */
115 if(SSR1 & (SCI_ORER | SCI_FER | SCI_PER)) { 115 if(SSR1 & (SCI_ORER | SCI_FER | SCI_PER)) {
116 and_b(~(SCI_ORER | SCI_FER | SCI_PER), &SSR1); 116 and_b(~(SCI_ORER | SCI_FER | SCI_PER), &SSR1);
@@ -121,7 +121,7 @@ int remote_control_rx(void)
121 121
122 if(rx_rdy()) { 122 if(rx_rdy()) {
123 btn = rx_readc(); 123 btn = rx_readc();
124 124
125 if(last_was_error) 125 if(last_was_error)
126 { 126 {
127 last_valid_button = BUTTON_NONE; 127 last_valid_button = BUTTON_NONE;
@@ -170,7 +170,7 @@ int remote_control_rx(void)
170 ret = last_valid_button; 170 ret = last_valid_button;
171 last_valid_button = BUTTON_NONE; 171 last_valid_button = BUTTON_NONE;
172 } 172 }
173 173
174 last_was_error = false; 174 last_was_error = false;
175 175
176 return ret; 176 return ret;
@@ -179,7 +179,7 @@ int remote_control_rx(void)
179#endif /* !HAVE_FMADC && !STORAGE_MMC */ 179#endif /* !HAVE_FMADC && !STORAGE_MMC */
180#elif defined(CPU_COLDFIRE) && defined(HAVE_SERIAL) 180#elif defined(CPU_COLDFIRE) && defined(HAVE_SERIAL)
181 181
182void serial_setup (void) 182void serial_setup (void)
183{ 183{
184 UCR0 = 0x30; /* Reset transmitter */ 184 UCR0 = 0x30; /* Reset transmitter */
185 UCSR0 = 0xdd; /* Timer mode */ 185 UCSR0 = 0xdd; /* Timer mode */
@@ -199,7 +199,7 @@ int tx_rdy(void)
199 return 0; 199 return 0;
200} 200}
201 201
202int rx_rdy(void) 202int rx_rdy(void)
203{ 203{
204 /* a dummy */ 204 /* a dummy */
205 return 0; 205 return 0;
@@ -236,9 +236,9 @@ int tx_rdy(void)
236 return 0; 236 return 0;
237} 237}
238 238
239/*Not ready...After first Rx, UTS1 & UTS1_RXEMPTY 239/*Not ready...After first Rx, UTS1 & UTS1_RXEMPTY
240 keeps returning true*/ 240 keeps returning true*/
241int rx_rdy(void) 241int rx_rdy(void)
242{ 242{
243 if(!(UTS1 & EUARTUTS_RXEMPTY)) 243 if(!(UTS1 & EUARTUTS_RXEMPTY))
244 return 1; 244 return 1;
@@ -256,7 +256,7 @@ static int autobaud = 0;
256void serial_setup (void) 256void serial_setup (void)
257{ 257{
258 int tmp; 258 int tmp;
259 259
260#if (MODEL_NUMBER == 3) || (MODEL_NUMBER == 8) 260#if (MODEL_NUMBER == 3) || (MODEL_NUMBER == 8)
261 261
262 /* Route the Tx/Rx pins. 4G Ipod??? */ 262 /* Route the Tx/Rx pins. 4G Ipod??? */
@@ -267,7 +267,7 @@ void serial_setup (void)
267 (*(volatile unsigned long *)(0x7000008C)) &= ~0x0C; 267 (*(volatile unsigned long *)(0x7000008C)) &= ~0x0C;
268 GPO32_ENABLE &= ~0x0C; 268 GPO32_ENABLE &= ~0x0C;
269#endif 269#endif
270 270
271 DEV_EN = DEV_EN | DEV_SER0; 271 DEV_EN = DEV_EN | DEV_SER0;
272 CPU_HI_INT_DIS = SER0_MASK; 272 CPU_HI_INT_DIS = SER0_MASK;
273 273
@@ -314,7 +314,7 @@ int tx_rdy(void)
314 return 0; 314 return 0;
315} 315}
316 316
317int rx_rdy(void) 317int rx_rdy(void)
318{ 318{
319 if((SER0_LSR & 0x1)) 319 if((SER0_LSR & 0x1))
320 return 1; 320 return 1;
@@ -337,7 +337,7 @@ void SERIAL0(void)
337 static int badbaud = 0; 337 static int badbaud = 0;
338 static bool newpkt = true; 338 static bool newpkt = true;
339 char temp; 339 char temp;
340 340
341 while(rx_rdy()) 341 while(rx_rdy())
342 { 342 {
343 temp = rx_readc(); 343 temp = rx_readc();
@@ -428,7 +428,7 @@ void SERIAL0(void)
428} 428}
429 429
430#else /* Other targets */ 430#else /* Other targets */
431void serial_setup (void) 431void serial_setup (void)
432{ 432{
433 /* a dummy */ 433 /* a dummy */
434} 434}
@@ -439,14 +439,15 @@ int tx_rdy(void)
439 return 1; 439 return 1;
440} 440}
441 441
442int rx_rdy(void) 442int rx_rdy(void)
443{ 443{
444 /* a dummy */ 444 /* a dummy */
445 return 0; 445 return 0;
446} 446}
447 447
448void tx_writec(unsigned char c) 448void tx_writec(const unsigned char c)
449{ 449{
450 (void)c;
450 /* a dummy */ 451 /* a dummy */
451} 452}
452 453
@@ -456,7 +457,7 @@ void dprintf(const char * str, ... )
456{ 457{
457 char dprintfbuff[256]; 458 char dprintfbuff[256];
458 char * ptr; 459 char * ptr;
459 460
460 va_list ap; 461 va_list ap;
461 va_start(ap, str); 462 va_start(ap, str);
462 463