diff options
Diffstat (limited to 'drivers/of/Kconfig')
| -rw-r--r-- | drivers/of/Kconfig | 132 |
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 |
