Linux >= 4.18-rc1 changed the compat string for armada uart to a
different value in b7639b0b15ddd1a4686b0142e70dfb122eefc88f.

Only compile tested for lack of hardware.

Index: com_fdt.c
===================================================================
RCS file: /cvs/src/sys/dev/fdt/com_fdt.c,v
retrieving revision 1.1
diff -u -p -r1.1 com_fdt.c
--- com_fdt.c   31 May 2018 20:03:18 -0000      1.1
+++ com_fdt.c   19 Jul 2018 09:07:21 -0000
@@ -56,6 +56,7 @@ com_fdt_init_cons(void)
 
        if ((node = fdt_find_cons("brcm,bcm2835-aux-uart")) == NULL &&
            (node = fdt_find_cons("snps,dw-apb-uart")) == NULL &&
+           (node = fdt_find_cons("marvell,armada-38x-uart")) == NULL &&
            (node = fdt_find_cons("ti,omap3-uart")) == NULL &&
            (node = fdt_find_cons("ti,omap4-uart")) == NULL)
                        return;
@@ -87,6 +88,7 @@ com_fdt_match(struct device *parent, voi
 
        return (OF_is_compatible(faa->fa_node, "brcm,bcm2835-aux-uart") ||
            OF_is_compatible(faa->fa_node, "snps,dw-apb-uart") ||
+           OF_is_compatible(faa->fa_node, "marvell,armada-38x-uart") ||
            OF_is_compatible(faa->fa_node, "ti,omap3-uart") ||
            OF_is_compatible(faa->fa_node, "ti,omap4-uart"));
 }
@@ -121,7 +123,8 @@ com_fdt_attach(struct device *parent, st
        sc->sc_reg_width = OF_getpropint(faa->fa_node, "reg-io-width", 4);
        sc->sc_reg_shift = OF_getpropint(faa->fa_node, "reg-shift", 2);
 
-       if (OF_is_compatible(faa->fa_node, "snps,dw-apb-uart"))
+       if (OF_is_compatible(faa->fa_node, "snps,dw-apb-uart") ||
+           OF_is_compatible(faa->fa_node, "marvell,armada-38x-uart"))
                intr = com_fdt_intr_designware;
 
        if (OF_is_compatible(faa->fa_node, "ti,omap3-uart") ||

Reply via email to