xref: /linux/drivers/auxdisplay/Kconfig (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
270e84049SMiguel Ojeda Sandonis#
370e84049SMiguel Ojeda Sandonis# For a description of the syntax of this configuration file,
4cd238effSMauro Carvalho Chehab# see Documentation/kbuild/kconfig-language.rst.
570e84049SMiguel Ojeda Sandonis#
670e84049SMiguel Ojeda Sandonis# Auxiliary display drivers configuration.
770e84049SMiguel Ojeda Sandonis#
870e84049SMiguel Ojeda Sandonis
9f5920969SJan Engelhardtmenuconfig AUXDISPLAY
10f5920969SJan Engelhardt	bool "Auxiliary Display support"
11a7f7f624SMasahiro Yamada	help
1206bfb7ebSJan Engelhardt	  Say Y here to get to see options for auxiliary display drivers.
1306bfb7ebSJan Engelhardt	  This option alone does not add any kernel code.
1406bfb7ebSJan Engelhardt
1506bfb7ebSJan Engelhardt	  If you say N, all options in this submenu will be skipped and disabled.
16f5920969SJan Engelhardt
17c0aa24baSH Hartley Sweetenif AUXDISPLAY
1870e84049SMiguel Ojeda Sandonis
1916934de4SAndy Shevchenko#
2016934de4SAndy Shevchenko# Character LCD section
2116934de4SAndy Shevchenko#
22718e05edSLars Poeschelconfig CHARLCD
23718e05edSLars Poeschel	tristate "Character LCD core support" if COMPILE_TEST
24718e05edSLars Poeschel	help
25718e05edSLars Poeschel	  This is the base system for character-based LCD displays.
26718e05edSLars Poeschel	  It makes no sense to have this alone, you select your display driver
27718e05edSLars Poeschel	  and if it needs the charlcd core, it will select it automatically.
28718e05edSLars Poeschel	  This is some character LCD core interface that multiple drivers can
29718e05edSLars Poeschel	  use.
30718e05edSLars Poeschel
31718e05edSLars Poeschelconfig HD44780_COMMON
32718e05edSLars Poeschel	tristate "Common functions for HD44780 (and compatibles) LCD displays" if COMPILE_TEST
33ffdf726dSLars Poeschel	select CHARLCD
34718e05edSLars Poeschel	help
35718e05edSLars Poeschel	  This is a module with the common symbols for HD44780 (and compatibles)
36718e05edSLars Poeschel	  displays. This is the code that multiple other modules use. It is not
37718e05edSLars Poeschel	  useful alone. If you have some sort of HD44780 compatible display,
38718e05edSLars Poeschel	  you very likely use this. It is selected automatically by selecting
39718e05edSLars Poeschel	  your concrete display.
40718e05edSLars Poeschel
41d47d8836SGeert Uytterhoevenconfig HD44780
42d47d8836SGeert Uytterhoeven	tristate "HD44780 Character LCD support"
43d47d8836SGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
44718e05edSLars Poeschel	select HD44780_COMMON
45a7f7f624SMasahiro Yamada	help
46d47d8836SGeert Uytterhoeven	  Enable support for Character LCDs using a HD44780 controller.
47d47d8836SGeert Uytterhoeven	  The LCD is accessible through the /dev/lcd char device (10, 156).
48d47d8836SGeert Uytterhoeven	  This code can either be compiled as a module, or linked into the
49d47d8836SGeert Uytterhoeven	  kernel and started at boot.
50d47d8836SGeert Uytterhoeven	  If you don't understand what all this is about, say N.
51d47d8836SGeert Uytterhoeven
528c9108d0SLars Poeschelconfig LCD2S
538c9108d0SLars Poeschel	tristate "lcd2s 20x4 character display over I2C console"
548c9108d0SLars Poeschel	depends on I2C
558c9108d0SLars Poeschel	select CHARLCD
568c9108d0SLars Poeschel	help
578c9108d0SLars Poeschel	  This is a driver that lets you use the lcd2s 20x4 character display
588c9108d0SLars Poeschel	  from Modtronix engineering as a console output device. The display
598c9108d0SLars Poeschel	  is a simple single color character display. You have to connect it
608c9108d0SLars Poeschel	  to an I2C bus.
618c9108d0SLars Poeschel
6224c764abSMans Rullgardmenuconfig PARPORT_PANEL
6351c1e9b5SAndy Shevchenko	tristate "Parallel port LCD/Keypad Panel support"
6451c1e9b5SAndy Shevchenko	depends on PARPORT
65718e05edSLars Poeschel	select HD44780_COMMON
66a7f7f624SMasahiro Yamada	help
6751c1e9b5SAndy Shevchenko	  Say Y here if you have an HD44780 or KS-0074 LCD connected to your
6851c1e9b5SAndy Shevchenko	  parallel port. This driver also features 4 and 6-key keypads. The LCD
6951c1e9b5SAndy Shevchenko	  is accessible through the /dev/lcd char device (10, 156), and the
7051c1e9b5SAndy Shevchenko	  keypad through /dev/keypad (10, 185). This code can either be
7151c1e9b5SAndy Shevchenko	  compiled as a module, or linked into the kernel and started at boot.
7251c1e9b5SAndy Shevchenko	  If you don't understand what all this is about, say N.
7351c1e9b5SAndy Shevchenko
7424c764abSMans Rullgardif PARPORT_PANEL
7551c1e9b5SAndy Shevchenko
7651c1e9b5SAndy Shevchenkoconfig PANEL_PARPORT
7751c1e9b5SAndy Shevchenko	int "Default parallel port number (0=LPT1)"
7851c1e9b5SAndy Shevchenko	range 0 255
7951c1e9b5SAndy Shevchenko	default "0"
80a7f7f624SMasahiro Yamada	help
8151c1e9b5SAndy Shevchenko	  This is the index of the parallel port the panel is connected to. One
8251c1e9b5SAndy Shevchenko	  driver instance only supports one parallel port, so if your keypad
8351c1e9b5SAndy Shevchenko	  and LCD are connected to two separate ports, you have to start two
8451c1e9b5SAndy Shevchenko	  modules with different arguments. Numbering starts with '0' for LPT1,
8551c1e9b5SAndy Shevchenko	  and so on.
8651c1e9b5SAndy Shevchenko
8751c1e9b5SAndy Shevchenkoconfig PANEL_PROFILE
8851c1e9b5SAndy Shevchenko	int "Default panel profile (0-5, 0=custom)"
8951c1e9b5SAndy Shevchenko	range 0 5
9051c1e9b5SAndy Shevchenko	default "5"
91a7f7f624SMasahiro Yamada	help
9251c1e9b5SAndy Shevchenko	  To ease configuration, the driver supports different configuration
9351c1e9b5SAndy Shevchenko	  profiles for past and recent wirings. These profiles can also be
9451c1e9b5SAndy Shevchenko	  used to define an approximative configuration, completed by a few
9551c1e9b5SAndy Shevchenko	  other options. Here are the profiles :
9651c1e9b5SAndy Shevchenko
9751c1e9b5SAndy Shevchenko	    0 = custom (see further)
9851c1e9b5SAndy Shevchenko	    1 = 2x16 parallel LCD, old keypad
9951c1e9b5SAndy Shevchenko	    2 = 2x16 serial LCD (KS-0074), new keypad
10051c1e9b5SAndy Shevchenko	    3 = 2x16 parallel LCD (Hantronix), no keypad
10151c1e9b5SAndy Shevchenko	    4 = 2x16 parallel LCD (Nexcom NSA1045) with Nexcom's keypad
10251c1e9b5SAndy Shevchenko	    5 = 2x40 parallel LCD (old one), with old keypad
10351c1e9b5SAndy Shevchenko
10451c1e9b5SAndy Shevchenko	  Custom configurations allow you to define how your display is
10551c1e9b5SAndy Shevchenko	  wired to the parallel port, and how it works. This is only intended
10651c1e9b5SAndy Shevchenko	  for experts.
10751c1e9b5SAndy Shevchenko
10851c1e9b5SAndy Shevchenkoconfig PANEL_KEYPAD
10951c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0"
11051c1e9b5SAndy Shevchenko	int "Keypad type (0=none, 1=old 6 keys, 2=new 6 keys, 3=Nexcom 4 keys)"
11151c1e9b5SAndy Shevchenko	range 0 3
11251c1e9b5SAndy Shevchenko	default 0
113a7f7f624SMasahiro Yamada	help
11451c1e9b5SAndy Shevchenko	  This enables and configures a keypad connected to the parallel port.
11551c1e9b5SAndy Shevchenko	  The keys will be read from character device 10,185. Valid values are :
11651c1e9b5SAndy Shevchenko
11751c1e9b5SAndy Shevchenko	    0 : do not enable this driver
11851c1e9b5SAndy Shevchenko	    1 : old 6 keys keypad
11951c1e9b5SAndy Shevchenko	    2 : new 6 keys keypad, as used on the server at www.ant-computing.com
12051c1e9b5SAndy Shevchenko	    3 : Nexcom NSA1045's 4 keys keypad
12151c1e9b5SAndy Shevchenko
12251c1e9b5SAndy Shevchenko	  New profiles can be described in the driver source. The driver also
12351c1e9b5SAndy Shevchenko	  supports simultaneous keys pressed when the keypad supports them.
12451c1e9b5SAndy Shevchenko
12551c1e9b5SAndy Shevchenkoconfig PANEL_LCD
12651c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0"
12751c1e9b5SAndy Shevchenko	int "LCD type (0=none, 1=custom, 2=old //, 3=ks0074, 4=hantronix, 5=Nexcom)"
12851c1e9b5SAndy Shevchenko	range 0 5
12951c1e9b5SAndy Shevchenko	default 0
130a7f7f624SMasahiro Yamada	help
13151c1e9b5SAndy Shevchenko	   This enables and configures an LCD connected to the parallel port.
13251c1e9b5SAndy Shevchenko	   The driver includes an interpreter for escape codes starting with
13351c1e9b5SAndy Shevchenko	   '\e[L' which are specific to the LCD, and a few ANSI codes. The
13451c1e9b5SAndy Shevchenko	   driver will be registered as character device 10,156, usually
13551c1e9b5SAndy Shevchenko	   under the name '/dev/lcd'. There are a total of 6 supported types :
13651c1e9b5SAndy Shevchenko
13751c1e9b5SAndy Shevchenko	     0 : do not enable the driver
13851c1e9b5SAndy Shevchenko	     1 : custom configuration and wiring (see further)
13951c1e9b5SAndy Shevchenko	     2 : 2x16 & 2x40 parallel LCD (old wiring)
14051c1e9b5SAndy Shevchenko	     3 : 2x16 serial LCD (KS-0074 based)
14151c1e9b5SAndy Shevchenko	     4 : 2x16 parallel LCD (Hantronix wiring)
14251c1e9b5SAndy Shevchenko	     5 : 2x16 parallel LCD (Nexcom wiring)
14351c1e9b5SAndy Shevchenko
14451c1e9b5SAndy Shevchenko	   When type '1' is specified, other options will appear to configure
14551c1e9b5SAndy Shevchenko	   more precise aspects (wiring, dimensions, protocol, ...). Please note
14651c1e9b5SAndy Shevchenko	   that those values changed from the 2.4 driver for better consistency.
14751c1e9b5SAndy Shevchenko
14851c1e9b5SAndy Shevchenkoconfig PANEL_LCD_HEIGHT
14951c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1"
15051c1e9b5SAndy Shevchenko	int "Number of lines on the LCD (1-2)"
15151c1e9b5SAndy Shevchenko	range 1 2
15251c1e9b5SAndy Shevchenko	default 2
153a7f7f624SMasahiro Yamada	help
15451c1e9b5SAndy Shevchenko	  This is the number of visible character lines on the LCD in custom profile.
15551c1e9b5SAndy Shevchenko	  It can either be 1 or 2.
15651c1e9b5SAndy Shevchenko
15751c1e9b5SAndy Shevchenkoconfig PANEL_LCD_WIDTH
15851c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1"
15951c1e9b5SAndy Shevchenko	int "Number of characters per line on the LCD (1-40)"
16051c1e9b5SAndy Shevchenko	range 1 40
16151c1e9b5SAndy Shevchenko	default 40
162a7f7f624SMasahiro Yamada	help
16351c1e9b5SAndy Shevchenko	  This is the number of characters per line on the LCD in custom profile.
16451c1e9b5SAndy Shevchenko	  Common values are 16,20,24,40.
16551c1e9b5SAndy Shevchenko
16651c1e9b5SAndy Shevchenkoconfig PANEL_LCD_BWIDTH
16751c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1"
16851c1e9b5SAndy Shevchenko	int "Internal LCD line width (1-40, 40 by default)"
16951c1e9b5SAndy Shevchenko	range 1 40
17051c1e9b5SAndy Shevchenko	default 40
171a7f7f624SMasahiro Yamada	help
17251c1e9b5SAndy Shevchenko	  Most LCDs use a standard controller which supports hardware lines of 40
17351c1e9b5SAndy Shevchenko	  characters, although sometimes only 16, 20 or 24 of them are really wired
17451c1e9b5SAndy Shevchenko	  to the terminal. This results in some non-visible but addressable characters,
17551c1e9b5SAndy Shevchenko	  and is the case for most parallel LCDs. Other LCDs, and some serial ones,
17651c1e9b5SAndy Shevchenko	  however, use the same line width internally as what is visible. The KS0074
17751c1e9b5SAndy Shevchenko	  for example, uses 16 characters per line for 16 visible characters per line.
17851c1e9b5SAndy Shevchenko
17951c1e9b5SAndy Shevchenko	  This option lets you configure the value used by your LCD in 'custom' profile.
18051c1e9b5SAndy Shevchenko	  If you don't know, put '40' here.
18151c1e9b5SAndy Shevchenko
18251c1e9b5SAndy Shevchenkoconfig PANEL_LCD_HWIDTH
18351c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1"
18451c1e9b5SAndy Shevchenko	int "Hardware LCD line width (1-64, 64 by default)"
18551c1e9b5SAndy Shevchenko	range 1 64
18651c1e9b5SAndy Shevchenko	default 64
187a7f7f624SMasahiro Yamada	help
18851c1e9b5SAndy Shevchenko	  Most LCDs use a single address bit to differentiate line 0 and line 1. Since
18951c1e9b5SAndy Shevchenko	  some of them need to be able to address 40 chars with the lower bits, they
19051c1e9b5SAndy Shevchenko	  often use the immediately superior power of 2, which is 64, to address the
19151c1e9b5SAndy Shevchenko	  next line.
19251c1e9b5SAndy Shevchenko
19351c1e9b5SAndy Shevchenko	  If you don't know what your LCD uses, in doubt let 16 here for a 2x16, and
19451c1e9b5SAndy Shevchenko	  64 here for a 2x40.
19551c1e9b5SAndy Shevchenko
19651c1e9b5SAndy Shevchenkoconfig PANEL_LCD_CHARSET
19751c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1"
19851c1e9b5SAndy Shevchenko	int "LCD character set (0=normal, 1=KS0074)"
19951c1e9b5SAndy Shevchenko	range 0 1
20051c1e9b5SAndy Shevchenko	default 0
201a7f7f624SMasahiro Yamada	help
20251c1e9b5SAndy Shevchenko	  Some controllers such as the KS0074 use a somewhat strange character set
20351c1e9b5SAndy Shevchenko	  where many symbols are at unusual places. The driver knows how to map
20451c1e9b5SAndy Shevchenko	  'standard' ASCII characters to the character sets used by these controllers.
20551c1e9b5SAndy Shevchenko	  Valid values are :
20651c1e9b5SAndy Shevchenko
20751c1e9b5SAndy Shevchenko	     0 : normal (untranslated) character set
20851c1e9b5SAndy Shevchenko	     1 : KS0074 character set
20951c1e9b5SAndy Shevchenko
21051c1e9b5SAndy Shevchenko	  If you don't know, use the normal one (0).
21151c1e9b5SAndy Shevchenko
21251c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PROTO
21351c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1"
21451c1e9b5SAndy Shevchenko	int "LCD communication mode (0=parallel 8 bits, 1=serial)"
21551c1e9b5SAndy Shevchenko	range 0 1
21651c1e9b5SAndy Shevchenko	default 0
217a7f7f624SMasahiro Yamada	help
21851c1e9b5SAndy Shevchenko	  This driver now supports any serial or parallel LCD wired to a parallel
21951c1e9b5SAndy Shevchenko	  port. But before assigning signals, the driver needs to know if it will
22051c1e9b5SAndy Shevchenko	  be driving a serial LCD or a parallel one. Serial LCDs only use 2 wires
22151c1e9b5SAndy Shevchenko	  (SDA/SCL), while parallel ones use 2 or 3 wires for the control signals
22251c1e9b5SAndy Shevchenko	  (E, RS, sometimes RW), and 4 or 8 for the data. Use 0 here for a 8 bits
22351c1e9b5SAndy Shevchenko	  parallel LCD, and 1 for a serial LCD.
22451c1e9b5SAndy Shevchenko
22551c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_E
22651c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
22751c1e9b5SAndy Shevchenko	int "Parallel port pin number & polarity connected to the LCD E signal (-17...17) "
22851c1e9b5SAndy Shevchenko	range -17 17
22951c1e9b5SAndy Shevchenko	default 14
230a7f7f624SMasahiro Yamada	help
23151c1e9b5SAndy Shevchenko	  This describes the number of the parallel port pin to which the LCD 'E'
23251c1e9b5SAndy Shevchenko	  signal has been connected. It can be :
23351c1e9b5SAndy Shevchenko
23451c1e9b5SAndy Shevchenko	          0 : no connection (eg: connected to ground)
23551c1e9b5SAndy Shevchenko	      1..17 : directly connected to any of these pins on the DB25 plug
23651c1e9b5SAndy Shevchenko	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
23751c1e9b5SAndy Shevchenko
23851c1e9b5SAndy Shevchenko	  Default for the 'E' pin in custom profile is '14' (AUTOFEED).
23951c1e9b5SAndy Shevchenko
24051c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_RS
24151c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
24251c1e9b5SAndy Shevchenko	int "Parallel port pin number & polarity connected to the LCD RS signal (-17...17) "
24351c1e9b5SAndy Shevchenko	range -17 17
24451c1e9b5SAndy Shevchenko	default 17
245a7f7f624SMasahiro Yamada	help
24651c1e9b5SAndy Shevchenko	  This describes the number of the parallel port pin to which the LCD 'RS'
24751c1e9b5SAndy Shevchenko	  signal has been connected. It can be :
24851c1e9b5SAndy Shevchenko
24951c1e9b5SAndy Shevchenko	          0 : no connection (eg: connected to ground)
25051c1e9b5SAndy Shevchenko	      1..17 : directly connected to any of these pins on the DB25 plug
25151c1e9b5SAndy Shevchenko	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
25251c1e9b5SAndy Shevchenko
25351c1e9b5SAndy Shevchenko	  Default for the 'RS' pin in custom profile is '17' (SELECT IN).
25451c1e9b5SAndy Shevchenko
25551c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_RW
25651c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
25751c1e9b5SAndy Shevchenko	int "Parallel port pin number & polarity connected to the LCD RW signal (-17...17) "
25851c1e9b5SAndy Shevchenko	range -17 17
25951c1e9b5SAndy Shevchenko	default 16
260a7f7f624SMasahiro Yamada	help
26151c1e9b5SAndy Shevchenko	  This describes the number of the parallel port pin to which the LCD 'RW'
26251c1e9b5SAndy Shevchenko	  signal has been connected. It can be :
26351c1e9b5SAndy Shevchenko
26451c1e9b5SAndy Shevchenko	          0 : no connection (eg: connected to ground)
26551c1e9b5SAndy Shevchenko	      1..17 : directly connected to any of these pins on the DB25 plug
26651c1e9b5SAndy Shevchenko	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
26751c1e9b5SAndy Shevchenko
26851c1e9b5SAndy Shevchenko	  Default for the 'RW' pin in custom profile is '16' (INIT).
26951c1e9b5SAndy Shevchenko
27051c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_SCL
27151c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0"
27251c1e9b5SAndy Shevchenko	int "Parallel port pin number & polarity connected to the LCD SCL signal (-17...17) "
27351c1e9b5SAndy Shevchenko	range -17 17
27451c1e9b5SAndy Shevchenko	default 1
275a7f7f624SMasahiro Yamada	help
27651c1e9b5SAndy Shevchenko	  This describes the number of the parallel port pin to which the serial
27751c1e9b5SAndy Shevchenko	  LCD 'SCL' signal has been connected. It can be :
27851c1e9b5SAndy Shevchenko
27951c1e9b5SAndy Shevchenko	          0 : no connection (eg: connected to ground)
28051c1e9b5SAndy Shevchenko	      1..17 : directly connected to any of these pins on the DB25 plug
28151c1e9b5SAndy Shevchenko	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
28251c1e9b5SAndy Shevchenko
28351c1e9b5SAndy Shevchenko	  Default for the 'SCL' pin in custom profile is '1' (STROBE).
28451c1e9b5SAndy Shevchenko
28551c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_SDA
28651c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0"
28751c1e9b5SAndy Shevchenko	int "Parallel port pin number & polarity connected to the LCD SDA signal (-17...17) "
28851c1e9b5SAndy Shevchenko	range -17 17
28951c1e9b5SAndy Shevchenko	default 2
290a7f7f624SMasahiro Yamada	help
29151c1e9b5SAndy Shevchenko	  This describes the number of the parallel port pin to which the serial
29251c1e9b5SAndy Shevchenko	  LCD 'SDA' signal has been connected. It can be :
29351c1e9b5SAndy Shevchenko
29451c1e9b5SAndy Shevchenko	          0 : no connection (eg: connected to ground)
29551c1e9b5SAndy Shevchenko	      1..17 : directly connected to any of these pins on the DB25 plug
29651c1e9b5SAndy Shevchenko	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
29751c1e9b5SAndy Shevchenko
29851c1e9b5SAndy Shevchenko	  Default for the 'SDA' pin in custom profile is '2' (D0).
29951c1e9b5SAndy Shevchenko
30051c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_BL
30151c1e9b5SAndy Shevchenko	depends on PANEL_PROFILE="0" && PANEL_LCD="1"
30251c1e9b5SAndy Shevchenko	int "Parallel port pin number & polarity connected to the LCD backlight signal (-17...17) "
30351c1e9b5SAndy Shevchenko	range -17 17
30451c1e9b5SAndy Shevchenko	default 0
305a7f7f624SMasahiro Yamada	help
30651c1e9b5SAndy Shevchenko	  This describes the number of the parallel port pin to which the LCD 'BL' signal
30751c1e9b5SAndy Shevchenko	  has been connected. It can be :
30851c1e9b5SAndy Shevchenko
30951c1e9b5SAndy Shevchenko	          0 : no connection (eg: connected to ground)
31051c1e9b5SAndy Shevchenko	      1..17 : directly connected to any of these pins on the DB25 plug
31151c1e9b5SAndy Shevchenko	    -1..-17 : connected to the same pin through an inverter (eg: transistor).
31251c1e9b5SAndy Shevchenko
31351c1e9b5SAndy Shevchenko	  Default for the 'BL' pin in custom profile is '0' (uncontrolled).
31451c1e9b5SAndy Shevchenko
31524c764abSMans Rullgardendif # PARPORT_PANEL
31624c764abSMans Rullgard
31751c1e9b5SAndy Shevchenkoconfig PANEL_CHANGE_MESSAGE
31851c1e9b5SAndy Shevchenko	bool "Change LCD initialization message ?"
319c8ffef98SChris Packham	depends on CHARLCD || LINEDISP
320a7f7f624SMasahiro Yamada	help
32151c1e9b5SAndy Shevchenko	  This allows you to replace the boot message indicating the kernel version
32251c1e9b5SAndy Shevchenko	  and the driver version with a custom message. This is useful on appliances
32351c1e9b5SAndy Shevchenko	  where a simple 'Starting system' message can be enough to stop a customer
32451c1e9b5SAndy Shevchenko	  from worrying.
32551c1e9b5SAndy Shevchenko
32651c1e9b5SAndy Shevchenko	  If you say 'Y' here, you'll be able to choose a message yourself. Otherwise,
32751c1e9b5SAndy Shevchenko	  say 'N' and keep the default message with the version.
32851c1e9b5SAndy Shevchenko
32951c1e9b5SAndy Shevchenkoconfig PANEL_BOOT_MESSAGE
33051c1e9b5SAndy Shevchenko	depends on PANEL_CHANGE_MESSAGE="y"
33151c1e9b5SAndy Shevchenko	string "New initialization message"
33251c1e9b5SAndy Shevchenko	default ""
333a7f7f624SMasahiro Yamada	help
33451c1e9b5SAndy Shevchenko	  This allows you to replace the boot message indicating the kernel version
33551c1e9b5SAndy Shevchenko	  and the driver version with a custom message. This is useful on appliances
33651c1e9b5SAndy Shevchenko	  where a simple 'Starting system' message can be enough to stop a customer
33751c1e9b5SAndy Shevchenko	  from worrying.
33851c1e9b5SAndy Shevchenko
33951c1e9b5SAndy Shevchenko	  An empty message will only clear the display at driver init time. Any other
34051c1e9b5SAndy Shevchenko	  printf()-formatted message is valid with newline and escape codes.
34151c1e9b5SAndy Shevchenko
342cc5d04d8SMans Rullgardchoice
343cc5d04d8SMans Rullgard	prompt "Backlight initial state"
344cc5d04d8SMans Rullgard	default CHARLCD_BL_FLASH
345a7f7f624SMasahiro Yamada	help
346ba2c1340SMans Rullgard	  Select the initial backlight state on boot or module load.
347ba2c1340SMans Rullgard
348ba2c1340SMans Rullgard	  Previously, there was no option for this: the backlight flashed
349ba2c1340SMans Rullgard	  briefly on init. Now you can also turn it off/on.
350cc5d04d8SMans Rullgard
351cc5d04d8SMans Rullgard	config CHARLCD_BL_OFF
352cc5d04d8SMans Rullgard		bool "Off"
353cc5d04d8SMans Rullgard		help
354cc5d04d8SMans Rullgard		  Backlight is initially turned off
355cc5d04d8SMans Rullgard
356cc5d04d8SMans Rullgard	config CHARLCD_BL_ON
357cc5d04d8SMans Rullgard		bool "On"
358cc5d04d8SMans Rullgard		help
359cc5d04d8SMans Rullgard		  Backlight is initially turned on
360cc5d04d8SMans Rullgard
361cc5d04d8SMans Rullgard	config CHARLCD_BL_FLASH
362cc5d04d8SMans Rullgard		bool "Flash"
363cc5d04d8SMans Rullgard		help
364cc5d04d8SMans Rullgard		  Backlight is flashed briefly on init
365cc5d04d8SMans Rullgard
366cc5d04d8SMans Rullgardendchoice
367cc5d04d8SMans Rullgard
36816934de4SAndy Shevchenko#
36916934de4SAndy Shevchenko# Samsung KS0108 LCD controller section
37016934de4SAndy Shevchenko#
37116934de4SAndy Shevchenkoconfig KS0108
37216934de4SAndy Shevchenko	tristate "KS0108 LCD Controller"
37316934de4SAndy Shevchenko	depends on PARPORT_PC
37416934de4SAndy Shevchenko	help
37516934de4SAndy Shevchenko	  If you have a LCD controlled by one or more KS0108
37616934de4SAndy Shevchenko	  controllers, say Y. You will need also another more specific
37716934de4SAndy Shevchenko	  driver for your LCD.
37816934de4SAndy Shevchenko
37916934de4SAndy Shevchenko	  Depends on Parallel Port support. If you say Y at
38016934de4SAndy Shevchenko	  parport, you will be able to compile this as a module (M)
38116934de4SAndy Shevchenko	  and built-in as well (Y).
38216934de4SAndy Shevchenko
38316934de4SAndy Shevchenko	  To compile this as a module, choose M here:
38416934de4SAndy Shevchenko	  the module will be called ks0108.
38516934de4SAndy Shevchenko
38616934de4SAndy Shevchenko	  If unsure, say N.
38716934de4SAndy Shevchenko
38816934de4SAndy Shevchenkoconfig KS0108_PORT
38916934de4SAndy Shevchenko	hex "Parallel port where the LCD is connected"
39016934de4SAndy Shevchenko	depends on KS0108
39116934de4SAndy Shevchenko	default 0x378
39216934de4SAndy Shevchenko	help
39316934de4SAndy Shevchenko	  The address of the parallel port where the LCD is connected.
39416934de4SAndy Shevchenko
39516934de4SAndy Shevchenko	  The first  standard parallel port address is 0x378.
39616934de4SAndy Shevchenko	  The second standard parallel port address is 0x278.
39716934de4SAndy Shevchenko	  The third  standard parallel port address is 0x3BC.
39816934de4SAndy Shevchenko
39916934de4SAndy Shevchenko	  You can specify a different address if you need.
40016934de4SAndy Shevchenko
40116934de4SAndy Shevchenko	  If you don't know what I'm talking about, load the parport module,
40216934de4SAndy Shevchenko	  and execute "dmesg" or "cat /proc/ioports". You can see there how
40316934de4SAndy Shevchenko	  many parallel ports are present and which address each one has.
40416934de4SAndy Shevchenko
40516934de4SAndy Shevchenko	  Usually you only need to use 0x378.
40616934de4SAndy Shevchenko
40716934de4SAndy Shevchenko	  If you compile this as a module, you can still override this
40816934de4SAndy Shevchenko	  using the module parameters.
40916934de4SAndy Shevchenko
41016934de4SAndy Shevchenkoconfig KS0108_DELAY
41116934de4SAndy Shevchenko	int "Delay between each control writing (microseconds)"
41216934de4SAndy Shevchenko	depends on KS0108
41316934de4SAndy Shevchenko	default "2"
41416934de4SAndy Shevchenko	help
41516934de4SAndy Shevchenko	  Amount of time the ks0108 should wait between each control write
41616934de4SAndy Shevchenko	  to the parallel port.
41716934de4SAndy Shevchenko
41816934de4SAndy Shevchenko	  If your LCD seems to miss random writings, increment this.
41916934de4SAndy Shevchenko
42016934de4SAndy Shevchenko	  If you don't know what I'm talking about, ignore it.
42116934de4SAndy Shevchenko
42216934de4SAndy Shevchenko	  If you compile this as a module, you can still override this
42316934de4SAndy Shevchenko	  value using the module parameters.
42416934de4SAndy Shevchenko
42516934de4SAndy Shevchenkoconfig CFAG12864B
42616934de4SAndy Shevchenko	tristate "CFAG12864B LCD"
42716934de4SAndy Shevchenko	depends on X86
42816934de4SAndy Shevchenko	depends on FB
42916934de4SAndy Shevchenko	depends on KS0108
43016934de4SAndy Shevchenko	select FB_SYSMEM_HELPERS
43116934de4SAndy Shevchenko	help
43216934de4SAndy Shevchenko	  If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series,
43316934de4SAndy Shevchenko	  say Y. You also need the ks0108 LCD Controller driver.
43416934de4SAndy Shevchenko
43516934de4SAndy Shevchenko	  For help about how to wire your LCD to the parallel port,
43616934de4SAndy Shevchenko	  check Documentation/admin-guide/auxdisplay/cfag12864b.rst
43716934de4SAndy Shevchenko
43816934de4SAndy Shevchenko	  Depends on the x86 arch and the framebuffer support.
43916934de4SAndy Shevchenko
44016934de4SAndy Shevchenko	  The LCD framebuffer driver can be attached to a console.
44116934de4SAndy Shevchenko	  It will work fine. However, you can't attach it to the fbdev driver
44216934de4SAndy Shevchenko	  of the xorg server.
44316934de4SAndy Shevchenko
44416934de4SAndy Shevchenko	  To compile this as a module, choose M here:
44516934de4SAndy Shevchenko	  the modules will be called cfag12864b and cfag12864bfb.
44616934de4SAndy Shevchenko
44716934de4SAndy Shevchenko	  If unsure, say N.
44816934de4SAndy Shevchenko
44916934de4SAndy Shevchenkoconfig CFAG12864B_RATE
45016934de4SAndy Shevchenko	int "Refresh rate (hertz)"
45116934de4SAndy Shevchenko	depends on CFAG12864B
45216934de4SAndy Shevchenko	default "20"
45316934de4SAndy Shevchenko	help
45416934de4SAndy Shevchenko	  Refresh rate of the LCD.
45516934de4SAndy Shevchenko
45616934de4SAndy Shevchenko	  As the LCD is not memory mapped, the driver has to make the work by
45716934de4SAndy Shevchenko	  software. This means you should be careful setting this value higher.
45816934de4SAndy Shevchenko	  If your CPUs are really slow or you feel the system is slowed down,
45916934de4SAndy Shevchenko	  decrease the value.
46016934de4SAndy Shevchenko
46116934de4SAndy Shevchenko	  Be careful modifying this value to a very high value:
46216934de4SAndy Shevchenko	  You can freeze the computer, or the LCD maybe can't draw as fast as you
46316934de4SAndy Shevchenko	  are requesting.
46416934de4SAndy Shevchenko
46516934de4SAndy Shevchenko	  If you don't know what I'm talking about, ignore it.
46616934de4SAndy Shevchenko
46716934de4SAndy Shevchenko	  If you compile this as a module, you can still override this
46816934de4SAndy Shevchenko	  value using the module parameters.
46916934de4SAndy Shevchenko
47016934de4SAndy Shevchenko#
47116934de4SAndy Shevchenko# Single character line display section
47216934de4SAndy Shevchenko#
47316934de4SAndy Shevchenkoconfig LINEDISP
47416934de4SAndy Shevchenko	tristate "Character line display core support" if COMPILE_TEST
47516934de4SAndy Shevchenko	help
47616934de4SAndy Shevchenko	  This is the core support for single-line character displays, to be
47716934de4SAndy Shevchenko	  selected by drivers that use it.
47816934de4SAndy Shevchenko
47916934de4SAndy Shevchenkoconfig IMG_ASCII_LCD
48016934de4SAndy Shevchenko	tristate "Imagination Technologies ASCII LCD Display"
48116934de4SAndy Shevchenko	depends on HAS_IOMEM
48216934de4SAndy Shevchenko	default y if MIPS_MALTA
48316934de4SAndy Shevchenko	select MFD_SYSCON
48416934de4SAndy Shevchenko	select LINEDISP
48516934de4SAndy Shevchenko	help
48616934de4SAndy Shevchenko	  Enable this to support the simple ASCII LCD displays found on
48716934de4SAndy Shevchenko	  development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3
48816934de4SAndy Shevchenko	  from Imagination Technologies.
48916934de4SAndy Shevchenko
49016934de4SAndy Shevchenkoconfig HT16K33
49116934de4SAndy Shevchenko	tristate "Holtek Ht16K33 LED controller with keyscan"
4928fc38062SThomas Zimmermann	depends on FB && I2C && INPUT && BACKLIGHT_CLASS_DEVICE
49316934de4SAndy Shevchenko	select FB_SYSMEM_HELPERS
49416934de4SAndy Shevchenko	select INPUT_MATRIXKMAP
49516934de4SAndy Shevchenko	select FB_BACKLIGHT
49616934de4SAndy Shevchenko	select NEW_LEDS
49716934de4SAndy Shevchenko	select LEDS_CLASS
49816934de4SAndy Shevchenko	select LINEDISP
49916934de4SAndy Shevchenko	help
50016934de4SAndy Shevchenko	  Say yes here to add support for Holtek HT16K33, RAM mapping 16*8
50116934de4SAndy Shevchenko	  LED controller driver with keyscan.
50216934de4SAndy Shevchenko
50316934de4SAndy Shevchenkoconfig MAX6959
50416934de4SAndy Shevchenko	tristate "Maxim MAX6958/6959 7-segment LED controller"
50516934de4SAndy Shevchenko	depends on I2C
506*fce85f3dSGeert Uytterhoeven	select BITREVERSE
50716934de4SAndy Shevchenko	select REGMAP_I2C
50816934de4SAndy Shevchenko	select LINEDISP
50916934de4SAndy Shevchenko	help
51016934de4SAndy Shevchenko	  If you say yes here you get support for the following Maxim chips
51116934de4SAndy Shevchenko	  (I2C 7-segment LED display controller):
51216934de4SAndy Shevchenko	  - MAX6958
51316934de4SAndy Shevchenko	  - MAX6959 (input support)
51416934de4SAndy Shevchenko
51516934de4SAndy Shevchenko	  This driver can also be built as a module. If so, the module
51616934de4SAndy Shevchenko	  will be called max6959.
51716934de4SAndy Shevchenko
51816934de4SAndy Shevchenkoconfig SEG_LED_GPIO
51916934de4SAndy Shevchenko	tristate "Generic 7-segment LED display"
52016934de4SAndy Shevchenko	depends on GPIOLIB || COMPILE_TEST
52116934de4SAndy Shevchenko	select LINEDISP
52216934de4SAndy Shevchenko	help
52316934de4SAndy Shevchenko	  This driver supports a generic 7-segment LED display made up
52416934de4SAndy Shevchenko	  of GPIO pins connected to the individual segments.
52516934de4SAndy Shevchenko
52616934de4SAndy Shevchenko	  This driver can also be built as a module. If so, the module
52716934de4SAndy Shevchenko	  will be called seg-led-gpio.
52816934de4SAndy Shevchenko
52916934de4SAndy Shevchenko#
53016934de4SAndy Shevchenko# Character LCD with non-conforming interface section
53116934de4SAndy Shevchenko#
53216934de4SAndy Shevchenkoconfig ARM_CHARLCD
53316934de4SAndy Shevchenko	bool "ARM Ltd. Character LCD Driver"
53416934de4SAndy Shevchenko	depends on PLAT_VERSATILE
53516934de4SAndy Shevchenko	help
53616934de4SAndy Shevchenko	  This is a driver for the character LCD found on the ARM Ltd.
53716934de4SAndy Shevchenko	  Versatile and RealView Platform Baseboards. It doesn't do
53816934de4SAndy Shevchenko	  very much more than display the text "ARM Linux" on the first
53916934de4SAndy Shevchenko	  line and the Linux version on the second line, but that's
54016934de4SAndy Shevchenko	  still useful.
54116934de4SAndy Shevchenko
54224c764abSMans Rullgardendif # AUXDISPLAY
54324c764abSMans Rullgard
54416934de4SAndy Shevchenko#
54516934de4SAndy Shevchenko# Deprecated options
54616934de4SAndy Shevchenko#
54724c764abSMans Rullgardconfig PANEL
54824c764abSMans Rullgard	tristate "Parallel port LCD/Keypad Panel support (OLD OPTION)"
54924c764abSMans Rullgard	depends on PARPORT
55024c764abSMans Rullgard	select AUXDISPLAY
55124c764abSMans Rullgard	select PARPORT_PANEL
552