1# SPDX-License-Identifier: GPL-2.0
2config PPC_47x
3	bool "Support for 47x variant"
4	depends on 44x
5	default n
6	select MPIC
7	help
8	  This option enables support for the 47x family of processors and is
9	  not currently compatible with other 44x or 46x varients
10
11config BAMBOO
12	bool "Bamboo"
13	depends on 44x
14	default n
15	select PPC44x_SIMPLE
16	select 440EP
17	select PCI
18	help
19	  This option enables support for the IBM PPC440EP evaluation board.
20
21config BLUESTONE
22	bool "Bluestone"
23	depends on 44x
24	default n
25	select PPC44x_SIMPLE
26	select APM821xx
27	select PCI_MSI
28	select PPC4xx_MSI
29	select PPC4xx_PCI_EXPRESS
30	select IBM_EMAC_RGMII if IBM_EMAC
31	help
32	  This option enables support for the APM APM821xx Evaluation board.
33
34config EBONY
35	bool "Ebony"
36	depends on 44x
37	default y
38	select 440GP
39	select PCI
40	select OF_RTC
41	help
42	  This option enables support for the IBM PPC440GP evaluation board.
43
44config SAM440EP
45        bool "Sam440ep"
46	depends on 44x
47        default n
48        select 440EP
49        select PCI
50        help
51          This option enables support for the ACube Sam440ep board.
52
53config SEQUOIA
54	bool "Sequoia"
55	depends on 44x
56	default n
57	select PPC44x_SIMPLE
58	select 440EPX
59	help
60	  This option enables support for the AMCC PPC440EPX evaluation board.
61
62config TAISHAN
63	bool "Taishan"
64	depends on 44x
65	default n
66	select PPC44x_SIMPLE
67	select 440GX
68	select PCI
69	help
70	  This option enables support for the AMCC PPC440GX "Taishan"
71	  evaluation board.
72
73config KATMAI
74	bool "Katmai"
75	depends on 44x
76	default n
77	select PPC44x_SIMPLE
78	select 440SPe
79	select PCI
80	select PPC4xx_PCI_EXPRESS
81	select PCI_MSI
82	select PPC4xx_MSI
83	help
84	  This option enables support for the AMCC PPC440SPe evaluation board.
85
86config RAINIER
87	bool "Rainier"
88	depends on 44x
89	default n
90	select PPC44x_SIMPLE
91	select 440GRX
92	select PCI
93	help
94	  This option enables support for the AMCC PPC440GRX evaluation board.
95
96config WARP
97	bool "PIKA Warp"
98	depends on 44x
99	default n
100	select 440EP
101	help
102	  This option enables support for the PIKA Warp(tm) Appliance. The Warp
103	  is a small computer replacement with up to 9 ports of FXO/FXS plus VOIP
104	  stations and trunks.
105
106	  See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
107	  Telephony Developers" link for more information.
108
109config ARCHES
110	bool "Arches"
111	depends on 44x
112	default n
113	select PPC44x_SIMPLE
114	select 460EX # Odd since it uses 460GT but the effects are the same
115	select PCI
116	select PPC4xx_PCI_EXPRESS
117	help
118	  This option enables support for the AMCC Dual PPC460GT evaluation board.
119
120config CANYONLANDS
121	bool "Canyonlands"
122	depends on 44x
123	default n
124	select 460EX
125	select PCI
126	select PPC4xx_PCI_EXPRESS
127	select PCI_MSI
128	select PPC4xx_MSI
129	select IBM_EMAC_RGMII if IBM_EMAC
130	select IBM_EMAC_ZMII if IBM_EMAC
131	help
132	  This option enables support for the AMCC PPC460EX evaluation board.
133
134config GLACIER
135	bool "Glacier"
136	depends on 44x
137	default n
138	select PPC44x_SIMPLE
139	select 460EX # Odd since it uses 460GT but the effects are the same
140	select PCI
141	select PPC4xx_PCI_EXPRESS
142	select IBM_EMAC_RGMII if IBM_EMAC
143	select IBM_EMAC_ZMII if IBM_EMAC
144	help
145	  This option enables support for the AMCC PPC460GT evaluation board.
146
147config REDWOOD
148	bool "Redwood"
149	depends on 44x
150	default n
151	select PPC44x_SIMPLE
152	select 460SX
153	select PCI
154	select PPC4xx_PCI_EXPRESS
155	select PCI_MSI
156	select PPC4xx_MSI
157	help
158	  This option enables support for the AMCC PPC460SX Redwood board.
159
160config EIGER
161	bool "Eiger"
162	depends on 44x
163	default n
164	select PPC44x_SIMPLE
165	select 460SX
166	select PCI
167	select PPC4xx_PCI_EXPRESS
168	select IBM_EMAC_RGMII if IBM_EMAC
169	help
170	  This option enables support for the AMCC PPC460SX evaluation board.
171
172config YOSEMITE
173	bool "Yosemite"
174	depends on 44x
175	default n
176	select PPC44x_SIMPLE
177	select 440EP
178	select PCI
179	help
180	  This option enables support for the AMCC PPC440EP evaluation board.
181
182config ISS4xx
183	bool "ISS 4xx Simulator"
184	depends on (44x || 40x)
185	default n
186	select 405GP if 40x
187	select 440GP if 44x && !PPC_47x
188	select PPC_FPU
189	select OF_RTC
190	help
191	  This option enables support for the IBM ISS simulation environment
192
193config CURRITUCK
194	bool "IBM Currituck (476fpe) Support"
195	depends on PPC_47x
196	default n
197	select SWIOTLB
198	select 476FPE
199	select PPC4xx_PCI_EXPRESS
200	help
201	  This option enables support for the IBM Currituck (476fpe) evaluation board
202
203config FSP2
204	bool "IBM FSP2 (476fpe) Support"
205	depends on PPC_47x
206	default n
207	select 476FPE
208	select IBM_EMAC_EMAC4 if IBM_EMAC
209	select IBM_EMAC_RGMII if IBM_EMAC
210	select COMMON_CLK
211	select DEFAULT_UIMAGE
212	help
213	  This option enables support for the IBM FSP2 (476fpe) board
214
215config AKEBONO
216	bool "IBM Akebono (476gtr) Support"
217	depends on PPC_47x
218	default n
219	select SWIOTLB
220	select 476FPE
221	select PPC4xx_PCI_EXPRESS
222	select PCI_MSI
223	select PPC4xx_HSTA_MSI
224	select I2C
225	select I2C_IBM_IIC
226	select NETDEVICES
227	select ETHERNET
228	select NET_VENDOR_IBM
229	select IBM_EMAC_EMAC4 if IBM_EMAC
230	select USB if USB_SUPPORT
231	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
232	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
233	select MMC_SDHCI
234	select MMC_SDHCI_PLTFM
235	select ATA
236	select SATA_AHCI_PLATFORM
237	help
238	  This option enables support for the IBM Akebono (476gtr) evaluation board
239
240
241config ICON
242	bool "Icon"
243	depends on 44x
244	default n
245	select PPC44x_SIMPLE
246	select 440SPe
247	select PCI
248	select PPC4xx_PCI_EXPRESS
249	help
250	  This option enables support for the AMCC PPC440SPe evaluation board.
251
252config XILINX_VIRTEX440_GENERIC_BOARD
253	bool "Generic Xilinx Virtex 5 FXT board support"
254	depends on 44x
255	default n
256	select XILINX_VIRTEX_5_FXT
257	select XILINX_INTC
258	help
259	  This option enables generic support for Xilinx Virtex based boards
260	  that use a 440 based processor in the Virtex 5 FXT FPGA architecture.
261
262	  The generic virtex board support matches any device tree which
263	  specifies 'xlnx,virtex440' in its compatible field.  This includes
264	  the Xilinx ML5xx reference designs using the powerpc core.
265
266	  Most Virtex 5 designs should use this unless it needs to do some
267	  special configuration at board probe time.
268
269config XILINX_ML510
270	bool "Xilinx ML510 extra support"
271	depends on XILINX_VIRTEX440_GENERIC_BOARD
272	select PPC_PCI_CHOICE
273	select XILINX_PCI if PCI
274	select PPC_INDIRECT_PCI if PCI
275	select PPC_I8259 if PCI
276	help
277	  This option enables extra support for features on the Xilinx ML510
278	  board.  The ML510 has a PCI bus with ALI south bridge.
279
280config PPC44x_SIMPLE
281	bool "Simple PowerPC 44x board support"
282	depends on 44x
283	default n
284	help
285	  This option enables the simple PowerPC 44x platform support.
286
287config PPC4xx_GPIO
288	bool "PPC4xx GPIO support"
289	depends on 44x
290	select GPIOLIB
291	help
292	  Enable gpiolib support for ppc440 based boards
293
294config PPC4xx_OCM
295	bool "PPC4xx On Chip Memory (OCM) support"
296	depends on 4xx
297	select PPC_LIB_RHEAP
298	help
299	  Enable OCM support for PowerPC 4xx platforms with on chip memory,
300	  OCM provides the fast place for memory access to improve performance.
301
302# 44x specific CPU modules, selected based on the board above.
303config 440EP
304	bool
305	select PPC_FPU
306	select IBM440EP_ERR42
307	select IBM_EMAC_ZMII if IBM_EMAC
308
309config 440EPX
310	bool
311	select PPC_FPU
312	select IBM_EMAC_EMAC4 if IBM_EMAC
313	select IBM_EMAC_RGMII if IBM_EMAC
314	select IBM_EMAC_ZMII if IBM_EMAC
315	select USB_EHCI_BIG_ENDIAN_MMIO
316	select USB_EHCI_BIG_ENDIAN_DESC
317
318config 440GRX
319	bool
320	select IBM_EMAC_EMAC4 if IBM_EMAC
321	select IBM_EMAC_RGMII if IBM_EMAC
322	select IBM_EMAC_ZMII if IBM_EMAC
323
324config 440GP
325	bool
326	select IBM_EMAC_ZMII if IBM_EMAC
327
328config 440GX
329	bool
330	select IBM_EMAC_EMAC4 if IBM_EMAC
331	select IBM_EMAC_RGMII if IBM_EMAC
332	select IBM_EMAC_ZMII if IBM_EMAC #test only
333	select IBM_EMAC_TAH if IBM_EMAC  #test only
334
335config 440SP
336	bool
337
338config 440SPe
339	bool
340	select IBM_EMAC_EMAC4 if IBM_EMAC
341
342config 460EX
343	bool
344	select PPC_FPU
345	select IBM_EMAC_EMAC4 if IBM_EMAC
346	select IBM_EMAC_TAH if IBM_EMAC
347
348config 460SX
349	bool
350	select PPC_FPU
351	select IBM_EMAC_EMAC4 if IBM_EMAC
352	select IBM_EMAC_RGMII if IBM_EMAC
353	select IBM_EMAC_ZMII if IBM_EMAC
354	select IBM_EMAC_TAH if IBM_EMAC
355
356config 476FPE
357	bool
358	select PPC_FPU
359
360config APM821xx
361	bool
362	select PPC_FPU
363	select IBM_EMAC_EMAC4 if IBM_EMAC
364	select IBM_EMAC_TAH if IBM_EMAC
365
366config 476FPE_ERR46
367	depends on 476FPE
368	bool "Enable linker work around for PPC476FPE errata #46"
369	help
370	  This option enables a work around for an icache bug on 476
371	  that can cause execution of stale instructions when falling
372	  through pages (IBM errata #46). It requires a recent version
373	  of binutils which supports the --ppc476-workaround option.
374
375	  The work around enables the appropriate linker options and
376	  ensures that all module output sections are aligned to 4K
377	  page boundaries. The work around is only required when
378	  building modules.
379
380# 44x errata/workaround config symbols, selected by the CPU models above
381config IBM440EP_ERR42
382	bool
383
384# Xilinx specific config options.
385config XILINX_VIRTEX
386	bool
387	select DEFAULT_UIMAGE
388
389# Xilinx Virtex 5 FXT FPGA architecture, selected by a Xilinx board above
390config XILINX_VIRTEX_5_FXT
391	bool
392	select XILINX_VIRTEX
393
394