# SPDX-License-Identifier: GPL-2.0
config PPC_PASEMI
	depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
	bool "PA Semi SoC-based platforms"
	default n
	select MPIC
	select PCI
	select PPC_UDBG_16550
	select PPC_NATIVE
	select MPIC_BROKEN_REGREAD
	help
	  This option enables support for PA Semi's PWRficient line
	  of SoC processors, including PA6T-1682M

menu "PA Semi PWRficient options"
	depends on PPC_PASEMI

config PPC_PASEMI_NEMO
	bool "Nemo motherboard Support"
	depends on PPC_PASEMI
	select PPC_I8259
	help
	  This option enables support for the 'Nemo' motherboard
	  used in A-Eons's Amigaone X1000. This consists of some
	  device tree patches and workarounds for the SB600 South
	  Bridge that provides SATA/USB/Audio.

config PPC_PASEMI_IOMMU
	bool "PA Semi IOMMU support"
	depends on PPC_PASEMI
	help
	  IOMMU support for PA Semi PWRficient

config PPC_PASEMI_IOMMU_DMA_FORCE
	bool "Force DMA engine to use IOMMU"
	depends on PPC_PASEMI_IOMMU
	help
	  This option forces the use of the IOMMU also for the
	  DMA engine. Otherwise the kernel will use it only when
	  running under a hypervisor.

	  If in doubt, say "N".

config PPC_PASEMI_MDIO
	depends on PHYLIB
	tristate "MDIO support via GPIO"
	default y
	help
	  Driver for MDIO via GPIO on PWRficient platforms

endmenu
