diff options
author | Simon Glass <sjg@chromium.org> | 2011-05-15 07:56:25 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2011-08-24 10:01:33 -0700 |
commit | 3a47c614c2f5f204ee9a6428df03df3e85fe0b51 (patch) | |
tree | b320ae1cb0ec40fc99d737f9a86b3bfbfa042737 /common/serial.c | |
parent | 16016e7f644ba2301848f7769af6192cafc45c20 (diff) |
fdt: Add serial port controlled by device tree
This adds a new console serial port which is implemented by the driver
selected in the device tree.
BUG=chromium-os:11623
TEST=build and boot U-Boot on Seaboard
Change-Id: I0e41f795a78d165c2907a9f8faeeabe1a2639a18
Reviewed-on: http://gerrit.chromium.org/gerrit/958
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/serial.c')
-rw-r--r-- | common/serial.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/common/serial.c b/common/serial.c index 8ebf9a5d2ed..ebe6ae3302a 100644 --- a/common/serial.c +++ b/common/serial.c @@ -24,6 +24,8 @@ #include <common.h> #include <serial.h> #include <stdio_dev.h> +#include <serial_fdt.h> + DECLARE_GLOBAL_DATA_PTR; @@ -33,7 +35,9 @@ static struct serial_device *serial_current = NULL; #if !defined(CONFIG_LWMON) && !defined(CONFIG_PXA250) && !defined(CONFIG_PXA27X) struct serial_device *__default_serial_console (void) { -#if defined(CONFIG_8xx_CONS_SMC1) || defined(CONFIG_8xx_CONS_SMC2) +#ifdef CONFIG_OF_CONTROL + return serial_fdt_get_console_f(); +#elif defined(CONFIG_8xx_CONS_SMC1) || defined(CONFIG_8xx_CONS_SMC2) return &serial_smc_device; #elif defined(CONFIG_8xx_CONS_SCC1) || defined(CONFIG_8xx_CONS_SCC2) \ || defined(CONFIG_8xx_CONS_SCC3) || defined(CONFIG_8xx_CONS_SCC4) @@ -117,6 +121,9 @@ int serial_register (struct serial_device *dev) void serial_initialize (void) { +#ifdef CONFIG_OF_CONTROL + serial_register(serial_fdt_get_console_r()); +#endif #if defined(CONFIG_8xx_CONS_SMC1) || defined(CONFIG_8xx_CONS_SMC2) serial_register (&serial_smc_device); #endif |