summaryrefslogtreecommitdiff
path: root/arch/arm/plat-omap/include/plat/omap-serial.h
diff options
context:
space:
mode:
authorGovindraj.R <govindraj.raja@ti.com>2011-11-07 17:30:33 +0400
committerKevin Hilman <khilman@ti.com>2011-12-15 04:05:22 +0400
commit94734749af794c080f6af6ac3ce8c1c13ee2dbbd (patch)
treefca071b796416579b42860980cd7324ac128d22e /arch/arm/plat-omap/include/plat/omap-serial.h
parentec3bebc6ec64aac23500e6b8ef5c0aaaeda735cf (diff)
downloadlinux-94734749af794c080f6af6ac3ce8c1c13ee2dbbd.tar.xz
ARM: OMAP2+: UART: Move errata handling from serial.c to omap-serial
Move the errata handling mechanism from serial.c to omap-serial file and utilise the same func in driver file. Errata i202, i291 are moved to be handled with omap-serial Moving the errata macro from serial.c file to driver header file as from on errata will be handled in driver file itself. Corrected errata id from chapter reference 2.15 to errata id i291. Removed errata and dma_enabled fields from omap_uart_state struct as they are no more needed with errata handling done within omap-serial. Signed-off-by: Govindraj.R <govindraj.raja@ti.com> Acked-by: Alan Cox <alan@linux.intel.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/plat-omap/include/plat/omap-serial.h')
-rw-r--r--arch/arm/plat-omap/include/plat/omap-serial.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/include/plat/omap-serial.h b/arch/arm/plat-omap/include/plat/omap-serial.h
index 348c9ead6edb..842b429cfeaa 100644
--- a/arch/arm/plat-omap/include/plat/omap-serial.h
+++ b/arch/arm/plat-omap/include/plat/omap-serial.h
@@ -58,12 +58,18 @@
#define MSR_SAVE_FLAGS UART_MSR_ANY_DELTA
+#define UART_ERRATA_i202_MDR1_ACCESS BIT(0)
+#define UART_ERRATA_i291_DMA_FORCEIDLE BIT(1)
+
struct omap_uart_port_info {
bool dma_enabled; /* To specify DMA Mode */
unsigned int uartclk; /* UART clock rate */
upf_t flags; /* UPF_* flags */
+ u32 errata;
int (*get_context_loss_count)(struct device *);
+ void (*set_forceidle)(struct platform_device *);
+ void (*set_noidle)(struct platform_device *);
};
struct uart_omap_dma {
@@ -117,6 +123,7 @@ struct uart_omap_port {
char name[20];
unsigned long port_activity;
u32 context_loss_cnt;
+ u32 errata;
};
#endif /* __OMAP_SERIAL_H__ */