config DTC
	bool

menuconfig OF
	bool "Device Tree and Open Firmware support"
	help
	  This option enables the device tree infrastructure.
	  It is automatically selected by platforms that need it or can
	  be enabled manually for unittests, overlays or
	  compile-coverage.

if OF

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

endif # OF
