summaryrefslogtreecommitdiff
path: root/drivers/of/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/of/Kconfig')
-rw-r--r--drivers/of/Kconfig132
1 files changed, 89 insertions, 43 deletions
diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
index 80e5c13b930d..50697cc3b07e 100644
--- a/drivers/of/Kconfig
+++ b/drivers/of/Kconfig
@@ -1,83 +1,129 @@
+# SPDX-License-Identifier: GPL-2.0
config DTC
bool
-config OF
+config GENERIC_BUILTIN_DTB
bool
-menu "Device Tree and Open Firmware support"
- depends on OF
+config BUILTIN_DTB_ALL
+ bool
-config PROC_DEVICETREE
- bool "Support for device tree in /proc"
- depends on PROC_FS && !SPARC
+menuconfig OF
+ bool "Device Tree and Open Firmware support"
help
- This option adds a device-tree directory under /proc which contains
- an image of the device tree that the kernel copies from Open
- Firmware or other boot firmware. If unsure, say Y here.
-
-config OF_SELFTEST
- bool "Device Tree Runtime self tests"
+ 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.
+
+if OF
+
+config OF_UNITTEST
+ bool "Device Tree runtime unit tests"
+ depends on OF_EARLY_FLATTREE
+ select IRQ_DOMAIN
+ select OF_RESOLVE
help
This option builds in test cases for the device tree infrastructure
- that are executed one at boot time, and the results dumped to the
+ that are executed once at boot time, and the results dumped to the
console.
+ This option should only be enabled for a development kernel. The tests
+ will taint the kernel with TAINT_TEST. The tests will cause ERROR and
+ WARNING messages to print on the console. The tests will cause stack
+ traces to print on the console. It is possible that the tests will
+ leave the devicetree in a corrupted state.
+
+ The unittest output will be verbose. Copy the output to a file
+ via capturing the console output or via the dmesg command. Process
+ this file with scripts/dtc/of_unittest_expect to reduce the
+ verbosity, test whether expected output is present, and to
+ summarize the results.
+
+ If unsure, say N here. This option is not safe to enable.
+
+config OF_KUNIT_TEST
+ tristate "Devicetree KUnit Test" if !KUNIT_ALL_TESTS
+ depends on KUNIT
+ default KUNIT_ALL_TESTS
+ help
+ This option builds KUnit unit tests for device tree infrastructure.
+
+ If unsure, say N here, but this option is safe to enable.
+
+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.
config OF_FLATTREE
bool
select DTC
+ select LIBFDT
+ select CRC32
config OF_EARLY_FLATTREE
- bool
+ def_bool OF && !(SPARC || ALPHA || HEXAGON || M68K || PARISC || S390)
+ select DMA_DECLARE_COHERENT if HAS_DMA && HAS_IOMEM
select OF_FLATTREE
config OF_PROMTREE
bool
+config OF_KOBJ
+ def_bool SYSFS
+
# Hardly any platforms need this. It is safe to select, but only do so if you
# need it.
config OF_DYNAMIC
- bool
+ bool "Support for dynamic device trees" if OF_UNITTEST
+ select OF_KOBJ
+ 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.
config OF_ADDRESS
def_bool y
- depends on !SPARC
+ depends on !SPARC && (HAS_IOMEM || UML)
config OF_IRQ
def_bool y
- depends on !SPARC
+ depends on !SPARC && IRQ_DOMAIN
-config OF_I2C
- def_tristate I2C
- depends on I2C
- help
- OpenFirmware I2C accessors
+config OF_RESERVED_MEM
+ def_bool OF_EARLY_FLATTREE
-config OF_NET
- depends on NETDEVICES
- def_bool y
+config OF_RESOLVE
+ bool
-config OF_MDIO
- def_tristate PHYLIB
- depends on PHYLIB
+config OF_OVERLAY
+ bool "Device Tree overlays"
+ select OF_DYNAMIC
+ select OF_FLATTREE
+ select OF_RESOLVE
help
- OpenFirmware MDIO bus (Ethernet PHY) accessors
-
-config OF_PCI
- def_tristate PCI
- depends on PCI
+ 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.
+
+config OF_OVERLAY_KUNIT_TEST
+ tristate "Device Tree overlay KUnit tests" if !KUNIT_ALL_TESTS
+ depends on KUNIT
+ default KUNIT_ALL_TESTS
+ select DTC
help
- OpenFirmware PCI bus accessors
+ This option builds KUnit unit tests for the device tree overlay code.
-config OF_PCI_IRQ
- def_tristate PCI
- depends on OF_PCI && OF_IRQ
- help
- OpenFirmware PCI IRQ routing helpers
+ If unsure, say N here, but this option is safe to enable.
-config OF_MTD
- depends on MTD
- def_bool y
+config OF_NUMA
+ bool
-endmenu # OF
+endif # OF