18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ciconfig DTC
38c2ecf20Sopenharmony_ci	bool
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_cimenuconfig OF
68c2ecf20Sopenharmony_ci	bool "Device Tree and Open Firmware support"
78c2ecf20Sopenharmony_ci	help
88c2ecf20Sopenharmony_ci	  This option enables the device tree infrastructure.
98c2ecf20Sopenharmony_ci	  It is automatically selected by platforms that need it or can
108c2ecf20Sopenharmony_ci	  be enabled manually for unittests, overlays or
118c2ecf20Sopenharmony_ci	  compile-coverage.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciif OF
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciconfig OF_UNITTEST
168c2ecf20Sopenharmony_ci	bool "Device Tree runtime unit tests"
178c2ecf20Sopenharmony_ci	depends on !SPARC
188c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
198c2ecf20Sopenharmony_ci	select OF_EARLY_FLATTREE
208c2ecf20Sopenharmony_ci	select OF_RESOLVE
218c2ecf20Sopenharmony_ci	help
228c2ecf20Sopenharmony_ci	  This option builds in test cases for the device tree infrastructure
238c2ecf20Sopenharmony_ci	  that are executed once at boot time, and the results dumped to the
248c2ecf20Sopenharmony_ci	  console.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci	  If unsure, say N here, but this option is safe to enable.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciconfig OF_ALL_DTBS
298c2ecf20Sopenharmony_ci	bool "Build all Device Tree Blobs"
308c2ecf20Sopenharmony_ci	depends on COMPILE_TEST
318c2ecf20Sopenharmony_ci	select DTC
328c2ecf20Sopenharmony_ci	help
338c2ecf20Sopenharmony_ci	  This option builds all possible Device Tree Blobs (DTBs) for the
348c2ecf20Sopenharmony_ci	  current architecture.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	  If unsure, say N here, but this option is safe to enable.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciconfig OF_FLATTREE
398c2ecf20Sopenharmony_ci	bool
408c2ecf20Sopenharmony_ci	select DTC
418c2ecf20Sopenharmony_ci	select LIBFDT
428c2ecf20Sopenharmony_ci	select CRC32
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciconfig OF_EARLY_FLATTREE
458c2ecf20Sopenharmony_ci	bool
468c2ecf20Sopenharmony_ci	select DMA_DECLARE_COHERENT if HAS_DMA
478c2ecf20Sopenharmony_ci	select OF_FLATTREE
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig OF_PROMTREE
508c2ecf20Sopenharmony_ci	bool
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciconfig OF_KOBJ
538c2ecf20Sopenharmony_ci	def_bool SYSFS
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci# Hardly any platforms need this.  It is safe to select, but only do so if you
568c2ecf20Sopenharmony_ci# need it.
578c2ecf20Sopenharmony_ciconfig OF_DYNAMIC
588c2ecf20Sopenharmony_ci	bool "Support for dynamic device trees" if OF_UNITTEST
598c2ecf20Sopenharmony_ci	select OF_KOBJ
608c2ecf20Sopenharmony_ci	help
618c2ecf20Sopenharmony_ci	  On some platforms, the device tree can be manipulated at runtime.
628c2ecf20Sopenharmony_ci	  While this option is selected automatically on such platforms, you
638c2ecf20Sopenharmony_ci	  can enable it manually to improve device tree unit test coverage.
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ciconfig OF_ADDRESS
668c2ecf20Sopenharmony_ci	def_bool y
678c2ecf20Sopenharmony_ci	depends on !SPARC && (HAS_IOMEM || UML)
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciconfig OF_IRQ
708c2ecf20Sopenharmony_ci	def_bool y
718c2ecf20Sopenharmony_ci	depends on !SPARC && IRQ_DOMAIN
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciconfig OF_NET
748c2ecf20Sopenharmony_ci	depends on NETDEVICES
758c2ecf20Sopenharmony_ci	def_bool y
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciconfig OF_RESERVED_MEM
788c2ecf20Sopenharmony_ci	bool
798c2ecf20Sopenharmony_ci	depends on OF_EARLY_FLATTREE
808c2ecf20Sopenharmony_ci	default y if DMA_DECLARE_COHERENT || DMA_CMA
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig OF_RESOLVE
838c2ecf20Sopenharmony_ci	bool
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciconfig OF_OVERLAY
868c2ecf20Sopenharmony_ci	bool "Device Tree overlays"
878c2ecf20Sopenharmony_ci	select OF_DYNAMIC
888c2ecf20Sopenharmony_ci	select OF_FLATTREE
898c2ecf20Sopenharmony_ci	select OF_RESOLVE
908c2ecf20Sopenharmony_ci	help
918c2ecf20Sopenharmony_ci	  Overlays are a method to dynamically modify part of the kernel's
928c2ecf20Sopenharmony_ci	  device tree with dynamically loaded data.
938c2ecf20Sopenharmony_ci	  While this option is selected automatically when needed, you can
948c2ecf20Sopenharmony_ci	  enable it manually to improve device tree unit test coverage.
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ciconfig OF_NUMA
978c2ecf20Sopenharmony_ci	bool
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciconfig OF_DMA_DEFAULT_COHERENT
1008c2ecf20Sopenharmony_ci	# arches should select this if DMA is coherent by default for OF devices
1018c2ecf20Sopenharmony_ci	bool
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ciendif # OF
104