blob: 0867ca8a368da6b85a4259ee87c36299c7fdad80 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001# 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 OF_FLATTREE
47
48config OF_PROMTREE
49 bool
50
51config OF_KOBJ
52 def_bool SYSFS
53
54# Hardly any platforms need this. It is safe to select, but only do so if you
55# need it.
56config OF_DYNAMIC
57 bool "Support for dynamic device trees" if OF_UNITTEST
58 select OF_KOBJ
59 help
60 On some platforms, the device tree can be manipulated at runtime.
61 While this option is selected automatically on such platforms, you
62 can enable it manually to improve device tree unit test coverage.
63
64config OF_ADDRESS
65 def_bool y
66 depends on !SPARC && (HAS_IOMEM || UML)
67
68config OF_IRQ
69 def_bool y
70 depends on !SPARC && IRQ_DOMAIN
71
72config OF_NET
73 depends on NETDEVICES
74 select NVMEM
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 depends on OF_EARLY_FLATTREE
86 bool
87 help
88 Helpers to allow for reservation of memory regions
89
90config OF_RESOLVE
91 bool
92
93config OF_OVERLAY
94 bool "Device Tree overlays"
95 select OF_DYNAMIC
96 select OF_FLATTREE
97 select OF_RESOLVE
98 help
99 Overlays are a method to dynamically modify part of the kernel's
100 device tree with dynamically loaded data.
101 While this option is selected automatically when needed, you can
102 enable it manually to improve device tree unit test coverage.
103
104config OF_NUMA
105 bool
106
107endif # OF