181acb401SChris Packham# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
281acb401SChris Packham%YAML 1.2
381acb401SChris Packham---
481acb401SChris Packham$id: http://devicetree.org/schemas/i2c/i2c-mpc.yaml#
581acb401SChris Packham$schema: http://devicetree.org/meta-schemas/core.yaml#
681acb401SChris Packham
781acb401SChris Packhamtitle: I2C-Bus adapter for MPC824x/83xx/85xx/86xx/512x/52xx SoCs
881acb401SChris Packham
981acb401SChris Packhammaintainers:
1081acb401SChris Packham  - Chris Packham <chris.packham@alliedtelesis.co.nz>
1181acb401SChris Packham
1281acb401SChris PackhamallOf:
1381acb401SChris Packham  - $ref: /schemas/i2c/i2c-controller.yaml#
1481acb401SChris Packham
1581acb401SChris Packhamproperties:
1681acb401SChris Packham  compatible:
1781acb401SChris Packham    oneOf:
1881acb401SChris Packham      - items:
1981acb401SChris Packham          - enum:
2081acb401SChris Packham              - mpc5200-i2c
2181acb401SChris Packham              - fsl,mpc5200-i2c
2281acb401SChris Packham              - fsl,mpc5121-i2c
2381acb401SChris Packham              - fsl,mpc8313-i2c
2481acb401SChris Packham              - fsl,mpc8543-i2c
2581acb401SChris Packham              - fsl,mpc8544-i2c
2681acb401SChris Packham          - const: fsl-i2c
2781acb401SChris Packham      - items:
2881acb401SChris Packham          - const: fsl,mpc5200b-i2c
2981acb401SChris Packham          - const: fsl,mpc5200-i2c
3081acb401SChris Packham          - const: fsl-i2c
3181acb401SChris Packham
3281acb401SChris Packham  reg:
3381acb401SChris Packham    maxItems: 1
3481acb401SChris Packham
3581acb401SChris Packham  interrupts:
3681acb401SChris Packham    maxItems: 1
3781acb401SChris Packham
3881acb401SChris Packham  fsl,preserve-clocking:
3981acb401SChris Packham    $ref: /schemas/types.yaml#/definitions/flag
4081acb401SChris Packham    description: |
4181acb401SChris Packham      if defined, the clock settings from the bootloader are
4281acb401SChris Packham      preserved (not touched)
4381acb401SChris Packham
4481acb401SChris Packham  fsl,timeout:
4581acb401SChris Packham    $ref: /schemas/types.yaml#/definitions/uint32
46*ba085a8dSAndi Shyti    deprecated: true
4781acb401SChris Packham    description: |
4881acb401SChris Packham      I2C bus timeout in microseconds
4981acb401SChris Packham
50a5063ab9SChris Packham  fsl,i2c-erratum-a004447:
51a5063ab9SChris Packham    $ref: /schemas/types.yaml#/definitions/flag
52a5063ab9SChris Packham    description: |
53a5063ab9SChris Packham      Indicates the presence of QorIQ erratum A-004447, which
54a5063ab9SChris Packham      says that the standard i2c recovery scheme mechanism does
55a5063ab9SChris Packham      not work and an alternate implementation is needed.
56a5063ab9SChris Packham
5781acb401SChris Packhamrequired:
5881acb401SChris Packham  - compatible
5981acb401SChris Packham  - reg
6081acb401SChris Packham  - interrupts
6181acb401SChris Packham
6281acb401SChris PackhamunevaluatedProperties: false
6381acb401SChris Packham
6481acb401SChris Packhamexamples:
6581acb401SChris Packham  - |
6681acb401SChris Packham    /* MPC5121 based board */
6781acb401SChris Packham    i2c@1740 {
6881acb401SChris Packham        #address-cells = <1>;
6981acb401SChris Packham        #size-cells = <0>;
7081acb401SChris Packham        compatible = "fsl,mpc5121-i2c", "fsl-i2c";
7181acb401SChris Packham        reg = <0x1740 0x20>;
7281acb401SChris Packham        interrupts = <11 0x8>;
7381acb401SChris Packham        interrupt-parent = <&ipic>;
7481acb401SChris Packham        clock-frequency = <100000>;
7581acb401SChris Packham    };
7681acb401SChris Packham
7758bcfe0aSRob Herring  - |
7881acb401SChris Packham    /* MPC5200B based board */
7981acb401SChris Packham    i2c@3d00 {
8081acb401SChris Packham        #address-cells = <1>;
8181acb401SChris Packham        #size-cells = <0>;
8281acb401SChris Packham        compatible = "fsl,mpc5200b-i2c", "fsl,mpc5200-i2c", "fsl-i2c";
8381acb401SChris Packham        reg = <0x3d00 0x40>;
8481acb401SChris Packham        interrupts = <2 15 0>;
8581acb401SChris Packham        interrupt-parent = <&mpc5200_pic>;
8681acb401SChris Packham        fsl,preserve-clocking;
8781acb401SChris Packham    };
8881acb401SChris Packham
8958bcfe0aSRob Herring  - |
9081acb401SChris Packham    /* MPC8544 base board */
9181acb401SChris Packham    i2c@3100 {
9281acb401SChris Packham        #address-cells = <1>;
9381acb401SChris Packham        #size-cells = <0>;
9481acb401SChris Packham        compatible = "fsl,mpc8544-i2c", "fsl-i2c";
9581acb401SChris Packham        reg = <0x3100 0x100>;
9681acb401SChris Packham        interrupts = <43 2>;
9781acb401SChris Packham        interrupt-parent = <&mpic>;
9881acb401SChris Packham        clock-frequency = <400000>;
99*ba085a8dSAndi Shyti        i2c-scl-clk-low-timeout-us = <10000>;
10081acb401SChris Packham    };
10181acb401SChris Packham...
102