nuttx/drivers/lcd/Kconfig
2015-09-06 13:28:28 -04:00

1003 lines
23 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
comment "Common LCD Settings"
config LCD_CONSOLE
bool "LCD console output"
default n
---help---
It is possible to use an SLCD to provide console output. This option
enables that possibility.
At present, only one architecture supports this option (M16C).
However, this feature could be provided by other architectures in
the future.
config LCD_NOGETRUN
bool "Write-only LCD"
default n
---help---
Many LCD hardware interfaces provide only minimal graphics capability. In
particulary, many simple LCD interfaces are write only. That is we, can
write graphics data to the LCD device memory, but we cannot read it back.
If the LCD hardware does not support reading the graphics memory, then
this option should be defined so that the NX layer can taking alternative
measures when the LCD is not readable. For example, if the LCD is not
readable, then NX will not attempt to support transparency.
See also NX_WRITEONLY in the graphics support menu.
config LCD_MAXCONTRAST
int "LCD maximum contrast"
default 63 if NOKIA6100_S1D15G10 || LCD_SHARP_MEMLCD
default 127 if NOKIA6100_PCF8833
default 255 if LCD_P14201 || LCD_LCD1602
default 63
range 1 255
---help---
must be 63 with the Epson controller and 127 with
the Phillips controller.
config LCD_MAXPOWER
int "LCD maximum power"
default 255 if LCD_LCD1602
default 1
range 1 255
---help---
Maximum value of LCD power setting. This normally equates to brightness:
The brighter the screen, the hight the power usage.
On LCDs that have a backlight, this value corresponds directly to that
backlight setting. Board-specific logic may place restrictions on this
value.
comment "Graphic LCD Devices"
config LCD_P14201
bool "Rit P1402 series display"
default n
---help---
p14201.c. Driver for RiT P14201 series display with SD1329 IC
controller. This OLED is used with older versions of the
TI/Luminary LM3S8962 Evaluation Kit.
if LCD_P14201
config P14201_NINTERFACES
int "Number of physical P14201 devices"
default 1
range 1 1
---help---
Specifies the number of physical P14201
devices that will be supported.
config P14201_SPIMODE
int "SPI mode"
default 2
range 0 3
---help---
Controls the SPI mode
config P14201_FREQUENCY
int "SPI frequency"
default 1000000
---help---
Define to use a different bus frequency,FIXME DEFAULT VALUE OK?
config P14201_FRAMEBUFFER
bool "Enable P14201 GDDRAM cache"
default y
---help---
If defined, accesses will be performed
using an in-memory copy of the OLEDs GDDRAM. This cost of this
buffer is 128 * 96 / 2 = 6Kb. If this is defined, then the driver
will be fully functional. If not, then it will have the following
limitations:
Reading graphics memory cannot be supported, and
All pixel writes must be aligned to byte boundaries.
The latter limitation effectively reduces the 128x96 disply to 64x96.
endif
config LCD_NOKIA6100
bool "Nokia 6100 display support"
default n
---help---
nokia6100.c. Supports the Nokia 6100 display with either the Philips
PCF883 or the Epson S1D15G10 display controller. This LCD is used
with the Olimex LPC1766-STK (but has not been fully integrated).
if LCD_NOKIA6100
config NOKIA6100_NINTERFACES
int "Number of physical NOKIA6100 devices"
default 1
range 1 1
---help---
Specifies the number of physical Nokia
6100 devices that will be supported.
choice NOKIA6100_CONTROLLER
prompt "Controller Setup"
default NOKIA6100_S1D15G10
config NOKIA6100_S1D15G10
bool "S1D15G10 controller"
---help---
Selects the Epson S1D15G10 display controller
config NOKIA6100_PCF8833
bool "PCF8833 controller"
---help---
Selects the Phillips PCF8833 display controller
endchoice
config NOKIA6100_SPIMODE
int "SPI mode"
default 0
range 0 3
---help---
Controls the SPI mode
config NOKIA6100_FREQUENCY
int "SPI frequency"
default 1000000
---help---
Define to use a different bus frequency
config NOKIA6100_BPP
int "Display bits per pixel"
default 8
---help---
Device supports 8, 12, and 16 bits per pixel.
config NOKIA6100_BLINIT
int "Back light initial"
default 40
---help---
Initial backlight setting
config NOKIA6100_INVERT
int "Display inversion"
default 1
range 0 1
---help---
Display inversion, 0 or 1, Default: 1
config NOKIA6100_MY
int "Display row direction"
default 0
range 0 1
---help---
Display row direction, 0 or 1, Default: 0
config NOKIA6100_MX
int "Display column direction"
default 1
range 0 1
---help---
Display column direction, 0 or 1, Default: 1
config NOKIA6100_V
int "Display address direction"
default 0
range 0 1
---help---
Display address direction, 0 or 1, Default: 0
config NOKIA6100_ML
int "Display scan direction"
default 0
range 0 1
---help---
Display scan direction, 0 or 1, Default: 0
config NOKIA6100_RGBORD
int "Display RGB order"
default 0
range 0 1
---help---
Display RGB order, 0 or 1, Default: 0
Required LCD driver settings:
endif
config LCD_MIO283QT2
bool "MIO283QT-2 TFT LCD Display Module"
default n
---help---
OLED Display Module, MIO283QT-2, Multi-Inno Technology, Co.
based on the Himax HX8347-D LCD controller.
config LCD_MIO283QT9A
bool "MIO283QT-9A TFT LCD Display Module"
default n
---help---
Selects the driver for the MI0283QT-9A LCD from Multi-Inno
Technology Co., Ltd. This LCD is based on the Ilitek ILI9341
LCD controller.
config LCD_UG9664HSWAG01
bool "UG-9664HSWAG01 OLED Display Module"
default n
depends on SPI
---help---
OLED Display Module, UG-9664HSWAG01, Univision Technology Inc. Used
with the LPCXpresso and Embedded Artists base board.
Required LCD driver settings:
LCD_MAXCONTRAST should be 255, but any value >0 and <=255 will be accepted.
LCD_MAXPOWER should be 1: 0=off, 1=on
Required SPI driver settings:
SPI_CMDDATA - Include support for cmd/data selection.
if LCD_UG9664HSWAG01
config UG9664HSWAG01_SPIMODE
int "UG-9664HSWAG01 SPI Mode"
default 0
range 0 3
---help---
Controls the SPI mode
config UG9664HSWAG01_FREQUENCY
int "UG-9664HSWAG01 SPI Frequency"
default 3500000
---help---
Define to use a different bus frequency
config UG9664HSWAG01_NINTERFACES
int "Number of UG-9664HSWAG01 Devices"
default 1
---help---
Specifies the number of physical UG-9664HSWAG01 devices that will be
supported. NOTE: At present, this must be undefined or defined to be 1.
config UG9664HSWAG01_POWER
bool "Power control"
default n
---help---
If the hardware supports a controllable OLED a power supply, this
configuration should be defined. In this case the system must
provide an interface ug_power().
endif
config LCD_UG2864HSWEG01
bool "UG-2864HSWEG01 OLED Display Module"
default n
select LCD_SSD1306
---help---
OLED Display Module, UG-2864HSWEG01, Univision Technology Inc based
on the Solomon Tech SSD1306 LCD controller.
Required LCD driver settings:
LCD_MAXCONTRAST should be 255, but any value >0 and <=255 will be accepted.
LCD_MAXPOWER should be 1: 0=off, 1=on
Required SPI driver settings:
SPI_CMDDATA - Include support for cmd/data selection.
config LCD_UG2832HSWEG04
bool "UG-2832HSWEG04 OLED Display Module"
default n
depends on !LCD_UG2864HSWEG01
select LCD_SSD1306
---help---
OLED Display Module, UG-UG2832HSWEG04, Univision Technology Inc
based on the Solomon Tech SSD1306 LCD controller. Used with the
Atmel SAM4L Xplained Pro board on the OLED1 module.
Required LCD driver settings:
LCD_MAXCONTRAST should be 255, but any value >0 and <=255 will be accepted.
LCD_MAXPOWER should be 1: 0=off, 1=on
Required SPI driver settings:
SPI_CMDDATA - Include support for cmd/data selection.
config LCD_SSD1306
bool
if LCD_SSD1306
choice
prompt "UG-2832HSWEG04 Interface"
default LCD_SSD1306_SPI
config LCD_SSD1306_SPI
bool "UG-2832HSWEG04 on SPI Interface"
select SPI
---help---
Enables support for the SPI interface.
config LCD_SSD1306_I2C
bool "UG-2832HSWEG04 on I2C Interface"
select I2C
---help---
Enables support for the I2C interface
endchoice # UG-2832HSWEG04 Interface
endif # LCD_SSD1306
if LCD_SSD1306_SPI
config SSD1306_SPIMODE
int "SSD1306 SPI Mode"
default 0
range 0 3
---help---
Selects the SPI mode used with the SSD1306 device
config SSD1306_FREQUENCY
int "SSD1306 SPI Frequency"
default 3500000
---help---
Selects the SPI bus frequency used with the SSD1306 device
#config SSD1306_NINTERFACES
# int "Number of SSD1306 Devices"
# default 1
# ---help---
# Specifies the number of physical SSD1306 devices that will be
# supported. NOTE: At present, this must be undefined or defined to
# be 1.
endif # LCD_SSD1306_SPI
if LCD_SSD1306_I2C
config SSD1306_I2CADDR
int "UG-2832HSWEG04 I2C Address"
default 120
---help---
I2C Address of SSD1306
config SSD1306_I2CFREQ
int "UG-2832HSWEG04 I2C Frequency"
default 400000
---help---
I2C Frequency to communicate with SSD1306
endif # LCD_SSD1306_I2C
config LCD_SSD1351
bool "SSD1351 OLED Display Module"
default n
---help---
OLED Display Module, SSD1351, Solomon Systech.
if LCD_SSD1351
choice
prompt "Interface"
default SSD1351_SPI4WIRE
config SSD1351_PARALLEL8BIT
bool "8-bit Parallel Interface"
---help---
Enables support for the 8-bit parallel interface.
config SSD1351_SPI3WIRE
bool "3-wire SPI Interface"
select SPI
---help---
Enables support for the 3-wire SPI interface.
config SSD1351_SPI4WIRE
bool "4-wire SPI Interface"
select SPI
select SPI_CMDDATA
---help---
Enables support for the 4-wire SPI interface.
endchoice
if SSD1351_SPI3WIRE || SSD1351_SPI4WIRE
config SSD1351_SPIMODE
int "SPI Mode"
default 0
range 0 3
---help---
Specifies the SPI mode.
config SSD1351_SPIFREQ
int "SPI Frequency"
default 1000000
---help---
Specifies the SPI frequency.
endif
config SSD1351_NINTERFACES
int "Number of SSD1351 Devices"
default 1
range 1 1
---help---
Specifies the number of physical SSD1351 devices that will
be supported.
config SSD1351_XRES
int "X Resolution"
default 128
range 1 128
---help---
Specifies the X resolution of the display.
config SSD1351_YRES
int "Y Resolution"
default 128
range 1 128
---help---
Specifies the Y resolution of the display.
config SSD1351_MIRRORX
bool "Mirror X"
default n
---help---
Mirrors the display along the X axis.
config SSD1351_MIRRORY
bool "Mirror Y"
default n
---help---
Mirrors the display along the Y axis.
config SSD1351_INVERT
bool "Invert Display"
default n
---help---
Inverts the display.
config SSD1351_VDDEXT
bool "External VDD"
default n
---help---
Specifies that VDD is external.
config SSD1351_TRST
int "Reset Period"
default 5
range 5 31
---help---
Specifies the reset period in DCLKs.
config SSD1351_TPRECHG1
int "First Pre-charge Period"
default 8
range 3 15
---help---
Specifies the first pre-charge period in DCLKs.
config SSD1351_PERFENHANCE
bool "Enhance Display Performance"
default n
---help---
Enhances the display performance.
config SSD1351_CLKDIV
int "Clock Divider"
default 0
range 0 10
---help---
Specifies the clock divider.
config SSD1351_OSCFREQ
int "Oscillator Frequency"
default 15
range 0 15
---help---
Specifies the oscillator frequency.
config SSD1351_TPRECHG2
int "Second Pre-charge Period"
default 8
range 1 15
---help---
Specifies the second pre-charge period in DCLKs.
config SSD1351_VPRECHG
int "Voltage Pre-charge Level"
default 50
range 20 60
---help---
Specifies the pre-charge voltage level as a percentage of VCC.
config SSD1351_VCOMH
int "COM Deselect Voltage Level"
default 82
range 72 86
---help---
Specifies the COM deselect voltage level as a percentage of VCC.
config SSD1351_CONTRASTA
int "Color A Contrast"
default 138
range 0 255
---help---
Specifies the contrast of color A.
config SSD1351_CONTRASTB
int "Color B Contrast"
default 81
range 0 255
---help---
Specifies the contrast of color B.
config SSD1351_CONTRASTC
int "Color C Contrast"
default 138
range 0 255
---help---
Specifies the contrast of color C.
config SSD1351_MSTRCONTRAST
int "Master Contrast Ratio"
default 16
range 1 16
---help---
Specifies the master contrast ratio in sixteenths.
endif
config LCD_ST7565
bool "ST7565 LCD Display Module"
default n
---help---
LCD Display Module, ST7565, Univision Technology Inc.
Required LCD driver settings:
LCD_MAXCONTRAST should be 255, but any value >0 and <=255 will be accepted.
if LCD_ST7565
choice
prompt "LCD Display Module initialization sequence"
default NHD_C12864KGZ
config NHD_C12864KGZ
bool "like NHD C12864KGZ"
endchoice
config ST7565_NINTERFACES
int "Number of ST7565 Devices"
default 1
---help---
Specifies the number of physical ST7565 devices that will be
supported. NOTE: At present, this must be undefined or defined to be 1.
config ST7565_XRES
int "ST7565 X Resolution"
default 128
---help---
Specifies the X resolution of the LCD.
config ST7565_YRES
int "ST7565 Y Resolution"
default 64
---help---
Specifies the Y resolution of the LCD.
config ST7565_MIRROR_X
bool "ST7565 apply mirror on X"
default n
---help---
Mirror X on LCD.
config ST7565_MIRROR_Y
bool "ST7565 apply mirror on Y"
default n
---help---
Mirror Y on LCD.
config ST7565_INVERSE_VIDEO
bool "ST7565 Inverse video"
default n
---help---
Inverse video on LCD.
endif # LCD_ST7565
config LCD_ST7567
bool "ST7567 LCD Display Module"
default n
---help---
LCD Display Module, ST7567, Univision Technology Inc. Used
with the LPCXpresso and Embedded Artists base board.
Required LCD driver settings:
LCD_MAXCONTRAST should be 255, but any value >0 and <=255 will be accepted.
LCD_MAXPOWER should be 1: 0=off, 1=on
Required SPI driver settings:
SPI_CMDDATA - Include support for cmd/data selection.
if LCD_ST7567
config ST7567_SPIMODE
int "ST7567 SPI Mode"
default 0
range 0 3
---help---
Controls the SPI mode
config ST7567_FREQUENCY
int "ST7567 SPI Frequency"
default 3500000
---help---
Define to use a different bus frequency
config ST7567_NINTERFACES
int "Number of ST7567 Devices"
default 1
---help---
Specifies the number of physical ST7567 devices that will be
supported. NOTE: At present, this must be undefined or defined to be 1.
config ST7567_POWER
bool "Power control"
default n
---help---
If the hardware supports a controllable LCD a power supply, this
configuration should be defined. In this case the system must
provide an interface ug_power().
config ST7567_XRES
int "ST7567 X Resolution"
default 128
---help---
Specifies the X resolution of the LCD.
config ST7567_YRES
int "ST7567 Y Resolution"
default 64
---help---
Specifies the Y resolution of the LCD.
endif # LCD_ST7567
config LCD_UG2864AMBAG01
bool "UG-2864AMBAG01 OLED Display Module"
default n
---help---
OLED Display Module, UG-2864AMBAG01, Univision Technology Inc.
Required LCD driver settings:
LCD_MAXCONTRAST should be 255, but any value >0 and <=255 will be accepted.
LCD_MAXPOWER should be 1: 0=off, 1=on
Required SPI driver settings:
SPI_CMDDATA - Include support for cmd/data selection.
if LCD_UG2864AMBAG01
config UG2864AMBAG01_SPIMODE
int "UG-2864AMBAG01 SPI Mode"
default 3
range 0 3
---help---
Controls the SPI mode
config UG2864AMBAG01_FREQUENCY
int "UG-2864AMBAG01 SPI Frequency"
default 3500000
---help---
Define to use a different bus frequency
config UG2864AMBAG01_NINTERFACES
int "Number of UG-2864AMBAG01 Devices"
default 1
---help---
Specifies the number of physical UG-9664HSWAG01 devices that will be
supported. NOTE: At present, this must be undefined or defined to be 1.
endif
config LCD_SSD1289
bool "LCD Based on SSD1289 Controller"
default n
---help---
Enables generic support for any LCD based on the Solomon Systech,
Ltd, SSD1289 Controller. Use of this driver will usually require so
detailed customization of the LCD initialization code as necessary
for the specific LCD driven by the SSD1289 controller.
if LCD_SSD1289
choice
prompt "SSD1289 Initialization Profile"
default SSD1289_PROFILE1
config SSD1289_PROFILE1
bool "Profile 1"
config SSD1289_PROFILE2
bool "Profile 2"
config SSD1289_PROFILE3
bool "Profile 3"
endchoice
endif
config LCD_SHARP_MEMLCD
bool "Sharp Memory LCD Suite"
default n
---help---
memlcd.c. Driver for Sharp Memory LCD Suite.
if LCD_SHARP_MEMLCD
choice MEMLCD_MODEL
prompt "Choose Model"
default MEMLCD_LS013B7DH03
config MEMLCD_LS013B7DH01
bool "LS013B7DH01"
---help---
Selects the LS013B7DH01 model
config MEMLCD_LS013B7DH03
bool "LS013B7DH03"
---help---
Selects the LS013B7DH03 model
endchoice
config MEMLCD_NINTERFACES
int "Number of physical Memory LCD devices"
default 1
range 1 1
---help---
Specifies the number of physical Memory LCD devices that will
be supported.
config MEMLCD_EXTCOMIN_MODE_HW
bool "Use hardware mode for EXTCOMIN"
default n
---help---
If use hardware mode to toggle VCOM, we need to send specific
command at a constant frequency to trigger the LCD intenal
hardware logic. While use software mode, we set up a timer to
toggle EXTCOMIN connected IO, basically, it is a hardware
timer to ensure a constant frequency.
config MEMLCD_SPI_FREQUENCY
int "SPI frequency"
default 3500000
---help---
Define to use a different bus frequency, FIXME DEFAULT VALUE OK?
endif
choice
prompt "LCD Orientation"
default LCD_LANDSCAPE
depends on LCD
---help---
Some LCD drivers may support displays in different orientations.
If the LCD driver supports this capability, than these are configuration
options to select that display orientation.
config LCD_LANDSCAPE
bool "Landscape orientation"
---help---
Define for "landscape" orientation support. Landscape mode refers one
of two orientations where the display is wider than it is tall
(LCD_RLANDSCAPE is the other). This is the default orientation.
config LCD_PORTRAIT
bool "Portrait orientation"
---help---
Define for "portrait" orientation support. Portrait mode refers one
of two orientations where the display is taller than it is wide
(LCD_RPORTAIT is the other).
config LCD_RPORTRAIT
bool "Reverse portrait display"
---help---
Define for "reverse portrait" orientation support. Reverse portrait mode
refers one of two orientations where the display is taller than it is
wide (LCD_PORTAIT is the other).
config LCD_RLANDSCAPE
bool "Reverse landscape orientation"
---help---
Define for "reverse landscape" orientation support. Reverse landscape mode
refers one of two orientations where the display is wider than it is
tall (LCD_LANDSCAPE is the other).
endchoice
config LCD_ILI9341
bool "ILI9341 LCD Single Chip Driver"
default n
---help---
LCD Single Chip Driver, ILI9341, ILI Technology Corp. Used
with the STM32F429i Discovery Board.
Required LCD driver settings:
LCD_MAXCONTRAST should be 255, but any value >0 and <=255 will be accepted.
LCD_MAXPOWER should be 1: 0=off, 1=on
config LCD_ILI9341_NINTERFACES
int "Number of supported display driver"
range 1 2
default 1
depends on LCD_ILI9341
---help---
Define the number of supported displays driven by a ili9341 LCD Single
Chip Driver.
config LCD_ILI9341_IFACE0
bool "(1) LCD Display"
depends on LCD_ILI9341_NINTERFACES = 1 || LCD_ILI9341_NINTERFACES = 2
---help---
Configure first LCD Display.
if LCD_ILI9341_IFACE0
choice
prompt "LCD Orientation"
default LCD_ILI9341_IFACE0_LANDSCAPE
---help---
Configure display orientation.
config LCD_ILI9341_IFACE0_LANDSCAPE
bool "Landscape orientation"
---help---
Define for "landscape" orientation support.
config LCD_ILI9341_IFACE0_PORTRAIT
bool "Portrait orientation"
---help---
Define for "portrait" orientation support.
config LCD_ILI9341_IFACE0_RLANDSCAPE
bool "Reverse landscape orientation"
---help---
Define for "reverse landscape" orientation support.
config LCD_ILI9341_IFACE0_RPORTRAIT
bool "Reverse portrait display"
---help---
Define for "reverse portrait" orientation support.
endchoice
choice
prompt "Color format"
default LCD_ILI9341_IFACE0_RGB565
---help---
LCD color format.
config LCD_ILI9341_IFACE0_RGB565
bool "16 bpp RGB565 color format"
---help---
16 bpp RGB565 color format
endchoice
endif
config LCD_ILI9341_IFACE1
bool "(2) LCD Display"
depends on LCD_ILI9341_NINTERFACES = 2
---help---
Configure second LCD Display.
if LCD_ILI9341_IFACE1
choice
prompt "LCD Orientation"
default LCD_ILI9341_IFACE1_LANDSCAPE
---help---
Configure display orientation.
config LCD_ILI9341_IFACE1_LANDSCAPE
bool "Landscape orientation"
---help---
Define for "landscape" orientation support.
config LCD_ILI9341_IFACE1_PORTRAIT
bool "Portrait orientation"
---help---
Define for "portrait" orientation support.
config LCD_ILI9341_IFACE1_RLANDSCAPE
bool "Reverse landscape orientation"
---help---
Define for "reverse landscape" orientation support.
config LCD_ILI9341_IFACE1_RPORTRAIT
bool "Reverse portrait display"
---help---
Define for "reverse portrait" orientation support.
endchoice
choice
prompt "Color format"
default LCD_ILI9341_IFACE1_RGB565
---help---
LCD color format.
config LCD_ILI9341_IFACE1_RGB565
bool "16 bpp RGB565 color format"
---help---
16 bpp RGB565 color format
endchoice
endif
config LCD_RA8875
bool "RA8875 LCD Display Controller"
default n
---help---
LCD controller driver for RA8875 by RAiO Technologies Inc.
if LCD_RA8875
choice
prompt "MCU Interface width"
default LCD_RA8875_8BIT
---help---
Bit-width of MCU interface (8 or 16)
config LCD_RA8875_8BIT
bool "8 bit"
config LCD_RA8875_16BIT
bool "16 bit"
endchoice # MCU Interface width
choice
prompt "Colors"
default LCD_RA8875_65K
---help---
Number of colors/color depth
config LCD_RA8875_256
bool "256 / 8 bit"
config LCD_RA8875_65K
bool "65k / 16 bit"
endchoice # Colors
config LCD_RA8875_EXTENDED
bool "Extended drawing interfaces"
default n
depends on BUILD_FLAT
---help---
Build in some non-standard, custom drawing interfaces for the RA8875
including the following: ra8875_drawrectangle(), ra8875_drawline(),
ra8875_drawtriangle(), and ra8875_drawcircle(). NOTE that these
will not be accessible by applications in protected or kernel build
configurations.
NOTE: The non-standard ra8875_clear(), ra8875_drawrectangle(),
ra8875_drawline() interfaces are always built and available for use
because within the OS because these are used internally by the
driver anyway.
endif # LCD_RA8875
comment "Alphanumeric/Segment LCD Devices"
config LCD_LCD1602
bool "LCD 1602"
default n
---help---
Enable support for LCD1602 devices. LCD1602 is based on the Hitachi
HD44780U LCD controller. See also include/nuttx/lcd/hd4478ou.h.
NOTE: There is no common implementation of the LCD1602 driver.
Rather, there are board-by-board implementations. See, for example,
configs/pcblogic-pic32mx/src/up_lcd1602.c.