1*81acb401SChris Packham# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*81acb401SChris Packham%YAML 1.2
3*81acb401SChris Packham---
4*81acb401SChris Packham$id: http://devicetree.org/schemas/i2c/i2c-mpc.yaml#
5*81acb401SChris Packham$schema: http://devicetree.org/meta-schemas/core.yaml#
6*81acb401SChris Packham
7*81acb401SChris Packhamtitle: I2C-Bus adapter for MPC824x/83xx/85xx/86xx/512x/52xx SoCs
8*81acb401SChris Packham
9*81acb401SChris Packhammaintainers:
10*81acb401SChris Packham  - Chris Packham <chris.packham@alliedtelesis.co.nz>
11*81acb401SChris Packham
12*81acb401SChris PackhamallOf:
13*81acb401SChris Packham  - $ref: /schemas/i2c/i2c-controller.yaml#
14*81acb401SChris Packham
15*81acb401SChris Packhamproperties:
16*81acb401SChris Packham  compatible:
17*81acb401SChris Packham    oneOf:
18*81acb401SChris Packham      - items:
19*81acb401SChris Packham          - enum:
20*81acb401SChris Packham              - mpc5200-i2c
21*81acb401SChris Packham              - fsl,mpc5200-i2c
22*81acb401SChris Packham              - fsl,mpc5121-i2c
23*81acb401SChris Packham              - fsl,mpc8313-i2c
24*81acb401SChris Packham              - fsl,mpc8543-i2c
25*81acb401SChris Packham              - fsl,mpc8544-i2c
26*81acb401SChris Packham          - const: fsl-i2c
27*81acb401SChris Packham      - items:
28*81acb401SChris Packham          - const: fsl,mpc5200b-i2c
29*81acb401SChris Packham          - const: fsl,mpc5200-i2c
30*81acb401SChris Packham          - const: fsl-i2c
31*81acb401SChris Packham
32*81acb401SChris Packham  reg:
33*81acb401SChris Packham    maxItems: 1
34*81acb401SChris Packham
35*81acb401SChris Packham  interrupts:
36*81acb401SChris Packham    maxItems: 1
37*81acb401SChris Packham
38*81acb401SChris Packham  fsl,preserve-clocking:
39*81acb401SChris Packham    $ref: /schemas/types.yaml#/definitions/flag
40*81acb401SChris Packham    description: |
41*81acb401SChris Packham      if defined, the clock settings from the bootloader are
42*81acb401SChris Packham      preserved (not touched)
43*81acb401SChris Packham
44*81acb401SChris Packham  fsl,timeout:
45*81acb401SChris Packham    $ref: /schemas/types.yaml#/definitions/uint32
46*81acb401SChris Packham    description: |
47*81acb401SChris Packham      I2C bus timeout in microseconds
48*81acb401SChris Packham
49*81acb401SChris Packhamrequired:
50*81acb401SChris Packham  - compatible
51*81acb401SChris Packham  - reg
52*81acb401SChris Packham  - interrupts
53*81acb401SChris Packham
54*81acb401SChris PackhamunevaluatedProperties: false
55*81acb401SChris Packham
56*81acb401SChris Packhamexamples:
57*81acb401SChris Packham  - |
58*81acb401SChris Packham    /* MPC5121 based board */
59*81acb401SChris Packham    i2c@1740 {
60*81acb401SChris Packham        #address-cells = <1>;
61*81acb401SChris Packham        #size-cells = <0>;
62*81acb401SChris Packham        compatible = "fsl,mpc5121-i2c", "fsl-i2c";
63*81acb401SChris Packham        reg = <0x1740 0x20>;
64*81acb401SChris Packham        interrupts = <11 0x8>;
65*81acb401SChris Packham        interrupt-parent = <&ipic>;
66*81acb401SChris Packham        clock-frequency = <100000>;
67*81acb401SChris Packham    };
68*81acb401SChris Packham
69*81acb401SChris Packham    /* MPC5200B based board */
70*81acb401SChris Packham    i2c@3d00 {
71*81acb401SChris Packham        #address-cells = <1>;
72*81acb401SChris Packham        #size-cells = <0>;
73*81acb401SChris Packham        compatible = "fsl,mpc5200b-i2c", "fsl,mpc5200-i2c", "fsl-i2c";
74*81acb401SChris Packham        reg = <0x3d00 0x40>;
75*81acb401SChris Packham        interrupts = <2 15 0>;
76*81acb401SChris Packham        interrupt-parent = <&mpc5200_pic>;
77*81acb401SChris Packham        fsl,preserve-clocking;
78*81acb401SChris Packham    };
79*81acb401SChris Packham
80*81acb401SChris Packham    /* MPC8544 base board */
81*81acb401SChris Packham    i2c@3100 {
82*81acb401SChris Packham        #address-cells = <1>;
83*81acb401SChris Packham        #size-cells = <0>;
84*81acb401SChris Packham        compatible = "fsl,mpc8544-i2c", "fsl-i2c";
85*81acb401SChris Packham        reg = <0x3100 0x100>;
86*81acb401SChris Packham        interrupts = <43 2>;
87*81acb401SChris Packham        interrupt-parent = <&mpic>;
88*81acb401SChris Packham        clock-frequency = <400000>;
89*81acb401SChris Packham        fsl,timeout = <10000>;
90*81acb401SChris Packham    };
91*81acb401SChris Packham...
92