xref: /linux/Documentation/devicetree/bindings/i2c/microchip,corei2c.yaml (revision 805185b7c7a1069e407b6f7b3bc98e44d415f484)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/i2c/microchip,corei2c.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip MPFS I2C Controller
8
9maintainers:
10  - Daire McNamara <daire.mcnamara@microchip.com>
11
12allOf:
13  - $ref: /schemas/i2c/i2c-controller.yaml#
14
15properties:
16  compatible:
17    oneOf:
18      - items:
19          - enum:
20              - microchip,pic64gx-i2c
21              - microchip,mpfs-i2c # Microchip PolarFire SoC compatible SoCs
22          - const: microchip,corei2c-rtl-v7 # Microchip Fabric based i2c IP core
23      - const: microchip,corei2c-rtl-v7 # Microchip Fabric based i2c IP core
24
25  reg:
26    maxItems: 1
27
28  interrupts:
29    maxItems: 1
30
31  clocks:
32    maxItems: 1
33
34  clock-frequency:
35    description: |
36      Desired I2C bus clock frequency in Hz. As only Standard and Fast
37      modes are supported, possible values are 100000 and 400000.
38    enum: [100000, 400000]
39
40  resets:
41    maxItems: 1
42
43required:
44  - compatible
45  - reg
46  - interrupts
47  - clocks
48
49unevaluatedProperties: false
50
51examples:
52  - |
53    i2c@2010a000 {
54      compatible = "microchip,mpfs-i2c", "microchip,corei2c-rtl-v7";
55      reg = <0x2010a000 0x1000>;
56      clocks = <&clkcfg 15>;
57      interrupt-parent = <&plic>;
58      interrupts = <58>;
59      clock-frequency = <100000>;
60    };
61...
62