162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ciconfig PPC_47x
362306a36Sopenharmony_ci	bool "Support for 47x variant"
462306a36Sopenharmony_ci	depends on 44x
562306a36Sopenharmony_ci	select MPIC
662306a36Sopenharmony_ci	help
762306a36Sopenharmony_ci	  This option enables support for the 47x family of processors and is
862306a36Sopenharmony_ci	  not currently compatible with other 44x or 46x variants
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciconfig BAMBOO
1162306a36Sopenharmony_ci	bool "Bamboo"
1262306a36Sopenharmony_ci	depends on 44x
1362306a36Sopenharmony_ci	select PPC44x_SIMPLE
1462306a36Sopenharmony_ci	select 440EP
1562306a36Sopenharmony_ci	select FORCE_PCI
1662306a36Sopenharmony_ci	help
1762306a36Sopenharmony_ci	  This option enables support for the IBM PPC440EP evaluation board.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig BLUESTONE
2062306a36Sopenharmony_ci	bool "Bluestone"
2162306a36Sopenharmony_ci	depends on 44x
2262306a36Sopenharmony_ci	select PPC44x_SIMPLE
2362306a36Sopenharmony_ci	select APM821xx
2462306a36Sopenharmony_ci	select FORCE_PCI
2562306a36Sopenharmony_ci	select PCI_MSI
2662306a36Sopenharmony_ci	select PPC4xx_PCI_EXPRESS
2762306a36Sopenharmony_ci	select IBM_EMAC_RGMII if IBM_EMAC
2862306a36Sopenharmony_ci	help
2962306a36Sopenharmony_ci	  This option enables support for the APM APM821xx Evaluation board.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciconfig EBONY
3262306a36Sopenharmony_ci	bool "Ebony"
3362306a36Sopenharmony_ci	depends on 44x
3462306a36Sopenharmony_ci	default y
3562306a36Sopenharmony_ci	select 440GP
3662306a36Sopenharmony_ci	select FORCE_PCI
3762306a36Sopenharmony_ci	select OF_RTC
3862306a36Sopenharmony_ci	help
3962306a36Sopenharmony_ci	  This option enables support for the IBM PPC440GP evaluation board.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig SAM440EP
4262306a36Sopenharmony_ci	bool "Sam440ep"
4362306a36Sopenharmony_ci	depends on 44x
4462306a36Sopenharmony_ci	select 440EP
4562306a36Sopenharmony_ci	select FORCE_PCI
4662306a36Sopenharmony_ci	help
4762306a36Sopenharmony_ci	  This option enables support for the ACube Sam440ep board.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciconfig SEQUOIA
5062306a36Sopenharmony_ci	bool "Sequoia"
5162306a36Sopenharmony_ci	depends on 44x
5262306a36Sopenharmony_ci	select PPC44x_SIMPLE
5362306a36Sopenharmony_ci	select 440EPX
5462306a36Sopenharmony_ci	help
5562306a36Sopenharmony_ci	  This option enables support for the AMCC PPC440EPX evaluation board.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig TAISHAN
5862306a36Sopenharmony_ci	bool "Taishan"
5962306a36Sopenharmony_ci	depends on 44x
6062306a36Sopenharmony_ci	select PPC44x_SIMPLE
6162306a36Sopenharmony_ci	select 440GX
6262306a36Sopenharmony_ci	select FORCE_PCI
6362306a36Sopenharmony_ci	help
6462306a36Sopenharmony_ci	  This option enables support for the AMCC PPC440GX "Taishan"
6562306a36Sopenharmony_ci	  evaluation board.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciconfig KATMAI
6862306a36Sopenharmony_ci	bool "Katmai"
6962306a36Sopenharmony_ci	depends on 44x
7062306a36Sopenharmony_ci	select PPC44x_SIMPLE
7162306a36Sopenharmony_ci	select 440SPe
7262306a36Sopenharmony_ci	select FORCE_PCI
7362306a36Sopenharmony_ci	select PPC4xx_PCI_EXPRESS
7462306a36Sopenharmony_ci	select PCI_MSI
7562306a36Sopenharmony_ci	help
7662306a36Sopenharmony_ci	  This option enables support for the AMCC PPC440SPe evaluation board.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciconfig RAINIER
7962306a36Sopenharmony_ci	bool "Rainier"
8062306a36Sopenharmony_ci	depends on 44x
8162306a36Sopenharmony_ci	select PPC44x_SIMPLE
8262306a36Sopenharmony_ci	select 440GRX
8362306a36Sopenharmony_ci	select FORCE_PCI
8462306a36Sopenharmony_ci	help
8562306a36Sopenharmony_ci	  This option enables support for the AMCC PPC440GRX evaluation board.
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ciconfig WARP
8862306a36Sopenharmony_ci	bool "PIKA Warp"
8962306a36Sopenharmony_ci	depends on 44x
9062306a36Sopenharmony_ci	select 440EP
9162306a36Sopenharmony_ci	help
9262306a36Sopenharmony_ci	  This option enables support for the PIKA Warp(tm) Appliance. The Warp
9362306a36Sopenharmony_ci	  is a small computer replacement with up to 9 ports of FXO/FXS plus VOIP
9462306a36Sopenharmony_ci	  stations and trunks.
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci	  See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
9762306a36Sopenharmony_ci	  Telephony Developers" link for more information.
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ciconfig ARCHES
10062306a36Sopenharmony_ci	bool "Arches"
10162306a36Sopenharmony_ci	depends on 44x
10262306a36Sopenharmony_ci	select PPC44x_SIMPLE
10362306a36Sopenharmony_ci	select 460EX # Odd since it uses 460GT but the effects are the same
10462306a36Sopenharmony_ci	select FORCE_PCI
10562306a36Sopenharmony_ci	select PPC4xx_PCI_EXPRESS
10662306a36Sopenharmony_ci	help
10762306a36Sopenharmony_ci	  This option enables support for the AMCC Dual PPC460GT evaluation board.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ciconfig CANYONLANDS
11062306a36Sopenharmony_ci	bool "Canyonlands"
11162306a36Sopenharmony_ci	depends on 44x
11262306a36Sopenharmony_ci	select 460EX
11362306a36Sopenharmony_ci	select FORCE_PCI
11462306a36Sopenharmony_ci	select PPC4xx_PCI_EXPRESS
11562306a36Sopenharmony_ci	select PCI_MSI
11662306a36Sopenharmony_ci	select IBM_EMAC_RGMII if IBM_EMAC
11762306a36Sopenharmony_ci	select IBM_EMAC_ZMII if IBM_EMAC
11862306a36Sopenharmony_ci	help
11962306a36Sopenharmony_ci	  This option enables support for the AMCC PPC460EX evaluation board.
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ciconfig GLACIER
12262306a36Sopenharmony_ci	bool "Glacier"
12362306a36Sopenharmony_ci	depends on 44x
12462306a36Sopenharmony_ci	select PPC44x_SIMPLE
12562306a36Sopenharmony_ci	select 460EX # Odd since it uses 460GT but the effects are the same
12662306a36Sopenharmony_ci	select FORCE_PCI
12762306a36Sopenharmony_ci	select PPC4xx_PCI_EXPRESS
12862306a36Sopenharmony_ci	select IBM_EMAC_RGMII if IBM_EMAC
12962306a36Sopenharmony_ci	select IBM_EMAC_ZMII if IBM_EMAC
13062306a36Sopenharmony_ci	help
13162306a36Sopenharmony_ci	  This option enables support for the AMCC PPC460GT evaluation board.
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ciconfig REDWOOD
13462306a36Sopenharmony_ci	bool "Redwood"
13562306a36Sopenharmony_ci	depends on 44x
13662306a36Sopenharmony_ci	select PPC44x_SIMPLE
13762306a36Sopenharmony_ci	select 460SX
13862306a36Sopenharmony_ci	select FORCE_PCI
13962306a36Sopenharmony_ci	select PPC4xx_PCI_EXPRESS
14062306a36Sopenharmony_ci	select PCI_MSI
14162306a36Sopenharmony_ci	help
14262306a36Sopenharmony_ci	  This option enables support for the AMCC PPC460SX Redwood board.
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ciconfig EIGER
14562306a36Sopenharmony_ci	bool "Eiger"
14662306a36Sopenharmony_ci	depends on 44x
14762306a36Sopenharmony_ci	select PPC44x_SIMPLE
14862306a36Sopenharmony_ci	select 460SX
14962306a36Sopenharmony_ci	select FORCE_PCI
15062306a36Sopenharmony_ci	select PPC4xx_PCI_EXPRESS
15162306a36Sopenharmony_ci	select IBM_EMAC_RGMII if IBM_EMAC
15262306a36Sopenharmony_ci	help
15362306a36Sopenharmony_ci	  This option enables support for the AMCC PPC460SX evaluation board.
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ciconfig YOSEMITE
15662306a36Sopenharmony_ci	bool "Yosemite"
15762306a36Sopenharmony_ci	depends on 44x
15862306a36Sopenharmony_ci	select PPC44x_SIMPLE
15962306a36Sopenharmony_ci	select 440EP
16062306a36Sopenharmony_ci	select FORCE_PCI
16162306a36Sopenharmony_ci	help
16262306a36Sopenharmony_ci	  This option enables support for the AMCC PPC440EP evaluation board.
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ciconfig ISS4xx
16562306a36Sopenharmony_ci	bool "ISS 4xx Simulator"
16662306a36Sopenharmony_ci	depends on 44x
16762306a36Sopenharmony_ci	select 440GP if 44x && !PPC_47x
16862306a36Sopenharmony_ci	select PPC_FPU
16962306a36Sopenharmony_ci	select OF_RTC
17062306a36Sopenharmony_ci	help
17162306a36Sopenharmony_ci	  This option enables support for the IBM ISS simulation environment
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ciconfig CURRITUCK
17462306a36Sopenharmony_ci	bool "IBM Currituck (476fpe) Support"
17562306a36Sopenharmony_ci	depends on PPC_47x
17662306a36Sopenharmony_ci	select I2C
17762306a36Sopenharmony_ci	select SWIOTLB
17862306a36Sopenharmony_ci	select 476FPE
17962306a36Sopenharmony_ci	select FORCE_PCI
18062306a36Sopenharmony_ci	select PPC4xx_PCI_EXPRESS
18162306a36Sopenharmony_ci	help
18262306a36Sopenharmony_ci	  This option enables support for the IBM Currituck (476fpe) evaluation board
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ciconfig FSP2
18562306a36Sopenharmony_ci	bool "IBM FSP2 (476fpe) Support"
18662306a36Sopenharmony_ci	depends on PPC_47x
18762306a36Sopenharmony_ci	select 476FPE
18862306a36Sopenharmony_ci	select IBM_EMAC_EMAC4 if IBM_EMAC
18962306a36Sopenharmony_ci	select IBM_EMAC_RGMII if IBM_EMAC
19062306a36Sopenharmony_ci	select COMMON_CLK
19162306a36Sopenharmony_ci	select DEFAULT_UIMAGE
19262306a36Sopenharmony_ci	help
19362306a36Sopenharmony_ci	  This option enables support for the IBM FSP2 (476fpe) board
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ciconfig AKEBONO
19662306a36Sopenharmony_ci	bool "IBM Akebono (476gtr) Support"
19762306a36Sopenharmony_ci	depends on PPC_47x
19862306a36Sopenharmony_ci	select SWIOTLB
19962306a36Sopenharmony_ci	select 476FPE
20062306a36Sopenharmony_ci	select PPC4xx_PCI_EXPRESS
20162306a36Sopenharmony_ci	select FORCE_PCI
20262306a36Sopenharmony_ci	select PCI_MSI
20362306a36Sopenharmony_ci	select PPC4xx_HSTA_MSI
20462306a36Sopenharmony_ci	select I2C
20562306a36Sopenharmony_ci	select I2C_IBM_IIC
20662306a36Sopenharmony_ci	select IBM_EMAC_EMAC4 if IBM_EMAC
20762306a36Sopenharmony_ci	select USB if USB_SUPPORT
20862306a36Sopenharmony_ci	select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD
20962306a36Sopenharmony_ci	select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD
21062306a36Sopenharmony_ci	help
21162306a36Sopenharmony_ci	  This option enables support for the IBM Akebono (476gtr) evaluation board
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ciconfig ICON
21562306a36Sopenharmony_ci	bool "Icon"
21662306a36Sopenharmony_ci	depends on 44x
21762306a36Sopenharmony_ci	select PPC44x_SIMPLE
21862306a36Sopenharmony_ci	select 440SPe
21962306a36Sopenharmony_ci	select FORCE_PCI
22062306a36Sopenharmony_ci	select PPC4xx_PCI_EXPRESS
22162306a36Sopenharmony_ci	help
22262306a36Sopenharmony_ci	  This option enables support for the AMCC PPC440SPe evaluation board.
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ciconfig PPC44x_SIMPLE
22562306a36Sopenharmony_ci	bool "Simple PowerPC 44x board support"
22662306a36Sopenharmony_ci	depends on 44x
22762306a36Sopenharmony_ci	help
22862306a36Sopenharmony_ci	  This option enables the simple PowerPC 44x platform support.
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ciconfig PPC4xx_GPIO
23162306a36Sopenharmony_ci	bool "PPC4xx GPIO support"
23262306a36Sopenharmony_ci	depends on 44x
23362306a36Sopenharmony_ci	select GPIOLIB
23462306a36Sopenharmony_ci	select OF_GPIO_MM_GPIOCHIP
23562306a36Sopenharmony_ci	help
23662306a36Sopenharmony_ci	  Enable gpiolib support for ppc440 based boards
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci# 44x specific CPU modules, selected based on the board above.
23962306a36Sopenharmony_ciconfig 440EP
24062306a36Sopenharmony_ci	bool
24162306a36Sopenharmony_ci	select PPC_FPU
24262306a36Sopenharmony_ci	select IBM440EP_ERR42
24362306a36Sopenharmony_ci	select IBM_EMAC_ZMII if IBM_EMAC
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ciconfig 440EPX
24662306a36Sopenharmony_ci	bool
24762306a36Sopenharmony_ci	select PPC_FPU
24862306a36Sopenharmony_ci	select IBM_EMAC_EMAC4 if IBM_EMAC
24962306a36Sopenharmony_ci	select IBM_EMAC_RGMII if IBM_EMAC
25062306a36Sopenharmony_ci	select IBM_EMAC_ZMII if IBM_EMAC
25162306a36Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO
25262306a36Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_DESC
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ciconfig 440GRX
25562306a36Sopenharmony_ci	bool
25662306a36Sopenharmony_ci	select IBM_EMAC_EMAC4 if IBM_EMAC
25762306a36Sopenharmony_ci	select IBM_EMAC_RGMII if IBM_EMAC
25862306a36Sopenharmony_ci	select IBM_EMAC_ZMII if IBM_EMAC
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ciconfig 440GP
26162306a36Sopenharmony_ci	bool
26262306a36Sopenharmony_ci	select IBM_EMAC_ZMII if IBM_EMAC
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ciconfig 440GX
26562306a36Sopenharmony_ci	bool
26662306a36Sopenharmony_ci	select IBM_EMAC_EMAC4 if IBM_EMAC
26762306a36Sopenharmony_ci	select IBM_EMAC_RGMII if IBM_EMAC
26862306a36Sopenharmony_ci	select IBM_EMAC_ZMII if IBM_EMAC #test only
26962306a36Sopenharmony_ci	select IBM_EMAC_TAH if IBM_EMAC  #test only
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ciconfig 440SP
27262306a36Sopenharmony_ci	bool
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ciconfig 440SPe
27562306a36Sopenharmony_ci	bool
27662306a36Sopenharmony_ci	select IBM_EMAC_EMAC4 if IBM_EMAC
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ciconfig 460EX
27962306a36Sopenharmony_ci	bool
28062306a36Sopenharmony_ci	select PPC_FPU
28162306a36Sopenharmony_ci	select IBM_EMAC_EMAC4 if IBM_EMAC
28262306a36Sopenharmony_ci	select IBM_EMAC_TAH if IBM_EMAC
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ciconfig 460SX
28562306a36Sopenharmony_ci	bool
28662306a36Sopenharmony_ci	select PPC_FPU
28762306a36Sopenharmony_ci	select IBM_EMAC_EMAC4 if IBM_EMAC
28862306a36Sopenharmony_ci	select IBM_EMAC_RGMII if IBM_EMAC
28962306a36Sopenharmony_ci	select IBM_EMAC_ZMII if IBM_EMAC
29062306a36Sopenharmony_ci	select IBM_EMAC_TAH if IBM_EMAC
29162306a36Sopenharmony_ci
29262306a36Sopenharmony_ciconfig 476FPE
29362306a36Sopenharmony_ci	bool
29462306a36Sopenharmony_ci	select PPC_FPU
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ciconfig APM821xx
29762306a36Sopenharmony_ci	bool
29862306a36Sopenharmony_ci	select PPC_FPU
29962306a36Sopenharmony_ci	select IBM_EMAC_EMAC4 if IBM_EMAC
30062306a36Sopenharmony_ci	select IBM_EMAC_TAH if IBM_EMAC
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ciconfig 476FPE_ERR46
30362306a36Sopenharmony_ci	depends on 476FPE
30462306a36Sopenharmony_ci	bool "Enable linker work around for PPC476FPE errata #46"
30562306a36Sopenharmony_ci	help
30662306a36Sopenharmony_ci	  This option enables a work around for an icache bug on 476
30762306a36Sopenharmony_ci	  that can cause execution of stale instructions when falling
30862306a36Sopenharmony_ci	  through pages (IBM errata #46). It requires a recent version
30962306a36Sopenharmony_ci	  of binutils which supports the --ppc476-workaround option.
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ci	  The work around enables the appropriate linker options and
31262306a36Sopenharmony_ci	  ensures that all module output sections are aligned to 4K
31362306a36Sopenharmony_ci	  page boundaries. The work around is only required when
31462306a36Sopenharmony_ci	  building modules.
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci# 44x errata/workaround config symbols, selected by the CPU models above
31762306a36Sopenharmony_ciconfig IBM440EP_ERR42
31862306a36Sopenharmony_ci	bool
31962306a36Sopenharmony_ci
320