aboutsummaryrefslogtreecommitdiff
path: root/src/console/uart8250_console.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/console/uart8250_console.c')
-rw-r--r--src/console/uart8250_console.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/console/uart8250_console.c b/src/console/uart8250_console.c
index 53ca3a762e..03db400319 100644
--- a/src/console/uart8250_console.c
+++ b/src/console/uart8250_console.c
@@ -25,7 +25,13 @@ static void ttyS0_init(void)
{
static const unsigned char div[8] = { 1, 2, 3, 6, 12, 24, 48, 96 };
int b_index = 0;
- unsigned int divisor = CONFIG_TTYS0_DIV;
+ /* TODO the divisor calculation is hard coded to standard UARTs. Some
+ * UARTs won't work with these values. This should be a property of the
+ * UART used, worst case a Kconfig variable. For now live with hard
+ * codes as the only devices that might be different are the iWave
+ * iRainbowG6 and the OXPCIe952 card (and the latter is memory mapped)
+ */
+ unsigned int divisor = 115200 / CONFIG_TTYS0_BAUD;
if (get_option(&b_index, "baud_rate") == 0) {
divisor = div[b_index];