Loading...
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 && HAS_IOMEM
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
105endif # OF
1config DTC
2 bool
3
4config OF
5 bool
6
7menu "Device Tree and Open Firmware support"
8 depends on OF
9
10config OF_SELFTEST
11 bool "Device Tree Runtime self tests"
12 depends on OF_IRQ
13 help
14 This option builds in test cases for the device tree infrastructure
15 that are executed once at boot time, and the results dumped to the
16 console.
17
18 If unsure, say N here, but this option is safe to enable.
19
20config OF_FLATTREE
21 bool
22 select DTC
23
24config OF_EARLY_FLATTREE
25 bool
26 select OF_FLATTREE
27
28config OF_PROMTREE
29 bool
30
31# Hardly any platforms need this. It is safe to select, but only do so if you
32# need it.
33config OF_DYNAMIC
34 bool
35
36config OF_ADDRESS
37 def_bool y
38 depends on !SPARC
39 select OF_ADDRESS_PCI if PCI
40
41config OF_ADDRESS_PCI
42 bool
43
44config OF_IRQ
45 def_bool y
46 depends on !SPARC
47
48config OF_NET
49 depends on NETDEVICES
50 def_bool y
51
52config OF_MDIO
53 def_tristate PHYLIB
54 depends on PHYLIB
55 help
56 OpenFirmware MDIO bus (Ethernet PHY) accessors
57
58config OF_PCI
59 def_tristate PCI
60 depends on PCI
61 help
62 OpenFirmware PCI bus accessors
63
64config OF_PCI_IRQ
65 def_tristate PCI
66 depends on OF_PCI && OF_IRQ
67 help
68 OpenFirmware PCI IRQ routing helpers
69
70config OF_MTD
71 depends on MTD
72 def_bool y
73
74config OF_RESERVED_MEM
75 depends on OF_EARLY_FLATTREE
76 bool
77 help
78 Helpers to allow for reservation of memory regions
79
80endmenu # OF