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