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 19718e05edSLars Poeschelconfig CHARLCD 20718e05edSLars Poeschel tristate "Character LCD core support" if COMPILE_TEST 21718e05edSLars Poeschel help 22718e05edSLars Poeschel This is the base system for character-based LCD displays. 23718e05edSLars Poeschel It makes no sense to have this alone, you select your display driver 24718e05edSLars Poeschel and if it needs the charlcd core, it will select it automatically. 25718e05edSLars Poeschel This is some character LCD core interface that multiple drivers can 26718e05edSLars Poeschel use. 27718e05edSLars Poeschel 287e76aeceSGeert Uytterhoevenconfig LINEDISP 297e76aeceSGeert Uytterhoeven tristate "Character line display core support" if COMPILE_TEST 307e76aeceSGeert Uytterhoeven help 317e76aeceSGeert Uytterhoeven This is the core support for single-line character displays, to be 327e76aeceSGeert Uytterhoeven selected by drivers that use it. 337e76aeceSGeert Uytterhoeven 34718e05edSLars Poeschelconfig HD44780_COMMON 35718e05edSLars Poeschel tristate "Common functions for HD44780 (and compatibles) LCD displays" if COMPILE_TEST 36ffdf726dSLars Poeschel select CHARLCD 37718e05edSLars Poeschel help 38718e05edSLars Poeschel This is a module with the common symbols for HD44780 (and compatibles) 39718e05edSLars Poeschel displays. This is the code that multiple other modules use. It is not 40718e05edSLars Poeschel useful alone. If you have some sort of HD44780 compatible display, 41718e05edSLars Poeschel you very likely use this. It is selected automatically by selecting 42718e05edSLars Poeschel your concrete display. 43718e05edSLars Poeschel 44d47d8836SGeert Uytterhoevenconfig HD44780 45d47d8836SGeert Uytterhoeven tristate "HD44780 Character LCD support" 46d47d8836SGeert Uytterhoeven depends on GPIOLIB || COMPILE_TEST 47718e05edSLars Poeschel select HD44780_COMMON 48a7f7f624SMasahiro Yamada help 49d47d8836SGeert Uytterhoeven Enable support for Character LCDs using a HD44780 controller. 50d47d8836SGeert Uytterhoeven The LCD is accessible through the /dev/lcd char device (10, 156). 51d47d8836SGeert Uytterhoeven This code can either be compiled as a module, or linked into the 52d47d8836SGeert Uytterhoeven kernel and started at boot. 53d47d8836SGeert Uytterhoeven If you don't understand what all this is about, say N. 54d47d8836SGeert Uytterhoeven 5570e84049SMiguel Ojeda Sandonisconfig KS0108 5670e84049SMiguel Ojeda Sandonis tristate "KS0108 LCD Controller" 5770e84049SMiguel Ojeda Sandonis depends on PARPORT_PC 5870e84049SMiguel Ojeda Sandonis default n 59a7f7f624SMasahiro Yamada help 6070e84049SMiguel Ojeda Sandonis If you have a LCD controlled by one or more KS0108 6170e84049SMiguel Ojeda Sandonis controllers, say Y. You will need also another more specific 6270e84049SMiguel Ojeda Sandonis driver for your LCD. 6370e84049SMiguel Ojeda Sandonis 6470e84049SMiguel Ojeda Sandonis Depends on Parallel Port support. If you say Y at 6570e84049SMiguel Ojeda Sandonis parport, you will be able to compile this as a module (M) 6670e84049SMiguel Ojeda Sandonis and built-in as well (Y). 6770e84049SMiguel Ojeda Sandonis 6870e84049SMiguel Ojeda Sandonis To compile this as a module, choose M here: 6970e84049SMiguel Ojeda Sandonis the module will be called ks0108. 7070e84049SMiguel Ojeda Sandonis 7170e84049SMiguel Ojeda Sandonis If unsure, say N. 7270e84049SMiguel Ojeda Sandonis 7370e84049SMiguel Ojeda Sandonisconfig KS0108_PORT 7470e84049SMiguel Ojeda Sandonis hex "Parallel port where the LCD is connected" 7570e84049SMiguel Ojeda Sandonis depends on KS0108 7670e84049SMiguel Ojeda Sandonis default 0x378 77a7f7f624SMasahiro Yamada help 7870e84049SMiguel Ojeda Sandonis The address of the parallel port where the LCD is connected. 7970e84049SMiguel Ojeda Sandonis 8070e84049SMiguel Ojeda Sandonis The first standard parallel port address is 0x378. 8170e84049SMiguel Ojeda Sandonis The second standard parallel port address is 0x278. 8270e84049SMiguel Ojeda Sandonis The third standard parallel port address is 0x3BC. 8370e84049SMiguel Ojeda Sandonis 8470e84049SMiguel Ojeda Sandonis You can specify a different address if you need. 8570e84049SMiguel Ojeda Sandonis 8670e84049SMiguel Ojeda Sandonis If you don't know what I'm talking about, load the parport module, 8770e84049SMiguel Ojeda Sandonis and execute "dmesg" or "cat /proc/ioports". You can see there how 8870e84049SMiguel Ojeda Sandonis many parallel ports are present and which address each one has. 8970e84049SMiguel Ojeda Sandonis 9070e84049SMiguel Ojeda Sandonis Usually you only need to use 0x378. 9170e84049SMiguel Ojeda Sandonis 9270e84049SMiguel Ojeda Sandonis If you compile this as a module, you can still override this 9370e84049SMiguel Ojeda Sandonis using the module parameters. 9470e84049SMiguel Ojeda Sandonis 9570e84049SMiguel Ojeda Sandonisconfig KS0108_DELAY 9670e84049SMiguel Ojeda Sandonis int "Delay between each control writing (microseconds)" 9770e84049SMiguel Ojeda Sandonis depends on KS0108 9870e84049SMiguel Ojeda Sandonis default "2" 99a7f7f624SMasahiro Yamada help 10070e84049SMiguel Ojeda Sandonis Amount of time the ks0108 should wait between each control write 10170e84049SMiguel Ojeda Sandonis to the parallel port. 10270e84049SMiguel Ojeda Sandonis 103450c622eSMiguel Ojeda If your LCD seems to miss random writings, increment this. 10470e84049SMiguel Ojeda Sandonis 10570e84049SMiguel Ojeda Sandonis If you don't know what I'm talking about, ignore it. 10670e84049SMiguel Ojeda Sandonis 10770e84049SMiguel Ojeda Sandonis If you compile this as a module, you can still override this 10870e84049SMiguel Ojeda Sandonis value using the module parameters. 10970e84049SMiguel Ojeda Sandonis 11070e84049SMiguel Ojeda Sandonisconfig CFAG12864B 11170e84049SMiguel Ojeda Sandonis tristate "CFAG12864B LCD" 11270e84049SMiguel Ojeda Sandonis depends on X86 11370e84049SMiguel Ojeda Sandonis depends on FB 11470e84049SMiguel Ojeda Sandonis depends on KS0108 115bfeeffbbSAvuton Olrich select FB_SYS_FILLRECT 116bfeeffbbSAvuton Olrich select FB_SYS_COPYAREA 117bfeeffbbSAvuton Olrich select FB_SYS_IMAGEBLIT 118bfeeffbbSAvuton Olrich select FB_SYS_FOPS 11970e84049SMiguel Ojeda Sandonis default n 120a7f7f624SMasahiro Yamada help 12170e84049SMiguel Ojeda Sandonis If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series, 12270e84049SMiguel Ojeda Sandonis say Y. You also need the ks0108 LCD Controller driver. 12370e84049SMiguel Ojeda Sandonis 12470e84049SMiguel Ojeda Sandonis For help about how to wire your LCD to the parallel port, 12576b5a6e8SMauro Carvalho Chehab check Documentation/admin-guide/auxdisplay/cfag12864b.rst 12670e84049SMiguel Ojeda Sandonis 12770e84049SMiguel Ojeda Sandonis Depends on the x86 arch and the framebuffer support. 12870e84049SMiguel Ojeda Sandonis 12970e84049SMiguel Ojeda Sandonis The LCD framebuffer driver can be attached to a console. 13070e84049SMiguel Ojeda Sandonis It will work fine. However, you can't attach it to the fbdev driver 13170e84049SMiguel Ojeda Sandonis of the xorg server. 13270e84049SMiguel Ojeda Sandonis 13370e84049SMiguel Ojeda Sandonis To compile this as a module, choose M here: 13470e84049SMiguel Ojeda Sandonis the modules will be called cfag12864b and cfag12864bfb. 13570e84049SMiguel Ojeda Sandonis 13670e84049SMiguel Ojeda Sandonis If unsure, say N. 13770e84049SMiguel Ojeda Sandonis 13870e84049SMiguel Ojeda Sandonisconfig CFAG12864B_RATE 13970e84049SMiguel Ojeda Sandonis int "Refresh rate (hertz)" 14070e84049SMiguel Ojeda Sandonis depends on CFAG12864B 14170e84049SMiguel Ojeda Sandonis default "20" 142a7f7f624SMasahiro Yamada help 14370e84049SMiguel Ojeda Sandonis Refresh rate of the LCD. 14470e84049SMiguel Ojeda Sandonis 14570e84049SMiguel Ojeda Sandonis As the LCD is not memory mapped, the driver has to make the work by 14670e84049SMiguel Ojeda Sandonis software. This means you should be careful setting this value higher. 14770e84049SMiguel Ojeda Sandonis If your CPUs are really slow or you feel the system is slowed down, 14870e84049SMiguel Ojeda Sandonis decrease the value. 14970e84049SMiguel Ojeda Sandonis 15070e84049SMiguel Ojeda Sandonis Be careful modifying this value to a very high value: 15170e84049SMiguel Ojeda Sandonis You can freeze the computer, or the LCD maybe can't draw as fast as you 15270e84049SMiguel Ojeda Sandonis are requesting. 15370e84049SMiguel Ojeda Sandonis 15470e84049SMiguel Ojeda Sandonis If you don't know what I'm talking about, ignore it. 15570e84049SMiguel Ojeda Sandonis 15670e84049SMiguel Ojeda Sandonis If you compile this as a module, you can still override this 15770e84049SMiguel Ojeda Sandonis value using the module parameters. 158f5920969SJan Engelhardt 1590cad855fSPaul Burtonconfig IMG_ASCII_LCD 1600cad855fSPaul Burton tristate "Imagination Technologies ASCII LCD Display" 161141cbfbaSThomas Meyer depends on HAS_IOMEM 1620186a092SUlf Magnusson default y if MIPS_MALTA 163aa9d87bdSCorentin Labbe select MFD_SYSCON 1647e76aeceSGeert Uytterhoeven select LINEDISP 1650cad855fSPaul Burton help 1660cad855fSPaul Burton Enable this to support the simple ASCII LCD displays found on 1670cad855fSPaul Burton development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3 1680cad855fSPaul Burton from Imagination Technologies. 1690cad855fSPaul Burton 1708992da44SRobin van der Grachtconfig HT16K33 1718992da44SRobin van der Gracht tristate "Holtek Ht16K33 LED controller with keyscan" 172*5d343f7cSGeert Uytterhoeven depends on FB && I2C && INPUT 17331114fa9SRobin van der Gracht select FB_SYS_FOPS 174546cf3efSRandy Dunlap select FB_SYS_FILLRECT 175546cf3efSRandy Dunlap select FB_SYS_COPYAREA 176546cf3efSRandy Dunlap select FB_SYS_IMAGEBLIT 1778992da44SRobin van der Gracht select INPUT_MATRIXKMAP 1788992da44SRobin van der Gracht select FB_BACKLIGHT 179c223d9c6SGeert Uytterhoeven select NEW_LEDS 180c223d9c6SGeert Uytterhoeven select LEDS_CLASS 181a0428724SGeert Uytterhoeven select LINEDISP 1828992da44SRobin van der Gracht help 1838992da44SRobin van der Gracht Say yes here to add support for Holtek HT16K33, RAM mapping 16*8 1848992da44SRobin van der Gracht LED controller driver with keyscan. 1858992da44SRobin van der Gracht 1868c9108d0SLars Poeschelconfig LCD2S 1878c9108d0SLars Poeschel tristate "lcd2s 20x4 character display over I2C console" 1888c9108d0SLars Poeschel depends on I2C 1898c9108d0SLars Poeschel select CHARLCD 1908c9108d0SLars Poeschel help 1918c9108d0SLars Poeschel This is a driver that lets you use the lcd2s 20x4 character display 1928c9108d0SLars Poeschel from Modtronix engineering as a console output device. The display 1938c9108d0SLars Poeschel is a simple single color character display. You have to connect it 1948c9108d0SLars Poeschel to an I2C bus. 1958c9108d0SLars Poeschel 19600846a44SAndy Shevchenkoconfig ARM_CHARLCD 19700846a44SAndy Shevchenko bool "ARM Ltd. Character LCD Driver" 19800846a44SAndy Shevchenko depends on PLAT_VERSATILE 19900846a44SAndy Shevchenko help 20000846a44SAndy Shevchenko This is a driver for the character LCD found on the ARM Ltd. 20100846a44SAndy Shevchenko Versatile and RealView Platform Baseboards. It doesn't do 20200846a44SAndy Shevchenko very much more than display the text "ARM Linux" on the first 20300846a44SAndy Shevchenko line and the Linux version on the second line, but that's 20400846a44SAndy Shevchenko still useful. 20500846a44SAndy Shevchenko 20624c764abSMans Rullgardmenuconfig PARPORT_PANEL 20751c1e9b5SAndy Shevchenko tristate "Parallel port LCD/Keypad Panel support" 20851c1e9b5SAndy Shevchenko depends on PARPORT 209718e05edSLars Poeschel select HD44780_COMMON 210a7f7f624SMasahiro Yamada help 21151c1e9b5SAndy Shevchenko Say Y here if you have an HD44780 or KS-0074 LCD connected to your 21251c1e9b5SAndy Shevchenko parallel port. This driver also features 4 and 6-key keypads. The LCD 21351c1e9b5SAndy Shevchenko is accessible through the /dev/lcd char device (10, 156), and the 21451c1e9b5SAndy Shevchenko keypad through /dev/keypad (10, 185). This code can either be 21551c1e9b5SAndy Shevchenko compiled as a module, or linked into the kernel and started at boot. 21651c1e9b5SAndy Shevchenko If you don't understand what all this is about, say N. 21751c1e9b5SAndy Shevchenko 21824c764abSMans Rullgardif PARPORT_PANEL 21951c1e9b5SAndy Shevchenko 22051c1e9b5SAndy Shevchenkoconfig PANEL_PARPORT 22151c1e9b5SAndy Shevchenko int "Default parallel port number (0=LPT1)" 22251c1e9b5SAndy Shevchenko range 0 255 22351c1e9b5SAndy Shevchenko default "0" 224a7f7f624SMasahiro Yamada help 22551c1e9b5SAndy Shevchenko This is the index of the parallel port the panel is connected to. One 22651c1e9b5SAndy Shevchenko driver instance only supports one parallel port, so if your keypad 22751c1e9b5SAndy Shevchenko and LCD are connected to two separate ports, you have to start two 22851c1e9b5SAndy Shevchenko modules with different arguments. Numbering starts with '0' for LPT1, 22951c1e9b5SAndy Shevchenko and so on. 23051c1e9b5SAndy Shevchenko 23151c1e9b5SAndy Shevchenkoconfig PANEL_PROFILE 23251c1e9b5SAndy Shevchenko int "Default panel profile (0-5, 0=custom)" 23351c1e9b5SAndy Shevchenko range 0 5 23451c1e9b5SAndy Shevchenko default "5" 235a7f7f624SMasahiro Yamada help 23651c1e9b5SAndy Shevchenko To ease configuration, the driver supports different configuration 23751c1e9b5SAndy Shevchenko profiles for past and recent wirings. These profiles can also be 23851c1e9b5SAndy Shevchenko used to define an approximative configuration, completed by a few 23951c1e9b5SAndy Shevchenko other options. Here are the profiles : 24051c1e9b5SAndy Shevchenko 24151c1e9b5SAndy Shevchenko 0 = custom (see further) 24251c1e9b5SAndy Shevchenko 1 = 2x16 parallel LCD, old keypad 24351c1e9b5SAndy Shevchenko 2 = 2x16 serial LCD (KS-0074), new keypad 24451c1e9b5SAndy Shevchenko 3 = 2x16 parallel LCD (Hantronix), no keypad 24551c1e9b5SAndy Shevchenko 4 = 2x16 parallel LCD (Nexcom NSA1045) with Nexcom's keypad 24651c1e9b5SAndy Shevchenko 5 = 2x40 parallel LCD (old one), with old keypad 24751c1e9b5SAndy Shevchenko 24851c1e9b5SAndy Shevchenko Custom configurations allow you to define how your display is 24951c1e9b5SAndy Shevchenko wired to the parallel port, and how it works. This is only intended 25051c1e9b5SAndy Shevchenko for experts. 25151c1e9b5SAndy Shevchenko 25251c1e9b5SAndy Shevchenkoconfig PANEL_KEYPAD 25351c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" 25451c1e9b5SAndy Shevchenko int "Keypad type (0=none, 1=old 6 keys, 2=new 6 keys, 3=Nexcom 4 keys)" 25551c1e9b5SAndy Shevchenko range 0 3 25651c1e9b5SAndy Shevchenko default 0 257a7f7f624SMasahiro Yamada help 25851c1e9b5SAndy Shevchenko This enables and configures a keypad connected to the parallel port. 25951c1e9b5SAndy Shevchenko The keys will be read from character device 10,185. Valid values are : 26051c1e9b5SAndy Shevchenko 26151c1e9b5SAndy Shevchenko 0 : do not enable this driver 26251c1e9b5SAndy Shevchenko 1 : old 6 keys keypad 26351c1e9b5SAndy Shevchenko 2 : new 6 keys keypad, as used on the server at www.ant-computing.com 26451c1e9b5SAndy Shevchenko 3 : Nexcom NSA1045's 4 keys keypad 26551c1e9b5SAndy Shevchenko 26651c1e9b5SAndy Shevchenko New profiles can be described in the driver source. The driver also 26751c1e9b5SAndy Shevchenko supports simultaneous keys pressed when the keypad supports them. 26851c1e9b5SAndy Shevchenko 26951c1e9b5SAndy Shevchenkoconfig PANEL_LCD 27051c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" 27151c1e9b5SAndy Shevchenko int "LCD type (0=none, 1=custom, 2=old //, 3=ks0074, 4=hantronix, 5=Nexcom)" 27251c1e9b5SAndy Shevchenko range 0 5 27351c1e9b5SAndy Shevchenko default 0 274a7f7f624SMasahiro Yamada help 27551c1e9b5SAndy Shevchenko This enables and configures an LCD connected to the parallel port. 27651c1e9b5SAndy Shevchenko The driver includes an interpreter for escape codes starting with 27751c1e9b5SAndy Shevchenko '\e[L' which are specific to the LCD, and a few ANSI codes. The 27851c1e9b5SAndy Shevchenko driver will be registered as character device 10,156, usually 27951c1e9b5SAndy Shevchenko under the name '/dev/lcd'. There are a total of 6 supported types : 28051c1e9b5SAndy Shevchenko 28151c1e9b5SAndy Shevchenko 0 : do not enable the driver 28251c1e9b5SAndy Shevchenko 1 : custom configuration and wiring (see further) 28351c1e9b5SAndy Shevchenko 2 : 2x16 & 2x40 parallel LCD (old wiring) 28451c1e9b5SAndy Shevchenko 3 : 2x16 serial LCD (KS-0074 based) 28551c1e9b5SAndy Shevchenko 4 : 2x16 parallel LCD (Hantronix wiring) 28651c1e9b5SAndy Shevchenko 5 : 2x16 parallel LCD (Nexcom wiring) 28751c1e9b5SAndy Shevchenko 28851c1e9b5SAndy Shevchenko When type '1' is specified, other options will appear to configure 28951c1e9b5SAndy Shevchenko more precise aspects (wiring, dimensions, protocol, ...). Please note 29051c1e9b5SAndy Shevchenko that those values changed from the 2.4 driver for better consistency. 29151c1e9b5SAndy Shevchenko 29251c1e9b5SAndy Shevchenkoconfig PANEL_LCD_HEIGHT 29351c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" 29451c1e9b5SAndy Shevchenko int "Number of lines on the LCD (1-2)" 29551c1e9b5SAndy Shevchenko range 1 2 29651c1e9b5SAndy Shevchenko default 2 297a7f7f624SMasahiro Yamada help 29851c1e9b5SAndy Shevchenko This is the number of visible character lines on the LCD in custom profile. 29951c1e9b5SAndy Shevchenko It can either be 1 or 2. 30051c1e9b5SAndy Shevchenko 30151c1e9b5SAndy Shevchenkoconfig PANEL_LCD_WIDTH 30251c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" 30351c1e9b5SAndy Shevchenko int "Number of characters per line on the LCD (1-40)" 30451c1e9b5SAndy Shevchenko range 1 40 30551c1e9b5SAndy Shevchenko default 40 306a7f7f624SMasahiro Yamada help 30751c1e9b5SAndy Shevchenko This is the number of characters per line on the LCD in custom profile. 30851c1e9b5SAndy Shevchenko Common values are 16,20,24,40. 30951c1e9b5SAndy Shevchenko 31051c1e9b5SAndy Shevchenkoconfig PANEL_LCD_BWIDTH 31151c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" 31251c1e9b5SAndy Shevchenko int "Internal LCD line width (1-40, 40 by default)" 31351c1e9b5SAndy Shevchenko range 1 40 31451c1e9b5SAndy Shevchenko default 40 315a7f7f624SMasahiro Yamada help 31651c1e9b5SAndy Shevchenko Most LCDs use a standard controller which supports hardware lines of 40 31751c1e9b5SAndy Shevchenko characters, although sometimes only 16, 20 or 24 of them are really wired 31851c1e9b5SAndy Shevchenko to the terminal. This results in some non-visible but addressable characters, 31951c1e9b5SAndy Shevchenko and is the case for most parallel LCDs. Other LCDs, and some serial ones, 32051c1e9b5SAndy Shevchenko however, use the same line width internally as what is visible. The KS0074 32151c1e9b5SAndy Shevchenko for example, uses 16 characters per line for 16 visible characters per line. 32251c1e9b5SAndy Shevchenko 32351c1e9b5SAndy Shevchenko This option lets you configure the value used by your LCD in 'custom' profile. 32451c1e9b5SAndy Shevchenko If you don't know, put '40' here. 32551c1e9b5SAndy Shevchenko 32651c1e9b5SAndy Shevchenkoconfig PANEL_LCD_HWIDTH 32751c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" 32851c1e9b5SAndy Shevchenko int "Hardware LCD line width (1-64, 64 by default)" 32951c1e9b5SAndy Shevchenko range 1 64 33051c1e9b5SAndy Shevchenko default 64 331a7f7f624SMasahiro Yamada help 33251c1e9b5SAndy Shevchenko Most LCDs use a single address bit to differentiate line 0 and line 1. Since 33351c1e9b5SAndy Shevchenko some of them need to be able to address 40 chars with the lower bits, they 33451c1e9b5SAndy Shevchenko often use the immediately superior power of 2, which is 64, to address the 33551c1e9b5SAndy Shevchenko next line. 33651c1e9b5SAndy Shevchenko 33751c1e9b5SAndy Shevchenko If you don't know what your LCD uses, in doubt let 16 here for a 2x16, and 33851c1e9b5SAndy Shevchenko 64 here for a 2x40. 33951c1e9b5SAndy Shevchenko 34051c1e9b5SAndy Shevchenkoconfig PANEL_LCD_CHARSET 34151c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" 34251c1e9b5SAndy Shevchenko int "LCD character set (0=normal, 1=KS0074)" 34351c1e9b5SAndy Shevchenko range 0 1 34451c1e9b5SAndy Shevchenko default 0 345a7f7f624SMasahiro Yamada help 34651c1e9b5SAndy Shevchenko Some controllers such as the KS0074 use a somewhat strange character set 34751c1e9b5SAndy Shevchenko where many symbols are at unusual places. The driver knows how to map 34851c1e9b5SAndy Shevchenko 'standard' ASCII characters to the character sets used by these controllers. 34951c1e9b5SAndy Shevchenko Valid values are : 35051c1e9b5SAndy Shevchenko 35151c1e9b5SAndy Shevchenko 0 : normal (untranslated) character set 35251c1e9b5SAndy Shevchenko 1 : KS0074 character set 35351c1e9b5SAndy Shevchenko 35451c1e9b5SAndy Shevchenko If you don't know, use the normal one (0). 35551c1e9b5SAndy Shevchenko 35651c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PROTO 35751c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" 35851c1e9b5SAndy Shevchenko int "LCD communication mode (0=parallel 8 bits, 1=serial)" 35951c1e9b5SAndy Shevchenko range 0 1 36051c1e9b5SAndy Shevchenko default 0 361a7f7f624SMasahiro Yamada help 36251c1e9b5SAndy Shevchenko This driver now supports any serial or parallel LCD wired to a parallel 36351c1e9b5SAndy Shevchenko port. But before assigning signals, the driver needs to know if it will 36451c1e9b5SAndy Shevchenko be driving a serial LCD or a parallel one. Serial LCDs only use 2 wires 36551c1e9b5SAndy Shevchenko (SDA/SCL), while parallel ones use 2 or 3 wires for the control signals 36651c1e9b5SAndy Shevchenko (E, RS, sometimes RW), and 4 or 8 for the data. Use 0 here for a 8 bits 36751c1e9b5SAndy Shevchenko parallel LCD, and 1 for a serial LCD. 36851c1e9b5SAndy Shevchenko 36951c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_E 37051c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0" 37151c1e9b5SAndy Shevchenko int "Parallel port pin number & polarity connected to the LCD E signal (-17...17) " 37251c1e9b5SAndy Shevchenko range -17 17 37351c1e9b5SAndy Shevchenko default 14 374a7f7f624SMasahiro Yamada help 37551c1e9b5SAndy Shevchenko This describes the number of the parallel port pin to which the LCD 'E' 37651c1e9b5SAndy Shevchenko signal has been connected. It can be : 37751c1e9b5SAndy Shevchenko 37851c1e9b5SAndy Shevchenko 0 : no connection (eg: connected to ground) 37951c1e9b5SAndy Shevchenko 1..17 : directly connected to any of these pins on the DB25 plug 38051c1e9b5SAndy Shevchenko -1..-17 : connected to the same pin through an inverter (eg: transistor). 38151c1e9b5SAndy Shevchenko 38251c1e9b5SAndy Shevchenko Default for the 'E' pin in custom profile is '14' (AUTOFEED). 38351c1e9b5SAndy Shevchenko 38451c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_RS 38551c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0" 38651c1e9b5SAndy Shevchenko int "Parallel port pin number & polarity connected to the LCD RS signal (-17...17) " 38751c1e9b5SAndy Shevchenko range -17 17 38851c1e9b5SAndy Shevchenko default 17 389a7f7f624SMasahiro Yamada help 39051c1e9b5SAndy Shevchenko This describes the number of the parallel port pin to which the LCD 'RS' 39151c1e9b5SAndy Shevchenko signal has been connected. It can be : 39251c1e9b5SAndy Shevchenko 39351c1e9b5SAndy Shevchenko 0 : no connection (eg: connected to ground) 39451c1e9b5SAndy Shevchenko 1..17 : directly connected to any of these pins on the DB25 plug 39551c1e9b5SAndy Shevchenko -1..-17 : connected to the same pin through an inverter (eg: transistor). 39651c1e9b5SAndy Shevchenko 39751c1e9b5SAndy Shevchenko Default for the 'RS' pin in custom profile is '17' (SELECT IN). 39851c1e9b5SAndy Shevchenko 39951c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_RW 40051c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0" 40151c1e9b5SAndy Shevchenko int "Parallel port pin number & polarity connected to the LCD RW signal (-17...17) " 40251c1e9b5SAndy Shevchenko range -17 17 40351c1e9b5SAndy Shevchenko default 16 404a7f7f624SMasahiro Yamada help 40551c1e9b5SAndy Shevchenko This describes the number of the parallel port pin to which the LCD 'RW' 40651c1e9b5SAndy Shevchenko signal has been connected. It can be : 40751c1e9b5SAndy Shevchenko 40851c1e9b5SAndy Shevchenko 0 : no connection (eg: connected to ground) 40951c1e9b5SAndy Shevchenko 1..17 : directly connected to any of these pins on the DB25 plug 41051c1e9b5SAndy Shevchenko -1..-17 : connected to the same pin through an inverter (eg: transistor). 41151c1e9b5SAndy Shevchenko 41251c1e9b5SAndy Shevchenko Default for the 'RW' pin in custom profile is '16' (INIT). 41351c1e9b5SAndy Shevchenko 41451c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_SCL 41551c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0" 41651c1e9b5SAndy Shevchenko int "Parallel port pin number & polarity connected to the LCD SCL signal (-17...17) " 41751c1e9b5SAndy Shevchenko range -17 17 41851c1e9b5SAndy Shevchenko default 1 419a7f7f624SMasahiro Yamada help 42051c1e9b5SAndy Shevchenko This describes the number of the parallel port pin to which the serial 42151c1e9b5SAndy Shevchenko LCD 'SCL' signal has been connected. It can be : 42251c1e9b5SAndy Shevchenko 42351c1e9b5SAndy Shevchenko 0 : no connection (eg: connected to ground) 42451c1e9b5SAndy Shevchenko 1..17 : directly connected to any of these pins on the DB25 plug 42551c1e9b5SAndy Shevchenko -1..-17 : connected to the same pin through an inverter (eg: transistor). 42651c1e9b5SAndy Shevchenko 42751c1e9b5SAndy Shevchenko Default for the 'SCL' pin in custom profile is '1' (STROBE). 42851c1e9b5SAndy Shevchenko 42951c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_SDA 43051c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0" 43151c1e9b5SAndy Shevchenko int "Parallel port pin number & polarity connected to the LCD SDA signal (-17...17) " 43251c1e9b5SAndy Shevchenko range -17 17 43351c1e9b5SAndy Shevchenko default 2 434a7f7f624SMasahiro Yamada help 43551c1e9b5SAndy Shevchenko This describes the number of the parallel port pin to which the serial 43651c1e9b5SAndy Shevchenko LCD 'SDA' signal has been connected. It can be : 43751c1e9b5SAndy Shevchenko 43851c1e9b5SAndy Shevchenko 0 : no connection (eg: connected to ground) 43951c1e9b5SAndy Shevchenko 1..17 : directly connected to any of these pins on the DB25 plug 44051c1e9b5SAndy Shevchenko -1..-17 : connected to the same pin through an inverter (eg: transistor). 44151c1e9b5SAndy Shevchenko 44251c1e9b5SAndy Shevchenko Default for the 'SDA' pin in custom profile is '2' (D0). 44351c1e9b5SAndy Shevchenko 44451c1e9b5SAndy Shevchenkoconfig PANEL_LCD_PIN_BL 44551c1e9b5SAndy Shevchenko depends on PANEL_PROFILE="0" && PANEL_LCD="1" 44651c1e9b5SAndy Shevchenko int "Parallel port pin number & polarity connected to the LCD backlight signal (-17...17) " 44751c1e9b5SAndy Shevchenko range -17 17 44851c1e9b5SAndy Shevchenko default 0 449a7f7f624SMasahiro Yamada help 45051c1e9b5SAndy Shevchenko This describes the number of the parallel port pin to which the LCD 'BL' signal 45151c1e9b5SAndy Shevchenko has been connected. It can be : 45251c1e9b5SAndy Shevchenko 45351c1e9b5SAndy Shevchenko 0 : no connection (eg: connected to ground) 45451c1e9b5SAndy Shevchenko 1..17 : directly connected to any of these pins on the DB25 plug 45551c1e9b5SAndy Shevchenko -1..-17 : connected to the same pin through an inverter (eg: transistor). 45651c1e9b5SAndy Shevchenko 45751c1e9b5SAndy Shevchenko Default for the 'BL' pin in custom profile is '0' (uncontrolled). 45851c1e9b5SAndy Shevchenko 45924c764abSMans Rullgardendif # PARPORT_PANEL 46024c764abSMans Rullgard 46151c1e9b5SAndy Shevchenkoconfig PANEL_CHANGE_MESSAGE 46251c1e9b5SAndy Shevchenko bool "Change LCD initialization message ?" 46324c764abSMans Rullgard depends on CHARLCD 46451c1e9b5SAndy Shevchenko default "n" 465a7f7f624SMasahiro Yamada help 46651c1e9b5SAndy Shevchenko This allows you to replace the boot message indicating the kernel version 46751c1e9b5SAndy Shevchenko and the driver version with a custom message. This is useful on appliances 46851c1e9b5SAndy Shevchenko where a simple 'Starting system' message can be enough to stop a customer 46951c1e9b5SAndy Shevchenko from worrying. 47051c1e9b5SAndy Shevchenko 47151c1e9b5SAndy Shevchenko If you say 'Y' here, you'll be able to choose a message yourself. Otherwise, 47251c1e9b5SAndy Shevchenko say 'N' and keep the default message with the version. 47351c1e9b5SAndy Shevchenko 47451c1e9b5SAndy Shevchenkoconfig PANEL_BOOT_MESSAGE 47551c1e9b5SAndy Shevchenko depends on PANEL_CHANGE_MESSAGE="y" 47651c1e9b5SAndy Shevchenko string "New initialization message" 47751c1e9b5SAndy Shevchenko default "" 478a7f7f624SMasahiro Yamada help 47951c1e9b5SAndy Shevchenko This allows you to replace the boot message indicating the kernel version 48051c1e9b5SAndy Shevchenko and the driver version with a custom message. This is useful on appliances 48151c1e9b5SAndy Shevchenko where a simple 'Starting system' message can be enough to stop a customer 48251c1e9b5SAndy Shevchenko from worrying. 48351c1e9b5SAndy Shevchenko 48451c1e9b5SAndy Shevchenko An empty message will only clear the display at driver init time. Any other 48551c1e9b5SAndy Shevchenko printf()-formatted message is valid with newline and escape codes. 48651c1e9b5SAndy Shevchenko 487cc5d04d8SMans Rullgardchoice 488cc5d04d8SMans Rullgard prompt "Backlight initial state" 489cc5d04d8SMans Rullgard default CHARLCD_BL_FLASH 490a7f7f624SMasahiro Yamada help 491ba2c1340SMans Rullgard Select the initial backlight state on boot or module load. 492ba2c1340SMans Rullgard 493ba2c1340SMans Rullgard Previously, there was no option for this: the backlight flashed 494ba2c1340SMans Rullgard briefly on init. Now you can also turn it off/on. 495cc5d04d8SMans Rullgard 496cc5d04d8SMans Rullgard config CHARLCD_BL_OFF 497cc5d04d8SMans Rullgard bool "Off" 498cc5d04d8SMans Rullgard help 499cc5d04d8SMans Rullgard Backlight is initially turned off 500cc5d04d8SMans Rullgard 501cc5d04d8SMans Rullgard config CHARLCD_BL_ON 502cc5d04d8SMans Rullgard bool "On" 503cc5d04d8SMans Rullgard help 504cc5d04d8SMans Rullgard Backlight is initially turned on 505cc5d04d8SMans Rullgard 506cc5d04d8SMans Rullgard config CHARLCD_BL_FLASH 507cc5d04d8SMans Rullgard bool "Flash" 508cc5d04d8SMans Rullgard help 509cc5d04d8SMans Rullgard Backlight is flashed briefly on init 510cc5d04d8SMans Rullgard 511cc5d04d8SMans Rullgardendchoice 512cc5d04d8SMans Rullgard 51324c764abSMans Rullgardendif # AUXDISPLAY 51424c764abSMans Rullgard 51524c764abSMans Rullgardconfig PANEL 51624c764abSMans Rullgard tristate "Parallel port LCD/Keypad Panel support (OLD OPTION)" 51724c764abSMans Rullgard depends on PARPORT 51824c764abSMans Rullgard select AUXDISPLAY 51924c764abSMans Rullgard select PARPORT_PANEL 520