config DTC
	bool

config OF
	bool

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

config OF_UNITTEST
	bool "Device Tree runtime unit tests"
	depends on OF_IRQ && OF_EARLY_FLATTREE
	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
	select CRC32

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 "Support for dynamic device trees" if OF_UNITTEST
	help
	  On some platforms, the device tree can be manipulated at runtime.
	  While this option is selected automatically on such platforms, you
	  can enable it manually to improve device tree unit test coverage.

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 && IRQ_DOMAIN

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

config OF_OVERLAY
	bool "Device Tree overlays"
	select OF_DYNAMIC
	select OF_RESOLVE
	help
	  Overlays are a method to dynamically modify part of the kernel's
	  device tree with dynamically loaded data.
	  While this option is selected automatically when needed, you can
	  enable it manually to improve device tree unit test coverage.

endmenu # OF