1# Copyright (c) 2014-2015 Wind River Systems, Inc. 2# Copyright (c) 2024 Intel Corp. 3# SPDX-License-Identifier: Apache-2.0 4# 5menu "Device Options" 6 7config DEVICE_DEPS 8 bool "Store device dependencies" 9 help 10 When enabled, device dependencies will be stored so that they can be 11 queried at runtime. Device dependencies are typically inferred from 12 devicetree. Enabling this option will increase ROM usage (or RAM if 13 dynamic device dependencies are enabled). 14 15config DEVICE_DEPS_DYNAMIC 16 bool "Dynamic device dependencies" 17 depends on DEVICE_DEPS 18 help 19 Option that makes it possible to manipulate device dependencies at 20 runtime. 21 22config DEVICE_MUTABLE 23 bool "Mutable devices [EXPERIMENTAL]" 24 select EXPERIMENTAL 25 help 26 Support mutable devices. Mutable devices are instantiated in SRAM 27 instead of Flash and are runtime modifiable in kernel mode. 28 29config DEVICE_DT_METADATA 30 bool "Store additional devicetree metadata for each device" 31 help 32 If enabled, additional data from the devicetree will be stored for 33 each device. This allows you to use device_get_by_dt_nodelabel(), 34 device_get_dt_metadata(), etc. 35 36config DEVICE_DEINIT_SUPPORT 37 bool "Support device de-initialization" 38 help 39 In very specific case, it might be necessary to de-initialize 40 a device at runtime. This is possible by providing a function 41 to do so. Note, that this will grow every struct device by a 42 function pointer. All device drivers that use the relevant 43 macros and provide such function should select this option. 44 45endmenu 46 47menu "Initialization Priorities" 48 49config KERNEL_INIT_PRIORITY_OBJECTS 50 int "Kernel objects initialization priority" 51 default 30 52 help 53 Kernel objects use this priority for initialization. This 54 priority needs to be higher than minimal default initialization 55 priority. 56 57config KERNEL_INIT_PRIORITY_LIBC 58 int "LIBC initialization priority" 59 default 35 60 help 61 LIBC uses this priority for initialization. This 62 priority needs to be higher than minimal default initialization 63 priority. 64 65config KERNEL_INIT_PRIORITY_DEFAULT 66 int "Default init priority" 67 default 40 68 help 69 Default minimal init priority for each init level. 70 71config KERNEL_INIT_PRIORITY_DEVICE 72 int "Default init priority for device drivers" 73 default 50 74 help 75 Device driver, that depends on common components, such as 76 interrupt controller, but does not depend on other devices, 77 uses this init priority. 78 79config APPLICATION_INIT_PRIORITY 80 int "Default init priority for application level drivers" 81 default 90 82 help 83 This priority level is for end-user drivers such as sensors and display 84 which have no inward dependencies. 85 86 87endmenu 88