1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Touchscreen driver configuration
4#
5menuconfig INPUT_TOUCHSCREEN
6	bool "Touchscreens"
7	help
8	  Say Y here, and a list of supported touchscreens will be displayed.
9	  This option doesn't affect the kernel.
10
11	  If unsure, say Y.
12
13if INPUT_TOUCHSCREEN
14
15config TOUCHSCREEN_88PM860X
16	tristate "Marvell 88PM860x touchscreen"
17	depends on MFD_88PM860X
18	help
19	  Say Y here if you have a 88PM860x PMIC and want to enable
20	  support for the built-in touchscreen.
21
22	  If unsure, say N.
23
24	  To compile this driver as a module, choose M here: the
25	  module will be called 88pm860x-ts.
26
27config TOUCHSCREEN_ADS7846
28	tristate "ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens"
29	depends on SPI_MASTER
30	depends on HWMON = n || HWMON
31	help
32	  Say Y here if you have a touchscreen interface using the
33	  ADS7846/TSC2046/AD7873 or ADS7843/AD7843 controller,
34	  and your board-specific setup code includes that in its
35	  table of SPI devices.
36
37	  If HWMON is selected, and the driver is told the reference voltage
38	  on your board, you will also get hwmon interfaces for the voltage
39	  (and on ads7846/tsc2046/ad7873, temperature) sensors of this chip.
40
41	  If unsure, say N (but it's safe to say "Y").
42
43	  To compile this driver as a module, choose M here: the
44	  module will be called ads7846.
45
46config TOUCHSCREEN_AD7877
47	tristate "AD7877 based touchscreens"
48	depends on SPI_MASTER
49	help
50	  Say Y here if you have a touchscreen interface using the
51	  AD7877 controller, and your board-specific initialization
52	  code includes that in its table of SPI devices.
53
54	  If unsure, say N (but it's safe to say "Y").
55
56	  To compile this driver as a module, choose M here: the
57	  module will be called ad7877.
58
59config TOUCHSCREEN_AD7879
60	tristate "Analog Devices AD7879-1/AD7889-1 touchscreen interface"
61	help
62	  Say Y here if you want to support a touchscreen interface using
63	  the AD7879-1/AD7889-1 controller.
64
65	  You should select a bus connection too.
66
67	  To compile this driver as a module, choose M here: the
68	  module will be called ad7879.
69
70config TOUCHSCREEN_AD7879_I2C
71	tristate "support I2C bus connection"
72	depends on TOUCHSCREEN_AD7879 && I2C
73	select REGMAP_I2C
74	help
75	  Say Y here if you have AD7879-1/AD7889-1 hooked to an I2C bus.
76
77	  To compile this driver as a module, choose M here: the
78	  module will be called ad7879-i2c.
79
80config TOUCHSCREEN_AD7879_SPI
81	tristate "support SPI bus connection"
82	depends on TOUCHSCREEN_AD7879 && SPI_MASTER
83	select REGMAP_SPI
84	help
85	  Say Y here if you have AD7879-1/AD7889-1 hooked to a SPI bus.
86
87	  If unsure, say N (but it's safe to say "Y").
88
89	  To compile this driver as a module, choose M here: the
90	  module will be called ad7879-spi.
91
92config TOUCHSCREEN_ADC
93	tristate "Generic ADC based resistive touchscreen"
94	depends on IIO
95	select IIO_BUFFER
96	select IIO_BUFFER_CB
97	help
98	  Say Y here if you want to use the generic ADC
99	  resistive touchscreen driver.
100
101	  If unsure, say N (but it's safe to say "Y").
102
103	  To compile this driver as a module, choose M here: the
104	  module will be called resistive-adc-touch.ko.
105
106config TOUCHSCREEN_AR1021_I2C
107	tristate "Microchip AR1020/1021 i2c touchscreen"
108	depends on I2C && OF
109	help
110	  Say Y here if you have the Microchip AR1020 or AR1021 touchscreen
111	  controller chip in your system.
112
113	  If unsure, say N.
114
115	  To compile this driver as a module, choose M here: the
116	  module will be called ar1021_i2c.
117
118config TOUCHSCREEN_ATMEL_MXT
119	tristate "Atmel mXT I2C Touchscreen"
120	depends on I2C
121	select FW_LOADER
122	help
123	  Say Y here if you have Atmel mXT series I2C touchscreen,
124	  such as AT42QT602240/ATMXT224, connected to your system.
125
126	  If unsure, say N.
127
128	  To compile this driver as a module, choose M here: the
129	  module will be called atmel_mxt_ts.
130
131config TOUCHSCREEN_ATMEL_MXT_T37
132	bool "Support T37 Diagnostic Data"
133	depends on TOUCHSCREEN_ATMEL_MXT
134	depends on VIDEO_DEV=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_DEV=m)
135	select VIDEOBUF2_VMALLOC
136	help
137	  Say Y here if you want support to output data from the T37
138	  Diagnostic Data object using a V4L device.
139
140config TOUCHSCREEN_AUO_PIXCIR
141	tristate "AUO in-cell touchscreen using Pixcir ICs"
142	depends on I2C
143	depends on GPIOLIB || COMPILE_TEST
144	help
145	  Say Y here if you have a AUO display with in-cell touchscreen
146	  using Pixcir ICs.
147
148	  If unsure, say N.
149
150	  To compile this driver as a module, choose M here: the
151	  module will be called auo-pixcir-ts.
152
153config TOUCHSCREEN_BU21013
154	tristate "BU21013 based touch panel controllers"
155	depends on I2C
156	help
157	  Say Y here if you have a bu21013 touchscreen connected to
158	  your system.
159
160	  If unsure, say N.
161
162	  To compile this driver as a module, choose M here: the
163	  module will be called bu21013_ts.
164
165config TOUCHSCREEN_BU21029
166	tristate "Rohm BU21029 based touch panel controllers"
167	depends on I2C
168	help
169	  Say Y here if you have a Rohm BU21029 touchscreen controller
170	  connected to your system.
171
172	  If unsure, say N.
173
174	  To compile this driver as a module, choose M here: the
175	  module will be called bu21029_ts.
176
177config TOUCHSCREEN_CHIPONE_ICN8318
178	tristate "chipone icn8318 touchscreen controller"
179	depends on GPIOLIB || COMPILE_TEST
180	depends on I2C
181	depends on OF
182	help
183	  Say Y here if you have a ChipOne icn8318 based I2C touchscreen.
184
185	  If unsure, say N.
186
187	  To compile this driver as a module, choose M here: the
188	  module will be called chipone_icn8318.
189
190config TOUCHSCREEN_CHIPONE_ICN8505
191	tristate "chipone icn8505 touchscreen controller"
192	depends on I2C && ACPI
193	help
194	  Say Y here if you have a ChipOne icn8505 based I2C touchscreen.
195
196	  If unsure, say N.
197
198	  To compile this driver as a module, choose M here: the
199	  module will be called chipone_icn8505.
200
201config TOUCHSCREEN_CY8CTMA140
202	tristate "cy8ctma140 touchscreen"
203	depends on I2C
204	help
205	  Say Y here if you have a Cypress CY8CTMA140 capacitive
206	  touchscreen also just known as "TMA140"
207
208	  If unsure, say N.
209
210	  To compile this driver as a module, choose M here: the
211	  module will be called cy8ctma140.
212
213config TOUCHSCREEN_CY8CTMG110
214	tristate "cy8ctmg110 touchscreen"
215	depends on I2C
216	depends on GPIOLIB || COMPILE_TEST
217	help
218	  Say Y here if you have a cy8ctmg110 capacitive touchscreen on
219	  an AAVA device.
220
221	  If unsure, say N.
222
223	  To compile this driver as a module, choose M here: the
224	  module will be called cy8ctmg110_ts.
225
226config TOUCHSCREEN_CYTTSP_CORE
227	tristate "Cypress TTSP touchscreen"
228	help
229	  Say Y here if you have a touchscreen using controller from
230	  the Cypress TrueTouch(tm) Standard Product family connected
231	  to your system. You will also need to select appropriate
232	  bus connection below.
233
234	  If unsure, say N.
235
236	  To compile this driver as a module, choose M here: the
237	  module will be called cyttsp_core.
238
239config TOUCHSCREEN_CYTTSP_I2C
240	tristate "support I2C bus connection"
241	depends on TOUCHSCREEN_CYTTSP_CORE && I2C
242	help
243	  Say Y here if the touchscreen is connected via I2C bus.
244
245	  To compile this driver as a module, choose M here: the
246	  module will be called cyttsp_i2c.
247
248config TOUCHSCREEN_CYTTSP_SPI
249	tristate "support SPI bus connection"
250	depends on TOUCHSCREEN_CYTTSP_CORE && SPI_MASTER
251	help
252	  Say Y here if the touchscreen is connected via SPI bus.
253
254	  To compile this driver as a module, choose M here: the
255	  module will be called cyttsp_spi.
256
257config TOUCHSCREEN_CYTTSP4_CORE
258	tristate "Cypress TrueTouch Gen4 Touchscreen Driver"
259	help
260	  Core driver for Cypress TrueTouch(tm) Standard Product
261	  Generation4 touchscreen controllers.
262
263	  Say Y here if you have a Cypress Gen4 touchscreen.
264
265	  If unsure, say N.
266
267	  To compile this driver as a module, choose M here.
268
269config TOUCHSCREEN_CYTTSP4_I2C
270	tristate "support I2C bus connection"
271	depends on TOUCHSCREEN_CYTTSP4_CORE && I2C
272	help
273	  Say Y here if the touchscreen is connected via I2C bus.
274
275	  To compile this driver as a module, choose M here: the
276	  module will be called cyttsp4_i2c.
277
278config TOUCHSCREEN_CYTTSP4_SPI
279	tristate "support SPI bus connection"
280	depends on TOUCHSCREEN_CYTTSP4_CORE && SPI_MASTER
281	help
282	  Say Y here if the touchscreen is connected via SPI bus.
283
284	  To compile this driver as a module, choose M here: the
285	  module will be called cyttsp4_spi.
286
287config TOUCHSCREEN_CYTTSP5
288	tristate "Cypress TrueTouch Gen5 Touchscreen Driver"
289	depends on I2C
290	select REGMAP_I2C
291	select CRC_ITU_T
292	help
293	  Driver for Parade TrueTouch Standard Product Generation 5
294	  touchscreen controllers. I2C bus interface support only.
295
296	  Say Y here if you have a Cypress Gen5 touchscreen.
297
298	  If unsure, say N.
299
300	  To compile this driver as a module, choose M here: the
301	  module will be called cyttsp5.
302
303config TOUCHSCREEN_DA9034
304	tristate "Touchscreen support for Dialog Semiconductor DA9034"
305	depends on PMIC_DA903X
306	default y
307	help
308	  Say Y here to enable the support for the touchscreen found
309	  on Dialog Semiconductor DA9034 PMIC.
310
311	  If unsure, say N.
312
313	  To compile this driver as a module, choose M here: the
314	  module will be called da9034-ts.
315
316config TOUCHSCREEN_DA9052
317	tristate "Dialog DA9052/DA9053 TSI"
318	depends on PMIC_DA9052
319	help
320	  Say Y here to support the touchscreen found on Dialog Semiconductor
321	  DA9052-BC and DA9053-AA/Bx PMICs.
322
323	  If unsure, say N.
324
325	  To compile this driver as a module, choose M here: the
326	  module will be called da9052_tsi.
327
328config TOUCHSCREEN_DYNAPRO
329	tristate "Dynapro serial touchscreen"
330	select SERIO
331	help
332	  Say Y here if you have a Dynapro serial touchscreen connected to
333	  your system.
334
335	  If unsure, say N.
336
337	  To compile this driver as a module, choose M here: the
338	  module will be called dynapro.
339
340config TOUCHSCREEN_HAMPSHIRE
341	tristate "Hampshire serial touchscreen"
342	select SERIO
343	help
344	  Say Y here if you have a Hampshire serial touchscreen connected to
345	  your system.
346
347	  If unsure, say N.
348
349	  To compile this driver as a module, choose M here: the
350	  module will be called hampshire.
351
352config TOUCHSCREEN_EETI
353	tristate "EETI touchscreen panel support"
354	depends on I2C
355	help
356	  Say Y here to enable support for I2C connected EETI touch panels.
357
358	  To compile this driver as a module, choose M here: the
359	  module will be called eeti_ts.
360
361config TOUCHSCREEN_EGALAX
362	tristate "EETI eGalax multi-touch panel support"
363	depends on I2C && OF
364	help
365	  Say Y here to enable support for I2C connected EETI
366	  eGalax multi-touch panels.
367
368	  To compile this driver as a module, choose M here: the
369	  module will be called egalax_ts.
370
371config TOUCHSCREEN_EGALAX_SERIAL
372	tristate "EETI eGalax serial touchscreen"
373	select SERIO
374	help
375	  Say Y here to enable support for serial connected EETI
376	  eGalax touch panels.
377
378	  To compile this driver as a module, choose M here: the
379	  module will be called egalax_ts_serial.
380
381config TOUCHSCREEN_EXC3000
382	tristate "EETI EXC3000 multi-touch panel support"
383	depends on I2C
384	help
385	  Say Y here to enable support for I2C connected EETI
386	  EXC3000 multi-touch panels.
387
388	  To compile this driver as a module, choose M here: the
389	  module will be called exc3000.
390
391config TOUCHSCREEN_FUJITSU
392	tristate "Fujitsu serial touchscreen"
393	select SERIO
394	help
395	  Say Y here if you have the Fujitsu touchscreen (such as one
396	  installed in Lifebook P series laptop) connected to your
397	  system.
398
399	  If unsure, say N.
400
401	  To compile this driver as a module, choose M here: the
402	  module will be called fujitsu-ts.
403
404config TOUCHSCREEN_GOODIX
405	tristate "Goodix I2C touchscreen"
406	depends on I2C
407	depends on GPIOLIB || COMPILE_TEST
408	help
409	  Say Y here if you have the Goodix touchscreen (such as one
410	  installed in Onda v975w tablets) connected to your
411	  system. It also supports 5-finger chip models, which can be
412	  found on ARM tablets, like Wexler TAB7200 and MSI Primo73.
413
414	  If unsure, say N.
415
416	  To compile this driver as a module, choose M here: the
417	  module will be called goodix.
418
419config TOUCHSCREEN_HIDEEP
420	tristate "HiDeep Touch IC"
421	depends on I2C
422	help
423	  Say Y here if you have a touchscreen using HiDeep.
424
425	  If unsure, say N.
426
427	  To compile this driver as a module, choose M here : the
428	  module will be called hideep_ts.
429
430config TOUCHSCREEN_HYCON_HY46XX
431	tristate "Hycon hy46xx touchscreen support"
432	depends on I2C
433	help
434	  Say Y here if you have a touchscreen using Hycon hy46xx
435
436	  If unsure, say N.
437
438	  To compile this driver as a module, choose M here: the
439	  module will be called hycon-hy46xx.
440
441config TOUCHSCREEN_HYNITRON_CSTXXX
442	tristate "Hynitron touchscreen support"
443	depends on I2C
444	help
445	  Say Y here if you have a touchscreen using a Hynitron
446	  touchscreen controller.
447
448	  If unsure, say N.
449
450	  To compile this driver as a module, choose M here: the
451	  module will be called hynitron-cstxxx.
452
453config TOUCHSCREEN_ILI210X
454	tristate "Ilitek ILI210X based touchscreen"
455	depends on I2C
456	select CRC_CCITT
457	help
458	  Say Y here if you have a ILI210X based touchscreen
459	  controller. This driver supports models ILI2102,
460	  ILI2102s, ILI2103, ILI2103s and ILI2105.
461	  Such kind of chipsets can be found in Amazon Kindle Fire
462	  touchscreens.
463
464	  If unsure, say N.
465
466	  To compile this driver as a module, choose M here: the
467	  module will be called ili210x.
468
469config TOUCHSCREEN_ILITEK
470	tristate "Ilitek I2C 213X/23XX/25XX/Lego Series Touch ICs"
471	depends on I2C
472	help
473	  Say Y here if you have touchscreen with ILITEK touch IC,
474	  it supports 213X/23XX/25XX and other Lego series.
475
476	  If unsure, say N.
477
478	  To compile this driver as a module, choose M here: the
479	  module will be called ilitek_ts_i2c.
480
481config TOUCHSCREEN_IPROC
482	tristate "IPROC touch panel driver support"
483	depends on ARCH_BCM_IPROC || COMPILE_TEST
484	help
485	  Say Y here if you want to add support for the IPROC touch
486	  controller to your system.
487
488	  If unsure, say N.
489
490	  To compile this driver as a module, choose M here: the
491	  module will be called bcm_iproc_tsc.
492
493config TOUCHSCREEN_S3C2410
494	tristate "Samsung S3C2410/generic touchscreen input driver"
495	depends on ARCH_S3C24XX || SAMSUNG_DEV_TS
496	depends on S3C_ADC
497	help
498	  Say Y here if you have the s3c2410 touchscreen.
499
500	  If unsure, say N.
501
502	  To compile this driver as a module, choose M here: the
503	  module will be called s3c2410_ts.
504
505config TOUCHSCREEN_S6SY761
506	tristate "Samsung S6SY761 Touchscreen driver"
507	depends on I2C
508	help
509	  Say Y if you have the Samsung S6SY761 driver
510
511	  If unsure, say N
512
513	  To compile this driver as module, choose M here: the
514	  module will be called s6sy761.
515
516config TOUCHSCREEN_GUNZE
517	tristate "Gunze AHL-51S touchscreen"
518	select SERIO
519	help
520	  Say Y here if you have the Gunze AHL-51 touchscreen connected to
521	  your system.
522
523	  If unsure, say N.
524
525	  To compile this driver as a module, choose M here: the
526	  module will be called gunze.
527
528config TOUCHSCREEN_EKTF2127
529	tristate "Elan eKTF2127 I2C touchscreen"
530	depends on I2C
531	help
532	  Say Y here if you have an Elan eKTF2127 touchscreen
533	  connected to your system.
534
535	  If unsure, say N.
536
537	  To compile this driver as a module, choose M here: the
538	  module will be called ektf2127.
539
540config TOUCHSCREEN_ELAN
541	tristate "Elan eKTH I2C touchscreen"
542	depends on I2C
543	help
544	  Say Y here if you have an Elan eKTH I2C touchscreen
545	  connected to your system.
546
547	  If unsure, say N.
548
549	  To compile this driver as a module, choose M here: the
550	  module will be called elants_i2c.
551
552config TOUCHSCREEN_ELO
553	tristate "Elo serial touchscreens"
554	select SERIO
555	help
556	  Say Y here if you have an Elo serial touchscreen connected to
557	  your system.
558
559	  If unsure, say N.
560
561	  To compile this driver as a module, choose M here: the
562	  module will be called elo.
563
564config TOUCHSCREEN_WACOM_W8001
565	tristate "Wacom W8001 penabled serial touchscreen"
566	select SERIO
567	help
568	  Say Y here if you have an Wacom W8001 penabled serial touchscreen
569	  connected to your system.
570
571	  If unsure, say N.
572
573	  To compile this driver as a module, choose M here: the
574	  module will be called wacom_w8001.
575
576config TOUCHSCREEN_WACOM_I2C
577	tristate "Wacom Tablet support (I2C)"
578	depends on I2C
579	help
580	  Say Y here if you want to use the I2C version of the Wacom
581	  Pen Tablet.
582
583	  If unsure, say N.
584
585	  To compile this driver as a module, choose M here: the module
586	  will be called wacom_i2c.
587
588config TOUCHSCREEN_LPC32XX
589	tristate "LPC32XX touchscreen controller"
590	depends on ARCH_LPC32XX
591	help
592	  Say Y here if you have a LPC32XX device and want
593	  to support the built-in touchscreen.
594
595	  To compile this driver as a module, choose M here: the
596	  module will be called lpc32xx_ts.
597
598config TOUCHSCREEN_MAX11801
599	tristate "MAX11801 based touchscreens"
600	depends on I2C
601	help
602	  Say Y here if you have a MAX11801 based touchscreen
603	  controller.
604
605	  If unsure, say N.
606
607	  To compile this driver as a module, choose M here: the
608	  module will be called max11801_ts.
609
610config TOUCHSCREEN_MCS5000
611	tristate "MELFAS MCS-5000 touchscreen"
612	depends on I2C
613	help
614	  Say Y here if you have the MELFAS MCS-5000 touchscreen controller
615	  chip in your system.
616
617	  If unsure, say N.
618
619	  To compile this driver as a module, choose M here: the
620	  module will be called mcs5000_ts.
621
622config TOUCHSCREEN_MMS114
623	tristate "MELFAS MMS114 touchscreen"
624	depends on I2C
625	help
626	  Say Y here if you have the MELFAS MMS114 touchscreen controller
627	  chip in your system.
628
629	  If unsure, say N.
630
631	  To compile this driver as a module, choose M here: the
632	  module will be called mms114.
633
634config TOUCHSCREEN_MELFAS_MIP4
635	tristate "MELFAS MIP4 Touchscreen"
636	depends on I2C
637	help
638	  Say Y here if you have a MELFAS MIP4 Touchscreen device.
639
640	  If unsure, say N.
641
642	  To compile this driver as a module, choose M here:
643	  the module will be called melfas_mip4.
644
645config TOUCHSCREEN_MSG2638
646	tristate "MStar msg2638 touchscreen support"
647	depends on I2C
648	depends on GPIOLIB || COMPILE_TEST
649	help
650	  Say Y here if you have an I2C touchscreen using MStar msg2638.
651
652	  If unsure, say N.
653
654	  To compile this driver as a module, choose M here: the
655	  module will be called msg2638.
656
657config TOUCHSCREEN_MTOUCH
658	tristate "MicroTouch serial touchscreens"
659	select SERIO
660	help
661	  Say Y here if you have a MicroTouch (3M) serial touchscreen connected to
662	  your system.
663
664	  If unsure, say N.
665
666	  To compile this driver as a module, choose M here: the
667	  module will be called mtouch.
668
669config TOUCHSCREEN_IMAGIS
670	tristate "Imagis touchscreen support"
671	depends on I2C
672	help
673	  Say Y here if you have an Imagis IST30xxC touchscreen.
674	  If unsure, say N.
675
676	  To compile this driver as a module, choose M here: the
677	  module will be called imagis.
678
679config TOUCHSCREEN_IMX6UL_TSC
680	tristate "Freescale i.MX6UL touchscreen controller"
681	depends on ((OF && GPIOLIB) || COMPILE_TEST) && HAS_IOMEM
682	help
683	  Say Y here if you have a Freescale i.MX6UL, and want to
684	  use the internal touchscreen controller.
685
686	  If unsure, say N.
687
688	  To compile this driver as a module, choose M here: the
689	  module will be called imx6ul_tsc.
690
691config TOUCHSCREEN_INEXIO
692	tristate "iNexio serial touchscreens"
693	select SERIO
694	help
695	  Say Y here if you have an iNexio serial touchscreen connected to
696	  your system.
697
698	  If unsure, say N.
699
700	  To compile this driver as a module, choose M here: the
701	  module will be called inexio.
702
703config TOUCHSCREEN_MK712
704	tristate "ICS MicroClock MK712 touchscreen"
705	help
706	  Say Y here if you have the ICS MicroClock MK712 touchscreen
707	  controller chip in your system.
708
709	  If unsure, say N.
710
711	  To compile this driver as a module, choose M here: the
712	  module will be called mk712.
713
714config TOUCHSCREEN_HP600
715	tristate "HP Jornada 6xx touchscreen"
716	depends on SH_HP6XX && SH_ADC
717	help
718	  Say Y here if you have a HP Jornada 620/660/680/690 and want to
719	  support the built-in touchscreen.
720
721	  To compile this driver as a module, choose M here: the
722	  module will be called hp680_ts_input.
723
724config TOUCHSCREEN_HP7XX
725	tristate "HP Jornada 7xx touchscreen"
726	depends on SA1100_JORNADA720_SSP
727	help
728	  Say Y here if you have a HP Jornada 710/720/728 and want
729	  to support the built-in touchscreen.
730
731	  To compile this driver as a module, choose M here: the
732	  module will be called jornada720_ts.
733
734config TOUCHSCREEN_IPAQ_MICRO
735	tristate "HP iPAQ Atmel Micro ASIC touchscreen"
736	depends on MFD_IPAQ_MICRO
737	help
738	  Say Y here to enable support for the touchscreen attached to
739	  the Atmel Micro peripheral controller on iPAQ h3100/h3600/h3700
740
741	  If unsure, say N.
742
743	  To compile this driver as a module, choose M here: the
744	  module will be called ipaq-micro-ts.
745
746config TOUCHSCREEN_HTCPEN
747	tristate "HTC Shift X9500 touchscreen"
748	depends on ISA
749	help
750	  Say Y here if you have an HTC Shift UMPC also known as HTC X9500
751	  Clio / Shangrila and want to support the built-in touchscreen.
752
753	  If unsure, say N.
754
755	  To compile this driver as a module, choose M here: the
756	  module will be called htcpen.
757
758config TOUCHSCREEN_PENMOUNT
759	tristate "Penmount serial touchscreen"
760	select SERIO
761	help
762	  Say Y here if you have a Penmount serial touchscreen connected to
763	  your system.
764
765	  If unsure, say N.
766
767	  To compile this driver as a module, choose M here: the
768	  module will be called penmount.
769
770config TOUCHSCREEN_EDT_FT5X06
771	tristate "EDT FocalTech FT5x06 I2C Touchscreen support"
772	depends on I2C
773	help
774	  Say Y here if you have an EDT "Polytouch" touchscreen based
775	  on the FocalTech FT5x06 family of controllers connected to
776	  your system.
777
778	  If unsure, say N.
779
780	  To compile this driver as a module, choose M here: the
781	  module will be called edt-ft5x06.
782
783config TOUCHSCREEN_RASPBERRYPI_FW
784	tristate "Raspberry Pi's firmware base touch screen support"
785	depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST)
786	help
787	  Say Y here if you have the official Raspberry Pi 7 inch screen on
788	  your system.
789
790	  If unsure, say N.
791
792	  To compile this driver as a module, choose M here: the
793	  module will be called raspberrypi-ts.
794
795config TOUCHSCREEN_MIGOR
796	tristate "Renesas MIGO-R touchscreen"
797	depends on (SH_MIGOR || COMPILE_TEST) && I2C
798	help
799	  Say Y here to enable MIGO-R touchscreen support.
800
801	  If unsure, say N.
802
803	  To compile this driver as a module, choose M here: the
804	  module will be called migor_ts.
805
806config TOUCHSCREEN_TOUCHRIGHT
807	tristate "Touchright serial touchscreen"
808	select SERIO
809	help
810	  Say Y here if you have a Touchright serial touchscreen connected to
811	  your system.
812
813	  If unsure, say N.
814
815	  To compile this driver as a module, choose M here: the
816	  module will be called touchright.
817
818config TOUCHSCREEN_TOUCHWIN
819	tristate "Touchwin serial touchscreen"
820	select SERIO
821	help
822	  Say Y here if you have a Touchwin serial touchscreen connected to
823	  your system.
824
825	  If unsure, say N.
826
827	  To compile this driver as a module, choose M here: the
828	  module will be called touchwin.
829
830config TOUCHSCREEN_TI_AM335X_TSC
831	tristate "TI Touchscreen Interface"
832	depends on MFD_TI_AM335X_TSCADC
833	help
834	  Say Y here if you have 4/5/8 wire touchscreen controller
835	  to be connected to the ADC controller on your TI AM335x SoC.
836
837	  If unsure, say N.
838
839	  To compile this driver as a module, choose M here: the
840	  module will be called ti_am335x_tsc.
841
842config TOUCHSCREEN_UCB1400
843	tristate "Philips UCB1400 touchscreen"
844	depends on AC97_BUS
845	depends on UCB1400_CORE
846	help
847	  This enables support for the Philips UCB1400 touchscreen interface.
848	  The UCB1400 is an AC97 audio codec.  The touchscreen interface
849	  will be initialized only after the ALSA subsystem has been
850	  brought up and the UCB1400 detected.  You therefore have to
851	  configure ALSA support as well (either built-in or modular,
852	  independently of whether this driver is itself built-in or
853	  modular) for this driver to work.
854
855	  To compile this driver as a module, choose M here: the
856	  module will be called ucb1400_ts.
857
858config TOUCHSCREEN_PIXCIR
859	tristate "PIXCIR I2C touchscreens"
860	depends on I2C
861	help
862	  Say Y here if you have a pixcir i2c touchscreen
863	  controller.
864
865	  If unsure, say N.
866
867	  To compile this driver as a module, choose M here: the
868	  module will be called pixcir_i2c_ts.
869
870config TOUCHSCREEN_WDT87XX_I2C
871	tristate "Weida HiTech I2C touchscreen"
872	depends on I2C
873	help
874	  Say Y here if you have a Weida WDT87XX I2C touchscreen
875	  connected to your system.
876
877	  If unsure, say N.
878
879	  To compile this driver as a module, choose M here: the
880	  module will be called wdt87xx_i2c.
881
882config TOUCHSCREEN_WM831X
883	tristate "Support for WM831x touchscreen controllers"
884	depends on MFD_WM831X
885	help
886	  This enables support for the touchscreen controller on the WM831x
887	  series of PMICs.
888
889	  To compile this driver as a module, choose M here: the
890	  module will be called wm831x-ts.
891
892config TOUCHSCREEN_WM97XX
893	tristate "Support for WM97xx AC97 touchscreen controllers"
894	depends on AC97_BUS || AC97_BUS_NEW
895	help
896	  Say Y here if you have a Wolfson Microelectronics WM97xx
897	  touchscreen connected to your system. Note that this option
898	  only enables core driver, you will also need to select
899	  support for appropriate chip below.
900
901	  If unsure, say N.
902
903	  To compile this driver as a module, choose M here: the
904	  module will be called wm97xx-ts.
905
906config TOUCHSCREEN_WM9705
907	bool "WM9705 Touchscreen interface support"
908	depends on TOUCHSCREEN_WM97XX
909	default y
910	help
911	  Say Y here to enable support for the Wolfson Microelectronics
912	  WM9705 touchscreen controller.
913
914config TOUCHSCREEN_WM9712
915	bool "WM9712 Touchscreen interface support"
916	depends on TOUCHSCREEN_WM97XX
917	default y
918	help
919	  Say Y here to enable support for the Wolfson Microelectronics
920	  WM9712 touchscreen controller.
921
922config TOUCHSCREEN_WM9713
923	bool "WM9713 Touchscreen interface support"
924	depends on TOUCHSCREEN_WM97XX
925	default y
926	help
927	  Say Y here to enable support for the Wolfson Microelectronics
928	  WM9713 touchscreen controller.
929
930config TOUCHSCREEN_WM97XX_MAINSTONE
931	tristate "WM97xx Mainstone/Palm accelerated touch"
932	depends on TOUCHSCREEN_WM97XX && ARCH_PXA
933	depends on SND_PXA2XX_LIB_AC97
934	help
935	  Say Y here for support for streaming mode with WM97xx touchscreens
936	  on Mainstone, Palm Tungsten T5, TX and LifeDrive systems.
937
938	  If unsure, say N.
939
940	  To compile this driver as a module, choose M here: the
941	  module will be called mainstone-wm97xx.
942
943config TOUCHSCREEN_WM97XX_ZYLONITE
944	tristate "Zylonite accelerated touch"
945	depends on TOUCHSCREEN_WM97XX && MACH_ZYLONITE
946	depends on SND_PXA2XX_LIB_AC97
947	select TOUCHSCREEN_WM9713
948	help
949	  Say Y here for support for streaming mode with the touchscreen
950	  on Zylonite systems.
951
952	  If unsure, say N.
953
954	  To compile this driver as a module, choose M here: the
955	  module will be called zylonite-wm97xx.
956
957config TOUCHSCREEN_USB_COMPOSITE
958	tristate "USB Touchscreen Driver"
959	depends on USB_ARCH_HAS_HCD
960	select USB
961	help
962	  USB Touchscreen driver for:
963	  - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700)
964	  - PanJit TouchSet USB
965	  - 3M MicroTouch USB (EX II series)
966	  - ITM
967	  - some other eTurboTouch
968	  - Gunze AHL61
969	  - DMC TSC-10/25
970	  - IRTOUCHSYSTEMS/UNITOP
971	  - IdealTEK URTC1000
972	  - GoTop Super_Q2/GogoPen/PenPower tablets
973	  - JASTEC USB Touch Controller/DigiTech DTR-02U
974	  - Zytronic controllers
975	  - Elo TouchSystems 2700 IntelliTouch
976	  - EasyTouch USB Touch Controller from Data Module
977	  - e2i (Mimo monitors)
978
979	  Have a look at <http://linux.chapter7.ch/touchkit/> for
980	  a usage description and the required user-space stuff.
981
982	  To compile this driver as a module, choose M here: the
983	  module will be called usbtouchscreen.
984
985config TOUCHSCREEN_MXS_LRADC
986	tristate "Freescale i.MX23/i.MX28 LRADC touchscreen"
987	depends on MFD_MXS_LRADC
988	help
989	  Say Y here if you have a touchscreen connected to the low-resolution
990	  analog-to-digital converter (LRADC) on an i.MX23 or i.MX28 processor.
991
992	  To compile this driver as a module, choose M here: the module will be
993	  called mxs-lradc-ts.
994
995config TOUCHSCREEN_MX25
996	tristate "Freescale i.MX25 touchscreen input driver"
997	depends on MFD_MX25_TSADC
998	help
999	  Enable support for touchscreen connected to your i.MX25.
1000
1001	  To compile this driver as a module, choose M here: the
1002	  module will be called fsl-imx25-tcq.
1003
1004config TOUCHSCREEN_MC13783
1005	tristate "Freescale MC13783 touchscreen input driver"
1006	depends on MFD_MC13XXX
1007	help
1008	  Say Y here if you have an Freescale MC13783 PMIC on your
1009	  board and want to use its touchscreen
1010
1011	  If unsure, say N.
1012
1013	  To compile this driver as a module, choose M here: the
1014	  module will be called mc13783_ts.
1015
1016config TOUCHSCREEN_USB_EGALAX
1017	default y
1018	bool "eGalax, eTurboTouch CT-410/510/700 device support" if EXPERT
1019	depends on TOUCHSCREEN_USB_COMPOSITE
1020
1021config TOUCHSCREEN_USB_PANJIT
1022	default y
1023	bool "PanJit device support" if EXPERT
1024	depends on TOUCHSCREEN_USB_COMPOSITE
1025
1026config TOUCHSCREEN_USB_3M
1027	default y
1028	bool "3M/Microtouch EX II series device support" if EXPERT
1029	depends on TOUCHSCREEN_USB_COMPOSITE
1030
1031config TOUCHSCREEN_USB_ITM
1032	default y
1033	bool "ITM device support" if EXPERT
1034	depends on TOUCHSCREEN_USB_COMPOSITE
1035
1036config TOUCHSCREEN_USB_ETURBO
1037	default y
1038	bool "eTurboTouch (non-eGalax compatible) device support" if EXPERT
1039	depends on TOUCHSCREEN_USB_COMPOSITE
1040
1041config TOUCHSCREEN_USB_GUNZE
1042	default y
1043	bool "Gunze AHL61 device support" if EXPERT
1044	depends on TOUCHSCREEN_USB_COMPOSITE
1045
1046config TOUCHSCREEN_USB_DMC_TSC10
1047	default y
1048	bool "DMC TSC-10/25 device support" if EXPERT
1049	depends on TOUCHSCREEN_USB_COMPOSITE
1050
1051config TOUCHSCREEN_USB_IRTOUCH
1052	default y
1053	bool "IRTOUCHSYSTEMS/UNITOP device support" if EXPERT
1054	depends on TOUCHSCREEN_USB_COMPOSITE
1055
1056config TOUCHSCREEN_USB_IDEALTEK
1057	default y
1058	bool "IdealTEK URTC1000 device support" if EXPERT
1059	depends on TOUCHSCREEN_USB_COMPOSITE
1060
1061config TOUCHSCREEN_USB_GENERAL_TOUCH
1062	default y
1063	bool "GeneralTouch Touchscreen device support" if EXPERT
1064	depends on TOUCHSCREEN_USB_COMPOSITE
1065
1066config TOUCHSCREEN_USB_GOTOP
1067	default y
1068	bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EXPERT
1069	depends on TOUCHSCREEN_USB_COMPOSITE
1070
1071config TOUCHSCREEN_USB_JASTEC
1072	default y
1073	bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EXPERT
1074	depends on TOUCHSCREEN_USB_COMPOSITE
1075
1076config TOUCHSCREEN_USB_ELO
1077	default y
1078	bool "Elo TouchSystems 2700 IntelliTouch controller device support" if EXPERT
1079	depends on TOUCHSCREEN_USB_COMPOSITE
1080
1081config TOUCHSCREEN_USB_E2I
1082	default y
1083	bool "e2i Touchscreen controller (e.g. from Mimo 740)" if EXPERT
1084	depends on TOUCHSCREEN_USB_COMPOSITE
1085
1086config TOUCHSCREEN_USB_ZYTRONIC
1087	default y
1088	bool "Zytronic controller" if EXPERT
1089	depends on TOUCHSCREEN_USB_COMPOSITE
1090
1091config TOUCHSCREEN_USB_ETT_TC45USB
1092	default y
1093	bool "ET&T USB series TC4UM/TC5UH touchscreen controller support" if EXPERT
1094	depends on TOUCHSCREEN_USB_COMPOSITE
1095
1096config TOUCHSCREEN_USB_NEXIO
1097	default y
1098	bool "NEXIO/iNexio device support" if EXPERT
1099	depends on TOUCHSCREEN_USB_COMPOSITE
1100
1101config TOUCHSCREEN_USB_EASYTOUCH
1102	default y
1103	bool "EasyTouch USB Touch controller device support" if EXPERT
1104	depends on TOUCHSCREEN_USB_COMPOSITE
1105	help
1106	  Say Y here if you have an EasyTouch USB Touch controller.
1107	  If unsure, say N.
1108
1109config TOUCHSCREEN_TOUCHIT213
1110	tristate "Sahara TouchIT-213 touchscreen"
1111	select SERIO
1112	help
1113	  Say Y here if you have a Sahara TouchIT-213 Tablet PC.
1114
1115	  If unsure, say N.
1116
1117	  To compile this driver as a module, choose M here: the
1118	  module will be called touchit213.
1119
1120config TOUCHSCREEN_TS4800
1121	tristate "TS-4800 touchscreen"
1122	depends on HAS_IOMEM && OF
1123	depends on SOC_IMX51 || COMPILE_TEST
1124	select MFD_SYSCON
1125	help
1126	  Say Y here if you have a touchscreen on a TS-4800 board.
1127
1128	  On TS-4800, the touchscreen is not handled directly by Linux but by
1129	  a companion FPGA.
1130
1131	  If unsure, say N.
1132
1133	  To compile this driver as a module, choose M here: the
1134	  module will be called ts4800_ts.
1135
1136config TOUCHSCREEN_TSC_SERIO
1137	tristate "TSC-10/25/40 serial touchscreen support"
1138	select SERIO
1139	help
1140	  Say Y here if you have a TSC-10, 25 or 40 serial touchscreen connected
1141	  to your system.
1142
1143	  If unsure, say N.
1144
1145	  To compile this driver as a module, choose M here: the
1146	  module will be called tsc40.
1147
1148config TOUCHSCREEN_TSC200X_CORE
1149	tristate
1150
1151config TOUCHSCREEN_TSC2004
1152	tristate "TSC2004 based touchscreens"
1153	depends on I2C
1154	select REGMAP_I2C
1155	select TOUCHSCREEN_TSC200X_CORE
1156	help
1157	  Say Y here if you have a TSC2004 based touchscreen.
1158
1159	  If unsure, say N.
1160
1161	  To compile this driver as a module, choose M here: the
1162	  module will be called tsc2004.
1163
1164config TOUCHSCREEN_TSC2005
1165	tristate "TSC2005 based touchscreens"
1166	depends on SPI_MASTER
1167	select REGMAP_SPI
1168	select TOUCHSCREEN_TSC200X_CORE
1169	help
1170	  Say Y here if you have a TSC2005 based touchscreen.
1171
1172	  If unsure, say N.
1173
1174	  To compile this driver as a module, choose M here: the
1175	  module will be called tsc2005.
1176
1177config TOUCHSCREEN_TSC2007
1178	tristate "TSC2007 based touchscreens"
1179	depends on I2C
1180	help
1181	  Say Y here if you have a TSC2007 based touchscreen.
1182
1183	  If unsure, say N.
1184
1185	  To compile this driver as a module, choose M here: the
1186	  module will be called tsc2007.
1187
1188config TOUCHSCREEN_TSC2007_IIO
1189	bool "IIO interface for external ADC input and temperature"
1190	depends on TOUCHSCREEN_TSC2007
1191	depends on IIO=y || IIO=TOUCHSCREEN_TSC2007
1192	help
1193	  Saying Y here adds an iio interface to the tsc2007 which
1194	  provides values for the AUX input (used for e.g. battery
1195	  or ambient light monitoring), temperature and raw input
1196	  values.
1197
1198config TOUCHSCREEN_PCAP
1199	tristate "Motorola PCAP touchscreen"
1200	depends on EZX_PCAP
1201	help
1202	  Say Y here if you have a Motorola EZX telephone and
1203	  want to enable support for the built-in touchscreen.
1204
1205	  To compile this driver as a module, choose M here: the
1206	  module will be called pcap_ts.
1207
1208config TOUCHSCREEN_RM_TS
1209	tristate "Raydium I2C Touchscreen"
1210	depends on I2C
1211	depends on GPIOLIB || COMPILE_TEST
1212	help
1213	  Say Y here if you have Raydium series I2C touchscreen,
1214	  such as RM32380, connected to your system.
1215
1216	  If unsure, say N.
1217
1218	  To compile this driver as a module, choose M here: the
1219	  module will be called raydium_i2c_ts.
1220
1221config TOUCHSCREEN_SILEAD
1222	tristate "Silead I2C touchscreen"
1223	depends on I2C
1224	help
1225	  Say Y here if you have the Silead touchscreen connected to
1226	  your system.
1227
1228	  If unsure, say N.
1229
1230	  To compile this driver as a module, choose M here: the
1231	  module will be called silead.
1232
1233config TOUCHSCREEN_SIS_I2C
1234	tristate "SiS 9200 family I2C touchscreen"
1235	depends on I2C
1236	select CRC_ITU_T
1237	depends on GPIOLIB || COMPILE_TEST
1238	help
1239	  This enables support for SiS 9200 family over I2C based touchscreens.
1240
1241	  If unsure, say N.
1242
1243	  To compile this driver as a module, choose M here: the
1244	  module will be called sis_i2c.
1245
1246config TOUCHSCREEN_ST1232
1247	tristate "Sitronix ST1232 or ST1633 touchscreen controllers"
1248	depends on I2C
1249	help
1250	  Say Y here if you want to support the Sitronix ST1232
1251	  or ST1633 touchscreen controller.
1252
1253	  If unsure, say N.
1254
1255	  To compile this driver as a module, choose M here: the
1256	  module will be called st1232_ts.
1257
1258config TOUCHSCREEN_STMFTS
1259	tristate "STMicroelectronics STMFTS touchscreen"
1260	depends on I2C
1261	depends on LEDS_CLASS
1262	help
1263	  Say Y here if you want support for STMicroelectronics
1264	  STMFTS touchscreen.
1265
1266	  To compile this driver as a module, choose M here: the
1267	  module will be called stmfts.
1268
1269config TOUCHSCREEN_STMPE
1270	tristate "STMicroelectronics STMPE touchscreens"
1271	depends on MFD_STMPE
1272	depends on OF
1273	help
1274	  Say Y here if you want support for STMicroelectronics
1275	  STMPE touchscreen controllers.
1276
1277	  To compile this driver as a module, choose M here: the
1278	  module will be called stmpe-ts.
1279
1280config TOUCHSCREEN_SUN4I
1281	tristate "Allwinner sun4i resistive touchscreen controller support"
1282	depends on ARCH_SUNXI || COMPILE_TEST
1283	depends on HWMON
1284	depends on THERMAL || !THERMAL_OF
1285	help
1286	  This selects support for the resistive touchscreen controller
1287	  found on Allwinner sunxi SoCs.
1288
1289	  To compile this driver as a module, choose M here: the
1290	  module will be called sun4i-ts.
1291
1292config TOUCHSCREEN_SUR40
1293	tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen"
1294	depends on USB && MEDIA_USB_SUPPORT && HAS_DMA
1295	depends on VIDEO_DEV
1296	select VIDEOBUF2_DMA_SG
1297	help
1298	  Say Y here if you want support for the Samsung SUR40 touchscreen
1299	  (also known as Microsoft Surface 2.0 or Microsoft PixelSense).
1300
1301	  To compile this driver as a module, choose M here: the
1302	  module will be called sur40.
1303
1304config TOUCHSCREEN_SURFACE3_SPI
1305	tristate "Ntrig/Microsoft Surface 3 SPI touchscreen"
1306	depends on SPI
1307	depends on GPIOLIB || COMPILE_TEST
1308	help
1309	  Say Y here if you have the Ntrig/Microsoft SPI touchscreen
1310	  controller chip as found on the Surface 3 in your system.
1311
1312	  If unsure, say N.
1313
1314	  To compile this driver as a module, choose M here: the
1315	  module will be called surface3_spi.
1316
1317config TOUCHSCREEN_SX8654
1318	tristate "Semtech SX8654 touchscreen"
1319	depends on I2C
1320	help
1321	  Say Y here if you have a Semtech SX8654 touchscreen controller.
1322
1323	  If unsure, say N
1324
1325	  To compile this driver as a module, choose M here: the
1326	  module will be called sx8654.
1327
1328config TOUCHSCREEN_TPS6507X
1329	tristate "TPS6507x based touchscreens"
1330	depends on I2C
1331	help
1332	  Say Y here if you have a TPS6507x based touchscreen
1333	  controller.
1334
1335	  If unsure, say N.
1336
1337	  To compile this driver as a module, choose M here: the
1338	  module will be called tps6507x_ts.
1339
1340config TOUCHSCREEN_ZET6223
1341	tristate "Zeitec ZET6223 touchscreen driver"
1342	depends on I2C
1343	help
1344	  Say Y here if you have a touchscreen using Zeitec ZET6223
1345
1346	  If unsure, say N.
1347
1348	  To compile this driver as a module, choose M here: the
1349	  module will be called zet6223.
1350
1351config TOUCHSCREEN_ZFORCE
1352	tristate "Neonode zForce infrared touchscreens"
1353	depends on I2C
1354	depends on GPIOLIB || COMPILE_TEST
1355	help
1356	  Say Y here if you have a touchscreen using the zforce
1357	  infraread technology from Neonode.
1358
1359	  If unsure, say N.
1360
1361	  To compile this driver as a module, choose M here: the
1362	  module will be called zforce_ts.
1363
1364config TOUCHSCREEN_COLIBRI_VF50
1365	tristate "Toradex Colibri on board touchscreen driver"
1366	depends on IIO
1367	depends on GPIOLIB || COMPILE_TEST
1368	help
1369	  Say Y here if you have a Colibri VF50 and plan to use
1370	  the on-board provided 4-wire touchscreen driver.
1371
1372	  If unsure, say N.
1373
1374	  To compile this driver as a module, choose M here: the
1375	  module will be called colibri_vf50_ts.
1376
1377config TOUCHSCREEN_ROHM_BU21023
1378	tristate "ROHM BU21023/24 Dual touch support resistive touchscreens"
1379	depends on I2C
1380	help
1381	  Say Y here if you have a touchscreen using ROHM BU21023/24.
1382
1383	  If unsure, say N.
1384
1385	  To compile this driver as a module, choose M here: the
1386	  module will be called bu21023_ts.
1387
1388config TOUCHSCREEN_IQS5XX
1389	tristate "Azoteq IQS550/572/525 trackpad/touchscreen controller"
1390	depends on I2C
1391	help
1392	  Say Y to enable support for the Azoteq IQS550/572/525
1393	  family of trackpad/touchscreen controllers.
1394
1395	  To compile this driver as a module, choose M here: the
1396	  module will be called iqs5xx.
1397
1398config TOUCHSCREEN_ZINITIX
1399	tristate "Zinitix touchscreen support"
1400	depends on I2C
1401	help
1402	  Say Y here if you have a touchscreen using Zinitix bt541,
1403	  or something similar enough.
1404
1405	  If unsure, say N.
1406
1407	  To compile this driver as a module, choose M here: the
1408	  module will be called zinitix.
1409
1410config TOUCHSCREEN_HIMAX_HX83112B
1411	tristate "Himax hx83112b touchscreen driver"
1412	depends on I2C
1413	select REGMAP_I2C
1414	help
1415	  Say Y here to enable support for Himax hx83112b touchscreens.
1416
1417	  If unsure, say N.
1418
1419	  To compile this driver as a module, choose M here: the
1420	  module will be called himax_hx83112b.
1421
1422endif
1423