# SPDX-License-Identifier: GPL-2.0 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_EARLY_FLATTREE select IRQ_DOMAIN 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. This option should only be enabled for a development kernel. The tests will taint the kernel with TAINT_TEST. The tests will cause ERROR and WARNING messages to print on the console. The tests will cause stack traces to print on the console. It is possible that the tests will leave the devicetree in a corrupted state. The unittest output will be verbose. Copy the output to a file via capturing the console output or via the dmesg command. Process this file with scripts/dtc/of_unittest_expect to reduce the verbosity, test whether expected output is present, and to summarize the results. If unsure, say N here. This option is not safe to enable. config OF_KUNIT_TEST tristate "Devicetree KUnit Test" if !KUNIT_ALL_TESTS depends on KUNIT default KUNIT_ALL_TESTS help This option builds KUnit unit tests for device tree infrastructure. If unsure, say N here, but this option is safe to enable. config OF_ALL_DTBS bool "Build all Device Tree Blobs" depends on COMPILE_TEST select 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 OF_FLATTREE bool select DTC select LIBFDT select CRC32 config OF_EARLY_FLATTREE def_bool OF && !(SPARC || ALPHA || HEXAGON || M68K || PARISC || S390) select DMA_DECLARE_COHERENT if HAS_DMA && HAS_IOMEM select OF_FLATTREE config OF_PROMTREE bool config OF_KOBJ def_bool SYSFS # 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 select 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 OF_ADDRESS def_bool y depends on !SPARC && (HAS_IOMEM || UML) config OF_IRQ def_bool y depends on !SPARC && IRQ_DOMAIN config OF_RESERVED_MEM def_bool OF_EARLY_FLATTREE config OF_RESOLVE bool config OF_OVERLAY bool "Device Tree overlays" select OF_DYNAMIC select OF_FLATTREE 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. config OF_NUMA bool endif # OF