diff options
Diffstat (limited to 'firmware/drivers/serial.c')
-rw-r--r-- | firmware/drivers/serial.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/firmware/drivers/serial.c b/firmware/drivers/serial.c index 46280bc8cc..5120161467 100644 --- a/firmware/drivers/serial.c +++ b/firmware/drivers/serial.c | |||
@@ -143,7 +143,31 @@ int remote_control_rx(void) | |||
143 | } | 143 | } |
144 | 144 | ||
145 | #endif /* HAVE_MMC */ | 145 | #endif /* HAVE_MMC */ |
146 | #else /* (CONFIG_CPU != MCF5249) && (CONFIG_CPU != TCC730) */ | 146 | #elif defined(CPU_COLDFIRE) && defined(HAVE_SERIAL) |
147 | |||
148 | void serial_tx(const unsigned char *buf) | ||
149 | { | ||
150 | while(*buf) { | ||
151 | while(!(USR0 & 0x04)) | ||
152 | { | ||
153 | }; | ||
154 | UTB0 = *buf++; | ||
155 | } | ||
156 | } | ||
157 | |||
158 | void serial_setup (void) | ||
159 | { | ||
160 | UCR0 = 0x30; /* Reset transmitter */ | ||
161 | UCSR0 = 0xdd; /* Timer mode */ | ||
162 | |||
163 | UCR0 = 0x10; /* Reset pointer */ | ||
164 | UMR0 = 0x13; /* No parity, 8 bits */ | ||
165 | UMR0 = 0x07; /* 1 stop bit */ | ||
166 | |||
167 | UCR0 = 0x04; /* Tx enable */ | ||
168 | } | ||
169 | |||
170 | #else /* Other targets */ | ||
147 | void serial_setup (void) | 171 | void serial_setup (void) |
148 | { | 172 | { |
149 | /* a dummy */ | 173 | /* a dummy */ |