]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/serial.c
S5PC100: Memory SubSystem Header file, register description(SROMC).
[karo-tx-uboot.git] / common / serial.c
index 5d0a73ce0605d3a245f9fedd0d1ded22e45dfd7f..5f9ffd7e4575e8608d393f9caadc5555a89197dd 100644 (file)
@@ -23,7 +23,7 @@
 
 #include <common.h>
 #include <serial.h>
-#include <devices.h>
+#include <stdio_dev.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -69,6 +69,18 @@ struct serial_device *__default_serial_console (void)
 #else
 #error "CONFIG_SERIAL? missing."
 #endif
+#elif defined(CONFIG_S5PC1XX)
+#if defined(CONFIG_SERIAL0)
+       return &s5pc1xx_serial0_device;
+#elif defined(CONFIG_SERIAL1)
+       return &s5pc1xx_serial1_device;
+#elif defined(CONFIG_SERIAL2)
+       return &s5pc1xx_serial2_device;
+#elif defined(CONFIG_SERIAL3)
+       return &s5pc1xx_serial3_device;
+#else
+#error "CONFIG_SERIAL? missing."
+#endif
 #elif defined(CONFIG_OMAP3_ZOOM2)
                return ZOOM2_DEFAULT_SERIAL_DEVICE;
 #else
@@ -81,12 +93,14 @@ struct serial_device *default_serial_console(void) __attribute__((weak, alias("_
 
 int serial_register (struct serial_device *dev)
 {
+#ifndef CONFIG_RELOC_FIXUP_WORKS
        dev->init += gd->reloc_off;
        dev->setbrg += gd->reloc_off;
        dev->getc += gd->reloc_off;
        dev->tstc += gd->reloc_off;
        dev->putc += gd->reloc_off;
        dev->puts += gd->reloc_off;
+#endif
 
        dev->next = serial_devices;
        serial_devices = dev;
@@ -138,13 +152,19 @@ void serial_initialize (void)
        serial_register(&s3c24xx_serial0_device);
        serial_register(&s3c24xx_serial1_device);
        serial_register(&s3c24xx_serial2_device);
+#endif
+#if defined(CONFIG_S5PC1XX)
+       serial_register(&s5pc1xx_serial0_device);
+       serial_register(&s5pc1xx_serial1_device);
+       serial_register(&s5pc1xx_serial2_device);
+       serial_register(&s5pc1xx_serial3_device);
 #endif
        serial_assign (default_serial_console ()->name);
 }
 
-void serial_devices_init (void)
+void serial_stdio_init (void)
 {
-       device_t dev;
+       struct stdio_dev dev;
        struct serial_device *s = serial_devices;
 
        while (s) {
@@ -159,7 +179,7 @@ void serial_devices_init (void)
                dev.getc = s->getc;
                dev.tstc = s->tstc;
 
-               device_register (&dev);
+               stdio_register (&dev);
 
                s = s->next;
        }