config DTC
	bool

config OF
	bool

menu "Device Tree and Open Firmware support"
	depends on OF

config OF_SELFTEST
	bool "Device Tree Runtime self tests"
	depends on OF_IRQ && OF_EARLY_FLATTREE
	select OF_DYNAMIC
	help
	  This option builds in test cases for the device tree infrastructure
	  that are executed once at boot time, and the results dumped to the
	  console.

	  If unsure, say N here, but this option is safe to enable.

config OF_FLATTREE
	bool
	select DTC
	select LIBFDT

config OF_EARLY_FLATTREE
	bool
	select OF_FLATTREE

config OF_PROMTREE
	bool

# Hardly any platforms need this.  It is safe to select, but only do so if you
# need it.
config OF_DYNAMIC
	bool

config OF_ADDRESS
	def_bool y
	depends on !SPARC
	select OF_ADDRESS_PCI if PCI

config OF_ADDRESS_PCI
	bool

config OF_IRQ
	def_bool y
	depends on !SPARC

config OF_NET
	depends on NETDEVICES
	def_bool y

config OF_MDIO
	def_tristate PHYLIB
	depends on PHYLIB
	help
	  OpenFirmware MDIO bus (Ethernet PHY) accessors

config OF_PCI
	def_tristate PCI
	depends on PCI
	help
	  OpenFirmware PCI bus accessors

config OF_PCI_IRQ
	def_tristate PCI
	depends on OF_PCI && OF_IRQ
	help
	  OpenFirmware PCI IRQ routing helpers

config OF_MTD
	depends on MTD
	def_bool y

config OF_RESERVED_MEM
	depends on OF_EARLY_FLATTREE
	bool
	help
	  Helpers to allow for reservation of memory regions

endmenu # OF
