^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) config DTC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) menuconfig OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) bool "Device Tree and Open Firmware support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) This option enables the device tree infrastructure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) It is automatically selected by platforms that need it or can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) be enabled manually for unittests, overlays or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) compile-coverage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) if OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) config DTC_SYMBOLS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) bool "Enable dtc generation of symbols for overlays support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) depends on DTC && ARCH_ROCKCHIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Set DTC_FLAGS += -@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Android OS must enable this option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) config DTC_OMIT_DISABLED
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) bool "Fixup dtb by removing nodes with disabled status"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) depends on DTC && ROCKCHIP_MINI_KERNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) default ROCKCHIP_MINI_KERNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) This option used for dtc to delete nodes with disabled status.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) config DTC_OMIT_EMPTY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) bool "Fixup dtb by removing empty nodes"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) depends on DTC && ROCKCHIP_MINI_KERNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) default ROCKCHIP_MINI_KERNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) This option used for dtc to delete empty nodes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) config OF_UNITTEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) bool "Device Tree runtime unit tests"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) depends on !SPARC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) select IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) select OF_EARLY_FLATTREE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) select OF_RESOLVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) This option builds in test cases for the device tree infrastructure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) that are executed once at boot time, and the results dumped to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) console.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) If unsure, say N here, but this option is safe to enable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) config OF_ALL_DTBS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) bool "Build all Device Tree Blobs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) depends on COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) select DTC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) This option builds all possible Device Tree Blobs (DTBs) for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) current architecture.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) If unsure, say N here, but this option is safe to enable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) config OF_FLATTREE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) select DTC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) select LIBFDT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) select CRC32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) config OF_EARLY_FLATTREE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) select DMA_DECLARE_COHERENT if HAS_DMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) select OF_FLATTREE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) config OF_PROMTREE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) config OF_KOBJ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) def_bool SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) # Hardly any platforms need this. It is safe to select, but only do so if you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) # need it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) config OF_DYNAMIC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) bool "Support for dynamic device trees" if OF_UNITTEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) select OF_KOBJ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) On some platforms, the device tree can be manipulated at runtime.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) While this option is selected automatically on such platforms, you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) can enable it manually to improve device tree unit test coverage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) config OF_ADDRESS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) depends on !SPARC && (HAS_IOMEM || UML)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) config OF_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) depends on !SPARC && IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) config OF_NET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) depends on NETDEVICES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) config OF_RESERVED_MEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) depends on OF_EARLY_FLATTREE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) default y if DMA_DECLARE_COHERENT || DMA_CMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) config OF_RESOLVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) config OF_OVERLAY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) bool "Device Tree overlays"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) select OF_DYNAMIC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) select OF_FLATTREE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) select OF_RESOLVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) Overlays are a method to dynamically modify part of the kernel's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) device tree with dynamically loaded data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) While this option is selected automatically when needed, you can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) enable it manually to improve device tree unit test coverage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) config OF_NUMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) config OF_DMA_DEFAULT_COHERENT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) # arches should select this if DMA is coherent by default for OF devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) endif # OF