xref: /linux/drivers/misc/Kconfig (revision 56d06fa29edd58c448766014afd833b7ff51247b)
1#
2# Misc strange devices
3#
4
5menu "Misc devices"
6
7config SENSORS_LIS3LV02D
8	tristate
9	depends on INPUT
10	select INPUT_POLLDEV
11	default n
12
13config AD525X_DPOT
14	tristate "Analog Devices Digital Potentiometers"
15	depends on (I2C || SPI) && SYSFS
16	help
17	  If you say yes here, you get support for the Analog Devices
18	  AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, AD5255
19	  AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203,
20	  AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235,
21	  AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293,
22	  AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242,
23	  AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282,
24	  ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270,
25	  AD5271, AD5272, AD5274
26	  digital potentiometer chips.
27
28	  See Documentation/misc-devices/ad525x_dpot.txt for the
29	  userspace interface.
30
31	  This driver can also be built as a module.  If so, the module
32	  will be called ad525x_dpot.
33
34config AD525X_DPOT_I2C
35	tristate "support I2C bus connection"
36	depends on AD525X_DPOT && I2C
37	help
38	  Say Y here if you have a digital potentiometers hooked to an I2C bus.
39
40	  To compile this driver as a module, choose M here: the
41	  module will be called ad525x_dpot-i2c.
42
43config AD525X_DPOT_SPI
44	tristate "support SPI bus connection"
45	depends on AD525X_DPOT && SPI_MASTER
46	help
47	  Say Y here if you have a digital potentiometers hooked to an SPI bus.
48
49	  If unsure, say N (but it's safe to say "Y").
50
51	  To compile this driver as a module, choose M here: the
52	  module will be called ad525x_dpot-spi.
53
54config ATMEL_TCLIB
55	bool "Atmel AT32/AT91 Timer/Counter Library"
56	depends on (AVR32 || ARCH_AT91)
57	help
58	  Select this if you want a library to allocate the Timer/Counter
59	  blocks found on many Atmel processors.  This facilitates using
60	  these blocks by different drivers despite processor differences.
61
62config ATMEL_TCB_CLKSRC
63	bool "TC Block Clocksource"
64	depends on ATMEL_TCLIB
65	default y
66	help
67	  Select this to get a high precision clocksource based on a
68	  TC block with a 5+ MHz base clock rate.  Two timer channels
69	  are combined to make a single 32-bit timer.
70
71	  When GENERIC_CLOCKEVENTS is defined, the third timer channel
72	  may be used as a clock event device supporting oneshot mode
73	  (delays of up to two seconds) based on the 32 KiHz clock.
74
75config ATMEL_TCB_CLKSRC_BLOCK
76	int
77	depends on ATMEL_TCB_CLKSRC
78	prompt "TC Block" if CPU_AT32AP700X
79	default 0
80	range 0 1
81	help
82	  Some chips provide more than one TC block, so you have the
83	  choice of which one to use for the clock framework.  The other
84	  TC can be used for other purposes, such as PWM generation and
85	  interval timing.
86
87config DUMMY_IRQ
88	tristate "Dummy IRQ handler"
89	default n
90	---help---
91	  This module accepts a single 'irq' parameter, which it should register for.
92	  The sole purpose of this module is to help with debugging of systems on
93	  which spurious IRQs would happen on disabled IRQ vector.
94
95config IBM_ASM
96	tristate "Device driver for IBM RSA service processor"
97	depends on X86 && PCI && INPUT
98	depends on SERIAL_8250 || SERIAL_8250=n
99	---help---
100	  This option enables device driver support for in-band access to the
101	  IBM RSA (Condor) service processor in eServer xSeries systems.
102	  The ibmasm device driver allows user space application to access
103	  ASM (Advanced Systems Management) functions on the service
104	  processor. The driver is meant to be used in conjunction with
105	  a user space API.
106	  The ibmasm driver also enables the OS to use the UART on the
107	  service processor board as a regular serial port. To make use of
108	  this feature serial driver support (CONFIG_SERIAL_8250) must be
109	  enabled.
110
111	  WARNING: This software may not be supported or function
112	  correctly on your IBM server. Please consult the IBM ServerProven
113	  website <http://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
114	  for information on the specific driver level and support statement
115	  for your IBM server.
116
117config PHANTOM
118	tristate "Sensable PHANToM (PCI)"
119	depends on PCI
120	help
121	  Say Y here if you want to build a driver for Sensable PHANToM device.
122
123	  This driver is only for PCI PHANToMs.
124
125	  If you choose to build module, its name will be phantom. If unsure,
126	  say N here.
127
128config INTEL_MID_PTI
129	tristate "Parallel Trace Interface for MIPI P1149.7 cJTAG standard"
130	depends on PCI && TTY && (X86_INTEL_MID || COMPILE_TEST)
131	default n
132	help
133	  The PTI (Parallel Trace Interface) driver directs
134	  trace data routed from various parts in the system out
135	  through an Intel Penwell PTI port and out of the mobile
136	  device for analysis with a debugging tool (Lauterbach or Fido).
137
138	  You should select this driver if the target kernel is meant for
139	  an Intel Atom (non-netbook) mobile device containing a MIPI
140	  P1149.7 standard implementation.
141
142config SGI_IOC4
143	tristate "SGI IOC4 Base IO support"
144	depends on PCI
145	---help---
146	  This option enables basic support for the IOC4 chip on certain
147	  SGI IO controller cards (IO9, IO10, and PCI-RT).  This option
148	  does not enable any specific functions on such a card, but provides
149	  necessary infrastructure for other drivers to utilize.
150
151	  If you have an SGI Altix with an IOC4-based card say Y.
152	  Otherwise say N.
153
154config TIFM_CORE
155	tristate "TI Flash Media interface support"
156	depends on PCI
157	help
158	  If you want support for Texas Instruments(R) Flash Media adapters
159	  you should select this option and then also choose an appropriate
160	  host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
161	  support', if you have a TI PCI74xx compatible card reader, for
162	  example.
163	  You will also have to select some flash card format drivers. MMC/SD
164	  cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
165	  Interface support (MMC_TIFM_SD)'.
166
167	  To compile this driver as a module, choose M here: the module will
168	  be called tifm_core.
169
170config TIFM_7XX1
171	tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
172	depends on PCI && TIFM_CORE
173	default TIFM_CORE
174	help
175	  This option enables support for Texas Instruments(R) PCI74xx and
176	  PCI76xx families of Flash Media adapters, found in many laptops.
177	  To make actual use of the device, you will have to select some
178	  flash card format drivers, as outlined in the TIFM_CORE Help.
179
180	  To compile this driver as a module, choose M here: the module will
181	  be called tifm_7xx1.
182
183config ICS932S401
184	tristate "Integrated Circuits ICS932S401"
185	depends on I2C
186	help
187	  If you say yes here you get support for the Integrated Circuits
188	  ICS932S401 clock control chips.
189
190	  This driver can also be built as a module. If so, the module
191	  will be called ics932s401.
192
193config ATMEL_SSC
194	tristate "Device driver for Atmel SSC peripheral"
195	depends on HAS_IOMEM && (AVR32 || ARCH_AT91 || COMPILE_TEST)
196	---help---
197	  This option enables device driver support for Atmel Synchronized
198	  Serial Communication peripheral (SSC).
199
200	  The SSC peripheral supports a wide variety of serial frame based
201	  communications, i.e. I2S, SPI, etc.
202
203	  If unsure, say N.
204
205config ENCLOSURE_SERVICES
206	tristate "Enclosure Services"
207	default n
208	help
209	  Provides support for intelligent enclosures (bays which
210	  contain storage devices).  You also need either a host
211	  driver (SCSI/ATA) which supports enclosures
212	  or a SCSI enclosure device (SES) to use these services.
213
214config SGI_XP
215	tristate "Support communication between SGI SSIs"
216	depends on NET
217	depends on (IA64_GENERIC || IA64_SGI_SN2 || IA64_SGI_UV || X86_UV) && SMP
218	select IA64_UNCACHED_ALLOCATOR if IA64_GENERIC || IA64_SGI_SN2
219	select GENERIC_ALLOCATOR if IA64_GENERIC || IA64_SGI_SN2
220	select SGI_GRU if X86_64 && SMP
221	---help---
222	  An SGI machine can be divided into multiple Single System
223	  Images which act independently of each other and have
224	  hardware based memory protection from the others.  Enabling
225	  this feature will allow for direct communication between SSIs
226	  based on a network adapter and DMA messaging.
227
228config CS5535_MFGPT
229	tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
230	depends on MFD_CS5535
231	default n
232	help
233	  This driver provides access to MFGPT functionality for other
234	  drivers that need timers.  MFGPTs are available in the CS5535 and
235	  CS5536 companion chips that are found in AMD Geode and several
236	  other platforms.  They have a better resolution and max interval
237	  than the generic PIT, and are suitable for use as high-res timers.
238	  You probably don't want to enable this manually; other drivers that
239	  make use of it should enable it.
240
241config CS5535_MFGPT_DEFAULT_IRQ
242	int
243	depends on CS5535_MFGPT
244	default 7
245	help
246	  MFGPTs on the CS5535 require an interrupt.  The selected IRQ
247	  can be overridden as a module option as well as by driver that
248	  use the cs5535_mfgpt_ API; however, different architectures might
249	  want to use a different IRQ by default.  This is here for
250	  architectures to set as necessary.
251
252config CS5535_CLOCK_EVENT_SRC
253	tristate "CS5535/CS5536 high-res timer (MFGPT) events"
254	depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
255	help
256	  This driver provides a clock event source based on the MFGPT
257	  timer(s) in the CS5535 and CS5536 companion chips.
258	  MFGPTs have a better resolution and max interval than the
259	  generic PIT, and are suitable for use as high-res timers.
260
261config HP_ILO
262	tristate "Channel interface driver for the HP iLO processor"
263	depends on PCI
264	default n
265	help
266	  The channel interface driver allows applications to communicate
267	  with iLO management processors present on HP ProLiant servers.
268	  Upon loading, the driver creates /dev/hpilo/dXccbN files, which
269	  can be used to gather data from the management processor, via
270	  read and write system calls.
271
272	  To compile this driver as a module, choose M here: the
273	  module will be called hpilo.
274
275config QCOM_COINCELL
276	tristate "Qualcomm coincell charger support"
277	depends on MFD_SPMI_PMIC || COMPILE_TEST
278	help
279	  This driver supports the coincell block found inside of
280	  Qualcomm PMICs.  The coincell charger provides a means to
281	  charge a coincell battery or backup capacitor which is used
282	  to maintain PMIC register and RTC state in the absence of
283	  external power.
284
285config SGI_GRU
286	tristate "SGI GRU driver"
287	depends on X86_UV && SMP
288	default n
289	select MMU_NOTIFIER
290	---help---
291	The GRU is a hardware resource located in the system chipset. The GRU
292	contains memory that can be mmapped into the user address space. This memory is
293	used to communicate with the GRU to perform functions such as load/store,
294	scatter/gather, bcopy, AMOs, etc.  The GRU is directly accessed by user
295	instructions using user virtual addresses. GRU instructions (ex., bcopy) use
296	user virtual addresses for operands.
297
298	If you are not running on a SGI UV system, say N.
299
300config SGI_GRU_DEBUG
301	bool  "SGI GRU driver debug"
302	depends on SGI_GRU
303	default n
304	---help---
305	This option enables additional debugging code for the SGI GRU driver.
306	If you are unsure, say N.
307
308config APDS9802ALS
309	tristate "Medfield Avago APDS9802 ALS Sensor module"
310	depends on I2C
311	help
312	  If you say yes here you get support for the ALS APDS9802 ambient
313	  light sensor.
314
315	  This driver can also be built as a module.  If so, the module
316	  will be called apds9802als.
317
318config ISL29003
319	tristate "Intersil ISL29003 ambient light sensor"
320	depends on I2C && SYSFS
321	help
322	  If you say yes here you get support for the Intersil ISL29003
323	  ambient light sensor.
324
325	  This driver can also be built as a module.  If so, the module
326	  will be called isl29003.
327
328config ISL29020
329	tristate "Intersil ISL29020 ambient light sensor"
330	depends on I2C
331	help
332	  If you say yes here you get support for the Intersil ISL29020
333	  ambient light sensor.
334
335	  This driver can also be built as a module.  If so, the module
336	  will be called isl29020.
337
338config SENSORS_TSL2550
339	tristate "Taos TSL2550 ambient light sensor"
340	depends on I2C && SYSFS
341	help
342	  If you say yes here you get support for the Taos TSL2550
343	  ambient light sensor.
344
345	  This driver can also be built as a module.  If so, the module
346	  will be called tsl2550.
347
348config SENSORS_BH1780
349	tristate "ROHM BH1780GLI ambient light sensor"
350	depends on I2C && SYSFS
351	help
352	  If you say yes here you get support for the ROHM BH1780GLI
353	  ambient light sensor.
354
355	  This driver can also be built as a module.  If so, the module
356	  will be called bh1780gli.
357
358config SENSORS_BH1770
359         tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
360         depends on I2C
361         ---help---
362           Say Y here if you want to build a driver for BH1770GLC (ROHM) or
363	   SFH7770 (Osram) combined ambient light and proximity sensor chip.
364
365           To compile this driver as a module, choose M here: the
366           module will be called bh1770glc. If unsure, say N here.
367
368config SENSORS_APDS990X
369	 tristate "APDS990X combined als and proximity sensors"
370	 depends on I2C
371	 default n
372	 ---help---
373	   Say Y here if you want to build a driver for Avago APDS990x
374	   combined ambient light and proximity sensor chip.
375
376	   To compile this driver as a module, choose M here: the
377	   module will be called apds990x. If unsure, say N here.
378
379config HMC6352
380	tristate "Honeywell HMC6352 compass"
381	depends on I2C
382	help
383	  This driver provides support for the Honeywell HMC6352 compass,
384	  providing configuration and heading data via sysfs.
385
386config DS1682
387	tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
388	depends on I2C
389	help
390	  If you say yes here you get support for Dallas Semiconductor
391	  DS1682 Total Elapsed Time Recorder.
392
393	  This driver can also be built as a module.  If so, the module
394	  will be called ds1682.
395
396config SPEAR13XX_PCIE_GADGET
397	bool "PCIe gadget support for SPEAr13XX platform"
398	depends on ARCH_SPEAR13XX && BROKEN
399	default n
400	help
401	 This option enables gadget support for PCIe controller. If
402	 board file defines any controller as PCIe endpoint then a sysfs
403	 entry will be created for that controller. User can use these
404	 sysfs node to configure PCIe EP as per his requirements.
405
406config TI_DAC7512
407	tristate "Texas Instruments DAC7512"
408	depends on SPI && SYSFS
409	help
410	  If you say yes here you get support for the Texas Instruments
411	  DAC7512 16-bit digital-to-analog converter.
412
413	  This driver can also be built as a module. If so, the module
414	  will be called ti_dac7512.
415
416config VMWARE_BALLOON
417	tristate "VMware Balloon Driver"
418	depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
419	help
420	  This is VMware physical memory management driver which acts
421	  like a "balloon" that can be inflated to reclaim physical pages
422	  by reserving them in the guest and invalidating them in the
423	  monitor, freeing up the underlying machine pages so they can
424	  be allocated to other guests. The balloon can also be deflated
425	  to allow the guest to use more physical memory.
426
427	  If unsure, say N.
428
429	  To compile this driver as a module, choose M here: the
430	  module will be called vmw_balloon.
431
432config ARM_CHARLCD
433	bool "ARM Ltd. Character LCD Driver"
434	depends on PLAT_VERSATILE
435	help
436	  This is a driver for the character LCD found on the ARM Ltd.
437	  Versatile and RealView Platform Baseboards. It doesn't do
438	  very much more than display the text "ARM Linux" on the first
439	  line and the Linux version on the second line, but that's
440	  still useful.
441
442config BMP085
443	tristate
444	depends on SYSFS
445
446config BMP085_I2C
447	tristate "BMP085 digital pressure sensor on I2C"
448	select BMP085
449	select REGMAP_I2C
450	depends on I2C && SYSFS
451	help
452	  Say Y here if you want to support Bosch Sensortec's digital pressure
453	  sensor hooked to an I2C bus.
454
455	  To compile this driver as a module, choose M here: the
456	  module will be called bmp085-i2c.
457
458config BMP085_SPI
459	tristate "BMP085 digital pressure sensor on SPI"
460	select BMP085
461	select REGMAP_SPI
462	depends on SPI_MASTER && SYSFS
463	help
464	  Say Y here if you want to support Bosch Sensortec's digital pressure
465	  sensor hooked to an SPI bus.
466
467	  To compile this driver as a module, choose M here: the
468	  module will be called bmp085-spi.
469
470config PCH_PHUB
471	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
472	select GENERIC_NET_UTILS
473	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
474	help
475	  This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
476	  Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
477	  processor. The Topcliff has MAC address and Option ROM data in SROM.
478	  This driver can access MAC address and Option ROM data in SROM.
479
480	  This driver also can be used for LAPIS Semiconductor's IOH,
481	  ML7213/ML7223/ML7831.
482	  ML7213 which is for IVI(In-Vehicle Infotainment) use.
483	  ML7223 IOH is for MP(Media Phone) use.
484	  ML7831 IOH is for general purpose use.
485	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
486	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
487
488	  To compile this driver as a module, choose M here: the module will
489	  be called pch_phub.
490
491config USB_SWITCH_FSA9480
492	tristate "FSA9480 USB Switch"
493	depends on I2C
494	help
495	  The FSA9480 is a USB port accessory detector and switch.
496	  The FSA9480 is fully controlled using I2C and enables USB data,
497	  stereo and mono audio, video, microphone and UART data to use
498	  a common connector port.
499
500config LATTICE_ECP3_CONFIG
501	tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
502	depends on SPI && SYSFS
503	select FW_LOADER
504	default	n
505	help
506	  This option enables support for bitstream configuration (programming
507	  or loading) of the Lattice ECP3 FPGA family via SPI.
508
509	  If unsure, say N.
510
511config SRAM
512	bool "Generic on-chip SRAM driver"
513	depends on HAS_IOMEM
514	select GENERIC_ALLOCATOR
515	help
516	  This driver allows you to declare a memory region to be managed by
517	  the genalloc API. It is supposed to be used for small on-chip SRAM
518	  areas found on many SoCs.
519
520config VEXPRESS_SYSCFG
521	bool "Versatile Express System Configuration driver"
522	depends on VEXPRESS_CONFIG
523	default y
524	help
525	  ARM Ltd. Versatile Express uses specialised platform configuration
526	  bus. System Configuration interface is one of the possible means
527	  of generating transactions on this bus.
528config PANEL
529	tristate "Parallel port LCD/Keypad Panel support"
530	depends on PARPORT
531	---help---
532	  Say Y here if you have an HD44780 or KS-0074 LCD connected to your
533	  parallel port. This driver also features 4 and 6-key keypads. The LCD
534	  is accessible through the /dev/lcd char device (10, 156), and the
535	  keypad through /dev/keypad (10, 185). Both require misc device to be
536	  enabled. This code can either be compiled as a module, or linked into
537	  the kernel and started at boot. If you don't understand what all this
538	  is about, say N.
539
540config PANEL_PARPORT
541	int "Default parallel port number (0=LPT1)"
542	depends on PANEL
543	range 0 255
544	default "0"
545	---help---
546	  This is the index of the parallel port the panel is connected to. One
547	  driver instance only supports one parallel port, so if your keypad
548	  and LCD are connected to two separate ports, you have to start two
549	  modules with different arguments. Numbering starts with '0' for LPT1,
550	  and so on.
551
552config PANEL_PROFILE
553	int "Default panel profile (0-5, 0=custom)"
554	depends on PANEL
555	range 0 5
556	default "5"
557	---help---
558	  To ease configuration, the driver supports different configuration
559	  profiles for past and recent wirings. These profiles can also be
560	  used to define an approximative configuration, completed by a few
561	  other options. Here are the profiles :
562
563	    0 = custom (see further)
564	    1 = 2x16 parallel LCD, old keypad
565	    2 = 2x16 serial LCD (KS-0074), new keypad
566	    3 = 2x16 parallel LCD (Hantronix), no keypad
567	    4 = 2x16 parallel LCD (Nexcom NSA1045) with Nexcom's keypad
568	    5 = 2x40 parallel LCD (old one), with old keypad
569
570	  Custom configurations allow you to define how your display is
571	  wired to the parallel port, and how it works. This is only intended
572	  for experts.
573
574config PANEL_KEYPAD
575	depends on PANEL && PANEL_PROFILE="0"
576	int "Keypad type (0=none, 1=old 6 keys, 2=new 6 keys, 3=Nexcom 4 keys)"
577	range 0 3
578	default 0
579	---help---
580	  This enables and configures a keypad connected to the parallel port.
581	  The keys will be read from character device 10,185. Valid values are :
582
583	    0 : do not enable this driver
584	    1 : old 6 keys keypad
585	    2 : new 6 keys keypad, as used on the server at www.ant-computing.com
586	    3 : Nexcom NSA1045's 4 keys keypad
587
588	  New profiles can be described in the driver source. The driver also
589	  supports simultaneous keys pressed when the keypad supports them.
590
591config PANEL_LCD
592	depends on PANEL && PANEL_PROFILE="0"
593	int "LCD type (0=none, 1=custom, 2=old //, 3=ks0074, 4=hantronix, 5=Nexcom)"
594	range 0 5
595	default 0
596	---help---
597	   This enables and configures an LCD connected to the parallel port.
598	   The driver includes an interpreter for escape codes starting with
599	   '\e[L' which are specific to the LCD, and a few ANSI codes. The
600	   driver will be registered as character device 10,156, usually
601	   under the name '/dev/lcd'. There are a total of 6 supported types :
602
603	     0 : do not enable the driver
604	     1 : custom configuration and wiring (see further)
605	     2 : 2x16 & 2x40 parallel LCD (old wiring)
606	     3 : 2x16 serial LCD (KS-0074 based)
607	     4 : 2x16 parallel LCD (Hantronix wiring)
608	     5 : 2x16 parallel LCD (Nexcom wiring)
609
610	   When type '1' is specified, other options will appear to configure
611	   more precise aspects (wiring, dimensions, protocol, ...). Please note
612	   that those values changed from the 2.4 driver for better consistency.
613
614config PANEL_LCD_HEIGHT
615	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
616	int "Number of lines on the LCD (1-2)"
617	range 1 2
618	default 2
619	---help---
620	  This is the number of visible character lines on the LCD in custom profile.
621	  It can either be 1 or 2.
622
623config PANEL_LCD_WIDTH
624	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
625	int "Number of characters per line on the LCD (1-40)"
626	range 1 40
627	default 40
628	---help---
629	  This is the number of characters per line on the LCD in custom profile.
630	  Common values are 16,20,24,40.
631
632config PANEL_LCD_BWIDTH
633	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
634	int "Internal LCD line width (1-40, 40 by default)"
635	range 1 40
636	default 40
637	---help---
638	  Most LCDs use a standard controller which supports hardware lines of 40
639	  characters, although sometimes only 16, 20 or 24 of them are really wired
640	  to the terminal. This results in some non-visible but addressable characters,
641	  and is the case for most parallel LCDs. Other LCDs, and some serial ones,
642	  however, use the same line width internally as what is visible. The KS0074
643	  for example, uses 16 characters per line for 16 visible characters per line.
644
645	  This option lets you configure the value used by your LCD in 'custom' profile.
646	  If you don't know, put '40' here.
647
648config PANEL_LCD_HWIDTH
649	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
650	int "Hardware LCD line width (1-64, 64 by default)"
651	range 1 64
652	default 64
653	---help---
654	  Most LCDs use a single address bit to differentiate line 0 and line 1. Since
655	  some of them need to be able to address 40 chars with the lower bits, they
656	  often use the immediately superior power of 2, which is 64, to address the
657	  next line.
658
659	  If you don't know what your LCD uses, in doubt let 16 here for a 2x16, and
660	  64 here for a 2x40.
661
662config PANEL_LCD_CHARSET
663	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
664	int "LCD character set (0=normal, 1=KS0074)"
665	range 0 1
666	default 0
667	---help---
668	  Some controllers such as the KS0074 use a somewhat strange character set
669	  where many symbols are at unusual places. The driver knows how to map
670	  'standard' ASCII characters to the character sets used by these controllers.
671	  Valid values are :
672
673	     0 : normal (untranslated) character set
674	     1 : KS0074 character set
675
676	  If you don't know, use the normal one (0).
677
678config PANEL_LCD_PROTO
679	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
680	int "LCD communication mode (0=parallel 8 bits, 1=serial)"
681	range 0 1
682	default 0
683	---help---
684	  This driver now supports any serial or parallel LCD wired to a parallel
685	  port. But before assigning signals, the driver needs to know if it will
686	  be driving a serial LCD or a parallel one. Serial LCDs only use 2 wires
687	  (SDA/SCL), while parallel ones use 2 or 3 wires for the control signals
688	  (E, RS, sometimes RW), and 4 or 8 for the data. Use 0 here for a 8 bits
689	  parallel LCD, and 1 for a serial LCD.
690
691config PANEL_LCD_PIN_E
692	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
693        int "Parallel port pin number & polarity connected to the LCD E signal (-17...17) "
694	range -17 17
695	default 14
696	---help---
697	  This describes the number of the parallel port pin to which the LCD 'E'
698	  signal has been connected. It can be :
699
700	          0 : no connection (eg: connected to ground)
701	      1..17 : directly connected to any of these pins on the DB25 plug
702	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
703
704	  Default for the 'E' pin in custom profile is '14' (AUTOFEED).
705
706config PANEL_LCD_PIN_RS
707	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
708        int "Parallel port pin number & polarity connected to the LCD RS signal (-17...17) "
709	range -17 17
710	default 17
711	---help---
712	  This describes the number of the parallel port pin to which the LCD 'RS'
713	  signal has been connected. It can be :
714
715	          0 : no connection (eg: connected to ground)
716	      1..17 : directly connected to any of these pins on the DB25 plug
717	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
718
719	  Default for the 'RS' pin in custom profile is '17' (SELECT IN).
720
721config PANEL_LCD_PIN_RW
722	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
723        int "Parallel port pin number & polarity connected to the LCD RW signal (-17...17) "
724	range -17 17
725	default 16
726	---help---
727	  This describes the number of the parallel port pin to which the LCD 'RW'
728	  signal has been connected. It can be :
729
730	          0 : no connection (eg: connected to ground)
731	      1..17 : directly connected to any of these pins on the DB25 plug
732	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
733
734	  Default for the 'RW' pin in custom profile is '16' (INIT).
735
736config PANEL_LCD_PIN_SCL
737	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0"
738        int "Parallel port pin number & polarity connected to the LCD SCL signal (-17...17) "
739	range -17 17
740	default 1
741	---help---
742	  This describes the number of the parallel port pin to which the serial
743	  LCD 'SCL' signal has been connected. It can be :
744
745	          0 : no connection (eg: connected to ground)
746	      1..17 : directly connected to any of these pins on the DB25 plug
747	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
748
749	  Default for the 'SCL' pin in custom profile is '1' (STROBE).
750
751config PANEL_LCD_PIN_SDA
752	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0"
753        int "Parallel port pin number & polarity connected to the LCD SDA signal (-17...17) "
754	range -17 17
755	default 2
756	---help---
757	  This describes the number of the parallel port pin to which the serial
758	  LCD 'SDA' signal has been connected. It can be :
759
760	          0 : no connection (eg: connected to ground)
761	      1..17 : directly connected to any of these pins on the DB25 plug
762	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
763
764	  Default for the 'SDA' pin in custom profile is '2' (D0).
765
766config PANEL_LCD_PIN_BL
767	depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
768        int "Parallel port pin number & polarity connected to the LCD backlight signal (-17...17) "
769	range -17 17
770	default 0
771	---help---
772	  This describes the number of the parallel port pin to which the LCD 'BL' signal
773          has been connected. It can be :
774
775	          0 : no connection (eg: connected to ground)
776	      1..17 : directly connected to any of these pins on the DB25 plug
777	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
778
779	  Default for the 'BL' pin in custom profile is '0' (uncontrolled).
780
781config PANEL_CHANGE_MESSAGE
782	depends on PANEL
783	bool "Change LCD initialization message ?"
784	default "n"
785	---help---
786	  This allows you to replace the boot message indicating the kernel version
787	  and the driver version with a custom message. This is useful on appliances
788	  where a simple 'Starting system' message can be enough to stop a customer
789	  from worrying.
790
791	  If you say 'Y' here, you'll be able to choose a message yourself. Otherwise,
792	  say 'N' and keep the default message with the version.
793
794config PANEL_BOOT_MESSAGE
795	depends on PANEL && PANEL_CHANGE_MESSAGE="y"
796	string "New initialization message"
797	default ""
798	---help---
799	  This allows you to replace the boot message indicating the kernel version
800	  and the driver version with a custom message. This is useful on appliances
801	  where a simple 'Starting system' message can be enough to stop a customer
802	  from worrying.
803
804	  An empty message will only clear the display at driver init time. Any other
805	  printf()-formatted message is valid with newline and escape codes.
806
807source "drivers/misc/c2port/Kconfig"
808source "drivers/misc/eeprom/Kconfig"
809source "drivers/misc/cb710/Kconfig"
810source "drivers/misc/ti-st/Kconfig"
811source "drivers/misc/lis3lv02d/Kconfig"
812source "drivers/misc/altera-stapl/Kconfig"
813source "drivers/misc/mei/Kconfig"
814source "drivers/misc/vmw_vmci/Kconfig"
815source "drivers/misc/mic/Kconfig"
816source "drivers/misc/genwqe/Kconfig"
817source "drivers/misc/echo/Kconfig"
818source "drivers/misc/cxl/Kconfig"
819endmenu
820