x86: Use ePAPR defined properties for x86-uart
authorBin Meng <bmeng.cn@gmail.com>
Wed, 31 Dec 2014 08:05:13 +0000 (16:05 +0800)
committerSimon Glass <sjg@chromium.org>
Tue, 13 Jan 2015 15:24:57 +0000 (07:24 -0800)
Use ePAPR defined properties for x86-uart: clock-frequency and
current-speed. Assign the value of clock-frequency in device tree
to plat->clock of x86-uart instead of using hardcoded number.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
arch/x86/dts/serial.dtsi
drivers/serial/serial_x86.c

index ebdda763dfed848c49cddbe35ad334159c40f538..9b097f4f9bed8eb0f96a1fea2368e5f8df9ee381 100644 (file)
@@ -3,8 +3,7 @@
                compatible = "x86-uart";
                reg = <0x3f8 8>;
                reg-shift = <0>;
-               io-mapped = <1>;
-               multiplier = <1>;
-               baudrate = <115200>;
+               clock-frequency = <1843200>;
+               current-speed = <115200>;
        };
 };
index e81e035ec2f9d55c608c2c1d821548a9147d1b43..4bf6062c645e99dbe10b6afe423fae44ee9e5d94 100644 (file)
@@ -6,9 +6,12 @@
 
 #include <common.h>
 #include <dm.h>
+#include <fdtdec.h>
 #include <ns16550.h>
 #include <serial.h>
 
+DECLARE_GLOBAL_DATA_PTR;
+
 static const struct udevice_id x86_serial_ids[] = {
        { .compatible = "x86-uart" },
        { }
@@ -22,10 +25,13 @@ static int x86_serial_ofdata_to_platdata(struct udevice *dev)
        ret = ns16550_serial_ofdata_to_platdata(dev);
        if (ret)
                return ret;
-       plat->clock = 1843200;
+
+       plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
+                                    "clock-frequency", 1843200);
 
        return 0;
 }
+
 U_BOOT_DRIVER(serial_ns16550) = {
        .name   = "serial_x86",
        .id     = UCLASS_SERIAL,