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