Merge tag 'iio-for-4.6a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio...
[deliverable/linux.git] / drivers / staging / panel / Kconfig
1 config PANEL
2 tristate "Parallel port LCD/Keypad Panel support"
3 depends on PARPORT
4 ---help---
5 Say Y here if you have an HD44780 or KS-0074 LCD connected to your
6 parallel port. This driver also features 4 and 6-key keypads. The LCD
7 is accessible through the /dev/lcd char device (10, 156), and the
8 keypad through /dev/keypad (10, 185). Both require misc device to be
9 enabled. This code can either be compiled as a module, or linked into
10 the kernel and started at boot. If you don't understand what all this
11 is about, say N.
12
13 config PANEL_PARPORT
14 int "Default parallel port number (0=LPT1)"
15 depends on PANEL
16 range 0 255
17 default "0"
18 ---help---
19 This is the index of the parallel port the panel is connected to. One
20 driver instance only supports one parallel port, so if your keypad
21 and LCD are connected to two separate ports, you have to start two
22 modules with different arguments. Numbering starts with '0' for LPT1,
23 and so on.
24
25 config PANEL_PROFILE
26 int "Default panel profile (0-5, 0=custom)"
27 depends on PANEL
28 range 0 5
29 default "5"
30 ---help---
31 To ease configuration, the driver supports different configuration
32 profiles for past and recent wirings. These profiles can also be
33 used to define an approximative configuration, completed by a few
34 other options. Here are the profiles :
35
36 0 = custom (see further)
37 1 = 2x16 parallel LCD, old keypad
38 2 = 2x16 serial LCD (KS-0074), new keypad
39 3 = 2x16 parallel LCD (Hantronix), no keypad
40 4 = 2x16 parallel LCD (Nexcom NSA1045) with Nexcom's keypad
41 5 = 2x40 parallel LCD (old one), with old keypad
42
43 Custom configurations allow you to define how your display is
44 wired to the parallel port, and how it works. This is only intended
45 for experts.
46
47 config PANEL_KEYPAD
48 depends on PANEL && PANEL_PROFILE="0"
49 int "Keypad type (0=none, 1=old 6 keys, 2=new 6 keys, 3=Nexcom 4 keys)"
50 range 0 3
51 default 0
52 ---help---
53 This enables and configures a keypad connected to the parallel port.
54 The keys will be read from character device 10,185. Valid values are :
55
56 0 : do not enable this driver
57 1 : old 6 keys keypad
58 2 : new 6 keys keypad, as used on the server at www.ant-computing.com
59 3 : Nexcom NSA1045's 4 keys keypad
60
61 New profiles can be described in the driver source. The driver also
62 supports simultaneous keys pressed when the keypad supports them.
63
64 config PANEL_LCD
65 depends on PANEL && PANEL_PROFILE="0"
66 int "LCD type (0=none, 1=custom, 2=old //, 3=ks0074, 4=hantronix, 5=Nexcom)"
67 range 0 5
68 default 0
69 ---help---
70 This enables and configures an LCD connected to the parallel port.
71 The driver includes an interpreter for escape codes starting with
72 '\e[L' which are specific to the LCD, and a few ANSI codes. The
73 driver will be registered as character device 10,156, usually
74 under the name '/dev/lcd'. There are a total of 6 supported types :
75
76 0 : do not enable the driver
77 1 : custom configuration and wiring (see further)
78 2 : 2x16 & 2x40 parallel LCD (old wiring)
79 3 : 2x16 serial LCD (KS-0074 based)
80 4 : 2x16 parallel LCD (Hantronix wiring)
81 5 : 2x16 parallel LCD (Nexcom wiring)
82
83 When type '1' is specified, other options will appear to configure
84 more precise aspects (wiring, dimensions, protocol, ...). Please note
85 that those values changed from the 2.4 driver for better consistency.
86
87 config PANEL_LCD_HEIGHT
88 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
89 int "Number of lines on the LCD (1-2)"
90 range 1 2
91 default 2
92 ---help---
93 This is the number of visible character lines on the LCD in custom profile.
94 It can either be 1 or 2.
95
96 config PANEL_LCD_WIDTH
97 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
98 int "Number of characters per line on the LCD (1-40)"
99 range 1 40
100 default 40
101 ---help---
102 This is the number of characters per line on the LCD in custom profile.
103 Common values are 16,20,24,40.
104
105 config PANEL_LCD_BWIDTH
106 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
107 int "Internal LCD line width (1-40, 40 by default)"
108 range 1 40
109 default 40
110 ---help---
111 Most LCDs use a standard controller which supports hardware lines of 40
112 characters, although sometimes only 16, 20 or 24 of them are really wired
113 to the terminal. This results in some non-visible but addressable characters,
114 and is the case for most parallel LCDs. Other LCDs, and some serial ones,
115 however, use the same line width internally as what is visible. The KS0074
116 for example, uses 16 characters per line for 16 visible characters per line.
117
118 This option lets you configure the value used by your LCD in 'custom' profile.
119 If you don't know, put '40' here.
120
121 config PANEL_LCD_HWIDTH
122 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
123 int "Hardware LCD line width (1-64, 64 by default)"
124 range 1 64
125 default 64
126 ---help---
127 Most LCDs use a single address bit to differentiate line 0 and line 1. Since
128 some of them need to be able to address 40 chars with the lower bits, they
129 often use the immediately superior power of 2, which is 64, to address the
130 next line.
131
132 If you don't know what your LCD uses, in doubt let 16 here for a 2x16, and
133 64 here for a 2x40.
134
135 config PANEL_LCD_CHARSET
136 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
137 int "LCD character set (0=normal, 1=KS0074)"
138 range 0 1
139 default 0
140 ---help---
141 Some controllers such as the KS0074 use a somewhat strange character set
142 where many symbols are at unusual places. The driver knows how to map
143 'standard' ASCII characters to the character sets used by these controllers.
144 Valid values are :
145
146 0 : normal (untranslated) character set
147 1 : KS0074 character set
148
149 If you don't know, use the normal one (0).
150
151 config PANEL_LCD_PROTO
152 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
153 int "LCD communication mode (0=parallel 8 bits, 1=serial)"
154 range 0 1
155 default 0
156 ---help---
157 This driver now supports any serial or parallel LCD wired to a parallel
158 port. But before assigning signals, the driver needs to know if it will
159 be driving a serial LCD or a parallel one. Serial LCDs only use 2 wires
160 (SDA/SCL), while parallel ones use 2 or 3 wires for the control signals
161 (E, RS, sometimes RW), and 4 or 8 for the data. Use 0 here for a 8 bits
162 parallel LCD, and 1 for a serial LCD.
163
164 config PANEL_LCD_PIN_E
165 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
166 int "Parallel port pin number & polarity connected to the LCD E signal (-17...17) "
167 range -17 17
168 default 14
169 ---help---
170 This describes the number of the parallel port pin to which the LCD 'E'
171 signal has been connected. It can be :
172
173 0 : no connection (eg: connected to ground)
174 1..17 : directly connected to any of these pins on the DB25 plug
175 -1..-17 : connected to the same pin through an inverter (eg: transistor).
176
177 Default for the 'E' pin in custom profile is '14' (AUTOFEED).
178
179 config PANEL_LCD_PIN_RS
180 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
181 int "Parallel port pin number & polarity connected to the LCD RS signal (-17...17) "
182 range -17 17
183 default 17
184 ---help---
185 This describes the number of the parallel port pin to which the LCD 'RS'
186 signal has been connected. It can be :
187
188 0 : no connection (eg: connected to ground)
189 1..17 : directly connected to any of these pins on the DB25 plug
190 -1..-17 : connected to the same pin through an inverter (eg: transistor).
191
192 Default for the 'RS' pin in custom profile is '17' (SELECT IN).
193
194 config PANEL_LCD_PIN_RW
195 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
196 int "Parallel port pin number & polarity connected to the LCD RW signal (-17...17) "
197 range -17 17
198 default 16
199 ---help---
200 This describes the number of the parallel port pin to which the LCD 'RW'
201 signal has been connected. It can be :
202
203 0 : no connection (eg: connected to ground)
204 1..17 : directly connected to any of these pins on the DB25 plug
205 -1..-17 : connected to the same pin through an inverter (eg: transistor).
206
207 Default for the 'RW' pin in custom profile is '16' (INIT).
208
209 config PANEL_LCD_PIN_SCL
210 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0"
211 int "Parallel port pin number & polarity connected to the LCD SCL signal (-17...17) "
212 range -17 17
213 default 1
214 ---help---
215 This describes the number of the parallel port pin to which the serial
216 LCD 'SCL' signal has been connected. It can be :
217
218 0 : no connection (eg: connected to ground)
219 1..17 : directly connected to any of these pins on the DB25 plug
220 -1..-17 : connected to the same pin through an inverter (eg: transistor).
221
222 Default for the 'SCL' pin in custom profile is '1' (STROBE).
223
224 config PANEL_LCD_PIN_SDA
225 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0"
226 int "Parallel port pin number & polarity connected to the LCD SDA signal (-17...17) "
227 range -17 17
228 default 2
229 ---help---
230 This describes the number of the parallel port pin to which the serial
231 LCD 'SDA' signal has been connected. It can be :
232
233 0 : no connection (eg: connected to ground)
234 1..17 : directly connected to any of these pins on the DB25 plug
235 -1..-17 : connected to the same pin through an inverter (eg: transistor).
236
237 Default for the 'SDA' pin in custom profile is '2' (D0).
238
239 config PANEL_LCD_PIN_BL
240 depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
241 int "Parallel port pin number & polarity connected to the LCD backlight signal (-17...17) "
242 range -17 17
243 default 0
244 ---help---
245 This describes the number of the parallel port pin to which the LCD 'BL' signal
246 has been connected. It can be :
247
248 0 : no connection (eg: connected to ground)
249 1..17 : directly connected to any of these pins on the DB25 plug
250 -1..-17 : connected to the same pin through an inverter (eg: transistor).
251
252 Default for the 'BL' pin in custom profile is '0' (uncontrolled).
253
254 config PANEL_CHANGE_MESSAGE
255 depends on PANEL
256 bool "Change LCD initialization message ?"
257 default "n"
258 ---help---
259 This allows you to replace the boot message indicating the kernel version
260 and the driver version with a custom message. This is useful on appliances
261 where a simple 'Starting system' message can be enough to stop a customer
262 from worrying.
263
264 If you say 'Y' here, you'll be able to choose a message yourself. Otherwise,
265 say 'N' and keep the default message with the version.
266
267 config PANEL_BOOT_MESSAGE
268 depends on PANEL && PANEL_CHANGE_MESSAGE="y"
269 string "New initialization message"
270 default ""
271 ---help---
272 This allows you to replace the boot message indicating the kernel version
273 and the driver version with a custom message. This is useful on appliances
274 where a simple 'Starting system' message can be enough to stop a customer
275 from worrying.
276
277 An empty message will only clear the display at driver init time. Any other
278 printf()-formatted message is valid with newline and escape codes.
This page took 0.03476 seconds and 5 git commands to generate.