Merge branch 'next' into for-linus
[linux-2.6-microblaze.git] / drivers / of / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 config DTC
3         bool
4
5 menuconfig 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
13 if OF
14
15 config 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
40 config 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
50 config OF_FLATTREE
51         bool
52         select DTC
53         select LIBFDT
54         select CRC32
55
56 config OF_EARLY_FLATTREE
57         bool
58         select DMA_DECLARE_COHERENT if HAS_DMA && HAS_IOMEM
59         select OF_FLATTREE
60
61 config OF_PROMTREE
62         bool
63
64 config 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.
69 config 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
77 config OF_ADDRESS
78         def_bool y
79         depends on !SPARC && (HAS_IOMEM || UML)
80
81 config OF_IRQ
82         def_bool y
83         depends on !SPARC && IRQ_DOMAIN
84
85 config OF_RESERVED_MEM
86         def_bool OF_EARLY_FLATTREE
87
88 config OF_RESOLVE
89         bool
90
91 config 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
102 config OF_NUMA
103         bool
104
105 endif # OF