i3c: master: Add driver for Rockchip IP

Add driver for Rockchip I3C master IP

Change-Id: I73ca38117c0e0e603da23586c7b5c93f80917b2e
Signed-off-by: David Wu <david.wu@rock-chips.com>
This commit is contained in:
David Wu
2024-01-31 17:10:56 +08:00
committed by Tao Huang
parent 3dea18690f
commit cd4a1dca2f
4 changed files with 2444 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/i3c/rockchip,i3c-master.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Rockchip I3C master block
allOf:
- $ref: i3c.yaml#
properties:
compatible:
const: rockchip,i3c-master
reg:
maxItems: 1
clocks:
maxItems: 2
clock-names:
minItems: 2
items:
- const: i3c
- const: pclk
interrupts:
maxItems: 1
required:
- compatible
- reg
- clocks
- clock-names
- interrupts
unevaluatedProperties: false
examples:
- |
i3c0: i3c-master@2abe0000 {
compatible = "rockchip,rk3576-i3c-master";
reg = <0x0 0x2abe0000 0x0 0x1000>;
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <3>;
#size-cells = <0>;
clocks = <&cru HCLK_I3C>, <&cru i3C>;
clock-names = "hclk", "i3c";
dmas = <&dmac0 22>, <&dmac0 23>;
dma-names = "rx", "tx";
};

View File

@@ -22,6 +22,14 @@ config DW_I3C_MASTER
This driver can also be built as a module. If so, the module
will be called dw-i3c-master.
config ROCKCHIP_I3C_MASTER
tristate "Rockchip I3C master driver"
depends on I3C
depends on HAS_IOMEM
depends on ARCH_ROCKCHIP
help
Support for Rockchip I3C Controller.
config SVC_I3C_MASTER
tristate "Silvaco I3C Dual-Role Master driver"
depends on I3C

View File

@@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only
obj-$(CONFIG_CDNS_I3C_MASTER) += i3c-master-cdns.o
obj-$(CONFIG_DW_I3C_MASTER) += dw-i3c-master.o
obj-$(CONFIG_ROCKCHIP_I3C_MASTER) += i3c-rockchip-master.o
obj-$(CONFIG_SVC_I3C_MASTER) += svc-i3c-master.o
obj-$(CONFIG_MIPI_I3C_HCI) += mipi-i3c-hci/

File diff suppressed because it is too large Load Diff