WSL2-Linux-Kernel/arch/arm/mach-omap2
vikram pandita ce13d4716a 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>
2009-12-11 16:16:37 -08:00
..
include/mach omap3: zoom: rename zoom2 name to generic zoom 2009-11-22 10:24:33 -08:00
Kconfig omap3: cm-t35: add mux initialization 2009-12-11 16:16:35 -08:00
Makefile omap3: Board file of Always Innovating OMAP3-based Touch Book 2009-12-11 16:16:34 -08:00
Makefile.boot [ARM] 3145/1: OMAP 3a/5: Add support for omap24xx 2005-11-10 14:26:51 +00:00
board-2430sdp.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
board-3430sdp.c omap: mux: Remove old mux code for 34xx 2009-12-11 16:16:33 -08:00
board-3630sdp.c omap: mux: Add 36xx CBP package support 2009-12-11 16:16:33 -08:00
board-4430sdp.c Merge branch '7xx-iosplit-plat' with omap-fixes 2009-11-10 18:10:34 -08:00
board-am3517evm.c omap: mux: Add new style init functions to omap3 board-*.c files 2009-12-11 16:16:32 -08:00
board-apollon.c omap: use smc91x_platdata to setup smc91x 2009-12-11 16:16:33 -08:00
board-cm-t35.c omap3: cm-t35: add mux initialization 2009-12-11 16:16:35 -08:00
board-generic.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
board-h4.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
board-igep0020.c omap: mux: Remove old mux code for 34xx 2009-12-11 16:16:33 -08:00
board-ldp.c omap: mux: Add new style init functions to omap3 board-*.c files 2009-12-11 16:16:32 -08:00
board-n8x0.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
board-omap3beagle.c omap: mux: Remove old mux code for 34xx 2009-12-11 16:16:33 -08:00
board-omap3evm.c omap: mux: Remove old mux code for 34xx 2009-12-11 16:16:33 -08:00
board-omap3pandora.c omap3: pandora: board file updates for .33 2009-12-11 16:16:34 -08:00
board-omap3touchbook.c omap3: Board file of Always Innovating OMAP3-based Touch Book 2009-12-11 16:16:34 -08:00
board-overo.c omap: mux: Remove old mux code for 34xx 2009-12-11 16:16:33 -08:00
board-rx51-peripherals.c omap3: rx51: Use wl1251 in SPI mode 3 2009-12-11 16:16:37 -08:00
board-rx51-sdram.c omap3: rx51: Add SDRAM init 2009-11-22 10:24:33 -08:00
board-rx51.c omap: mux: Remove old mux code for 34xx 2009-12-11 16:16:33 -08:00
board-zoom-debugboard.c omap3: zoom: rename zoom2 name to generic zoom 2009-11-22 10:24:33 -08:00
board-zoom-peripherals.c omap3: Zoom2/3: Update hsmmc board config params 2009-12-11 16:16:37 -08:00
board-zoom2.c omap: mux: Add new style init functions to omap3 board-*.c files 2009-12-11 16:16:32 -08:00
board-zoom3.c omap: mux: Add 36xx CBP package support 2009-12-11 16:16:33 -08:00
clock.c ARM: OMAP4: PM: Add init api for DPLL nodes 2009-12-11 17:00:47 -07:00
clock.h ARM: OMAP4: PM: Add init api for DPLL nodes 2009-12-11 17:00:47 -07:00
clock2xxx.c OMAP2 clock: convert clock24xx.h to clock2xxx_data.c, opp2xxx* 2009-12-11 16:16:00 -07:00
clock2xxx.h OMAP2 clock: convert clock24xx.h to clock2xxx_data.c, opp2xxx* 2009-12-11 16:16:00 -07:00
clock2xxx_data.c OMAP2 clock: convert clock24xx.h to clock2xxx_data.c, opp2xxx* 2009-12-11 16:16:00 -07:00
clock34xx.c ARM: OMAP4: PM: Move DPLL control apis to dpll.c 2009-12-11 17:00:46 -07:00
clock34xx.h ARM: OMAP4: PM: Move DPLL control apis to dpll.c 2009-12-11 17:00:46 -07:00
clock34xx_data.c OMAP3 clock: convert clock34xx.h to clock34xx_data.c 2009-12-11 16:12:15 -07:00
clock44xx.c ARM: OMAP4: PM: Add support for OMAP4 dpll api's 2009-12-11 17:00:46 -07:00
clock44xx.h ARM: OMAP4: PM: Move DPLL control apis to dpll.c 2009-12-11 17:00:46 -07:00
clock44xx_data.c ARM: OMAP4: PM: Add init api for DPLL nodes 2009-12-11 17:00:47 -07:00
clock_common_data.c OMAP3 clock: convert clock34xx.h to clock34xx_data.c 2009-12-11 16:12:15 -07:00
clockdomain.c OMAP clockdomain/powerdomain: remove CONFIG_OMAP_DEBUG_{CLOCK,POWER}DOMAIN 2009-12-11 17:00:40 -07:00
clockdomains.h omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
cm-regbits-24xx.h [ARM] OMAP2 PRCM: clean up CM_IDLEST bits 2009-02-08 17:50:37 +00:00
cm-regbits-34xx.h OMAP3: PM: Add D2D clocks and auto-idle setup to PRCM init 2009-05-28 10:59:07 -07:00
cm-regbits-44xx.h ARM: OMAP4: PM: Adds CM1/2 register field masks 2009-12-11 17:00:45 -07:00
cm.c OMAP clock/hwmod: fix off-by-one errors 2009-12-11 17:00:43 -07:00
cm.h ARM: OMAP4: PM: Add dummy hooks for OMAP4 dpll api's 2009-12-11 17:00:46 -07:00
cm4xxx.c omap: Fix 44xx compile 2009-09-24 16:23:07 -07:00
cm44xx.h ARM: OMAP4: PM: Adds CM1/2 register defs for OMAP4 2009-12-11 17:00:45 -07:00
control.c OMAP3: PM: Program SDRC to send self refresh on timeout of AUTO_CNT 2009-11-11 14:42:28 -08:00
cpuidle34xx.c OMAP3: PM: Added resched check into idle calls 2009-11-11 14:42:50 -08:00
devices.c omap: mux: Replace omap_cfg_reg() with new style signal or gpio functions 2009-12-11 16:16:32 -08:00
dpll.c ARM: OMAP4: PM: Add support for OMAP4 dpll api's 2009-12-11 17:00:46 -07:00
emu.c ARM: 5843/1: OMAP3: add AMBA devices for ETM and ETB 2009-12-02 10:25:23 +00:00
gpmc-onenand.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
gpmc-smc91x.c omap: use smc91x_platdata to setup smc91x 2009-12-11 16:16:33 -08:00
gpmc.c ARM: OMAP4: PM: Add dummy hooks for OMAP4 dpll api's 2009-12-11 17:00:46 -07:00
i2c.c omap: Split i2c platform init for mach-omap1 and mach-omap2 2009-12-11 16:16:32 -08:00
id.c omap3: id code detection 3525 vs 3515 2009-12-11 16:16:37 -08:00
io.c omap: mux: Remove old mux code for 34xx 2009-12-11 16:16:33 -08:00
iommu2.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
irq.c OMAP3: PM: Fix INTC context save/restore 2009-11-11 14:42:27 -08:00
mailbox.c omap: mailbox: Adds code changes to support OMAP4 mailbox 2009-11-22 10:24:33 -08:00
mcbsp.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
mmc-twl4030.c omap3630: Set omap3630 MMC1 I/O speed to 52Mhz 2009-11-22 10:24:32 -08:00
mmc-twl4030.h omap_hsmmc: support for deeper power saving states 2009-09-23 07:39:35 -07:00
mux.c omap: mux: Remove old mux code for 34xx 2009-12-11 16:16:33 -08:00
mux.h omap: mux: Add 36xx CBP package support 2009-12-11 16:16:33 -08:00
mux34xx.c omap: mux: Add 36xx CBP package support 2009-12-11 16:16:33 -08:00
mux34xx.h omap: mux: Add 36xx CBP package support 2009-12-11 16:16:33 -08:00
omap-headsmp.S OMAP4: AuxCoreBoot registers only accessible in secure mode 2009-12-11 16:16:35 -08:00
omap-smp.c OMAP4: Remove the secondary wait loop 2009-12-11 16:16:35 -08:00
omap3-iommu.c omap: iommu: reorganize 2009-11-22 10:24:32 -08:00
omap_hwmod.c OMAP: hwmod: warn on missing clockdomain 2009-12-11 17:00:44 -07:00
omap_hwmod_34xx.h omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
omap_hwmod_2420.h omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
omap_hwmod_2430.h omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
opp2xxx.h OMAP2 clock: convert clock24xx.h to clock2xxx_data.c, opp2xxx* 2009-12-11 16:16:00 -07:00
opp2420_data.c OMAP2 clock: convert clock24xx.h to clock2xxx_data.c, opp2xxx* 2009-12-11 16:16:00 -07:00
opp2430_data.c OMAP2 clock: convert clock24xx.h to clock2xxx_data.c, opp2xxx* 2009-12-11 16:16:00 -07:00
pm-debug.c OMAP powerdomain/PM: use symbolic constants for the max number of power states 2009-12-11 17:00:41 -07:00
pm.h OMAP3: PM: CPUidle: fix init sequencing 2009-11-11 14:42:49 -08:00
pm24xx.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
pm34xx.c OMAP3: PM: Added resched check into idle calls 2009-11-11 14:42:50 -08:00
powerdomain.c OMAP3: PM: Fix for MPU power domain MEM BANK position 2009-12-11 17:00:42 -07:00
powerdomains.h omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
powerdomains24xx.h omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
powerdomains34xx.h OMAP3: PM: Fix for MPU power domain MEM BANK position 2009-12-11 17:00:42 -07:00
prcm-common.h ARM: OMAP4: PM: Adds PRM register shift and mask bits 2009-12-11 17:00:45 -07:00
prcm.c ARM: OMAP4: PM: Fix the PRM and CM base addresses 2009-12-11 17:00:44 -07:00
prm-regbits-24xx.h ARM: OMAP2: Powerdomain: Add OMAP2 powerdomains 2008-08-19 11:08:42 +03:00
prm-regbits-34xx.h OMAP3: PM: Enable IO-CHAIN wakeup 2009-11-11 14:42:28 -08:00
prm-regbits-44xx.h ARM: OMAP4: PM: Adds PRM register shift and mask bits 2009-12-11 17:00:45 -07:00
prm.h ARM: OMAP4: PM: Adds PRM register defs for OMAP4 2009-12-11 17:00:45 -07:00
prm44xx.h ARM: OMAP4: PM: Adds PRM register defs for OMAP4 2009-12-11 17:00:45 -07:00
sdram-hynix-h8mbx00u0mer-0em.h omap3: zoom: Introduce zoom3 board support 2009-11-22 10:24:33 -08:00
sdram-micron-mt46h32m32lf-6.h omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
sdram-qimonda-hyb18m512160af-6.h omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
sdrc.c OMAP2: Add funcs for writing SMS_ROT_* registers 2009-12-09 11:44:32 +02:00
sdrc.h OMAP2 clock: convert clock24xx.h to clock2xxx_data.c, opp2xxx* 2009-12-11 16:16:00 -07:00
sdrc2xxx.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
serial.c omap: serial: fix non-empty uart fifo read abort 2009-12-11 16:16:37 -08:00
sleep24xx.S omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
sleep34xx.S OMAP3: PM: Wait for SDRC ready iso a blind delay 2009-11-11 14:42:27 -08:00
sram34xx.S OMAP3: SDRC: Place SDRC AC timing and MR changes in CORE DVFS SRAM code behind Kconfig 2009-12-11 17:00:42 -07:00
sram242x.S omap: Split OMAP2_IO_ADDRESS to L3 and L4 2009-10-19 15:25:31 -07:00
sram243x.S omap: Split OMAP2_IO_ADDRESS to L3 and L4 2009-10-19 15:25:31 -07:00
timer-gp.c PM debug: allow configurable wakeup from suspend on OMAP GPtimer 2009-11-11 14:42:28 -08:00
timer-mpu.c ARM: OMAP4: SMP: Add mpu timer support for OMAP4430 2009-06-09 13:03:59 +05:30
usb-ehci.c omap: mux: Replace omap_cfg_reg() with new style signal or gpio functions 2009-12-11 16:16:32 -08:00
usb-musb.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
usb-tusb6010.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00