Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 #
0003 # For a description of the syntax of this configuration file,
0004 # see Documentation/kbuild/kconfig-language.rst.
0005 #
0006 # Auxiliary display drivers configuration.
0007 #
0008 
0009 menuconfig AUXDISPLAY
0010         bool "Auxiliary Display support"
0011         help
0012           Say Y here to get to see options for auxiliary display drivers.
0013           This option alone does not add any kernel code.
0014 
0015           If you say N, all options in this submenu will be skipped and disabled.
0016 
0017 if AUXDISPLAY
0018 
0019 config CHARLCD
0020         tristate "Character LCD core support" if COMPILE_TEST
0021         help
0022           This is the base system for character-based LCD displays.
0023           It makes no sense to have this alone, you select your display driver
0024           and if it needs the charlcd core, it will select it automatically.
0025           This is some character LCD core interface that multiple drivers can
0026           use.
0027 
0028 config LINEDISP
0029         tristate "Character line display core support" if COMPILE_TEST
0030         help
0031           This is the core support for single-line character displays, to be
0032           selected by drivers that use it.
0033 
0034 config HD44780_COMMON
0035         tristate "Common functions for HD44780 (and compatibles) LCD displays" if COMPILE_TEST
0036         select CHARLCD
0037         help
0038           This is a module with the common symbols for HD44780 (and compatibles)
0039           displays. This is the code that multiple other modules use. It is not
0040           useful alone. If you have some sort of HD44780 compatible display,
0041           you very likely use this. It is selected automatically by selecting
0042           your concrete display.
0043 
0044 config HD44780
0045         tristate "HD44780 Character LCD support"
0046         depends on GPIOLIB || COMPILE_TEST
0047         select HD44780_COMMON
0048         help
0049           Enable support for Character LCDs using a HD44780 controller.
0050           The LCD is accessible through the /dev/lcd char device (10, 156).
0051           This code can either be compiled as a module, or linked into the
0052           kernel and started at boot.
0053           If you don't understand what all this is about, say N.
0054 
0055 config KS0108
0056         tristate "KS0108 LCD Controller"
0057         depends on PARPORT_PC
0058         default n
0059         help
0060           If you have a LCD controlled by one or more KS0108
0061           controllers, say Y. You will need also another more specific
0062           driver for your LCD.
0063 
0064           Depends on Parallel Port support. If you say Y at
0065           parport, you will be able to compile this as a module (M)
0066           and built-in as well (Y).
0067 
0068           To compile this as a module, choose M here:
0069           the module will be called ks0108.
0070 
0071           If unsure, say N.
0072 
0073 config KS0108_PORT
0074         hex "Parallel port where the LCD is connected"
0075         depends on KS0108
0076         default 0x378
0077         help
0078           The address of the parallel port where the LCD is connected.
0079 
0080           The first  standard parallel port address is 0x378.
0081           The second standard parallel port address is 0x278.
0082           The third  standard parallel port address is 0x3BC.
0083 
0084           You can specify a different address if you need.
0085 
0086           If you don't know what I'm talking about, load the parport module,
0087           and execute "dmesg" or "cat /proc/ioports". You can see there how
0088           many parallel ports are present and which address each one has.
0089 
0090           Usually you only need to use 0x378.
0091 
0092           If you compile this as a module, you can still override this
0093           using the module parameters.
0094 
0095 config KS0108_DELAY
0096         int "Delay between each control writing (microseconds)"
0097         depends on KS0108
0098         default "2"
0099         help
0100           Amount of time the ks0108 should wait between each control write
0101           to the parallel port.
0102 
0103           If your LCD seems to miss random writings, increment this.
0104 
0105           If you don't know what I'm talking about, ignore it.
0106 
0107           If you compile this as a module, you can still override this
0108           value using the module parameters.
0109 
0110 config CFAG12864B
0111         tristate "CFAG12864B LCD"
0112         depends on X86
0113         depends on FB
0114         depends on KS0108
0115         select FB_SYS_FILLRECT
0116         select FB_SYS_COPYAREA
0117         select FB_SYS_IMAGEBLIT
0118         select FB_SYS_FOPS
0119         default n
0120         help
0121           If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series,
0122           say Y. You also need the ks0108 LCD Controller driver.
0123 
0124           For help about how to wire your LCD to the parallel port,
0125           check Documentation/admin-guide/auxdisplay/cfag12864b.rst
0126 
0127           Depends on the x86 arch and the framebuffer support.
0128 
0129           The LCD framebuffer driver can be attached to a console.
0130           It will work fine. However, you can't attach it to the fbdev driver
0131           of the xorg server.
0132 
0133           To compile this as a module, choose M here:
0134           the modules will be called cfag12864b and cfag12864bfb.
0135 
0136           If unsure, say N.
0137 
0138 config CFAG12864B_RATE
0139         int "Refresh rate (hertz)"
0140         depends on CFAG12864B
0141         default "20"
0142         help
0143           Refresh rate of the LCD.
0144 
0145           As the LCD is not memory mapped, the driver has to make the work by
0146           software. This means you should be careful setting this value higher.
0147           If your CPUs are really slow or you feel the system is slowed down,
0148           decrease the value.
0149 
0150           Be careful modifying this value to a very high value:
0151           You can freeze the computer, or the LCD maybe can't draw as fast as you
0152           are requesting.
0153 
0154           If you don't know what I'm talking about, ignore it.
0155 
0156           If you compile this as a module, you can still override this
0157           value using the module parameters.
0158 
0159 config IMG_ASCII_LCD
0160         tristate "Imagination Technologies ASCII LCD Display"
0161         depends on HAS_IOMEM
0162         default y if MIPS_MALTA
0163         select MFD_SYSCON
0164         select LINEDISP
0165         help
0166           Enable this to support the simple ASCII LCD displays found on
0167           development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3
0168           from Imagination Technologies.
0169 
0170 config HT16K33
0171         tristate "Holtek Ht16K33 LED controller with keyscan"
0172         depends on FB && I2C && INPUT
0173         select FB_SYS_FOPS
0174         select FB_SYS_FILLRECT
0175         select FB_SYS_COPYAREA
0176         select FB_SYS_IMAGEBLIT
0177         select INPUT_MATRIXKMAP
0178         select FB_BACKLIGHT
0179         select NEW_LEDS
0180         select LEDS_CLASS
0181         select LINEDISP
0182         help
0183           Say yes here to add support for Holtek HT16K33, RAM mapping 16*8
0184           LED controller driver with keyscan.
0185 
0186 config LCD2S
0187         tristate "lcd2s 20x4 character display over I2C console"
0188         depends on I2C
0189         select CHARLCD
0190         help
0191           This is a driver that lets you use the lcd2s 20x4 character display
0192           from Modtronix engineering as a console output device. The display
0193           is a simple single color character display. You have to connect it
0194           to an I2C bus.
0195 
0196 config ARM_CHARLCD
0197         bool "ARM Ltd. Character LCD Driver"
0198         depends on PLAT_VERSATILE
0199         help
0200           This is a driver for the character LCD found on the ARM Ltd.
0201           Versatile and RealView Platform Baseboards. It doesn't do
0202           very much more than display the text "ARM Linux" on the first
0203           line and the Linux version on the second line, but that's
0204           still useful.
0205 
0206 menuconfig PARPORT_PANEL
0207         tristate "Parallel port LCD/Keypad Panel support"
0208         depends on PARPORT
0209         select HD44780_COMMON
0210         help
0211           Say Y here if you have an HD44780 or KS-0074 LCD connected to your
0212           parallel port. This driver also features 4 and 6-key keypads. The LCD
0213           is accessible through the /dev/lcd char device (10, 156), and the
0214           keypad through /dev/keypad (10, 185). This code can either be
0215           compiled as a module, or linked into the kernel and started at boot.
0216           If you don't understand what all this is about, say N.
0217 
0218 if PARPORT_PANEL
0219 
0220 config PANEL_PARPORT
0221         int "Default parallel port number (0=LPT1)"
0222         range 0 255
0223         default "0"
0224         help
0225           This is the index of the parallel port the panel is connected to. One
0226           driver instance only supports one parallel port, so if your keypad
0227           and LCD are connected to two separate ports, you have to start two
0228           modules with different arguments. Numbering starts with '0' for LPT1,
0229           and so on.
0230 
0231 config PANEL_PROFILE
0232         int "Default panel profile (0-5, 0=custom)"
0233         range 0 5
0234         default "5"
0235         help
0236           To ease configuration, the driver supports different configuration
0237           profiles for past and recent wirings. These profiles can also be
0238           used to define an approximative configuration, completed by a few
0239           other options. Here are the profiles :
0240 
0241             0 = custom (see further)
0242             1 = 2x16 parallel LCD, old keypad
0243             2 = 2x16 serial LCD (KS-0074), new keypad
0244             3 = 2x16 parallel LCD (Hantronix), no keypad
0245             4 = 2x16 parallel LCD (Nexcom NSA1045) with Nexcom's keypad
0246             5 = 2x40 parallel LCD (old one), with old keypad
0247 
0248           Custom configurations allow you to define how your display is
0249           wired to the parallel port, and how it works. This is only intended
0250           for experts.
0251 
0252 config PANEL_KEYPAD
0253         depends on PANEL_PROFILE="0"
0254         int "Keypad type (0=none, 1=old 6 keys, 2=new 6 keys, 3=Nexcom 4 keys)"
0255         range 0 3
0256         default 0
0257         help
0258           This enables and configures a keypad connected to the parallel port.
0259           The keys will be read from character device 10,185. Valid values are :
0260 
0261             0 : do not enable this driver
0262             1 : old 6 keys keypad
0263             2 : new 6 keys keypad, as used on the server at www.ant-computing.com
0264             3 : Nexcom NSA1045's 4 keys keypad
0265 
0266           New profiles can be described in the driver source. The driver also
0267           supports simultaneous keys pressed when the keypad supports them.
0268 
0269 config PANEL_LCD
0270         depends on PANEL_PROFILE="0"
0271         int "LCD type (0=none, 1=custom, 2=old //, 3=ks0074, 4=hantronix, 5=Nexcom)"
0272         range 0 5
0273         default 0
0274         help
0275            This enables and configures an LCD connected to the parallel port.
0276            The driver includes an interpreter for escape codes starting with
0277            '\e[L' which are specific to the LCD, and a few ANSI codes. The
0278            driver will be registered as character device 10,156, usually
0279            under the name '/dev/lcd'. There are a total of 6 supported types :
0280 
0281              0 : do not enable the driver
0282              1 : custom configuration and wiring (see further)
0283              2 : 2x16 & 2x40 parallel LCD (old wiring)
0284              3 : 2x16 serial LCD (KS-0074 based)
0285              4 : 2x16 parallel LCD (Hantronix wiring)
0286              5 : 2x16 parallel LCD (Nexcom wiring)
0287 
0288            When type '1' is specified, other options will appear to configure
0289            more precise aspects (wiring, dimensions, protocol, ...). Please note
0290            that those values changed from the 2.4 driver for better consistency.
0291 
0292 config PANEL_LCD_HEIGHT
0293         depends on PANEL_PROFILE="0" && PANEL_LCD="1"
0294         int "Number of lines on the LCD (1-2)"
0295         range 1 2
0296         default 2
0297         help
0298           This is the number of visible character lines on the LCD in custom profile.
0299           It can either be 1 or 2.
0300 
0301 config PANEL_LCD_WIDTH
0302         depends on PANEL_PROFILE="0" && PANEL_LCD="1"
0303         int "Number of characters per line on the LCD (1-40)"
0304         range 1 40
0305         default 40
0306         help
0307           This is the number of characters per line on the LCD in custom profile.
0308           Common values are 16,20,24,40.
0309 
0310 config PANEL_LCD_BWIDTH
0311         depends on PANEL_PROFILE="0" && PANEL_LCD="1"
0312         int "Internal LCD line width (1-40, 40 by default)"
0313         range 1 40
0314         default 40
0315         help
0316           Most LCDs use a standard controller which supports hardware lines of 40
0317           characters, although sometimes only 16, 20 or 24 of them are really wired
0318           to the terminal. This results in some non-visible but addressable characters,
0319           and is the case for most parallel LCDs. Other LCDs, and some serial ones,
0320           however, use the same line width internally as what is visible. The KS0074
0321           for example, uses 16 characters per line for 16 visible characters per line.
0322 
0323           This option lets you configure the value used by your LCD in 'custom' profile.
0324           If you don't know, put '40' here.
0325 
0326 config PANEL_LCD_HWIDTH
0327         depends on PANEL_PROFILE="0" && PANEL_LCD="1"
0328         int "Hardware LCD line width (1-64, 64 by default)"
0329         range 1 64
0330         default 64
0331         help
0332           Most LCDs use a single address bit to differentiate line 0 and line 1. Since
0333           some of them need to be able to address 40 chars with the lower bits, they
0334           often use the immediately superior power of 2, which is 64, to address the
0335           next line.
0336 
0337           If you don't know what your LCD uses, in doubt let 16 here for a 2x16, and
0338           64 here for a 2x40.
0339 
0340 config PANEL_LCD_CHARSET
0341         depends on PANEL_PROFILE="0" && PANEL_LCD="1"
0342         int "LCD character set (0=normal, 1=KS0074)"
0343         range 0 1
0344         default 0
0345         help
0346           Some controllers such as the KS0074 use a somewhat strange character set
0347           where many symbols are at unusual places. The driver knows how to map
0348           'standard' ASCII characters to the character sets used by these controllers.
0349           Valid values are :
0350 
0351              0 : normal (untranslated) character set
0352              1 : KS0074 character set
0353 
0354           If you don't know, use the normal one (0).
0355 
0356 config PANEL_LCD_PROTO
0357         depends on PANEL_PROFILE="0" && PANEL_LCD="1"
0358         int "LCD communication mode (0=parallel 8 bits, 1=serial)"
0359         range 0 1
0360         default 0
0361         help
0362           This driver now supports any serial or parallel LCD wired to a parallel
0363           port. But before assigning signals, the driver needs to know if it will
0364           be driving a serial LCD or a parallel one. Serial LCDs only use 2 wires
0365           (SDA/SCL), while parallel ones use 2 or 3 wires for the control signals
0366           (E, RS, sometimes RW), and 4 or 8 for the data. Use 0 here for a 8 bits
0367           parallel LCD, and 1 for a serial LCD.
0368 
0369 config PANEL_LCD_PIN_E
0370         depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
0371         int "Parallel port pin number & polarity connected to the LCD E signal (-17...17) "
0372         range -17 17
0373         default 14
0374         help
0375           This describes the number of the parallel port pin to which the LCD 'E'
0376           signal has been connected. It can be :
0377 
0378                   0 : no connection (eg: connected to ground)
0379               1..17 : directly connected to any of these pins on the DB25 plug
0380             -1..-17 : connected to the same pin through an inverter (eg: transistor).
0381 
0382           Default for the 'E' pin in custom profile is '14' (AUTOFEED).
0383 
0384 config PANEL_LCD_PIN_RS
0385         depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
0386         int "Parallel port pin number & polarity connected to the LCD RS signal (-17...17) "
0387         range -17 17
0388         default 17
0389         help
0390           This describes the number of the parallel port pin to which the LCD 'RS'
0391           signal has been connected. It can be :
0392 
0393                   0 : no connection (eg: connected to ground)
0394               1..17 : directly connected to any of these pins on the DB25 plug
0395             -1..-17 : connected to the same pin through an inverter (eg: transistor).
0396 
0397           Default for the 'RS' pin in custom profile is '17' (SELECT IN).
0398 
0399 config PANEL_LCD_PIN_RW
0400         depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
0401         int "Parallel port pin number & polarity connected to the LCD RW signal (-17...17) "
0402         range -17 17
0403         default 16
0404         help
0405           This describes the number of the parallel port pin to which the LCD 'RW'
0406           signal has been connected. It can be :
0407 
0408                   0 : no connection (eg: connected to ground)
0409               1..17 : directly connected to any of these pins on the DB25 plug
0410             -1..-17 : connected to the same pin through an inverter (eg: transistor).
0411 
0412           Default for the 'RW' pin in custom profile is '16' (INIT).
0413 
0414 config PANEL_LCD_PIN_SCL
0415         depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0"
0416         int "Parallel port pin number & polarity connected to the LCD SCL signal (-17...17) "
0417         range -17 17
0418         default 1
0419         help
0420           This describes the number of the parallel port pin to which the serial
0421           LCD 'SCL' signal has been connected. It can be :
0422 
0423                   0 : no connection (eg: connected to ground)
0424               1..17 : directly connected to any of these pins on the DB25 plug
0425             -1..-17 : connected to the same pin through an inverter (eg: transistor).
0426 
0427           Default for the 'SCL' pin in custom profile is '1' (STROBE).
0428 
0429 config PANEL_LCD_PIN_SDA
0430         depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0"
0431         int "Parallel port pin number & polarity connected to the LCD SDA signal (-17...17) "
0432         range -17 17
0433         default 2
0434         help
0435           This describes the number of the parallel port pin to which the serial
0436           LCD 'SDA' signal has been connected. It can be :
0437 
0438                   0 : no connection (eg: connected to ground)
0439               1..17 : directly connected to any of these pins on the DB25 plug
0440             -1..-17 : connected to the same pin through an inverter (eg: transistor).
0441 
0442           Default for the 'SDA' pin in custom profile is '2' (D0).
0443 
0444 config PANEL_LCD_PIN_BL
0445         depends on PANEL_PROFILE="0" && PANEL_LCD="1"
0446         int "Parallel port pin number & polarity connected to the LCD backlight signal (-17...17) "
0447         range -17 17
0448         default 0
0449         help
0450           This describes the number of the parallel port pin to which the LCD 'BL' signal
0451           has been connected. It can be :
0452 
0453                   0 : no connection (eg: connected to ground)
0454               1..17 : directly connected to any of these pins on the DB25 plug
0455             -1..-17 : connected to the same pin through an inverter (eg: transistor).
0456 
0457           Default for the 'BL' pin in custom profile is '0' (uncontrolled).
0458 
0459 endif # PARPORT_PANEL
0460 
0461 config PANEL_CHANGE_MESSAGE
0462         bool "Change LCD initialization message ?"
0463         depends on CHARLCD
0464         default "n"
0465         help
0466           This allows you to replace the boot message indicating the kernel version
0467           and the driver version with a custom message. This is useful on appliances
0468           where a simple 'Starting system' message can be enough to stop a customer
0469           from worrying.
0470 
0471           If you say 'Y' here, you'll be able to choose a message yourself. Otherwise,
0472           say 'N' and keep the default message with the version.
0473 
0474 config PANEL_BOOT_MESSAGE
0475         depends on PANEL_CHANGE_MESSAGE="y"
0476         string "New initialization message"
0477         default ""
0478         help
0479           This allows you to replace the boot message indicating the kernel version
0480           and the driver version with a custom message. This is useful on appliances
0481           where a simple 'Starting system' message can be enough to stop a customer
0482           from worrying.
0483 
0484           An empty message will only clear the display at driver init time. Any other
0485           printf()-formatted message is valid with newline and escape codes.
0486 
0487 choice
0488         prompt "Backlight initial state"
0489         default CHARLCD_BL_FLASH
0490         help
0491           Select the initial backlight state on boot or module load.
0492 
0493           Previously, there was no option for this: the backlight flashed
0494           briefly on init. Now you can also turn it off/on.
0495 
0496         config CHARLCD_BL_OFF
0497                 bool "Off"
0498                 help
0499                   Backlight is initially turned off
0500 
0501         config CHARLCD_BL_ON
0502                 bool "On"
0503                 help
0504                   Backlight is initially turned on
0505 
0506         config CHARLCD_BL_FLASH
0507                 bool "Flash"
0508                 help
0509                   Backlight is flashed briefly on init
0510 
0511 endchoice
0512 
0513 endif # AUXDISPLAY
0514 
0515 config PANEL
0516         tristate "Parallel port LCD/Keypad Panel support (OLD OPTION)"
0517         depends on PARPORT
0518         select AUXDISPLAY
0519         select PARPORT_PANEL