serial: 8250_omap: workaround module disable errata on dra7x SoCs
authorSekhar Nori <nsekhar@ti.com>
Tue, 14 Jul 2015 08:02:08 +0000 (13:32 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Jul 2015 22:24:11 +0000 (15:24 -0700)
Due to Advisory 21 as documented in AM437x errata document,
UART module cannot be disabled once DMA is used. The only
workaround is to softreset the module before disabling it.

DRA7x UARTs are compatible to AM437x UARTs in terms of
this errata and prescribed workaround.

Enable usage of workaround for this errata on DRA7x SoCs.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/serial/omap_serial.txt
drivers/tty/serial/8250/8250_omap.c

index 0ee8820..7a71b5d 100644 (file)
@@ -6,6 +6,7 @@ Required properties:
 - compatible : should be "ti,omap4-uart" for OMAP4 controllers
 - compatible : should be "ti,am4372-uart" for AM437x controllers
 - compatible : should be "ti,am3352-uart" for AM335x controllers
+- compatible : should be "ti,dra742-uart" for DRA7x controllers
 - reg : address and length of the register space
 - interrupts or interrupts-extended : Should contain the uart interrupt
                                       specifier or both the interrupt
index a2ee75d..d9a3719 100644 (file)
@@ -1082,6 +1082,7 @@ static const struct of_device_id omap8250_dt_ids[] = {
        { .compatible = "ti,omap4-uart" },
        { .compatible = "ti,am3352-uart", .data = &am3352_habit, },
        { .compatible = "ti,am4372-uart", .data = &am4372_habit, },
+       { .compatible = "ti,dra742-uart", .data = &am4372_habit, },
        {},
 };
 MODULE_DEVICE_TABLE(of, omap8250_dt_ids);