1# I3C configuration options 2# 3# Copyright (c) 2022 Intel Corporation 4# 5# SPDX-License-Identifier: Apache-2.0 6 7menuconfig I3C 8 bool "Improved Inter-Integrated Circuit (I3C) bus drivers" 9 help 10 Enable I3C Driver Configuration 11 12if I3C 13 14module = I3C 15module-str = i3c 16source "subsys/logging/Kconfig.template.log_config" 17 18config I3C_USE_GROUP_ADDR 19 bool "Use Group Addresses" 20 default y 21 help 22 Enable this to use group addresses if supported 23 by the controllers and target devices. 24 25 Says Y if unsure. 26 27menuconfig I3C_USE_IBI 28 bool "Use In-Band Interrupt (IBI)" 29 default y 30 help 31 Enable this to use In-Band Interrupt (IBI). 32 33 Says Y if unsure. 34 35if I3C_USE_IBI 36 37config I3C_IBI_MAX_PAYLOAD_SIZE 38 int "Maximum IBI Payload Size" 39 default 16 40 help 41 Maxmium IBI payload size. 42 43menuconfig I3C_IBI_WORKQUEUE 44 bool "Use IBI Workqueue" 45 help 46 Use global workqueue for processing IBI. 47 48 This is enabled by driver if needed. 49 50if I3C_IBI_WORKQUEUE 51 52config I3C_IBI_WORKQUEUE_STACK_SIZE 53 int "IBI workqueue stack size" 54 default 1024 55 help 56 Stack size for the IBI global workqueue. 57 58config I3C_IBI_WORKQUEUE_PRIORITY 59 int "IBI workqueue thread priority" 60 default -1 61 help 62 Thread priority for the IBI global workqueue. 63 64config I3C_IBI_WORKQUEUE_LENGTH 65 int "IBI workqueue queue length" 66 default 8 67 help 68 Define the maximum number of IBIs that can be 69 queued in the workqueue. 70 71config I3C_IBI_WORKQUEUE_VERBOSE_DEBUG 72 bool "Verbose debug messages for IBI workqueue" 73 help 74 This turns on verbose debug for the IBI workqueue 75 when logging level is set to DEBUG, and prints 76 the IBI payload. 77 78endif # I3C_IBI_WORKQUEUE 79 80endif # I3C_USE_IBI 81 82comment "Initialization Priority" 83 84config I3C_CONTROLLER_INIT_PRIORITY 85 int "I3C Controller Init Priority" 86 # Default is just after CONFIG_KERNEL_INIT_PRIORITY_DEVICE 87 default 50 88 help 89 This is for setting up I3C controller device driver instance 90 and also to perform bus initialization (e.g. dynamic address 91 assignment). 92 93 Note that this needs to be done before the device driver 94 instances of the connected I2C and I3C devices start 95 initializing those devices. This is because some devices 96 may not be addressable until addresses are assigned by 97 the controller. 98 99comment "Device Drivers" 100 101rsource "Kconfig.nxp" 102rsource "Kconfig.cdns" 103rsource "Kconfig.test" 104 105endif # I3C 106