Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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_NUMA
111 bool
112
113endif # OF