| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | /* * arch/arm/mach-omap2/serial.c * * OMAP2 serial support. * * Copyright (C) 2005-2008 Nokia Corporation * Author: Paul Mundt <paul.mundt@nokia.com> * * 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 <santosh.shilimkar@ti.com * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. */#include <linux/kernel.h>#include <linux/init.h>#include <linux/clk.h>#include <linux/io.h>#include <linux/delay.h>#include <linux/platform_device.h>#include <linux/slab.h>#include <linux/pm_runtime.h>#include <linux/console.h>#include <linux/omap-dma.h>#include <linux/platform_data/serial-omap.h>#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		16struct 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) */
 |