xref: /OK3568_Linux_fs/kernel/drivers/of/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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 DTC_SYMBOLS
16	bool "Enable dtc generation of symbols for overlays support"
17	depends on DTC && ARCH_ROCKCHIP
18	help
19	  Set DTC_FLAGS += -@
20	  Android OS must enable this option.
21
22config DTC_OMIT_DISABLED
23	bool "Fixup dtb by removing nodes with disabled status"
24	depends on DTC && ROCKCHIP_MINI_KERNEL
25	default ROCKCHIP_MINI_KERNEL
26	help
27	  This option used for dtc to delete nodes with disabled status.
28
29config DTC_OMIT_EMPTY
30	bool "Fixup dtb by removing empty nodes"
31	depends on DTC && ROCKCHIP_MINI_KERNEL
32	default ROCKCHIP_MINI_KERNEL
33	help
34	  This option used for dtc to delete empty nodes.
35
36config OF_UNITTEST
37	bool "Device Tree runtime unit tests"
38	depends on !SPARC
39	select IRQ_DOMAIN
40	select OF_EARLY_FLATTREE
41	select OF_RESOLVE
42	help
43	  This option builds in test cases for the device tree infrastructure
44	  that are executed once at boot time, and the results dumped to the
45	  console.
46
47	  If unsure, say N here, but this option is safe to enable.
48
49config OF_ALL_DTBS
50	bool "Build all Device Tree Blobs"
51	depends on COMPILE_TEST
52	select DTC
53	help
54	  This option builds all possible Device Tree Blobs (DTBs) for the
55	  current architecture.
56
57	  If unsure, say N here, but this option is safe to enable.
58
59config OF_FLATTREE
60	bool
61	select DTC
62	select LIBFDT
63	select CRC32
64
65config OF_EARLY_FLATTREE
66	bool
67	select DMA_DECLARE_COHERENT if HAS_DMA
68	select OF_FLATTREE
69
70config OF_PROMTREE
71	bool
72
73config OF_KOBJ
74	def_bool SYSFS
75
76# Hardly any platforms need this.  It is safe to select, but only do so if you
77# need it.
78config OF_DYNAMIC
79	bool "Support for dynamic device trees" if OF_UNITTEST
80	select OF_KOBJ
81	help
82	  On some platforms, the device tree can be manipulated at runtime.
83	  While this option is selected automatically on such platforms, you
84	  can enable it manually to improve device tree unit test coverage.
85
86config OF_ADDRESS
87	def_bool y
88	depends on !SPARC && (HAS_IOMEM || UML)
89
90config OF_IRQ
91	def_bool y
92	depends on !SPARC && IRQ_DOMAIN
93
94config OF_NET
95	depends on NETDEVICES
96	def_bool y
97
98config OF_RESERVED_MEM
99	bool
100	depends on OF_EARLY_FLATTREE
101	default y if DMA_DECLARE_COHERENT || DMA_CMA
102
103config OF_RESOLVE
104	bool
105
106config OF_OVERLAY
107	bool "Device Tree overlays"
108	select OF_DYNAMIC
109	select OF_FLATTREE
110	select OF_RESOLVE
111	help
112	  Overlays are a method to dynamically modify part of the kernel's
113	  device tree with dynamically loaded data.
114	  While this option is selected automatically when needed, you can
115	  enable it manually to improve device tree unit test coverage.
116
117config OF_NUMA
118	bool
119
120config OF_DMA_DEFAULT_COHERENT
121	# arches should select this if DMA is coherent by default for OF devices
122	bool
123
124endif # OF
125