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