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 !SPARC 18 select IRQ_DOMAIN 19 select OF_EARLY_FLATTREE 20 select OF_RESOLVE 21 help 22 This option builds in test cases for the device tree infrastructure 23 that are executed once at boot time, and the results dumped to the 24 console. 25 26 This option should only be enabled for a development kernel. The tests 27 will taint the kernel with TAINT_TEST. The tests will cause ERROR and 28 WARNING messages to print on the console. The tests will cause stack 29 traces to print on the console. It is possible that the tests will 30 leave the devicetree in a corrupted state. 31 32 The unittest output will be verbose. Copy the output to a file 33 via capturing the console output or via the dmesg command. Process 34 this file with scripts/dtc/of_unittest_expect to reduce the 35 verbosity, test whether expected output is present, and to 36 summarize the results. 37 38 If unsure, say N here. This option is not safe to enable. 39 40config OF_ALL_DTBS 41 bool "Build all Device Tree Blobs" 42 depends on COMPILE_TEST 43 select DTC 44 help 45 This option builds all possible Device Tree Blobs (DTBs) for the 46 current architecture. 47 48 If unsure, say N here, but this option is safe to enable. 49 50config OF_FLATTREE 51 bool 52 select DTC 53 select LIBFDT 54 select CRC32 55 56config OF_EARLY_FLATTREE 57 bool 58 select DMA_DECLARE_COHERENT if HAS_DMA 59 select OF_FLATTREE 60 61config OF_PROMTREE 62 bool 63 64config OF_KOBJ 65 def_bool SYSFS 66 67# Hardly any platforms need this. It is safe to select, but only do so if you 68# need it. 69config OF_DYNAMIC 70 bool "Support for dynamic device trees" if OF_UNITTEST 71 select OF_KOBJ 72 help 73 On some platforms, the device tree can be manipulated at runtime. 74 While this option is selected automatically on such platforms, you 75 can enable it manually to improve device tree unit test coverage. 76 77config OF_ADDRESS 78 def_bool y 79 depends on !SPARC && (HAS_IOMEM || UML) 80 81config OF_IRQ 82 def_bool y 83 depends on !SPARC && IRQ_DOMAIN 84 85config OF_RESERVED_MEM 86 def_bool OF_EARLY_FLATTREE 87 88config OF_RESOLVE 89 bool 90 91config OF_OVERLAY 92 bool "Device Tree overlays" 93 select OF_DYNAMIC 94 select OF_FLATTREE 95 select OF_RESOLVE 96 help 97 Overlays are a method to dynamically modify part of the kernel's 98 device tree with dynamically loaded data. 99 While this option is selected automatically when needed, you can 100 enable it manually to improve device tree unit test coverage. 101 102config OF_NUMA 103 bool 104 105config OF_DMA_DEFAULT_COHERENT 106 # arches should select this if DMA is coherent by default for OF devices 107 bool 108 109endif # OF 110