cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

serial-sccnxp.h (1938B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 *  NXP (Philips) SCC+++(SCN+++) serial driver
      4 *
      5 *  Copyright (C) 2012 Alexander Shiyan <shc_work@mail.ru>
      6 *
      7 *  Based on sc26xx.c, by Thomas Bogendörfer (tsbogend@alpha.franken.de)
      8 */
      9
     10#ifndef _PLATFORM_DATA_SERIAL_SCCNXP_H_
     11#define _PLATFORM_DATA_SERIAL_SCCNXP_H_
     12
     13#define SCCNXP_MAX_UARTS	2
     14
     15/* Output lines */
     16#define LINE_OP0		1
     17#define LINE_OP1		2
     18#define LINE_OP2		3
     19#define LINE_OP3		4
     20#define LINE_OP4		5
     21#define LINE_OP5		6
     22#define LINE_OP6		7
     23#define LINE_OP7		8
     24
     25/* Input lines */
     26#define LINE_IP0		9
     27#define LINE_IP1		10
     28#define LINE_IP2		11
     29#define LINE_IP3		12
     30#define LINE_IP4		13
     31#define LINE_IP5		14
     32#define LINE_IP6		15
     33
     34/* Signals */
     35#define DTR_OP			0	/* DTR */
     36#define RTS_OP			4	/* RTS */
     37#define DSR_IP			8	/* DSR */
     38#define CTS_IP			12	/* CTS */
     39#define DCD_IP			16	/* DCD */
     40#define RNG_IP			20	/* RNG */
     41
     42#define DIR_OP			24	/* Special signal for control RS-485.
     43					 * Goes high when transmit,
     44					 * then goes low.
     45					 */
     46
     47/* Routing control signal 'sig' to line 'line' */
     48#define MCTRL_SIG(sig, line)	((line) << (sig))
     49
     50/*
     51 * Example board initialization data:
     52 *
     53 * static struct resource sc2892_resources[] = {
     54 *	DEFINE_RES_MEM(UART_PHYS_START, 0x10),
     55 *	DEFINE_RES_IRQ(IRQ_EXT2),
     56 * };
     57 *
     58 * static struct sccnxp_pdata sc2892_info = {
     59 *	.mctrl_cfg[0]	= MCTRL_SIG(DIR_OP, LINE_OP0),
     60 *	.mctrl_cfg[1]	= MCTRL_SIG(DIR_OP, LINE_OP1),
     61 * };
     62 *
     63 * static struct platform_device sc2892 = {
     64 *	.name		= "sc2892",
     65 *	.id		= -1,
     66 *	.resource	= sc2892_resources,
     67 *	.num_resources	= ARRAY_SIZE(sc2892_resources),
     68 *	.dev = {
     69 *		.platform_data	= &sc2892_info,
     70 *	},
     71 * };
     72 */
     73
     74/* SCCNXP platform data structure */
     75struct sccnxp_pdata {
     76	/* Shift for A0 line */
     77	const u8		reg_shift;
     78	/* Modem control lines configuration */
     79	const u32		mctrl_cfg[SCCNXP_MAX_UARTS];
     80	/* Timer value for polling mode (usecs) */
     81	const unsigned int	poll_time_us;
     82};
     83
     84#endif