summaryrefslogtreecommitdiff
path: root/nuttx/drivers/lcd/Kconfig
blob: 18c0dd87c66e2084d6e8636320555092a3431c81 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#

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
	default 127 if NOKIA6100_PCF8833
	default 255 if LCD_P14201
	default 63
	---help---
		must be 63 with the Epson controller and 127 with
		the Phillips controller.

config LCD_MAXPOWER
	int "LCD maximum power"
	default 1
	---help---
		Maximum value of backlight setting.  The backlight
		control is managed outside of the 6100 driver so this value has no
		meaning to the driver.  Board-specific logic may place restrictions on
		this value.

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_BLINIT
	bool "Back light initial"
	default n
	---help---
		Initial backlight setting
		The following may need to be tuned for your hardware:

config NOKIA6100_BPP
	int "Display bits per pixel"
	default 8
	---help---
		Device supports 8, 12, and 16 bits per pixel.

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_UG9664HSWAG01
	bool "UG-9664HSWAG01 OLED Display Module"
	default n
	---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
	---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_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
	---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.

config UG2864AMBAG01_FRAMEBUFFER
	bool "UG-2864AMBAG01 Framebuffer"
	default y
	---help---
		If defined, accesses will be performed using an in-memory copy of the
		OLED's GRAM.  This cost of this buffer is 128 * 64 / 8 = 1Kb.

		If G2864AMBAG01_FRAMEBUFFER is not defined and the LCD is a LANDSCAPE
		mode, then a 128 byte buffer is still required.

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

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 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 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 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 the display is wider than it is
		tall (LCD_LANDSCAPE is the other).

endchoice