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