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