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