Skip to content

Commit f3317e8

Browse files
gastmaieralexandrebelloni
authored andcommitted
dt-bindings: i3c: Add adi-i3c-master
Add bindings doc for ADI I3C Controller IP core, a FPGA synthesizable IP core that implements the MIPI I3C Basic controller specification. The IP Core is versioned following Semantic Versioning 2.0.0 and ADI's open-source HDL guidelines for devicetree bindings and drivers. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Jorge Marques <jorge.marques@analog.com> Link: https://lore.kernel.org/r/20250827-adi-i3c-master-v9-1-04413925abe1@analog.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
1 parent 9395b3c commit f3317e8

2 files changed

Lines changed: 77 additions & 0 deletions

File tree

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/i3c/adi,i3c-master.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Analog Devices I3C Controller
8+
9+
description:
10+
FPGA-based I3C controller designed to interface with I3C and I2C peripherals,
11+
implementing a subset of the I3C-basic specification. The IP core is tested
12+
on arm, microblaze, and arm64 architectures.
13+
14+
https://analogdevicesinc.github.io/hdl/library/i3c_controller
15+
16+
maintainers:
17+
- Jorge Marques <jorge.marques@analog.com>
18+
19+
properties:
20+
compatible:
21+
const: adi,i3c-master-v1
22+
23+
reg:
24+
maxItems: 1
25+
26+
clocks:
27+
minItems: 1
28+
items:
29+
- description: The AXI interconnect clock, drives the register map.
30+
- description:
31+
The secondary clock, drives the internal logic asynchronously to the
32+
register map. The presence of this entry states that the IP Core was
33+
synthesized with a second clock input, and the absence of this entry
34+
indicates a topology where a single clock input drives all the
35+
internal logic.
36+
37+
clock-names:
38+
minItems: 1
39+
items:
40+
- const: axi
41+
- const: i3c
42+
43+
interrupts:
44+
maxItems: 1
45+
46+
required:
47+
- compatible
48+
- reg
49+
- clocks
50+
- clock-names
51+
- interrupts
52+
53+
allOf:
54+
- $ref: i3c.yaml#
55+
56+
unevaluatedProperties: false
57+
58+
examples:
59+
- |
60+
#include <dt-bindings/interrupt-controller/irq.h>
61+
62+
i3c@44a00000 {
63+
compatible = "adi,i3c-master-v1";
64+
reg = <0x44a00000 0x1000>;
65+
interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
66+
clocks = <&clkc 15>, <&clkc 15>;
67+
clock-names = "axi", "i3c";
68+
#address-cells = <3>;
69+
#size-cells = <0>;
70+
71+
/* I3C and I2C devices */
72+
};

MAINTAINERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11606,6 +11606,11 @@ S: Maintained
1160611606
F: Documentation/devicetree/bindings/i3c/aspeed,ast2600-i3c.yaml
1160711607
F: drivers/i3c/master/ast2600-i3c-master.c
1160811608

11609+
I3C DRIVER FOR ANALOG DEVICES I3C CONTROLLER IP
11610+
M: Jorge Marques <jorge.marques@analog.com>
11611+
S: Maintained
11612+
F: Documentation/devicetree/bindings/i3c/adi,i3c-master.yaml
11613+
1160911614
I3C DRIVER FOR CADENCE I3C MASTER IP
1161011615
M: Przemysław Gaj <pgaj@cadence.com>
1161111616
S: Maintained

0 commit comments

Comments
 (0)