Merge tag 'arm-soc-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[platform/kernel/linux-starfive.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           If unsure, say N here, but this option is safe to enable.
27
28 config OF_ALL_DTBS
29         bool "Build all Device Tree Blobs"
30         depends on COMPILE_TEST
31         select DTC
32         help
33           This option builds all possible Device Tree Blobs (DTBs) for the
34           current architecture.
35
36           If unsure, say N here, but this option is safe to enable.
37
38 config OF_FLATTREE
39         bool
40         select DTC
41         select LIBFDT
42         select CRC32
43
44 config OF_EARLY_FLATTREE
45         bool
46         select DMA_DECLARE_COHERENT if HAS_DMA
47         select OF_FLATTREE
48
49 config OF_PROMTREE
50         bool
51
52 config OF_KOBJ
53         def_bool SYSFS
54
55 # Hardly any platforms need this.  It is safe to select, but only do so if you
56 # need it.
57 config OF_DYNAMIC
58         bool "Support for dynamic device trees" if OF_UNITTEST
59         select OF_KOBJ
60         help
61           On some platforms, the device tree can be manipulated at runtime.
62           While this option is selected automatically on such platforms, you
63           can enable it manually to improve device tree unit test coverage.
64
65 config OF_ADDRESS
66         def_bool y
67         depends on !SPARC && (HAS_IOMEM || UML)
68
69 config OF_IRQ
70         def_bool y
71         depends on !SPARC && IRQ_DOMAIN
72
73 config OF_NET
74         depends on NETDEVICES
75         def_bool y
76
77 config OF_RESERVED_MEM
78         def_bool OF_EARLY_FLATTREE
79
80 config OF_RESOLVE
81         bool
82
83 config OF_OVERLAY
84         bool "Device Tree overlays"
85         select OF_DYNAMIC
86         select OF_FLATTREE
87         select OF_RESOLVE
88         help
89           Overlays are a method to dynamically modify part of the kernel's
90           device tree with dynamically loaded data.
91           While this option is selected automatically when needed, you can
92           enable it manually to improve device tree unit test coverage.
93
94 config OF_NUMA
95         bool
96
97 config OF_DMA_DEFAULT_COHERENT
98         # arches should select this if DMA is coherent by default for OF devices
99         bool
100
101 endif # OF