diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-19 04:47:30 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-19 04:47:30 -0400 |
commit | 0d4a42f6bd298e826620585e766a154ab460617a (patch) | |
tree | 406d8f7778691d858dbe3e48e4bbb10e99c0a58a /include/linux/platform_data/serial-sccnxp.h | |
parent | d62b4892f3d9f7dd2002e5309be10719d6805b0f (diff) | |
parent | a937536b868b8369b98967929045f1df54234323 (diff) |
Merge tag 'v3.9-rc3' into drm-intel-next-queued
Backmerge so that I can merge Imre Deak's coalesced sg entries fixes,
which depend upon the new for_each_sg_page introduce in
commit a321e91b6d73ed011ffceed384c40d2785cf723b
Author: Imre Deak <imre.deak@intel.com>
Date: Wed Feb 27 17:02:56 2013 -0800
lib/scatterlist: add simple page iterator
The merge itself is just two trivial conflicts:
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/linux/platform_data/serial-sccnxp.h')
-rw-r--r-- | include/linux/platform_data/serial-sccnxp.h | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/include/linux/platform_data/serial-sccnxp.h b/include/linux/platform_data/serial-sccnxp.h new file mode 100644 index 000000000000..215574d1e81d --- /dev/null +++ b/include/linux/platform_data/serial-sccnxp.h | |||
@@ -0,0 +1,95 @@ | |||
1 | /* | ||
2 | * NXP (Philips) SCC+++(SCN+++) serial driver | ||
3 | * | ||
4 | * Copyright (C) 2012 Alexander Shiyan <shc_work@mail.ru> | ||
5 | * | ||
6 | * Based on sc26xx.c, by Thomas Bogendörfer (tsbogend@alpha.franken.de) | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | */ | ||
13 | |||
14 | #ifndef _PLATFORM_DATA_SERIAL_SCCNXP_H_ | ||
15 | #define _PLATFORM_DATA_SERIAL_SCCNXP_H_ | ||
16 | |||
17 | #define SCCNXP_MAX_UARTS 2 | ||
18 | |||
19 | /* Output lines */ | ||
20 | #define LINE_OP0 1 | ||
21 | #define LINE_OP1 2 | ||
22 | #define LINE_OP2 3 | ||
23 | #define LINE_OP3 4 | ||
24 | #define LINE_OP4 5 | ||
25 | #define LINE_OP5 6 | ||
26 | #define LINE_OP6 7 | ||
27 | #define LINE_OP7 8 | ||
28 | |||
29 | /* Input lines */ | ||
30 | #define LINE_IP0 9 | ||
31 | #define LINE_IP1 10 | ||
32 | #define LINE_IP2 11 | ||
33 | #define LINE_IP3 12 | ||
34 | #define LINE_IP4 13 | ||
35 | #define LINE_IP5 14 | ||
36 | #define LINE_IP6 15 | ||
37 | |||
38 | /* Signals */ | ||
39 | #define DTR_OP 0 /* DTR */ | ||
40 | #define RTS_OP 4 /* RTS */ | ||
41 | #define DSR_IP 8 /* DSR */ | ||
42 | #define CTS_IP 12 /* CTS */ | ||
43 | #define DCD_IP 16 /* DCD */ | ||
44 | #define RNG_IP 20 /* RNG */ | ||
45 | |||
46 | #define DIR_OP 24 /* Special signal for control RS-485. | ||
47 | * Goes high when transmit, | ||
48 | * then goes low. | ||
49 | */ | ||
50 | |||
51 | /* Routing control signal 'sig' to line 'line' */ | ||
52 | #define MCTRL_SIG(sig, line) ((line) << (sig)) | ||
53 | |||
54 | /* | ||
55 | * Example board initialization data: | ||
56 | * | ||
57 | * static struct resource sc2892_resources[] = { | ||
58 | * DEFINE_RES_MEM(UART_PHYS_START, 0x10), | ||
59 | * DEFINE_RES_IRQ(IRQ_EXT2), | ||
60 | * }; | ||
61 | * | ||
62 | * static struct sccnxp_pdata sc2892_info = { | ||
63 | * .frequency = 3686400, | ||
64 | * .mctrl_cfg[0] = MCTRL_SIG(DIR_OP, LINE_OP0), | ||
65 | * .mctrl_cfg[1] = MCTRL_SIG(DIR_OP, LINE_OP1), | ||
66 | * }; | ||
67 | * | ||
68 | * static struct platform_device sc2892 = { | ||
69 | * .name = "sc2892", | ||
70 | * .id = -1, | ||
71 | * .resource = sc2892_resources, | ||
72 | * .num_resources = ARRAY_SIZE(sc2892_resources), | ||
73 | * .dev = { | ||
74 | * .platform_data = &sc2892_info, | ||
75 | * }, | ||
76 | * }; | ||
77 | */ | ||
78 | |||
79 | /* SCCNXP platform data structure */ | ||
80 | struct sccnxp_pdata { | ||
81 | /* Frequency (extrenal clock or crystal) */ | ||
82 | int frequency; | ||
83 | /* Shift for A0 line */ | ||
84 | const u8 reg_shift; | ||
85 | /* Modem control lines configuration */ | ||
86 | const u32 mctrl_cfg[SCCNXP_MAX_UARTS]; | ||
87 | /* Timer value for polling mode (usecs) */ | ||
88 | const unsigned int poll_time_us; | ||
89 | /* Called during startup */ | ||
90 | void (*init)(void); | ||
91 | /* Called before finish */ | ||
92 | void (*exit)(void); | ||
93 | }; | ||
94 | |||
95 | #endif | ||