Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0
config CONFIG_DTC
	bool

menuconfig CONFIG_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 CONFIG_OF

config CONFIG_OF_UNITTEST
	bool "Device Tree runtime unit tests"
	depends on !CONFIG_SPARC
	select CONFIG_IRQ_DOMAIN
	select CONFIG_OF_EARLY_FLATTREE
	select CONFIG_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 CONFIG_OF_ALL_DTBS
	bool "Build all Device Tree Blobs"
	depends on CONFIG_COMPILE_TEST
	select CONFIG_DTC
	help
	  This option builds all possible Device Tree Blobs (DTBs) for the
	  current architecture.

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

config CONFIG_OF_FLATTREE
	bool
	select CONFIG_DTC
	select CONFIG_LIBFDT
	select CONFIG_CRC32

config CONFIG_OF_EARLY_FLATTREE
	bool
	select CONFIG_DMA_DECLARE_COHERENT if CONFIG_HAS_DMA
	select CONFIG_OF_FLATTREE

config CONFIG_OF_PROMTREE
	bool

config CONFIG_OF_KOBJ
	def_bool CONFIG_SYSFS

# Hardly any platforms need this.  It is safe to select, but only do so if you
# need it.
config CONFIG_OF_DYNAMIC
	bool "Support for dynamic device trees" if CONFIG_OF_UNITTEST
	select CONFIG_OF_KOBJ
	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 CONFIG_OF_ADDRESS
	def_bool y
	depends on !CONFIG_SPARC && (CONFIG_HAS_IOMEM || CONFIG_UML)

config CONFIG_OF_IRQ
	def_bool y
	depends on !CONFIG_SPARC && CONFIG_IRQ_DOMAIN

config CONFIG_OF_NET
	depends on CONFIG_NETDEVICES
	def_bool y

config CONFIG_OF_MDIO
	def_tristate CONFIG_PHYLIB
	depends on CONFIG_PHYLIB
	select CONFIG_FIXED_PHY
	help
	  OpenFirmware CONFIG_MDIO bus (Ethernet PHY) accessors

config CONFIG_OF_RESERVED_MEM
	bool
	depends on CONFIG_OF_EARLY_FLATTREE
	default y if CONFIG_DMA_DECLARE_COHERENT || CONFIG_DMA_CMA

config CONFIG_OF_RESOLVE
	bool

config CONFIG_OF_OVERLAY
	bool "Device Tree overlays"
	select CONFIG_OF_DYNAMIC
	select CONFIG_OF_FLATTREE
	select CONFIG_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.

config CONFIG_OF_NUMA
	bool

endif # CONFIG_OF