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
	select OF_RESOLVE
	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

config OF_RESOLVE
	bool

endmenu # OF
