| # 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_OVERLAY_KUNIT_TEST |
| tristate "Device Tree overlay KUnit tests" if !KUNIT_ALL_TESTS |
| depends on KUNIT |
| default KUNIT_ALL_TESTS |
| select OF_OVERLAY |
| help |
| This option builds KUnit unit tests for the device tree overlay code. |
| |
| If unsure, say N here, but this option is safe to enable. |
| |
| config OF_NUMA |
| bool |
| |
| endif # OF |