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 default y 39 help 40 In very specific case, it might be necessary to de-initialize 41 a device at runtime. This is possible by providing a function 42 to do so. Note, that this will grow every struct device by a 43 function pointer. All device drivers that use the relevant 44 macros and provide such function should select this option. 45 46endmenu 47 48menu "Initialization Priorities" 49 50config KERNEL_INIT_PRIORITY_OBJECTS 51 int "Kernel objects initialization priority" 52 default 30 53 help 54 Kernel objects use this priority for initialization. This 55 priority needs to be higher than minimal default initialization 56 priority. 57 58config KERNEL_INIT_PRIORITY_LIBC 59 int "LIBC initialization priority" 60 default 35 61 help 62 LIBC uses this priority for initialization. This 63 priority needs to be higher than minimal default initialization 64 priority. 65 66config KERNEL_INIT_PRIORITY_DEFAULT 67 int "Default init priority" 68 default 40 69 help 70 Default minimal init priority for each init level. 71 72config KERNEL_INIT_PRIORITY_DEVICE 73 int "Default init priority for device drivers" 74 default 50 75 help 76 Device driver, that depends on common components, such as 77 interrupt controller, but does not depend on other devices, 78 uses this init priority. 79 80config APPLICATION_INIT_PRIORITY 81 int "Default init priority for application level drivers" 82 default 90 83 help 84 This priority level is for end-user drivers such as sensors and display 85 which have no inward dependencies. 86 87 88endmenu 89