summaryrefslogtreecommitdiff
path: root/cleopatre
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre')
-rw-r--r--cleopatre/u-boot-1.1.6/cpu/spc300/serial.c18
-rw-r--r--cleopatre/u-boot-1.1.6/include/common.h1
2 files changed, 15 insertions, 4 deletions
diff --git a/cleopatre/u-boot-1.1.6/cpu/spc300/serial.c b/cleopatre/u-boot-1.1.6/cpu/spc300/serial.c
index 0046d9b5fe..1323886350 100644
--- a/cleopatre/u-boot-1.1.6/cpu/spc300/serial.c
+++ b/cleopatre/u-boot-1.1.6/cpu/spc300/serial.c
@@ -45,12 +45,22 @@ void serial_setbrg (void)
baudrate = CONFIG_BAUDRATE;
baud_divisor = (get_master_clock((gd_t*)gd) + 8*baudrate) / (16 * baudrate);
- writel(readl(UART_LCR_1) | 0x80, UART_LCR_1);
- writel(baud_divisor & 0x00ff, UART_DLL_1);
- writel((baud_divisor & 0xff00) >> 8, UART_DLH_1);
- writel(readl(UART_LCR_1) & ~0x80, UART_LCR_1);
+ serial_setdivisor ((uint32_t)baud_divisor);
} /* serial_setbrg */
+/**
+ * Function: serial_setdivisor
+ * Parameters: uint32_t divisor
+ * Purpose: write baud divisor in UART registers
+ * Return value: void
+ */
+void serial_setdivisor (uint32_t divisor)
+{
+ writel(readl(UART_LCR_1) | 0x80, UART_LCR_1);
+ writel(divisor & 0x00ff, UART_DLL_1);
+ writel((divisor & 0xff00) >> 8, UART_DLH_1);
+ writel(readl(UART_LCR_1) & ~0x80, UART_LCR_1);
+} /* serial_setdivisor */
/**
* Function: serial_init
diff --git a/cleopatre/u-boot-1.1.6/include/common.h b/cleopatre/u-boot-1.1.6/include/common.h
index 349d5cf726..7001526d38 100644
--- a/cleopatre/u-boot-1.1.6/include/common.h
+++ b/cleopatre/u-boot-1.1.6/include/common.h
@@ -414,6 +414,7 @@ void reset_cpu (ulong addr);
int serial_init (void);
void serial_addr (unsigned int);
void serial_setbrg (void);
+void serial_setdivisor (uint32_t);
void serial_putc (const char);
void serial_putc_raw(const char);
void serial_puts (const char *);