![Dave Gerlach](/assets/img/avatar_default.png)
Introduce a new "protect-exec" reserved sram area type which is makes use of the the existing functionality provided for the "pool" sram region type for use with the genalloc framework and with the added requirement that it be maintained as read-only and executable while allowing for an arbitrary number of drivers to share the space. This introduces a common way to maintain a region of sram as read-only and executable and also introduces a helper function, sram_exec_copy, which allows for copying data to this protected region while maintaining locking to avoid conflicts between multiple users of the same space. A region of memory that is marked with the "protect-exec" flag in the device tree also has the requirement of providing a page aligned block of memory so that the page attribute manipulation does not affect surrounding regions. Also, selectively enable this only for builds that support set_memory_* calls, for now just ARM, through the use of Kconfig. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
786 lines
28 KiB
Plaintext
786 lines
28 KiB
Plaintext
#
|
|
# Misc strange devices
|
|
#
|
|
|
|
menu "Misc devices"
|
|
|
|
config SENSORS_LIS3LV02D
|
|
tristate
|
|
depends on INPUT
|
|
select INPUT_POLLDEV
|
|
default n
|
|
|
|
config AD525X_DPOT
|
|
tristate "Analog Devices Digital Potentiometers"
|
|
depends on (I2C || SPI) && SYSFS
|
|
help
|
|
If you say yes here, you get support for the Analog Devices
|
|
AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, AD5255
|
|
AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203,
|
|
AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235,
|
|
AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293,
|
|
AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242,
|
|
AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282,
|
|
ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270,
|
|
AD5271, AD5272, AD5274
|
|
digital potentiometer chips.
|
|
|
|
See Documentation/misc-devices/ad525x_dpot.txt for the
|
|
userspace interface.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called ad525x_dpot.
|
|
|
|
config AD525X_DPOT_I2C
|
|
tristate "support I2C bus connection"
|
|
depends on AD525X_DPOT && I2C
|
|
help
|
|
Say Y here if you have a digital potentiometers hooked to an I2C bus.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ad525x_dpot-i2c.
|
|
|
|
config AD525X_DPOT_SPI
|
|
tristate "support SPI bus connection"
|
|
depends on AD525X_DPOT && SPI_MASTER
|
|
help
|
|
Say Y here if you have a digital potentiometers hooked to an SPI bus.
|
|
|
|
If unsure, say N (but it's safe to say "Y").
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ad525x_dpot-spi.
|
|
|
|
config ATMEL_TCLIB
|
|
bool "Atmel AT32/AT91 Timer/Counter Library"
|
|
depends on (AVR32 || ARCH_AT91)
|
|
help
|
|
Select this if you want a library to allocate the Timer/Counter
|
|
blocks found on many Atmel processors. This facilitates using
|
|
these blocks by different drivers despite processor differences.
|
|
|
|
config ATMEL_TCB_CLKSRC
|
|
bool "TC Block Clocksource"
|
|
depends on ATMEL_TCLIB
|
|
default y
|
|
help
|
|
Select this to get a high precision clocksource based on a
|
|
TC block with a 5+ MHz base clock rate. Two timer channels
|
|
are combined to make a single 32-bit timer.
|
|
|
|
When GENERIC_CLOCKEVENTS is defined, the third timer channel
|
|
may be used as a clock event device supporting oneshot mode
|
|
(delays of up to two seconds) based on the 32 KiHz clock.
|
|
|
|
config ATMEL_TCB_CLKSRC_BLOCK
|
|
int
|
|
depends on ATMEL_TCB_CLKSRC
|
|
prompt "TC Block" if CPU_AT32AP700X
|
|
default 0
|
|
range 0 1
|
|
help
|
|
Some chips provide more than one TC block, so you have the
|
|
choice of which one to use for the clock framework. The other
|
|
TC can be used for other purposes, such as PWM generation and
|
|
interval timing.
|
|
|
|
config DUMMY_IRQ
|
|
tristate "Dummy IRQ handler"
|
|
default n
|
|
---help---
|
|
This module accepts a single 'irq' parameter, which it should register for.
|
|
The sole purpose of this module is to help with debugging of systems on
|
|
which spurious IRQs would happen on disabled IRQ vector.
|
|
|
|
config IBM_ASM
|
|
tristate "Device driver for IBM RSA service processor"
|
|
depends on X86 && PCI && INPUT
|
|
depends on SERIAL_8250 || SERIAL_8250=n
|
|
---help---
|
|
This option enables device driver support for in-band access to the
|
|
IBM RSA (Condor) service processor in eServer xSeries systems.
|
|
The ibmasm device driver allows user space application to access
|
|
ASM (Advanced Systems Management) functions on the service
|
|
processor. The driver is meant to be used in conjunction with
|
|
a user space API.
|
|
The ibmasm driver also enables the OS to use the UART on the
|
|
service processor board as a regular serial port. To make use of
|
|
this feature serial driver support (CONFIG_SERIAL_8250) must be
|
|
enabled.
|
|
|
|
WARNING: This software may not be supported or function
|
|
correctly on your IBM server. Please consult the IBM ServerProven
|
|
website <http://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
|
|
for information on the specific driver level and support statement
|
|
for your IBM server.
|
|
|
|
config PHANTOM
|
|
tristate "Sensable PHANToM (PCI)"
|
|
depends on PCI
|
|
help
|
|
Say Y here if you want to build a driver for Sensable PHANToM device.
|
|
|
|
This driver is only for PCI PHANToMs.
|
|
|
|
If you choose to build module, its name will be phantom. If unsure,
|
|
say N here.
|
|
|
|
config INTEL_MID_PTI
|
|
tristate "Parallel Trace Interface for MIPI P1149.7 cJTAG standard"
|
|
depends on PCI && TTY && (X86_INTEL_MID || COMPILE_TEST)
|
|
default n
|
|
help
|
|
The PTI (Parallel Trace Interface) driver directs
|
|
trace data routed from various parts in the system out
|
|
through an Intel Penwell PTI port and out of the mobile
|
|
device for analysis with a debugging tool (Lauterbach or Fido).
|
|
|
|
You should select this driver if the target kernel is meant for
|
|
an Intel Atom (non-netbook) mobile device containing a MIPI
|
|
P1149.7 standard implementation.
|
|
|
|
config SGI_IOC4
|
|
tristate "SGI IOC4 Base IO support"
|
|
depends on PCI
|
|
---help---
|
|
This option enables basic support for the IOC4 chip on certain
|
|
SGI IO controller cards (IO9, IO10, and PCI-RT). This option
|
|
does not enable any specific functions on such a card, but provides
|
|
necessary infrastructure for other drivers to utilize.
|
|
|
|
If you have an SGI Altix with an IOC4-based card say Y.
|
|
Otherwise say N.
|
|
|
|
config TIFM_CORE
|
|
tristate "TI Flash Media interface support"
|
|
depends on PCI
|
|
help
|
|
If you want support for Texas Instruments(R) Flash Media adapters
|
|
you should select this option and then also choose an appropriate
|
|
host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
|
|
support', if you have a TI PCI74xx compatible card reader, for
|
|
example.
|
|
You will also have to select some flash card format drivers. MMC/SD
|
|
cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
|
|
Interface support (MMC_TIFM_SD)'.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called tifm_core.
|
|
|
|
config TIFM_7XX1
|
|
tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
|
|
depends on PCI && TIFM_CORE
|
|
default TIFM_CORE
|
|
help
|
|
This option enables support for Texas Instruments(R) PCI74xx and
|
|
PCI76xx families of Flash Media adapters, found in many laptops.
|
|
To make actual use of the device, you will have to select some
|
|
flash card format drivers, as outlined in the TIFM_CORE Help.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called tifm_7xx1.
|
|
|
|
config ICS932S401
|
|
tristate "Integrated Circuits ICS932S401"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the Integrated Circuits
|
|
ICS932S401 clock control chips.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called ics932s401.
|
|
|
|
config ATMEL_SSC
|
|
tristate "Device driver for Atmel SSC peripheral"
|
|
depends on HAS_IOMEM && (AVR32 || ARCH_AT91 || COMPILE_TEST)
|
|
---help---
|
|
This option enables device driver support for Atmel Synchronized
|
|
Serial Communication peripheral (SSC).
|
|
|
|
The SSC peripheral supports a wide variety of serial frame based
|
|
communications, i.e. I2S, SPI, etc.
|
|
|
|
If unsure, say N.
|
|
|
|
config ENCLOSURE_SERVICES
|
|
tristate "Enclosure Services"
|
|
default n
|
|
help
|
|
Provides support for intelligent enclosures (bays which
|
|
contain storage devices). You also need either a host
|
|
driver (SCSI/ATA) which supports enclosures
|
|
or a SCSI enclosure device (SES) to use these services.
|
|
|
|
config SGI_XP
|
|
tristate "Support communication between SGI SSIs"
|
|
depends on NET
|
|
depends on (IA64_GENERIC || IA64_SGI_SN2 || IA64_SGI_UV || X86_UV) && SMP
|
|
select IA64_UNCACHED_ALLOCATOR if IA64_GENERIC || IA64_SGI_SN2
|
|
select GENERIC_ALLOCATOR if IA64_GENERIC || IA64_SGI_SN2
|
|
select SGI_GRU if X86_64 && SMP
|
|
---help---
|
|
An SGI machine can be divided into multiple Single System
|
|
Images which act independently of each other and have
|
|
hardware based memory protection from the others. Enabling
|
|
this feature will allow for direct communication between SSIs
|
|
based on a network adapter and DMA messaging.
|
|
|
|
config CS5535_MFGPT
|
|
tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
|
|
depends on MFD_CS5535
|
|
default n
|
|
help
|
|
This driver provides access to MFGPT functionality for other
|
|
drivers that need timers. MFGPTs are available in the CS5535 and
|
|
CS5536 companion chips that are found in AMD Geode and several
|
|
other platforms. They have a better resolution and max interval
|
|
than the generic PIT, and are suitable for use as high-res timers.
|
|
You probably don't want to enable this manually; other drivers that
|
|
make use of it should enable it.
|
|
|
|
config CS5535_MFGPT_DEFAULT_IRQ
|
|
int
|
|
depends on CS5535_MFGPT
|
|
default 7
|
|
help
|
|
MFGPTs on the CS5535 require an interrupt. The selected IRQ
|
|
can be overridden as a module option as well as by driver that
|
|
use the cs5535_mfgpt_ API; however, different architectures might
|
|
want to use a different IRQ by default. This is here for
|
|
architectures to set as necessary.
|
|
|
|
config CS5535_CLOCK_EVENT_SRC
|
|
tristate "CS5535/CS5536 high-res timer (MFGPT) events"
|
|
depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
|
|
help
|
|
This driver provides a clock event source based on the MFGPT
|
|
timer(s) in the CS5535 and CS5536 companion chips.
|
|
MFGPTs have a better resolution and max interval than the
|
|
generic PIT, and are suitable for use as high-res timers.
|
|
|
|
config HP_ILO
|
|
tristate "Channel interface driver for the HP iLO processor"
|
|
depends on PCI
|
|
default n
|
|
help
|
|
The channel interface driver allows applications to communicate
|
|
with iLO management processors present on HP ProLiant servers.
|
|
Upon loading, the driver creates /dev/hpilo/dXccbN files, which
|
|
can be used to gather data from the management processor, via
|
|
read and write system calls.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called hpilo.
|
|
|
|
config QCOM_COINCELL
|
|
tristate "Qualcomm coincell charger support"
|
|
depends on MFD_SPMI_PMIC || COMPILE_TEST
|
|
help
|
|
This driver supports the coincell block found inside of
|
|
Qualcomm PMICs. The coincell charger provides a means to
|
|
charge a coincell battery or backup capacitor which is used
|
|
to maintain PMIC register and RTC state in the absence of
|
|
external power.
|
|
|
|
config SGI_GRU
|
|
tristate "SGI GRU driver"
|
|
depends on X86_UV && SMP
|
|
default n
|
|
select MMU_NOTIFIER
|
|
---help---
|
|
The GRU is a hardware resource located in the system chipset. The GRU
|
|
contains memory that can be mmapped into the user address space. This memory is
|
|
used to communicate with the GRU to perform functions such as load/store,
|
|
scatter/gather, bcopy, AMOs, etc. The GRU is directly accessed by user
|
|
instructions using user virtual addresses. GRU instructions (ex., bcopy) use
|
|
user virtual addresses for operands.
|
|
|
|
If you are not running on a SGI UV system, say N.
|
|
|
|
config SGI_GRU_DEBUG
|
|
bool "SGI GRU driver debug"
|
|
depends on SGI_GRU
|
|
default n
|
|
---help---
|
|
This option enables additional debugging code for the SGI GRU driver.
|
|
If you are unsure, say N.
|
|
|
|
config APDS9802ALS
|
|
tristate "Medfield Avago APDS9802 ALS Sensor module"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the ALS APDS9802 ambient
|
|
light sensor.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called apds9802als.
|
|
|
|
config ISL29003
|
|
tristate "Intersil ISL29003 ambient light sensor"
|
|
depends on I2C && SYSFS
|
|
help
|
|
If you say yes here you get support for the Intersil ISL29003
|
|
ambient light sensor.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called isl29003.
|
|
|
|
config ISL29020
|
|
tristate "Intersil ISL29020 ambient light sensor"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the Intersil ISL29020
|
|
ambient light sensor.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called isl29020.
|
|
|
|
config SENSORS_TSL2550
|
|
tristate "Taos TSL2550 ambient light sensor"
|
|
depends on I2C && SYSFS
|
|
help
|
|
If you say yes here you get support for the Taos TSL2550
|
|
ambient light sensor.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called tsl2550.
|
|
|
|
config SENSORS_BH1770
|
|
tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
|
|
depends on I2C
|
|
---help---
|
|
Say Y here if you want to build a driver for BH1770GLC (ROHM) or
|
|
SFH7770 (Osram) combined ambient light and proximity sensor chip.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called bh1770glc. If unsure, say N here.
|
|
|
|
config SENSORS_APDS990X
|
|
tristate "APDS990X combined als and proximity sensors"
|
|
depends on I2C
|
|
default n
|
|
---help---
|
|
Say Y here if you want to build a driver for Avago APDS990x
|
|
combined ambient light and proximity sensor chip.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called apds990x. If unsure, say N here.
|
|
|
|
config HMC6352
|
|
tristate "Honeywell HMC6352 compass"
|
|
depends on I2C
|
|
help
|
|
This driver provides support for the Honeywell HMC6352 compass,
|
|
providing configuration and heading data via sysfs.
|
|
|
|
config DS1682
|
|
tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for Dallas Semiconductor
|
|
DS1682 Total Elapsed Time Recorder.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called ds1682.
|
|
|
|
config SPEAR13XX_PCIE_GADGET
|
|
bool "PCIe gadget support for SPEAr13XX platform"
|
|
depends on ARCH_SPEAR13XX && BROKEN
|
|
default n
|
|
help
|
|
This option enables gadget support for PCIe controller. If
|
|
board file defines any controller as PCIe endpoint then a sysfs
|
|
entry will be created for that controller. User can use these
|
|
sysfs node to configure PCIe EP as per his requirements.
|
|
|
|
config TI_DAC7512
|
|
tristate "Texas Instruments DAC7512"
|
|
depends on SPI && SYSFS
|
|
help
|
|
If you say yes here you get support for the Texas Instruments
|
|
DAC7512 16-bit digital-to-analog converter.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called ti_dac7512.
|
|
|
|
config VMWARE_BALLOON
|
|
tristate "VMware Balloon Driver"
|
|
depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
|
|
help
|
|
This is VMware physical memory management driver which acts
|
|
like a "balloon" that can be inflated to reclaim physical pages
|
|
by reserving them in the guest and invalidating them in the
|
|
monitor, freeing up the underlying machine pages so they can
|
|
be allocated to other guests. The balloon can also be deflated
|
|
to allow the guest to use more physical memory.
|
|
|
|
If unsure, say N.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called vmw_balloon.
|
|
|
|
config ARM_CHARLCD
|
|
bool "ARM Ltd. Character LCD Driver"
|
|
depends on PLAT_VERSATILE
|
|
help
|
|
This is a driver for the character LCD found on the ARM Ltd.
|
|
Versatile and RealView Platform Baseboards. It doesn't do
|
|
very much more than display the text "ARM Linux" on the first
|
|
line and the Linux version on the second line, but that's
|
|
still useful.
|
|
|
|
config PCH_PHUB
|
|
tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
|
|
select GENERIC_NET_UTILS
|
|
depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
|
|
help
|
|
This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
|
|
Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
|
|
processor. The Topcliff has MAC address and Option ROM data in SROM.
|
|
This driver can access MAC address and Option ROM data in SROM.
|
|
|
|
This driver also can be used for LAPIS Semiconductor's IOH,
|
|
ML7213/ML7223/ML7831.
|
|
ML7213 which is for IVI(In-Vehicle Infotainment) use.
|
|
ML7223 IOH is for MP(Media Phone) use.
|
|
ML7831 IOH is for general purpose use.
|
|
ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
|
|
ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called pch_phub.
|
|
|
|
config USB_SWITCH_FSA9480
|
|
tristate "FSA9480 USB Switch"
|
|
depends on I2C
|
|
help
|
|
The FSA9480 is a USB port accessory detector and switch.
|
|
The FSA9480 is fully controlled using I2C and enables USB data,
|
|
stereo and mono audio, video, microphone and UART data to use
|
|
a common connector port.
|
|
|
|
config LATTICE_ECP3_CONFIG
|
|
tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
|
|
depends on SPI && SYSFS
|
|
select FW_LOADER
|
|
default n
|
|
help
|
|
This option enables support for bitstream configuration (programming
|
|
or loading) of the Lattice ECP3 FPGA family via SPI.
|
|
|
|
If unsure, say N.
|
|
|
|
config SRAM
|
|
bool "Generic on-chip SRAM driver"
|
|
depends on HAS_IOMEM
|
|
select GENERIC_ALLOCATOR
|
|
select SRAM_EXEC if ARM
|
|
help
|
|
This driver allows you to declare a memory region to be managed by
|
|
the genalloc API. It is supposed to be used for small on-chip SRAM
|
|
areas found on many SoCs.
|
|
|
|
config SRAM_EXEC
|
|
bool
|
|
|
|
config VEXPRESS_SYSCFG
|
|
bool "Versatile Express System Configuration driver"
|
|
depends on VEXPRESS_CONFIG
|
|
default y
|
|
help
|
|
ARM Ltd. Versatile Express uses specialised platform configuration
|
|
bus. System Configuration interface is one of the possible means
|
|
of generating transactions on this bus.
|
|
config PANEL
|
|
tristate "Parallel port LCD/Keypad Panel support"
|
|
depends on PARPORT
|
|
---help---
|
|
Say Y here if you have an HD44780 or KS-0074 LCD connected to your
|
|
parallel port. This driver also features 4 and 6-key keypads. The LCD
|
|
is accessible through the /dev/lcd char device (10, 156), and the
|
|
keypad through /dev/keypad (10, 185). Both require misc device to be
|
|
enabled. This code can either be compiled as a module, or linked into
|
|
the kernel and started at boot. If you don't understand what all this
|
|
is about, say N.
|
|
|
|
config PANEL_PARPORT
|
|
int "Default parallel port number (0=LPT1)"
|
|
depends on PANEL
|
|
range 0 255
|
|
default "0"
|
|
---help---
|
|
This is the index of the parallel port the panel is connected to. One
|
|
driver instance only supports one parallel port, so if your keypad
|
|
and LCD are connected to two separate ports, you have to start two
|
|
modules with different arguments. Numbering starts with '0' for LPT1,
|
|
and so on.
|
|
|
|
config PANEL_PROFILE
|
|
int "Default panel profile (0-5, 0=custom)"
|
|
depends on PANEL
|
|
range 0 5
|
|
default "5"
|
|
---help---
|
|
To ease configuration, the driver supports different configuration
|
|
profiles for past and recent wirings. These profiles can also be
|
|
used to define an approximative configuration, completed by a few
|
|
other options. Here are the profiles :
|
|
|
|
0 = custom (see further)
|
|
1 = 2x16 parallel LCD, old keypad
|
|
2 = 2x16 serial LCD (KS-0074), new keypad
|
|
3 = 2x16 parallel LCD (Hantronix), no keypad
|
|
4 = 2x16 parallel LCD (Nexcom NSA1045) with Nexcom's keypad
|
|
5 = 2x40 parallel LCD (old one), with old keypad
|
|
|
|
Custom configurations allow you to define how your display is
|
|
wired to the parallel port, and how it works. This is only intended
|
|
for experts.
|
|
|
|
config PANEL_KEYPAD
|
|
depends on PANEL && PANEL_PROFILE="0"
|
|
int "Keypad type (0=none, 1=old 6 keys, 2=new 6 keys, 3=Nexcom 4 keys)"
|
|
range 0 3
|
|
default 0
|
|
---help---
|
|
This enables and configures a keypad connected to the parallel port.
|
|
The keys will be read from character device 10,185. Valid values are :
|
|
|
|
0 : do not enable this driver
|
|
1 : old 6 keys keypad
|
|
2 : new 6 keys keypad, as used on the server at www.ant-computing.com
|
|
3 : Nexcom NSA1045's 4 keys keypad
|
|
|
|
New profiles can be described in the driver source. The driver also
|
|
supports simultaneous keys pressed when the keypad supports them.
|
|
|
|
config PANEL_LCD
|
|
depends on PANEL && PANEL_PROFILE="0"
|
|
int "LCD type (0=none, 1=custom, 2=old //, 3=ks0074, 4=hantronix, 5=Nexcom)"
|
|
range 0 5
|
|
default 0
|
|
---help---
|
|
This enables and configures an LCD connected to the parallel port.
|
|
The driver includes an interpreter for escape codes starting with
|
|
'\e[L' which are specific to the LCD, and a few ANSI codes. The
|
|
driver will be registered as character device 10,156, usually
|
|
under the name '/dev/lcd'. There are a total of 6 supported types :
|
|
|
|
0 : do not enable the driver
|
|
1 : custom configuration and wiring (see further)
|
|
2 : 2x16 & 2x40 parallel LCD (old wiring)
|
|
3 : 2x16 serial LCD (KS-0074 based)
|
|
4 : 2x16 parallel LCD (Hantronix wiring)
|
|
5 : 2x16 parallel LCD (Nexcom wiring)
|
|
|
|
When type '1' is specified, other options will appear to configure
|
|
more precise aspects (wiring, dimensions, protocol, ...). Please note
|
|
that those values changed from the 2.4 driver for better consistency.
|
|
|
|
config PANEL_LCD_HEIGHT
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
|
|
int "Number of lines on the LCD (1-2)"
|
|
range 1 2
|
|
default 2
|
|
---help---
|
|
This is the number of visible character lines on the LCD in custom profile.
|
|
It can either be 1 or 2.
|
|
|
|
config PANEL_LCD_WIDTH
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
|
|
int "Number of characters per line on the LCD (1-40)"
|
|
range 1 40
|
|
default 40
|
|
---help---
|
|
This is the number of characters per line on the LCD in custom profile.
|
|
Common values are 16,20,24,40.
|
|
|
|
config PANEL_LCD_BWIDTH
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
|
|
int "Internal LCD line width (1-40, 40 by default)"
|
|
range 1 40
|
|
default 40
|
|
---help---
|
|
Most LCDs use a standard controller which supports hardware lines of 40
|
|
characters, although sometimes only 16, 20 or 24 of them are really wired
|
|
to the terminal. This results in some non-visible but addressable characters,
|
|
and is the case for most parallel LCDs. Other LCDs, and some serial ones,
|
|
however, use the same line width internally as what is visible. The KS0074
|
|
for example, uses 16 characters per line for 16 visible characters per line.
|
|
|
|
This option lets you configure the value used by your LCD in 'custom' profile.
|
|
If you don't know, put '40' here.
|
|
|
|
config PANEL_LCD_HWIDTH
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
|
|
int "Hardware LCD line width (1-64, 64 by default)"
|
|
range 1 64
|
|
default 64
|
|
---help---
|
|
Most LCDs use a single address bit to differentiate line 0 and line 1. Since
|
|
some of them need to be able to address 40 chars with the lower bits, they
|
|
often use the immediately superior power of 2, which is 64, to address the
|
|
next line.
|
|
|
|
If you don't know what your LCD uses, in doubt let 16 here for a 2x16, and
|
|
64 here for a 2x40.
|
|
|
|
config PANEL_LCD_CHARSET
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
|
|
int "LCD character set (0=normal, 1=KS0074)"
|
|
range 0 1
|
|
default 0
|
|
---help---
|
|
Some controllers such as the KS0074 use a somewhat strange character set
|
|
where many symbols are at unusual places. The driver knows how to map
|
|
'standard' ASCII characters to the character sets used by these controllers.
|
|
Valid values are :
|
|
|
|
0 : normal (untranslated) character set
|
|
1 : KS0074 character set
|
|
|
|
If you don't know, use the normal one (0).
|
|
|
|
config PANEL_LCD_PROTO
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
|
|
int "LCD communication mode (0=parallel 8 bits, 1=serial)"
|
|
range 0 1
|
|
default 0
|
|
---help---
|
|
This driver now supports any serial or parallel LCD wired to a parallel
|
|
port. But before assigning signals, the driver needs to know if it will
|
|
be driving a serial LCD or a parallel one. Serial LCDs only use 2 wires
|
|
(SDA/SCL), while parallel ones use 2 or 3 wires for the control signals
|
|
(E, RS, sometimes RW), and 4 or 8 for the data. Use 0 here for a 8 bits
|
|
parallel LCD, and 1 for a serial LCD.
|
|
|
|
config PANEL_LCD_PIN_E
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
|
|
int "Parallel port pin number & polarity connected to the LCD E signal (-17...17) "
|
|
range -17 17
|
|
default 14
|
|
---help---
|
|
This describes the number of the parallel port pin to which the LCD 'E'
|
|
signal has been connected. It can be :
|
|
|
|
0 : no connection (eg: connected to ground)
|
|
1..17 : directly connected to any of these pins on the DB25 plug
|
|
-1..-17 : connected to the same pin through an inverter (eg: transistor).
|
|
|
|
Default for the 'E' pin in custom profile is '14' (AUTOFEED).
|
|
|
|
config PANEL_LCD_PIN_RS
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
|
|
int "Parallel port pin number & polarity connected to the LCD RS signal (-17...17) "
|
|
range -17 17
|
|
default 17
|
|
---help---
|
|
This describes the number of the parallel port pin to which the LCD 'RS'
|
|
signal has been connected. It can be :
|
|
|
|
0 : no connection (eg: connected to ground)
|
|
1..17 : directly connected to any of these pins on the DB25 plug
|
|
-1..-17 : connected to the same pin through an inverter (eg: transistor).
|
|
|
|
Default for the 'RS' pin in custom profile is '17' (SELECT IN).
|
|
|
|
config PANEL_LCD_PIN_RW
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0"
|
|
int "Parallel port pin number & polarity connected to the LCD RW signal (-17...17) "
|
|
range -17 17
|
|
default 16
|
|
---help---
|
|
This describes the number of the parallel port pin to which the LCD 'RW'
|
|
signal has been connected. It can be :
|
|
|
|
0 : no connection (eg: connected to ground)
|
|
1..17 : directly connected to any of these pins on the DB25 plug
|
|
-1..-17 : connected to the same pin through an inverter (eg: transistor).
|
|
|
|
Default for the 'RW' pin in custom profile is '16' (INIT).
|
|
|
|
config PANEL_LCD_PIN_SCL
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0"
|
|
int "Parallel port pin number & polarity connected to the LCD SCL signal (-17...17) "
|
|
range -17 17
|
|
default 1
|
|
---help---
|
|
This describes the number of the parallel port pin to which the serial
|
|
LCD 'SCL' signal has been connected. It can be :
|
|
|
|
0 : no connection (eg: connected to ground)
|
|
1..17 : directly connected to any of these pins on the DB25 plug
|
|
-1..-17 : connected to the same pin through an inverter (eg: transistor).
|
|
|
|
Default for the 'SCL' pin in custom profile is '1' (STROBE).
|
|
|
|
config PANEL_LCD_PIN_SDA
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0"
|
|
int "Parallel port pin number & polarity connected to the LCD SDA signal (-17...17) "
|
|
range -17 17
|
|
default 2
|
|
---help---
|
|
This describes the number of the parallel port pin to which the serial
|
|
LCD 'SDA' signal has been connected. It can be :
|
|
|
|
0 : no connection (eg: connected to ground)
|
|
1..17 : directly connected to any of these pins on the DB25 plug
|
|
-1..-17 : connected to the same pin through an inverter (eg: transistor).
|
|
|
|
Default for the 'SDA' pin in custom profile is '2' (D0).
|
|
|
|
config PANEL_LCD_PIN_BL
|
|
depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1"
|
|
int "Parallel port pin number & polarity connected to the LCD backlight signal (-17...17) "
|
|
range -17 17
|
|
default 0
|
|
---help---
|
|
This describes the number of the parallel port pin to which the LCD 'BL' signal
|
|
has been connected. It can be :
|
|
|
|
0 : no connection (eg: connected to ground)
|
|
1..17 : directly connected to any of these pins on the DB25 plug
|
|
-1..-17 : connected to the same pin through an inverter (eg: transistor).
|
|
|
|
Default for the 'BL' pin in custom profile is '0' (uncontrolled).
|
|
|
|
config PANEL_CHANGE_MESSAGE
|
|
depends on PANEL
|
|
bool "Change LCD initialization message ?"
|
|
default "n"
|
|
---help---
|
|
This allows you to replace the boot message indicating the kernel version
|
|
and the driver version with a custom message. This is useful on appliances
|
|
where a simple 'Starting system' message can be enough to stop a customer
|
|
from worrying.
|
|
|
|
If you say 'Y' here, you'll be able to choose a message yourself. Otherwise,
|
|
say 'N' and keep the default message with the version.
|
|
|
|
config PANEL_BOOT_MESSAGE
|
|
depends on PANEL && PANEL_CHANGE_MESSAGE="y"
|
|
string "New initialization message"
|
|
default ""
|
|
---help---
|
|
This allows you to replace the boot message indicating the kernel version
|
|
and the driver version with a custom message. This is useful on appliances
|
|
where a simple 'Starting system' message can be enough to stop a customer
|
|
from worrying.
|
|
|
|
An empty message will only clear the display at driver init time. Any other
|
|
printf()-formatted message is valid with newline and escape codes.
|
|
|
|
source "drivers/misc/c2port/Kconfig"
|
|
source "drivers/misc/eeprom/Kconfig"
|
|
source "drivers/misc/cb710/Kconfig"
|
|
source "drivers/misc/ti-st/Kconfig"
|
|
source "drivers/misc/lis3lv02d/Kconfig"
|
|
source "drivers/misc/altera-stapl/Kconfig"
|
|
source "drivers/misc/mei/Kconfig"
|
|
source "drivers/misc/vmw_vmci/Kconfig"
|
|
source "drivers/misc/mic/Kconfig"
|
|
source "drivers/misc/genwqe/Kconfig"
|
|
source "drivers/misc/echo/Kconfig"
|
|
source "drivers/misc/cxl/Kconfig"
|
|
endmenu
|