i3c: add cdns i3c driver

This gives initial support to the cadence i3c controller

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
This commit is contained in:
Ryan McClelland 2022-10-31 22:03:47 -07:00 committed by Christopher Friedt
parent 371470d608
commit 672a401f20
6 changed files with 2508 additions and 0 deletions

View file

@ -307,6 +307,7 @@
/drivers/i2s/i2s_ll_stm32* @avisconti /drivers/i2s/i2s_ll_stm32* @avisconti
/drivers/i2s/*nrfx* @anangl /drivers/i2s/*nrfx* @anangl
/drivers/i3c/ @dcpleung /drivers/i3c/ @dcpleung
/drivers/i3c/i3c_cdns.c @XenuIsWatching
/drivers/ieee802154/ @rlubos @tbursztyka /drivers/ieee802154/ @rlubos @tbursztyka
/drivers/ieee802154/*b91* @andy-liu-telink /drivers/ieee802154/*b91* @andy-liu-telink
/drivers/ieee802154/ieee802154_nrf5* @jciupis /drivers/ieee802154/ieee802154_nrf5* @jciupis

View file

@ -23,3 +23,8 @@ zephyr_library_sources_ifdef(
CONFIG_I3C_MCUX CONFIG_I3C_MCUX
i3c_mcux.c i3c_mcux.c
) )
zephyr_library_sources_ifdef(
CONFIG_I3C_CADENCE
i3c_cdns.c
)

View file

@ -99,5 +99,6 @@ config I3C_CONTROLLER_INIT_PRIORITY
comment "Device Drivers" comment "Device Drivers"
rsource "Kconfig.nxp" rsource "Kconfig.nxp"
rsource "Kconfig.cdns"
endif # I3C endif # I3C

15
drivers/i3c/Kconfig.cdns Normal file
View file

@ -0,0 +1,15 @@
# Copyright (c) 2022 Meta Platforms, Inc. and its affiliates.
#
# SPDX-License-Identifier: Apache-2.0
module = I3C_CADENCE
module-str = i3c-cadence
source "subsys/logging/Kconfig.template.log_config"
config I3C_CADENCE
bool "Cadence I3C driver"
select I3C_IBI_WORKQUEUE if I3C_USE_IBI
depends on DT_HAS_CDNS_I3C_ENABLED
default y
help
Enable Cadence I3C driver.

2465
drivers/i3c/i3c_cdns.c Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,21 @@
# Copyright (c) 2022 Meta Platforms, Inc. and its affiliates.
#
# SPDX-License-Identifier: Apache-2.0
description: Cadence I3C controller
compatible: "cdns,i3c"
include: [i3c-controller.yaml]
properties:
reg:
required: true
interrupts:
required: true
input-clock-frequency:
type: int
required: true
description: The controller input clock frequency