]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
rockchip: serial: Adapt rockchip of-platdata driver for rk3188
authorHeiko Stübner <heiko@sntech.de>
Sat, 18 Feb 2017 18:46:29 +0000 (19:46 +0100)
committerSimon Glass <sjg@chromium.org>
Thu, 16 Mar 2017 22:03:44 +0000 (16:03 -0600)
Add necessary structs to have the driver also work for the serial
on the rk3188.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
drivers/serial/serial_rockchip.c

index c06afc58f7ea3483298a62a64596a7cc5c322d92..734cee2ba4d375e28d77eb76f4cbcd2bf4b6b1e5 100644 (file)
 #include <serial.h>
 #include <asm/arch/clock.h>
 
+#if defined(CONFIG_ROCKCHIP_RK3188)
+struct rockchip_uart_platdata {
+       struct dtd_rockchip_rk3188_uart dtplat;
+       struct ns16550_platdata plat;
+};
+struct dtd_rockchip_rk3188_uart *dtplat, s_dtplat;
+#elif defined(CONFIG_ROCKCHIP_RK3288)
 struct rockchip_uart_platdata {
        struct dtd_rockchip_rk3288_uart dtplat;
        struct ns16550_platdata plat;
 };
-
 struct dtd_rockchip_rk3288_uart *dtplat, s_dtplat;
+#endif
 
 static int rockchip_serial_probe(struct udevice *dev)
 {
@@ -33,6 +40,16 @@ static int rockchip_serial_probe(struct udevice *dev)
        return ns16550_serial_probe(dev);
 }
 
+U_BOOT_DRIVER(rockchip_rk3188_uart) = {
+       .name   = "rockchip_rk3188_uart",
+       .id     = UCLASS_SERIAL,
+       .priv_auto_alloc_size = sizeof(struct NS16550),
+       .platdata_auto_alloc_size = sizeof(struct rockchip_uart_platdata),
+       .probe  = rockchip_serial_probe,
+       .ops    = &ns16550_serial_ops,
+       .flags  = DM_FLAG_PRE_RELOC,
+};
+
 U_BOOT_DRIVER(rockchip_rk3288_uart) = {
        .name   = "rockchip_rk3288_uart",
        .id     = UCLASS_SERIAL,