/* * arch/arm/mach-omap2/serial.c * * OMAP2 serial support. * * Copyright (C) 2005-2008 Nokia Corporation * Author: Paul Mundt * * Major rework for PM support by Kevin Hilman * * Based off of arch/arm/mach-omap/omap1/serial.c * * Copyright (C) 2009 Texas Instruments * Added OMAP4 support - Santosh Shilimkar #include #include #include #include #include #include #include #include #include #include #include "common.h" #include "omap_hwmod.h" #include "omap_device.h" #include "omap-pm.h" #include "soc.h" #include "prm2xxx_3xxx.h" #include "pm.h" #include "cm2xxx_3xxx.h" #include "prm-regbits-34xx.h" #include "control.h" #include "mux.h" #include "serial.h" /* * NOTE: By default the serial auto_suspend timeout is disabled as it causes * lost characters over the serial ports. This means that the UART clocks will * stay on until power/autosuspend_delay is set for the uart from sysfs. * This also causes that any deeper omap sleep states are blocked. */ #define DEFAULT_AUTOSUSPEND_DELAY -1 #define MAX_UART_HWMOD_NAME_LEN 16 struct omap_uart_state { int num; struct list_head node; struct omap_hwmod *oh; struct omap_device_pad default_omap_uart_pads[2]; }; static LIST_HEAD(uart_list); static u8 num_uarts; static u8 console_uart_id = -1; static u8 no_console_suspend; static u8 uart_debug; #define DEFAULT_RXDMA_POLLRATE 1 /* RX DMA polling rate (us) */