File Index
Files and directories
Sign in
FILE

renesas,i3c.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/i3c/renesas,i3c.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/i3c/renesas,i3c.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Renesas I3C Bus Interface
  8
  9maintainers:
 10  - Wolfram Sang <wsa+renesas@sang-engineering.com>
 11  - Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
 12
 13properties:
 14  compatible:
 15    oneOf:
 16      - items:
 17          - enum:
 18              - renesas,r9a08g045-i3c # RZ/G3S
 19              - renesas,r9a09g047-i3c # RZ/G3E
 20      - items:
 21          - enum:
 22              - renesas,r9a09g056-i3c # RZ/V2N
 23              - renesas,r9a09g057-i3c # RZ/V2H(P)
 24          - const: renesas,r9a09g047-i3c
 25
 26  reg:
 27    maxItems: 1
 28
 29  interrupts:
 30    items:
 31      - description: Non-recoverable internal error interrupt
 32      - description: Normal transfer error interrupt
 33      - description: Normal transfer abort interrupt
 34      - description: Normal response status buffer full interrupt
 35      - description: Normal command buffer empty interrupt
 36      - description: Normal IBI status buffer full interrupt
 37      - description: Normal Rx data buffer full interrupt
 38      - description: Normal Tx data buffer empty interrupt
 39      - description: Normal receive status buffer full interrupt
 40      - description: START condition detection interrupt
 41      - description: STOP condition detection interrupt
 42      - description: Transmit end interrupt
 43      - description: NACK detection interrupt
 44      - description: Arbitration lost interrupt
 45      - description: Timeout detection interrupt
 46      - description: Wake-up condition detection interrupt
 47      - description: HDR Exit Pattern detection interrupt
 48    minItems: 16
 49
 50  interrupt-names:
 51    items:
 52      - const: ierr
 53      - const: terr
 54      - const: abort
 55      - const: resp
 56      - const: cmd
 57      - const: ibi
 58      - const: rx
 59      - const: tx
 60      - const: rcv
 61      - const: st
 62      - const: sp
 63      - const: tend
 64      - const: nack
 65      - const: al
 66      - const: tmo
 67      - const: wu
 68      - const: exit
 69    minItems: 16
 70
 71  clocks:
 72    items:
 73      - description: APB bus clock
 74      - description: transfer clock
 75      - description: SFRs clock
 76    minItems: 2
 77
 78  clock-names:
 79    items:
 80      - const: pclk
 81      - const: tclk
 82      - const: pclkrw
 83    minItems: 2
 84
 85  power-domains:
 86    maxItems: 1
 87
 88  resets:
 89    items:
 90      - description: Reset signal
 91      - description: APB interface reset signal/SCAN reset signal
 92
 93  reset-names:
 94    items:
 95      - const: presetn
 96      - const: tresetn
 97
 98required:
 99  - compatible
100  - reg
101  - interrupts
102  - interrupt-names
103  - clock-names
104  - clocks
105  - power-domains
106  - resets
107  - reset-names
108
109allOf:
110  - $ref: i3c.yaml#
111
112  - if:
113      properties:
114        compatible:
115          contains:
116            const: renesas,r9a08g045-i3c
117    then:
118      properties:
119        clocks:
120          maxItems: 2
121        clock-names:
122          maxItems: 2
123        interrupts:
124          minItems: 17
125        interrupt-names:
126          minItems: 17
127
128  - if:
129      properties:
130        compatible:
131          contains:
132            const: renesas,r9a09g047-i3c
133    then:
134      properties:
135        clocks:
136          minItems: 3
137        clock-names:
138          minItems: 3
139        interrupts:
140          maxItems: 16
141        interrupt-names:
142          maxItems: 16
143
144unevaluatedProperties: false
145
146examples:
147  - |
148    #include <dt-bindings/clock/r9a08g045-cpg.h>
149    #include <dt-bindings/interrupt-controller/arm-gic.h>
150
151    i3c@1005b000 {
152        compatible = "renesas,r9a08g045-i3c";
153        reg = <0x1005b000 0x1000>;
154        clocks = <&cpg CPG_MOD R9A08G045_I3C_PCLK>,
155                 <&cpg CPG_MOD R9A08G045_I3C_TCLK>;
156        clock-names = "pclk", "tclk";
157        interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>,
158                     <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>,
159                     <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
160                     <GIC_SPI 294 IRQ_TYPE_EDGE_RISING>,
161                     <GIC_SPI 295 IRQ_TYPE_EDGE_RISING>,
162                     <GIC_SPI 296 IRQ_TYPE_EDGE_RISING>,
163                     <GIC_SPI 297 IRQ_TYPE_EDGE_RISING>,
164                     <GIC_SPI 298 IRQ_TYPE_EDGE_RISING>,
165                     <GIC_SPI 299 IRQ_TYPE_EDGE_RISING>,
166                     <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
167                     <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>,
168                     <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
169                     <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
170                     <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
171                     <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>,
172                     <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>,
173                     <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
174        interrupt-names = "ierr", "terr", "abort", "resp",
175                          "cmd", "ibi", "rx", "tx", "rcv",
176                          "st", "sp", "tend", "nack",
177                          "al", "tmo", "wu", "exit";
178        resets = <&cpg R9A08G045_I3C_PRESETN>,
179                 <&cpg R9A08G045_I3C_TRESETN>;
180        reset-names = "presetn", "tresetn";
181        power-domains = <&cpg>;
182        #address-cells = <3>;
183        #size-cells = <0>;
184    };
185...
~/ Read-only file preview.