Kconfig 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675
  1. #
  2. # Touchscreen driver configuration
  3. #
  4. menuconfig INPUT_TOUCHSCREEN
  5. bool "Touchscreens"
  6. help
  7. Say Y here, and a list of supported touchscreens will be displayed.
  8. This option doesn't affect the kernel.
  9. If unsure, say Y.
  10. if INPUT_TOUCHSCREEN
  11. config TOUCHSCREEN_88PM860X
  12. tristate "Marvell 88PM860x touchscreen"
  13. depends on MFD_88PM860X
  14. help
  15. Say Y here if you have a 88PM860x PMIC and want to enable
  16. support for the built-in touchscreen.
  17. If unsure, say N.
  18. To compile this driver as a module, choose M here: the
  19. module will be called 88pm860x-ts.
  20. config TOUCHSCREEN_ADS7846
  21. tristate "ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens"
  22. depends on SPI_MASTER
  23. depends on HWMON = n || HWMON
  24. help
  25. Say Y here if you have a touchscreen interface using the
  26. ADS7846/TSC2046/AD7873 or ADS7843/AD7843 controller,
  27. and your board-specific setup code includes that in its
  28. table of SPI devices.
  29. If HWMON is selected, and the driver is told the reference voltage
  30. on your board, you will also get hwmon interfaces for the voltage
  31. (and on ads7846/tsc2046/ad7873, temperature) sensors of this chip.
  32. If unsure, say N (but it's safe to say "Y").
  33. To compile this driver as a module, choose M here: the
  34. module will be called ads7846.
  35. config TOUCHSCREEN_AD7877
  36. tristate "AD7877 based touchscreens"
  37. depends on SPI_MASTER
  38. help
  39. Say Y here if you have a touchscreen interface using the
  40. AD7877 controller, and your board-specific initialization
  41. code includes that in its table of SPI devices.
  42. If unsure, say N (but it's safe to say "Y").
  43. To compile this driver as a module, choose M here: the
  44. module will be called ad7877.
  45. config TOUCHSCREEN_AD7879
  46. tristate "Analog Devices AD7879-1/AD7889-1 touchscreen interface"
  47. help
  48. Say Y here if you want to support a touchscreen interface using
  49. the AD7879-1/AD7889-1 controller.
  50. You should select a bus connection too.
  51. To compile this driver as a module, choose M here: the
  52. module will be called ad7879.
  53. config TOUCHSCREEN_AD7879_I2C
  54. tristate "support I2C bus connection"
  55. depends on TOUCHSCREEN_AD7879 && I2C
  56. help
  57. Say Y here if you have AD7879-1/AD7889-1 hooked to an I2C bus.
  58. To compile this driver as a module, choose M here: the
  59. module will be called ad7879-i2c.
  60. config TOUCHSCREEN_AD7879_SPI
  61. tristate "support SPI bus connection"
  62. depends on TOUCHSCREEN_AD7879 && SPI_MASTER
  63. help
  64. Say Y here if you have AD7879-1/AD7889-1 hooked to a SPI bus.
  65. If unsure, say N (but it's safe to say "Y").
  66. To compile this driver as a module, choose M here: the
  67. module will be called ad7879-spi.
  68. config TOUCHSCREEN_BITSY
  69. tristate "Compaq iPAQ H3600 (Bitsy) touchscreen"
  70. depends on SA1100_BITSY
  71. select SERIO
  72. help
  73. Say Y here if you have the h3600 (Bitsy) touchscreen.
  74. If unsure, say N.
  75. To compile this driver as a module, choose M here: the
  76. module will be called h3600_ts_input.
  77. config TOUCHSCREEN_BU21013
  78. tristate "BU21013 based touch panel controllers"
  79. depends on I2C
  80. help
  81. Say Y here if you have a bu21013 touchscreen connected to
  82. your system.
  83. If unsure, say N.
  84. To compile this driver as a module, choose M here: the
  85. module will be called bu21013_ts.
  86. config TOUCHSCREEN_CY8CTMG110
  87. tristate "cy8ctmg110 touchscreen"
  88. depends on I2C
  89. depends on GPIOLIB
  90. help
  91. Say Y here if you have a cy8ctmg110 capacitive touchscreen on
  92. an AAVA device.
  93. If unsure, say N.
  94. To compile this driver as a module, choose M here: the
  95. module will be called cy8ctmg110_ts.
  96. config TOUCHSCREEN_DA9034
  97. tristate "Touchscreen support for Dialog Semiconductor DA9034"
  98. depends on PMIC_DA903X
  99. default y
  100. help
  101. Say Y here to enable the support for the touchscreen found
  102. on Dialog Semiconductor DA9034 PMIC.
  103. config TOUCHSCREEN_DYNAPRO
  104. tristate "Dynapro serial touchscreen"
  105. select SERIO
  106. help
  107. Say Y here if you have a Dynapro serial touchscreen connected to
  108. your system.
  109. If unsure, say N.
  110. To compile this driver as a module, choose M here: the
  111. module will be called dynapro.
  112. config TOUCHSCREEN_HAMPSHIRE
  113. tristate "Hampshire serial touchscreen"
  114. select SERIO
  115. help
  116. Say Y here if you have a Hampshire serial touchscreen connected to
  117. your system.
  118. If unsure, say N.
  119. To compile this driver as a module, choose M here: the
  120. module will be called hampshire.
  121. config TOUCHSCREEN_EETI
  122. tristate "EETI touchscreen panel support"
  123. depends on I2C
  124. help
  125. Say Y here to enable support for I2C connected EETI touch panels.
  126. To compile this driver as a module, choose M here: the
  127. module will be called eeti_ts.
  128. config TOUCHSCREEN_FUJITSU
  129. tristate "Fujitsu serial touchscreen"
  130. select SERIO
  131. help
  132. Say Y here if you have the Fujitsu touchscreen (such as one
  133. installed in Lifebook P series laptop) connected to your
  134. system.
  135. If unsure, say N.
  136. To compile this driver as a module, choose M here: the
  137. module will be called fujitsu-ts.
  138. config TOUCHSCREEN_S3C2410
  139. tristate "Samsung S3C2410/generic touchscreen input driver"
  140. depends on ARCH_S3C2410 || SAMSUNG_DEV_TS
  141. select S3C_ADC
  142. help
  143. Say Y here if you have the s3c2410 touchscreen.
  144. If unsure, say N.
  145. To compile this driver as a module, choose M here: the
  146. module will be called s3c2410_ts.
  147. config TOUCHSCREEN_GUNZE
  148. tristate "Gunze AHL-51S touchscreen"
  149. select SERIO
  150. help
  151. Say Y here if you have the Gunze AHL-51 touchscreen connected to
  152. your system.
  153. If unsure, say N.
  154. To compile this driver as a module, choose M here: the
  155. module will be called gunze.
  156. config TOUCHSCREEN_ELO
  157. tristate "Elo serial touchscreens"
  158. select SERIO
  159. help
  160. Say Y here if you have an Elo serial touchscreen connected to
  161. your system.
  162. If unsure, say N.
  163. To compile this driver as a module, choose M here: the
  164. module will be called elo.
  165. config TOUCHSCREEN_WACOM_W8001
  166. tristate "Wacom W8001 penabled serial touchscreen"
  167. select SERIO
  168. help
  169. Say Y here if you have an Wacom W8001 penabled serial touchscreen
  170. connected to your system.
  171. If unsure, say N.
  172. To compile this driver as a module, choose M here: the
  173. module will be called wacom_w8001.
  174. config TOUCHSCREEN_LPC32XX
  175. tristate "LPC32XX touchscreen controller"
  176. depends on ARCH_LPC32XX
  177. help
  178. Say Y here if you have a LPC32XX device and want
  179. to support the built-in touchscreen.
  180. To compile this driver as a module, choose M here: the
  181. module will be called lpc32xx_ts.
  182. config TOUCHSCREEN_MCS5000
  183. tristate "MELFAS MCS-5000 touchscreen"
  184. depends on I2C
  185. help
  186. Say Y here if you have the MELFAS MCS-5000 touchscreen controller
  187. chip in your system.
  188. If unsure, say N.
  189. To compile this driver as a module, choose M here: the
  190. module will be called mcs5000_ts.
  191. config TOUCHSCREEN_MTOUCH
  192. tristate "MicroTouch serial touchscreens"
  193. select SERIO
  194. help
  195. Say Y here if you have a MicroTouch (3M) serial touchscreen connected to
  196. your system.
  197. If unsure, say N.
  198. To compile this driver as a module, choose M here: the
  199. module will be called mtouch.
  200. config TOUCHSCREEN_INEXIO
  201. tristate "iNexio serial touchscreens"
  202. select SERIO
  203. help
  204. Say Y here if you have an iNexio serial touchscreen connected to
  205. your system.
  206. If unsure, say N.
  207. To compile this driver as a module, choose M here: the
  208. module will be called inexio.
  209. config TOUCHSCREEN_INTEL_MID
  210. tristate "Intel MID platform resistive touchscreen"
  211. depends on INTEL_SCU_IPC
  212. help
  213. Say Y here if you have a Intel MID based touchscreen in
  214. your system.
  215. If unsure, say N.
  216. To compile this driver as a module, choose M here: the
  217. module will be called intel_mid_touch.
  218. config TOUCHSCREEN_MK712
  219. tristate "ICS MicroClock MK712 touchscreen"
  220. help
  221. Say Y here if you have the ICS MicroClock MK712 touchscreen
  222. controller chip in your system.
  223. If unsure, say N.
  224. To compile this driver as a module, choose M here: the
  225. module will be called mk712.
  226. config TOUCHSCREEN_HP600
  227. tristate "HP Jornada 6xx touchscreen"
  228. depends on SH_HP6XX && SH_ADC
  229. help
  230. Say Y here if you have a HP Jornada 620/660/680/690 and want to
  231. support the built-in touchscreen.
  232. To compile this driver as a module, choose M here: the
  233. module will be called hp680_ts_input.
  234. config TOUCHSCREEN_HP7XX
  235. tristate "HP Jornada 7xx touchscreen"
  236. depends on SA1100_JORNADA720_SSP
  237. help
  238. Say Y here if you have a HP Jornada 710/720/728 and want
  239. to support the built-in touchscreen.
  240. To compile this driver as a module, choose M here: the
  241. module will be called jornada720_ts.
  242. config TOUCHSCREEN_HTCPEN
  243. tristate "HTC Shift X9500 touchscreen"
  244. depends on ISA
  245. help
  246. Say Y here if you have an HTC Shift UMPC also known as HTC X9500
  247. Clio / Shangrila and want to support the built-in touchscreen.
  248. If unsure, say N.
  249. To compile this driver as a module, choose M here: the
  250. module will be called htcpen.
  251. config TOUCHSCREEN_PENMOUNT
  252. tristate "Penmount serial touchscreen"
  253. select SERIO
  254. help
  255. Say Y here if you have a Penmount serial touchscreen connected to
  256. your system.
  257. If unsure, say N.
  258. To compile this driver as a module, choose M here: the
  259. module will be called penmount.
  260. config TOUCHSCREEN_QT602240
  261. tristate "QT602240 I2C Touchscreen"
  262. depends on I2C
  263. help
  264. Say Y here if you have the AT42QT602240/ATMXT224 I2C touchscreen
  265. connected to your system.
  266. If unsure, say N.
  267. To compile this driver as a module, choose M here: the
  268. module will be called qt602240_ts.
  269. config TOUCHSCREEN_MIGOR
  270. tristate "Renesas MIGO-R touchscreen"
  271. depends on SH_MIGOR && I2C
  272. help
  273. Say Y here to enable MIGO-R touchscreen support.
  274. If unsure, say N.
  275. To compile this driver as a module, choose M here: the
  276. module will be called migor_ts.
  277. config TOUCHSCREEN_TOUCHRIGHT
  278. tristate "Touchright serial touchscreen"
  279. select SERIO
  280. help
  281. Say Y here if you have a Touchright serial touchscreen connected to
  282. your system.
  283. If unsure, say N.
  284. To compile this driver as a module, choose M here: the
  285. module will be called touchright.
  286. config TOUCHSCREEN_TOUCHWIN
  287. tristate "Touchwin serial touchscreen"
  288. select SERIO
  289. help
  290. Say Y here if you have a Touchwin serial touchscreen connected to
  291. your system.
  292. If unsure, say N.
  293. To compile this driver as a module, choose M here: the
  294. module will be called touchwin.
  295. config TOUCHSCREEN_ATMEL_TSADCC
  296. tristate "Atmel Touchscreen Interface"
  297. depends on ARCH_AT91SAM9RL || ARCH_AT91SAM9G45
  298. help
  299. Say Y here if you have a 4-wire touchscreen connected to the
  300. ADC Controller on your Atmel SoC (such as the AT91SAM9RL).
  301. If unsure, say N.
  302. To compile this driver as a module, choose M here: the
  303. module will be called atmel_tsadcc.
  304. config TOUCHSCREEN_UCB1400
  305. tristate "Philips UCB1400 touchscreen"
  306. depends on AC97_BUS
  307. depends on UCB1400_CORE
  308. help
  309. This enables support for the Philips UCB1400 touchscreen interface.
  310. The UCB1400 is an AC97 audio codec. The touchscreen interface
  311. will be initialized only after the ALSA subsystem has been
  312. brought up and the UCB1400 detected. You therefore have to
  313. configure ALSA support as well (either built-in or modular,
  314. independently of whether this driver is itself built-in or
  315. modular) for this driver to work.
  316. To compile this driver as a module, choose M here: the
  317. module will be called ucb1400_ts.
  318. config TOUCHSCREEN_WM97XX
  319. tristate "Support for WM97xx AC97 touchscreen controllers"
  320. depends on AC97_BUS
  321. help
  322. Say Y here if you have a Wolfson Microelectronics WM97xx
  323. touchscreen connected to your system. Note that this option
  324. only enables core driver, you will also need to select
  325. support for appropriate chip below.
  326. If unsure, say N.
  327. To compile this driver as a module, choose M here: the
  328. module will be called wm97xx-ts.
  329. config TOUCHSCREEN_WM9705
  330. bool "WM9705 Touchscreen interface support"
  331. depends on TOUCHSCREEN_WM97XX
  332. default y
  333. help
  334. Say Y here to enable support for the Wolfson Microelectronics
  335. WM9705 touchscreen controller.
  336. config TOUCHSCREEN_WM9712
  337. bool "WM9712 Touchscreen interface support"
  338. depends on TOUCHSCREEN_WM97XX
  339. default y
  340. help
  341. Say Y here to enable support for the Wolfson Microelectronics
  342. WM9712 touchscreen controller.
  343. config TOUCHSCREEN_WM9713
  344. bool "WM9713 Touchscreen interface support"
  345. depends on TOUCHSCREEN_WM97XX
  346. default y
  347. help
  348. Say Y here to enable support for the Wolfson Microelectronics
  349. WM9713 touchscreen controller.
  350. config TOUCHSCREEN_WM97XX_ATMEL
  351. tristate "WM97xx Atmel accelerated touch"
  352. depends on TOUCHSCREEN_WM97XX && (AVR32 || ARCH_AT91)
  353. help
  354. Say Y here for support for streaming mode with WM97xx touchscreens
  355. on Atmel AT91 or AVR32 systems with an AC97C module.
  356. Be aware that this will use channel B in the controller for
  357. streaming data, this must not conflict with other AC97C drivers.
  358. If unsure, say N.
  359. To compile this driver as a module, choose M here: the module will
  360. be called atmel-wm97xx.
  361. config TOUCHSCREEN_WM97XX_MAINSTONE
  362. tristate "WM97xx Mainstone/Palm accelerated touch"
  363. depends on TOUCHSCREEN_WM97XX && ARCH_PXA
  364. help
  365. Say Y here for support for streaming mode with WM97xx touchscreens
  366. on Mainstone, Palm Tungsten T5, TX and LifeDrive systems.
  367. If unsure, say N.
  368. To compile this driver as a module, choose M here: the
  369. module will be called mainstone-wm97xx.
  370. config TOUCHSCREEN_WM97XX_ZYLONITE
  371. tristate "Zylonite accelerated touch"
  372. depends on TOUCHSCREEN_WM97XX && MACH_ZYLONITE
  373. select TOUCHSCREEN_WM9713
  374. help
  375. Say Y here for support for streaming mode with the touchscreen
  376. on Zylonite systems.
  377. If unsure, say N.
  378. To compile this driver as a module, choose M here: the
  379. module will be called zylonite-wm97xx.
  380. config TOUCHSCREEN_USB_COMPOSITE
  381. tristate "USB Touchscreen Driver"
  382. depends on USB_ARCH_HAS_HCD
  383. select USB
  384. help
  385. USB Touchscreen driver for:
  386. - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700)
  387. - PanJit TouchSet USB
  388. - 3M MicroTouch USB (EX II series)
  389. - ITM
  390. - some other eTurboTouch
  391. - Gunze AHL61
  392. - DMC TSC-10/25
  393. - IRTOUCHSYSTEMS/UNITOP
  394. - IdealTEK URTC1000
  395. - GoTop Super_Q2/GogoPen/PenPower tablets
  396. - JASTEC USB Touch Controller/DigiTech DTR-02U
  397. - Zytronic controllers
  398. Have a look at <http://linux.chapter7.ch/touchkit/> for
  399. a usage description and the required user-space stuff.
  400. To compile this driver as a module, choose M here: the
  401. module will be called usbtouchscreen.
  402. config TOUCHSCREEN_MC13783
  403. tristate "Freescale MC13783 touchscreen input driver"
  404. depends on MFD_MC13783
  405. help
  406. Say Y here if you have an Freescale MC13783 PMIC on your
  407. board and want to use its touchscreen
  408. If unsure, say N.
  409. To compile this driver as a module, choose M here: the
  410. module will be called mc13783_ts.
  411. config TOUCHSCREEN_USB_EGALAX
  412. default y
  413. bool "eGalax, eTurboTouch CT-410/510/700 device support" if EMBEDDED
  414. depends on TOUCHSCREEN_USB_COMPOSITE
  415. config TOUCHSCREEN_USB_PANJIT
  416. default y
  417. bool "PanJit device support" if EMBEDDED
  418. depends on TOUCHSCREEN_USB_COMPOSITE
  419. config TOUCHSCREEN_USB_3M
  420. default y
  421. bool "3M/Microtouch EX II series device support" if EMBEDDED
  422. depends on TOUCHSCREEN_USB_COMPOSITE
  423. config TOUCHSCREEN_USB_ITM
  424. default y
  425. bool "ITM device support" if EMBEDDED
  426. depends on TOUCHSCREEN_USB_COMPOSITE
  427. config TOUCHSCREEN_USB_ETURBO
  428. default y
  429. bool "eTurboTouch (non-eGalax compatible) device support" if EMBEDDED
  430. depends on TOUCHSCREEN_USB_COMPOSITE
  431. config TOUCHSCREEN_USB_GUNZE
  432. default y
  433. bool "Gunze AHL61 device support" if EMBEDDED
  434. depends on TOUCHSCREEN_USB_COMPOSITE
  435. config TOUCHSCREEN_USB_DMC_TSC10
  436. default y
  437. bool "DMC TSC-10/25 device support" if EMBEDDED
  438. depends on TOUCHSCREEN_USB_COMPOSITE
  439. config TOUCHSCREEN_USB_IRTOUCH
  440. default y
  441. bool "IRTOUCHSYSTEMS/UNITOP device support" if EMBEDDED
  442. depends on TOUCHSCREEN_USB_COMPOSITE
  443. config TOUCHSCREEN_USB_IDEALTEK
  444. default y
  445. bool "IdealTEK URTC1000 device support" if EMBEDDED
  446. depends on TOUCHSCREEN_USB_COMPOSITE
  447. config TOUCHSCREEN_USB_GENERAL_TOUCH
  448. default y
  449. bool "GeneralTouch Touchscreen device support" if EMBEDDED
  450. depends on TOUCHSCREEN_USB_COMPOSITE
  451. config TOUCHSCREEN_USB_GOTOP
  452. default y
  453. bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EMBEDDED
  454. depends on TOUCHSCREEN_USB_COMPOSITE
  455. config TOUCHSCREEN_USB_JASTEC
  456. default y
  457. bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EMBEDDED
  458. depends on TOUCHSCREEN_USB_COMPOSITE
  459. config TOUCHSCREEN_USB_E2I
  460. default y
  461. bool "e2i Touchscreen controller (e.g. from Mimo 740)"
  462. depends on TOUCHSCREEN_USB_COMPOSITE
  463. config TOUCHSCREEN_USB_ZYTRONIC
  464. default y
  465. bool "Zytronic controller" if EMBEDDED
  466. depends on TOUCHSCREEN_USB_COMPOSITE
  467. config TOUCHSCREEN_USB_ETT_TC45USB
  468. default y
  469. bool "ET&T USB series TC4UM/TC5UH touchscreen controler support" if EMBEDDED
  470. depends on TOUCHSCREEN_USB_COMPOSITE
  471. config TOUCHSCREEN_USB_NEXIO
  472. default y
  473. bool "NEXIO/iNexio device support" if EMBEDDED
  474. depends on TOUCHSCREEN_USB_COMPOSITE
  475. config TOUCHSCREEN_TOUCHIT213
  476. tristate "Sahara TouchIT-213 touchscreen"
  477. select SERIO
  478. help
  479. Say Y here if you have a Sahara TouchIT-213 Tablet PC.
  480. If unsure, say N.
  481. To compile this driver as a module, choose M here: the
  482. module will be called touchit213.
  483. config TOUCHSCREEN_TSC2007
  484. tristate "TSC2007 based touchscreens"
  485. depends on I2C
  486. help
  487. Say Y here if you have a TSC2007 based touchscreen.
  488. If unsure, say N.
  489. To compile this driver as a module, choose M here: the
  490. module will be called tsc2007.
  491. config TOUCHSCREEN_W90X900
  492. tristate "W90P910 touchscreen driver"
  493. depends on HAVE_CLK
  494. help
  495. Say Y here if you have a W90P910 based touchscreen.
  496. To compile this driver as a module, choose M here: the
  497. module will be called w90p910_ts.
  498. config TOUCHSCREEN_PCAP
  499. tristate "Motorola PCAP touchscreen"
  500. depends on EZX_PCAP
  501. help
  502. Say Y here if you have a Motorola EZX telephone and
  503. want to enable support for the built-in touchscreen.
  504. To compile this driver as a module, choose M here: the
  505. module will be called pcap_ts.
  506. config TOUCHSCREEN_TPS6507X
  507. tristate "TPS6507x based touchscreens"
  508. depends on I2C
  509. help
  510. Say Y here if you have a TPS6507x based touchscreen
  511. controller.
  512. If unsure, say N.
  513. To compile this driver as a module, choose M here: the
  514. module will be called tps6507x_ts.
  515. config TOUCHSCREEN_STMPE
  516. tristate "STMicroelectronics STMPE touchscreens"
  517. depends on MFD_STMPE
  518. help
  519. Say Y here if you want support for STMicroelectronics
  520. STMPE touchscreen controllers.
  521. To compile this driver as a module, choose M here: the
  522. module will be called stmpe-ts.
  523. endif