2017-12-27 21:55:14 +03:00
# SPDX-License-Identifier: GPL-2.0
2010-07-05 22:02:13 +04:00
config DTC
bool
2015-05-28 20:48:45 +03:00
menuconfig OF
bool "Device Tree and Open Firmware support"
help
This option enables the device tree infrastructure.
It is automatically selected by platforms that need it or can
be enabled manually for unittests, overlays or
compile-coverage.
2010-06-29 06:45:51 +04:00
2015-05-28 20:48:45 +03:00
if OF
2010-07-05 22:02:13 +04:00
2014-11-04 16:24:45 +03:00
config OF_UNITTEST
bool "Device Tree runtime unit tests"
2017-07-25 22:46:56 +03:00
depends on !SPARC
select IRQ_DOMAIN
2015-05-28 20:58:02 +03:00
select OF_EARLY_FLATTREE
2014-10-02 17:36:46 +04:00
select OF_RESOLVE
2011-12-12 20:25:57 +04:00
help
This option builds in test cases for the device tree infrastructure
2013-12-25 00:06:01 +04:00
that are executed once at boot time, and the results dumped to the
2011-12-12 20:25:57 +04:00
console.
If unsure, say N here, but this option is safe to enable.
2015-10-07 01:57:33 +03:00
config OF_ALL_DTBS
bool "Build all Device Tree Blobs"
depends on COMPILE_TEST
select DTC
help
This option builds all possible Device Tree Blobs (DTBs) for the
current architecture.
If unsure, say N here, but this option is safe to enable.
2009-11-24 00:53:09 +03:00
config OF_FLATTREE
bool
2010-07-05 22:02:13 +04:00
select DTC
2014-04-03 00:10:14 +04:00
select LIBFDT
2014-11-14 20:05:35 +03:00
select CRC32
2009-11-24 00:53:09 +03:00
2010-11-19 02:54:56 +03:00
config OF_EARLY_FLATTREE
bool
2019-02-03 22:12:02 +03:00
select DMA_DECLARE_COHERENT if HAS_DMA
2010-11-19 02:54:56 +03:00
select OF_FLATTREE
2010-10-11 07:42:33 +04:00
config OF_PROMTREE
bool
2017-10-04 22:09:40 +03:00
config OF_KOBJ
def_bool SYSFS
2012-02-16 07:38:40 +04:00
# Hardly any platforms need this. It is safe to select, but only do so if you
# need it.
2010-01-29 15:04:33 +03:00
config OF_DYNAMIC
2015-01-23 19:10:04 +03:00
bool "Support for dynamic device trees" if OF_UNITTEST
2017-10-04 22:09:40 +03:00
select OF_KOBJ
2015-01-23 19:10:04 +03:00
help
On some platforms, the device tree can be manipulated at runtime.
While this option is selected automatically on such platforms, you
can enable it manually to improve device tree unit test coverage.
2010-01-29 15:04:33 +03:00
2010-06-08 17:48:09 +04:00
config OF_ADDRESS
def_bool y
2017-07-25 22:46:56 +03:00
depends on !SPARC && (HAS_IOMEM || UML)
2010-06-08 17:48:09 +04:00
2010-06-18 21:09:59 +04:00
config OF_IRQ
def_bool y
2015-04-05 17:59:24 +03:00
depends on !SPARC && IRQ_DOMAIN
2010-06-18 21:09:59 +04:00
2010-10-27 02:07:13 +04:00
config OF_NET
depends on NETDEVICES
def_bool y
2014-02-28 17:42:48 +04:00
config OF_RESERVED_MEM
of: Drop reserved mem dependency on DMA_DECLARE_COHERENT and DMA_CMA
Reserved memory regions can be used for more than just DMA regions, so
only enabling on DMA_DECLARE_COHERENT (via HAS_DMA) or DMA_CMA is wrong.
This effectively doesn't matter except for the few cases arches select
NO_DMA.
At least, these users of RESERVEDMEM_OF_DECLARE depend on reserved memory
support:
arch/riscv/mm/init.c:RESERVEDMEM_OF_DECLARE(elfcorehdr, "linux,elfcorehdr", elfcore_hdr_setup);
drivers/memory/tegra/tegra210-emc-table.c:RESERVEDMEM_OF_DECLARE(tegra210_emc_table, "nvidia,tegra210-emc-table",
drivers/soc/fsl/qbman/bman_ccsr.c:RESERVEDMEM_OF_DECLARE(bman_fbpr, "fsl,bman-fbpr", bman_fbpr);
drivers/soc/fsl/qbman/qman_ccsr.c:RESERVEDMEM_OF_DECLARE(qman_fqd, "fsl,qman-fqd", qman_fqd);
drivers/soc/fsl/qbman/qman_ccsr.c:RESERVEDMEM_OF_DECLARE(qman_pfdr, "fsl,qman-pfdr", qman_pfdr);
Let's simplify things and enable OF_RESERVED_MEM when OF_EARLY_FLATTREE is
enabled.
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210527223217.1572631-1-robh@kernel.org
2021-05-28 01:32:17 +03:00
def_bool OF_EARLY_FLATTREE
2014-02-28 17:42:48 +04:00
2014-07-04 20:59:20 +04:00
config OF_RESOLVE
bool
2014-10-28 23:35:58 +03:00
config OF_OVERLAY
2015-02-15 18:22:47 +03:00
bool "Device Tree overlays"
2014-10-28 23:35:58 +03:00
select OF_DYNAMIC
2018-02-12 11:19:42 +03:00
select OF_FLATTREE
2014-10-28 23:35:58 +03:00
select OF_RESOLVE
2015-01-23 19:10:04 +03:00
help
Overlays are a method to dynamically modify part of the kernel's
device tree with dynamically loaded data.
While this option is selected automatically when needed, you can
enable it manually to improve device tree unit test coverage.
2014-10-28 23:35:58 +03:00
2016-04-09 01:50:25 +03:00
config OF_NUMA
bool
2020-01-26 14:52:47 +03:00
config OF_DMA_DEFAULT_COHERENT
# arches should select this if DMA is coherent by default for OF devices
bool
2015-05-28 20:48:45 +03:00
endif # OF