Loading...
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
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 If unsure, say N here, but this option is safe to enable.
27
28config 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
38config OF_FLATTREE
39 bool
40 select DTC
41 select LIBFDT
42 select CRC32
43
44config OF_EARLY_FLATTREE
45 bool
46 select DMA_DECLARE_COHERENT if HAS_DMA
47 select OF_FLATTREE
48
49config OF_PROMTREE
50 bool
51
52config 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.
57config 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
65config OF_ADDRESS
66 def_bool y
67 depends on !SPARC && (HAS_IOMEM || UML)
68
69config OF_IRQ
70 def_bool y
71 depends on !SPARC && IRQ_DOMAIN
72
73config OF_NET
74 depends on NETDEVICES
75 def_bool y
76
77config OF_MDIO
78 def_tristate PHYLIB
79 depends on PHYLIB
80 select FIXED_PHY
81 help
82 OpenFirmware MDIO bus (Ethernet PHY) accessors
83
84config OF_RESERVED_MEM
85 bool
86 depends on OF_EARLY_FLATTREE
87 default y if DMA_DECLARE_COHERENT || DMA_CMA
88
89config OF_RESOLVE
90 bool
91
92config OF_OVERLAY
93 bool "Device Tree overlays"
94 select OF_DYNAMIC
95 select OF_FLATTREE
96 select OF_RESOLVE
97 help
98 Overlays are a method to dynamically modify part of the kernel's
99 device tree with dynamically loaded data.
100 While this option is selected automatically when needed, you can
101 enable it manually to improve device tree unit test coverage.
102
103config OF_NUMA
104 bool
105
106endif # OF