diff options
author | vikram pandita <vikram.pandita@ti.com> | 2009-12-12 01:16:37 +0100 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2009-12-12 01:16:37 +0100 |
commit | ce13d4716a276f4331d78ba28a5093a63822ab95 (patch) | |
tree | 0537f1349cae8f963eea5c0da7d5cfa4e738149d /ipc/namespace.c | |
parent | omap3: Zoom2/3: Update hsmmc board config params (diff) | |
download | linux-ce13d4716a276f4331d78ba28a5093a63822ab95.tar.xz linux-ce13d4716a276f4331d78ba28a5093a63822ab95.zip |
omap: serial: fix non-empty uart fifo read abort
OMAP3xxx and OMAP4430 UART IP blocks have a restriction wrt RX FIFO.
Empty RX fifo read causes an abort.
OMAP3xxx:
UART IP revision >= 0x52 have this issue
MVR register format is:
Bits Field Name Description Type Reset
31:8 RESERVED RO 0x0
7:4 MAJOR Major revision number of the module. RO 0x--
3:0 MINOR Minor revision number of the module. RO 0x--
OMAP4xxx:
All revisions have this issue
Revision id check is not used as the format of MVR resigster has changed
For omap4 MVR register reads as: 0x50410602 => Revision id = 0x0602
Format of MVR register on omap4 is: (Courtesy: Cousson, Benoit)
Bits Field Name Description Type Reset
31:30 SCHEME Scheme revision number of module RO 0x1
29:28 RESERVED RO 0x1
27:16 FUNC Function revision number of module RO 0x041
15:11 RTL Rtl revision number of module RO 0x00
10:8 MAJOR Major revision number of the module. RO 0x6
7:6 CUSTOM Custom revision number of the module. RO 0x0
5:0 MINOR Minor revision number of the module. RO 0x02
Override the default 8250 read handler: mem_serial_in()
by a custom handler: serial_in_8250()
which makes sure that RX fifo is not read when empty
tested on zoom3(3630) board
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'ipc/namespace.c')
0 files changed, 0 insertions, 0 deletions