1# SPDX-License-Identifier: GPL-2.0 2config DTC 3 bool 4 5menuconfig OF 6 bool "Device Tree and Open Firmware support" 7 help 8 This option enables the device tree infrastructure. 9 It is automatically selected by platforms that need it or can 10 be enabled manually for unittests, overlays or 11 compile-coverage. 12 13if OF 14 15config OF_UNITTEST 16 bool "Device Tree runtime unit tests" 17 depends on OF_EARLY_FLATTREE 18 select IRQ_DOMAIN 19 select OF_RESOLVE 20 help 21 This option builds in test cases for the device tree infrastructure 22 that are executed once at boot time, and the results dumped to the 23 console. 24 25 This option should only be enabled for a development kernel. The tests 26 will taint the kernel with TAINT_TEST. The tests will cause ERROR and 27 WARNING messages to print on the console. The tests will cause stack 28 traces to print on the console. It is possible that the tests will 29 leave the devicetree in a corrupted state. 30 31 The unittest output will be verbose. Copy the output to a file 32 via capturing the console output or via the dmesg command. Process 33 this file with scripts/dtc/of_unittest_expect to reduce the 34 verbosity, test whether expected output is present, and to 35 summarize the results. 36 37 If unsure, say N here. This option is not safe to enable. 38 39config OF_KUNIT_TEST 40 tristate "Devicetree KUnit Test" if !KUNIT_ALL_TESTS 41 depends on KUNIT 42 default KUNIT_ALL_TESTS 43 help 44 This option builds KUnit unit tests for device tree infrastructure. 45 46 If unsure, say N here, but this option is safe to enable. 47 48config OF_ALL_DTBS 49 bool "Build all Device Tree Blobs" 50 depends on COMPILE_TEST 51 select DTC 52 help 53 This option builds all possible Device Tree Blobs (DTBs) for the 54 current architecture. 55 56 If unsure, say N here, but this option is safe to enable. 57 58config OF_FLATTREE 59 bool 60 select DTC 61 select LIBFDT 62 select CRC32 63 64config OF_EARLY_FLATTREE 65 def_bool OF && !(SPARC || ALPHA || HEXAGON || M68K || PARISC || S390) 66 select DMA_DECLARE_COHERENT if HAS_DMA && HAS_IOMEM 67 select OF_FLATTREE 68 69config OF_PROMTREE 70 bool 71 72config OF_KOBJ 73 def_bool SYSFS 74 75# Hardly any platforms need this. It is safe to select, but only do so if you 76# need it. 77config OF_DYNAMIC 78 bool "Support for dynamic device trees" if OF_UNITTEST 79 select OF_KOBJ 80 help 81 On some platforms, the device tree can be manipulated at runtime. 82 While this option is selected automatically on such platforms, you 83 can enable it manually to improve device tree unit test coverage. 84 85config OF_ADDRESS 86 def_bool y 87 depends on !SPARC && (HAS_IOMEM || UML) 88 89config OF_IRQ 90 def_bool y 91 depends on !SPARC && IRQ_DOMAIN 92 93config OF_RESERVED_MEM 94 def_bool OF_EARLY_FLATTREE 95 96config OF_RESOLVE 97 bool 98 99config OF_OVERLAY 100 bool "Device Tree overlays" 101 select OF_DYNAMIC 102 select OF_FLATTREE 103 select OF_RESOLVE 104 help 105 Overlays are a method to dynamically modify part of the kernel's 106 device tree with dynamically loaded data. 107 While this option is selected automatically when needed, you can 108 enable it manually to improve device tree unit test coverage. 109 110config OF_OVERLAY_KUNIT_TEST 111 tristate "Device Tree overlay KUnit tests" if !KUNIT_ALL_TESTS 112 depends on KUNIT 113 default KUNIT_ALL_TESTS 114 select OF_OVERLAY 115 help 116 This option builds KUnit unit tests for the device tree overlay code. 117 118 If unsure, say N here, but this option is safe to enable. 119 120config OF_NUMA 121 bool 122 123endif # OF 124