xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/cdns,i2c-r1p10.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/i2c/cdns,i2c-r1p10.yaml#
5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Cadence I2C controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10f126890aSEmmanuel Vadot  - Michal Simek <michal.simek@amd.com>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel VadotallOf:
13c66ec88fSEmmanuel Vadot  - $ref: /schemas/i2c/i2c-controller.yaml#
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadotproperties:
16c66ec88fSEmmanuel Vadot  compatible:
17c66ec88fSEmmanuel Vadot    enum:
18c66ec88fSEmmanuel Vadot      - cdns,i2c-r1p10 # cadence i2c controller version 1.0
19c66ec88fSEmmanuel Vadot      - cdns,i2c-r1p14 # cadence i2c controller version 1.4
20c66ec88fSEmmanuel Vadot
21c66ec88fSEmmanuel Vadot  reg:
22c66ec88fSEmmanuel Vadot    maxItems: 1
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot  clocks:
25c66ec88fSEmmanuel Vadot    minItems: 1
26c66ec88fSEmmanuel Vadot
27fac71e4eSEmmanuel Vadot  resets:
28fac71e4eSEmmanuel Vadot    maxItems: 1
29fac71e4eSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot  interrupts:
31c66ec88fSEmmanuel Vadot    maxItems: 1
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  clock-frequency:
34c66ec88fSEmmanuel Vadot    minimum: 1
35c66ec88fSEmmanuel Vadot    maximum: 400000
36c66ec88fSEmmanuel Vadot    description: |
37c66ec88fSEmmanuel Vadot      Desired operating frequency, in Hz, of the bus.
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot  clock-name:
40c66ec88fSEmmanuel Vadot    const: pclk
41c66ec88fSEmmanuel Vadot    description: |
42c66ec88fSEmmanuel Vadot      Input clock name.
43c66ec88fSEmmanuel Vadot
44fac71e4eSEmmanuel Vadot  fifo-depth:
45fac71e4eSEmmanuel Vadot    description:
46fac71e4eSEmmanuel Vadot      Size of the data FIFO in bytes.
47fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
48fac71e4eSEmmanuel Vadot    default: 16
49fac71e4eSEmmanuel Vadot    enum: [2, 4, 8, 16, 32, 64, 128, 256]
50fac71e4eSEmmanuel Vadot
51*aa1a8ff2SEmmanuel Vadot  power-domains:
52*aa1a8ff2SEmmanuel Vadot    maxItems: 1
53*aa1a8ff2SEmmanuel Vadot
54c66ec88fSEmmanuel Vadotrequired:
55c66ec88fSEmmanuel Vadot  - compatible
56c66ec88fSEmmanuel Vadot  - reg
57c66ec88fSEmmanuel Vadot  - clocks
58c66ec88fSEmmanuel Vadot  - interrupts
59c66ec88fSEmmanuel Vadot
606be33864SEmmanuel VadotunevaluatedProperties: false
616be33864SEmmanuel Vadot
62c66ec88fSEmmanuel Vadotexamples:
63c66ec88fSEmmanuel Vadot  - |
64c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
65c66ec88fSEmmanuel Vadot    i2c@e0004000 {
66c66ec88fSEmmanuel Vadot        compatible = "cdns,i2c-r1p10";
67c66ec88fSEmmanuel Vadot        clocks = <&clkc 38>;
68fac71e4eSEmmanuel Vadot        resets = <&rstc 288>;
69c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
70c66ec88fSEmmanuel Vadot        reg = <0xe0004000 0x1000>;
71c66ec88fSEmmanuel Vadot        clock-frequency = <400000>;
72c66ec88fSEmmanuel Vadot        #address-cells = <1>;
73c66ec88fSEmmanuel Vadot        #size-cells = <0>;
74fac71e4eSEmmanuel Vadot        fifo-depth = <8>;
75c66ec88fSEmmanuel Vadot    };
76