116 lines
2.5 KiB
Plaintext
116 lines
2.5 KiB
Plaintext
# I3C configuration options
|
|
#
|
|
# Copyright (c) 2022 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig I3C
|
|
bool "Improved Inter-Integrated Circuit (I3C) bus drivers"
|
|
help
|
|
Enable I3C Driver Configuration
|
|
|
|
if I3C
|
|
|
|
module = I3C
|
|
module-str = i3c
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
config I3C_SHELL
|
|
bool "I3C Shell"
|
|
depends on SHELL
|
|
help
|
|
Enable I3C Shell.
|
|
|
|
The I3C shell supports info, bus recovery, CCC, I3C read and
|
|
write operations.
|
|
|
|
config I3C_USE_GROUP_ADDR
|
|
bool "Use Group Addresses"
|
|
default y
|
|
help
|
|
Enable this to use group addresses if supported
|
|
by the controllers and target devices.
|
|
|
|
Says Y if unsure.
|
|
|
|
menuconfig I3C_USE_IBI
|
|
bool "Use In-Band Interrupt (IBI)"
|
|
default y
|
|
help
|
|
Enable this to use In-Band Interrupt (IBI).
|
|
|
|
Says Y if unsure.
|
|
|
|
if I3C_USE_IBI
|
|
|
|
config I3C_IBI_MAX_PAYLOAD_SIZE
|
|
int "Maximum IBI Payload Size"
|
|
default 16
|
|
help
|
|
Maxmium IBI payload size.
|
|
|
|
menuconfig I3C_IBI_WORKQUEUE
|
|
bool "Use IBI Workqueue"
|
|
help
|
|
Use global workqueue for processing IBI.
|
|
|
|
This is enabled by driver if needed.
|
|
|
|
if I3C_IBI_WORKQUEUE
|
|
|
|
config I3C_IBI_WORKQUEUE_STACK_SIZE
|
|
int "IBI workqueue stack size"
|
|
default 1024
|
|
help
|
|
Stack size for the IBI global workqueue.
|
|
|
|
config I3C_IBI_WORKQUEUE_PRIORITY
|
|
int "IBI workqueue thread priority"
|
|
default -1
|
|
help
|
|
Thread priority for the IBI global workqueue.
|
|
|
|
config I3C_IBI_WORKQUEUE_LENGTH
|
|
int "IBI workqueue queue length"
|
|
default 8
|
|
help
|
|
Define the maximum number of IBIs that can be
|
|
queued in the workqueue.
|
|
|
|
config I3C_IBI_WORKQUEUE_VERBOSE_DEBUG
|
|
bool "Verbose debug messages for IBI workqueue"
|
|
help
|
|
This turns on verbose debug for the IBI workqueue
|
|
when logging level is set to DEBUG, and prints
|
|
the IBI payload.
|
|
|
|
endif # I3C_IBI_WORKQUEUE
|
|
|
|
endif # I3C_USE_IBI
|
|
|
|
comment "Initialization Priority"
|
|
|
|
config I3C_CONTROLLER_INIT_PRIORITY
|
|
int "I3C Controller Init Priority"
|
|
# Default is just after CONFIG_KERNEL_INIT_PRIORITY_DEVICE
|
|
default 50
|
|
help
|
|
This is for setting up I3C controller device driver instance
|
|
and also to perform bus initialization (e.g. dynamic address
|
|
assignment).
|
|
|
|
Note that this needs to be done before the device driver
|
|
instances of the connected I2C and I3C devices start
|
|
initializing those devices. This is because some devices
|
|
may not be addressable until addresses are assigned by
|
|
the controller.
|
|
|
|
comment "Device Drivers"
|
|
|
|
rsource "Kconfig.nxp"
|
|
rsource "Kconfig.cdns"
|
|
rsource "Kconfig.npcx"
|
|
rsource "Kconfig.test"
|
|
|
|
endif # I3C
|