cregit-Linux how code gets into the kernel

Release 4.12 include/linux/platform_data/serial-sccnxp.h

/*
 *  NXP (Philips) SCC+++(SCN+++) serial driver
 *
 *  Copyright (C) 2012 Alexander Shiyan <shc_work@mail.ru>
 *
 *  Based on sc26xx.c, by Thomas Bogendörfer (tsbogend@alpha.franken.de)
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 */

#ifndef _PLATFORM_DATA_SERIAL_SCCNXP_H_

#define _PLATFORM_DATA_SERIAL_SCCNXP_H_


#define SCCNXP_MAX_UARTS	2

/* Output lines */

#define LINE_OP0		1

#define LINE_OP1		2

#define LINE_OP2		3

#define LINE_OP3		4

#define LINE_OP4		5

#define LINE_OP5		6

#define LINE_OP6		7

#define LINE_OP7		8

/* Input lines */

#define LINE_IP0		9

#define LINE_IP1		10

#define LINE_IP2		11

#define LINE_IP3		12

#define LINE_IP4		13

#define LINE_IP5		14

#define LINE_IP6		15

/* Signals */

#define DTR_OP			0	
/* DTR */

#define RTS_OP			4	
/* RTS */

#define DSR_IP			8	
/* DSR */

#define CTS_IP			12	
/* CTS */

#define DCD_IP			16	
/* DCD */

#define RNG_IP			20	
/* RNG */


#define DIR_OP			24	
/* Special signal for control RS-485.
                                         * Goes high when transmit,
                                         * then goes low.
                                         */

/* Routing control signal 'sig' to line 'line' */

#define MCTRL_SIG(sig, line)	((line) << (sig))

/*
 * Example board initialization data:
 *
 * static struct resource sc2892_resources[] = {
 *      DEFINE_RES_MEM(UART_PHYS_START, 0x10),
 *      DEFINE_RES_IRQ(IRQ_EXT2),
 * };
 *
 * static struct sccnxp_pdata sc2892_info = {
 *      .mctrl_cfg[0]   = MCTRL_SIG(DIR_OP, LINE_OP0),
 *      .mctrl_cfg[1]   = MCTRL_SIG(DIR_OP, LINE_OP1),
 * };
 *
 * static struct platform_device sc2892 = {
 *      .name           = "sc2892",
 *      .id             = -1,
 *      .resource       = sc2892_resources,
 *      .num_resources  = ARRAY_SIZE(sc2892_resources),
 *      .dev = {
 *              .platform_data  = &sc2892_info,
 *      },
 * };
 */

/* SCCNXP platform data structure */

struct sccnxp_pdata {
	/* Shift for A0 line */
	
const u8		reg_shift;
	/* Modem control lines configuration */
	
const u32		mctrl_cfg[SCCNXP_MAX_UARTS];
	/* Timer value for polling mode (usecs) */
	
const unsigned int	poll_time_us;
};

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Alexander Shiyan14195.92%480.00%
Greg Kroah-Hartman64.08%120.00%
Total147100.00%5100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.