1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig ARCH_PXA
3	bool "PXA2xx/PXA3xx-based"
4	depends on ARCH_MULTI_V5
5	depends on CPU_LITTLE_ENDIAN
6	select ARM_CPU_SUSPEND if PM
7	select CLKSRC_PXA
8	select CLKSRC_MMIO
9	select TIMER_OF
10	select CPU_XSCALE if !CPU_XSC3
11	select GPIO_PXA
12	select GPIOLIB
13	select PLAT_PXA
14	help
15	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
16
17if ARCH_PXA
18
19menu "Intel PXA2xx/PXA3xx Implementations"
20
21comment "Intel/Marvell Dev Platforms (sorted by hardware release time)"
22
23config MACH_PXA25X_DT
24	bool "Support PXA25x platforms from device tree"
25	select PINCTRL
26	select POWER_SUPPLY
27	select PXA25x
28	select USE_OF
29	help
30	  Include support for Marvell PXA25x based platforms using
31	  the device tree. Needn't select any other machine while
32	  MACH_PXA25x_DT is enabled.
33
34config MACH_PXA27X_DT
35	bool "Support PXA27x platforms from device tree"
36	select PINCTRL
37	select POWER_SUPPLY
38	select PXA27x
39	select USE_OF
40	help
41	  Include support for Marvell PXA27x based platforms using
42	  the device tree. Needn't select any other machine while
43	  MACH_PXA27X_DT is enabled.
44
45config MACH_PXA3XX_DT
46	bool "Support PXA3xx platforms from device tree"
47	select CPU_PXA300
48	select PINCTRL
49	select POWER_SUPPLY
50	select PXA3xx
51	select USE_OF
52	help
53	  Include support for Marvell PXA3xx based platforms using
54	  the device tree. Needn't select any other machine while
55	  MACH_PXA3XX_DT is enabled.
56
57config ARCH_LUBBOCK
58	bool "Intel DBPXA250 Development Platform (aka Lubbock)"
59	select GPIO_REG
60	select PXA25x
61	select SA1111
62
63config MACH_MAINSTONE
64	bool "Intel HCDDBBVA0 Development Platform (aka Mainstone)"
65	select GPIO_REG
66	select PXA27x
67
68config MACH_ZYLONITE
69	bool
70	select PXA3xx
71
72config MACH_ZYLONITE300
73	bool "PXA3xx Development Platform (aka Zylonite) PXA300/310"
74	select CPU_PXA300
75	select CPU_PXA310
76	select MACH_ZYLONITE
77
78config MACH_ZYLONITE320
79	bool "PXA3xx Development Platform (aka Zylonite) PXA320"
80	select CPU_PXA320
81	select MACH_ZYLONITE
82
83config MACH_LITTLETON
84	bool "PXA3xx Form Factor Platform (aka Littleton)"
85	select CPU_PXA300
86	select CPU_PXA310
87	select PXA3xx
88
89config MACH_TAVOREVB
90	bool "PXA930 Evaluation Board (aka TavorEVB)"
91	select CPU_PXA930
92	select CPU_PXA935
93	select PXA3xx
94	select FB
95	select FB_PXA
96
97config MACH_SAAR
98	bool "PXA930 Handheld Platform (aka SAAR)"
99	select CPU_PXA930
100	select CPU_PXA935
101	select PXA3xx
102	select FB
103	select FB_PXA
104
105comment "Third Party Dev Platforms (sorted by vendor name)"
106
107config ARCH_PXA_IDP
108	bool "Accelent Xscale IDP"
109	select PXA25x
110
111config ARCH_VIPER
112	bool "Arcom/Eurotech VIPER SBC"
113	select ARCOM_PCMCIA
114	select I2C_GPIO if I2C=y
115	select ISA
116	select PXA25x
117
118config MACH_ARCOM_ZEUS
119	bool "Arcom/Eurotech ZEUS SBC"
120	select ARCOM_PCMCIA
121	select ISA
122	select PXA27x
123
124config MACH_BALLOON3
125	bool "Balloon 3 board"
126	select IWMMXT
127	select PXA27x
128
129config MACH_CSB726
130	bool "Enable Cogent CSB726 System On a Module"
131	select IWMMXT
132	select PXA27x
133	help
134	  Say Y here if you intend to run this kernel on a Cogent
135	  CSB726 System On Module.
136
137config CSB726_CSB701
138	bool "Enable support for CSB701 baseboard"
139	depends on MACH_CSB726
140
141config MACH_CM_X300
142	bool "CompuLab CM-X300 modules"
143	select CPU_PXA300
144	select CPU_PXA310
145	select PXA3xx
146
147config MACH_CAPC7117
148	bool "Embedian CAPC-7117 evaluation kit based on the MXM-8x10 CoM"
149	select CPU_PXA320
150	select PXA3xx
151
152config ARCH_GUMSTIX
153	bool "Gumstix XScale 255 boards"
154	select PXA25x
155	help
156	  Say Y here if you intend to run this kernel on
157	  Basix, Connex, ws-200ax, ws-400ax systems
158
159choice
160	prompt "Gumstix Carrier/Expansion Board"
161	depends on ARCH_GUMSTIX
162
163config GUMSTIX_AM200EPD
164	bool "Enable AM200EPD board support"
165
166config GUMSTIX_AM300EPD
167	bool "Enable AM300EPD board support"
168
169endchoice
170
171config MACH_XCEP
172	bool "Iskratel Electronics XCEP"
173	select MTD
174	select MTD_CFI
175	select MTD_CFI_INTELEXT
176	select MTD_PHYSMAP
177	select PXA25x
178	help
179	  PXA255 based Single Board Computer with SMC 91C111 ethernet chip and 64 MB of flash.
180	  Tuned for usage in Libera instruments for particle accelerators.
181
182config TRIZEPS_PXA
183	bool "PXA based Keith und Koep Trizeps DIMM-Modules"
184
185config MACH_TRIZEPS4
186	bool "Keith und Koep Trizeps4 DIMM-Module"
187	depends on TRIZEPS_PXA
188	select PXA27x
189	select TRIZEPS_PCMCIA
190
191config MACH_TRIZEPS4WL
192	bool "Keith und Koep Trizeps4-WL DIMM-Module"
193	depends on TRIZEPS_PXA
194	select MACH_TRIZEPS4
195	select PXA27x
196	select TRIZEPS_PCMCIA
197
198choice
199	prompt "Select base board for Trizeps module"
200	depends on TRIZEPS_PXA
201
202config MACH_TRIZEPS_CONXS
203	bool "ConXS Eval Board"
204
205config MACH_TRIZEPS_UCONXS
206	bool "uConXS Eval Board"
207
208config MACH_TRIZEPS_ANY
209	bool "another Board"
210
211endchoice
212
213config ARCOM_PCMCIA
214	bool
215	help
216	  Generic option for Arcom Viper/Zeus PCMCIA
217
218config TRIZEPS_PCMCIA
219	bool
220	help
221	  Enable PCMCIA support for Trizeps modules
222
223config MACH_LOGICPD_PXA270
224	bool "LogicPD PXA270 Card Engine Development Platform"
225	select PXA27x
226
227config MACH_PCM027
228	bool "Phytec phyCORE-PXA270 CPU module (PCM-027)"
229	select IWMMXT
230	select PXA27x
231
232config MACH_PCM990_BASEBOARD
233	bool "PHYTEC PCM-990 development board"
234	depends on MACH_PCM027
235
236choice
237	prompt "display on pcm990"
238	depends on MACH_PCM990_BASEBOARD
239
240config PCM990_DISPLAY_SHARP
241	bool "sharp lq084v1dg21 stn display"
242
243config PCM990_DISPLAY_NEC
244	bool "nec nl6448bc20_18d tft display"
245
246config PCM990_DISPLAY_NONE
247	bool "no display"
248
249endchoice
250
251config MACH_COLIBRI
252	bool "Toradex Colibri PXA270"
253	select PXA27x
254
255config MACH_COLIBRI_PXA270_INCOME
256	bool "Income s.r.o. PXA270 SBC"
257	depends on MACH_COLIBRI
258	select PXA27x
259
260config MACH_COLIBRI300
261	bool "Toradex Colibri PXA300/310"
262	select CPU_PXA300
263	select CPU_PXA310
264	select PXA3xx
265
266config MACH_COLIBRI320
267	bool "Toradex Colibri PXA320"
268	select CPU_PXA320
269	select PXA3xx
270
271config MACH_COLIBRI_EVALBOARD
272	bool "Toradex Colibri Evaluation Carrier Board support"
273	depends on MACH_COLIBRI || MACH_COLIBRI300 || MACH_COLIBRI320
274
275config MACH_VPAC270
276	bool "Voipac PXA270"
277	select HAVE_PATA_PLATFORM
278	select PXA27x
279	help
280	  PXA270 based Single Board Computer.
281
282comment "End-user Products (sorted by vendor name)"
283
284config MACH_H4700
285	bool "HP iPAQ hx4700"
286	select IWMMXT
287	select PXA27x
288
289config MACH_H5000
290	bool "HP iPAQ h5000"
291	select PXA25x
292
293config MACH_HIMALAYA
294	bool "HTC Himalaya Support"
295	select CPU_PXA26x
296
297config MACH_MAGICIAN
298	bool "Enable HTC Magician Support"
299	select IWMMXT
300	select PXA27x
301
302config MACH_MIOA701
303	bool "Mitac Mio A701 Support"
304	select IWMMXT
305	select PXA27x
306	help
307	  Say Y here if you intend to run this kernel on a
308	  MIO A701. Currently there is only basic support
309	  for this PDA.
310
311config PXA_EZX
312	bool "Motorola EZX Platform"
313	select IWMMXT
314	select PXA27x
315
316config MACH_EZX_A780
317	bool "Motorola EZX A780"
318	default y
319	depends on PXA_EZX
320
321config MACH_EZX_E680
322	bool "Motorola EZX E680"
323	default y
324	depends on PXA_EZX
325
326config MACH_EZX_A1200
327	bool "Motorola EZX A1200"
328	default y
329	depends on PXA_EZX
330
331config MACH_EZX_A910
332	bool "Motorola EZX A910"
333	default y
334	depends on PXA_EZX
335
336config MACH_EZX_E6
337	bool "Motorola EZX E6"
338	default y
339	depends on PXA_EZX
340
341config MACH_EZX_E2
342	bool "Motorola EZX E2"
343	default y
344	depends on PXA_EZX
345
346config MACH_MP900C
347	bool "Nec Mobilepro 900/c"
348	select PXA25x
349
350config ARCH_PXA_PALM
351	bool "PXA based Palm PDAs"
352
353config MACH_PALM27X
354	bool
355
356config MACH_PALMTE2
357	bool "Palm Tungsten|E2"
358	default y
359	depends on ARCH_PXA_PALM
360	select PXA25x
361	help
362	  Say Y here if you intend to run this kernel on a Palm Tungsten|E2
363	  handheld computer.
364
365config MACH_PALMTC
366	bool "Palm Tungsten|C"
367	default y
368	depends on ARCH_PXA_PALM
369	select PXA25x
370	help
371	  Say Y here if you intend to run this kernel on a Palm Tungsten|C
372	  handheld computer.
373
374config MACH_PALMT5
375	bool "Palm Tungsten|T5"
376	default y
377	depends on ARCH_PXA_PALM
378	select IWMMXT
379	select MACH_PALM27X
380	select PXA27x
381	help
382	  Say Y here if you intend to run this kernel on a Palm Tungsten|T5
383	  handheld computer.
384
385config MACH_PALMTX
386	bool "Palm T|X"
387	default y
388	depends on ARCH_PXA_PALM
389	select IWMMXT
390	select MACH_PALM27X
391	select PXA27x
392	help
393	  Say Y here if you intend to run this kernel on a Palm T|X
394	  handheld computer.
395
396config MACH_PALMZ72
397	bool "Palm Zire 72"
398	default y
399	depends on ARCH_PXA_PALM
400	select IWMMXT
401	select MACH_PALM27X
402	select PXA27x
403	help
404	  Say Y here if you intend to run this kernel on Palm Zire 72
405	  handheld computer.
406
407config MACH_PALMLD
408	bool "Palm LifeDrive"
409	default y
410	depends on ARCH_PXA_PALM
411	select IWMMXT
412	select MACH_PALM27X
413	select PXA27x
414	help
415	  Say Y here if you intend to run this kernel on a Palm LifeDrive
416	  handheld computer.
417
418config PALM_TREO
419	bool
420	depends on ARCH_PXA_PALM
421
422config MACH_CENTRO
423	bool "Palm Centro 685 (GSM)"
424	default y
425	depends on ARCH_PXA_PALM
426	select IWMMXT
427	select MACH_PALM27X
428	select PALM_TREO
429	select PXA27x
430	help
431	  Say Y here if you intend to run this kernel on Palm Centro 685 (GSM)
432	  smartphone.
433
434config MACH_TREO680
435	bool "Palm Treo 680"
436	default y
437	depends on ARCH_PXA_PALM
438	select IWMMXT
439	select MACH_PALM27X
440	select PALM_TREO
441	select PXA27x
442	help
443	  Say Y here if you intend to run this kernel on Palm Treo 680
444	  smartphone.
445
446config PXA_SHARPSL
447	bool "SHARP Zaurus SL-5600, SL-C7xx and SL-Cxx00 Models"
448	select SHARP_PARAM
449	select SHARP_SCOOP
450	help
451	  Say Y here if you intend to run this kernel on a
452	  Sharp Zaurus SL-5600 (Poodle), SL-C700 (Corgi),
453	  SL-C750 (Shepherd), SL-C760 (Husky), SL-C1000 (Akita),
454	  SL-C3000 (Spitz), SL-C3100 (Borzoi) or SL-C6000x (Tosa)
455	  handheld computer.
456
457config PXA_SHARPSL_DETECT_MACH_ID
458	bool "Detect machine ID at run-time in the decompressor"
459	depends on PXA_SHARPSL
460	help
461	  Say Y here if you want the zImage decompressor to detect
462	  the Zaurus machine ID at run-time. For latest kexec-based
463	  boot loader, this is not necessary.
464
465config MACH_POODLE
466	bool "Enable Sharp SL-5600 (Poodle) Support"
467	depends on PXA_SHARPSL
468	select PXA25x
469	select SHARP_LOCOMO
470
471config MACH_CORGI
472	bool "Enable Sharp SL-C700 (Corgi) Support"
473	depends on PXA_SHARPSL
474	select PXA25x
475	select PXA_SHARP_C7xx
476
477config MACH_SHEPHERD
478	bool "Enable Sharp SL-C750 (Shepherd) Support"
479	depends on PXA_SHARPSL
480	select PXA25x
481	select PXA_SHARP_C7xx
482
483config MACH_HUSKY
484	bool "Enable Sharp SL-C760 (Husky) Support"
485	depends on PXA_SHARPSL
486	select PXA25x
487	select PXA_SHARP_C7xx
488
489config MACH_AKITA
490	bool "Enable Sharp SL-1000 (Akita) Support"
491	depends on PXA_SHARPSL
492	select I2C
493	select I2C_PXA
494	select MACH_SPITZ
495	select PXA27x
496	select PXA_SHARP_Cxx00
497
498config MACH_SPITZ
499	bool "Enable Sharp Zaurus SL-3000 (Spitz) Support"
500	depends on PXA_SHARPSL
501	select PXA27x
502	select PXA_SHARP_Cxx00
503
504config MACH_BORZOI
505	bool "Enable Sharp Zaurus SL-3100 (Borzoi) Support"
506	depends on PXA_SHARPSL
507	select PXA27x
508	select PXA_SHARP_Cxx00
509
510config MACH_TOSA
511	bool "Enable Sharp SL-6000x (Tosa) Support"
512	depends on PXA_SHARPSL
513	select PXA25x
514
515config TOSA_BT
516	tristate "Control the state of built-in bluetooth chip on Sharp SL-6000"
517	depends on MACH_TOSA && NET
518	select RFKILL
519	help
520	  This is a simple driver that is able to control
521	  the state of built in bluetooth chip on tosa.
522
523config TOSA_USE_EXT_KEYCODES
524	bool "Tosa keyboard: use extended keycodes"
525	depends on MACH_TOSA
526	help
527	  Say Y here to enable the tosa keyboard driver to generate extended
528	  (>= 127) keycodes. Be aware, that they can't be correctly interpreted
529	  by either console keyboard driver or by Kdrive keybd driver.
530
531	  Say Y only if you know, what you are doing!
532
533config MACH_ICONTROL
534	bool "TMT iControl/SafeTCam based on the MXM-8x10 CoM"
535	select CPU_PXA320
536	select PXA3xx
537
538config ARCH_PXA_ESERIES
539	bool "PXA based Toshiba e-series PDAs"
540	select FB_W100
541	select FB
542	select PXA25x
543
544config MACH_E330
545	bool "Toshiba e330"
546	default y
547	depends on ARCH_PXA_ESERIES
548	help
549	  Say Y here if you intend to run this kernel on a Toshiba
550	  e330 family PDA.
551
552config MACH_E350
553	bool "Toshiba e350"
554	default y
555	depends on ARCH_PXA_ESERIES
556	help
557	  Say Y here if you intend to run this kernel on a Toshiba
558	  e350 family PDA.
559
560config MACH_E740
561	bool "Toshiba e740"
562	default y
563	depends on ARCH_PXA_ESERIES
564	help
565	  Say Y here if you intend to run this kernel on a Toshiba
566	  e740 family PDA.
567
568config MACH_E750
569	bool "Toshiba e750"
570	default y
571	depends on ARCH_PXA_ESERIES
572	help
573	  Say Y here if you intend to run this kernel on a Toshiba
574	  e750 family PDA.
575
576config MACH_E400
577	bool "Toshiba e400"
578	default y
579	depends on ARCH_PXA_ESERIES
580	help
581	  Say Y here if you intend to run this kernel on a Toshiba
582	  e400 family PDA.
583
584config MACH_E800
585	bool "Toshiba e800"
586	default y
587	depends on ARCH_PXA_ESERIES
588	help
589	  Say Y here if you intend to run this kernel on a Toshiba
590	  e800 family PDA.
591
592config MACH_ZIPIT2
593	bool "Zipit Z2 Handheld"
594	select PXA27x
595endmenu
596
597config PXA25x
598	bool
599	select CPU_XSCALE
600	help
601	  Select code specific to PXA21x/25x/26x variants
602
603config PXA27x
604	bool
605	select CPU_XSCALE
606	help
607	  Select code specific to PXA27x variants
608
609config CPU_PXA26x
610	bool
611	select PXA25x
612	help
613	  Select code specific to PXA26x (codename Dalhart)
614
615config PXA3xx
616	bool
617	select CPU_XSC3
618	help
619	  Select code specific to PXA3xx variants
620
621config CPU_PXA300
622	bool
623	select PXA3xx
624	help
625	  PXA300 (codename Monahans-L)
626
627config CPU_PXA310
628	bool
629	select CPU_PXA300
630	select PXA310_ULPI if USB_ULPI
631	help
632	  PXA310 (codename Monahans-LV)
633
634config CPU_PXA320
635	bool
636	select PXA3xx
637	help
638	  PXA320 (codename Monahans-P)
639
640config CPU_PXA930
641	bool
642	select PXA3xx
643	help
644	  PXA930 (codename Tavor-P)
645
646config CPU_PXA935
647	bool
648	select CPU_PXA930
649	help
650	  PXA935 (codename Tavor-P65)
651
652config PXA_SHARP_C7xx
653	bool
654	select SHARPSL_PM
655	help
656	  Enable support for all Sharp C7xx models
657
658config PXA_SHARP_Cxx00
659	bool
660	select SHARPSL_PM
661	help
662	  Enable common support for Sharp Cxx00 models
663
664config SHARPSL_PM
665	bool
666	select APM_EMULATION
667	select SHARPSL_PM_MAX1111
668
669config SHARPSL_PM_MAX1111
670	bool
671	select HWMON
672	select SENSORS_MAX1111
673	select SPI
674	select SPI_MASTER
675
676config PXA310_ULPI
677	bool
678
679config PXA_SYSTEMS_CPLDS
680	tristate "Motherboard cplds"
681	default ARCH_LUBBOCK || MACH_MAINSTONE
682	help
683	  This driver supports the Lubbock and Mainstone multifunction chip
684	  found on the pxa25x development platform system (Lubbock) and pxa27x
685	  development platform system (Mainstone). This IO board supports the
686	  interrupts handling, ethernet controller, flash chips, etc ...
687
688endif
689