Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

serial: 8250_omap: workaround module disable errata on dra7x SoCs

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>

authored by

Sekhar Nori and committed by
Greg Kroah-Hartman
27c93af7 cdb929e4

+2
+1
Documentation/devicetree/bindings/serial/omap_serial.txt
··· 6 6 - compatible : should be "ti,omap4-uart" for OMAP4 controllers 7 7 - compatible : should be "ti,am4372-uart" for AM437x controllers 8 8 - compatible : should be "ti,am3352-uart" for AM335x controllers 9 + - compatible : should be "ti,dra742-uart" for DRA7x controllers 9 10 - reg : address and length of the register space 10 11 - interrupts or interrupts-extended : Should contain the uart interrupt 11 12 specifier or both the interrupt
+1
drivers/tty/serial/8250/8250_omap.c
··· 1082 1082 { .compatible = "ti,omap4-uart" }, 1083 1083 { .compatible = "ti,am3352-uart", .data = &am3352_habit, }, 1084 1084 { .compatible = "ti,am4372-uart", .data = &am4372_habit, }, 1085 + { .compatible = "ti,dra742-uart", .data = &am4372_habit, }, 1085 1086 {}, 1086 1087 }; 1087 1088 MODULE_DEVICE_TABLE(of, omap8250_dt_ids);