162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/i2c/i2c-mpc.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: I2C-Bus adapter for MPC824x/83xx/85xx/86xx/512x/52xx SoCs
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Chris Packham <chris.packham@alliedtelesis.co.nz>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciallOf:
1362306a36Sopenharmony_ci  - $ref: /schemas/i2c/i2c-controller.yaml#
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciproperties:
1662306a36Sopenharmony_ci  compatible:
1762306a36Sopenharmony_ci    oneOf:
1862306a36Sopenharmony_ci      - items:
1962306a36Sopenharmony_ci          - enum:
2062306a36Sopenharmony_ci              - mpc5200-i2c
2162306a36Sopenharmony_ci              - fsl,mpc5200-i2c
2262306a36Sopenharmony_ci              - fsl,mpc5121-i2c
2362306a36Sopenharmony_ci              - fsl,mpc8313-i2c
2462306a36Sopenharmony_ci              - fsl,mpc8543-i2c
2562306a36Sopenharmony_ci              - fsl,mpc8544-i2c
2662306a36Sopenharmony_ci          - const: fsl-i2c
2762306a36Sopenharmony_ci      - items:
2862306a36Sopenharmony_ci          - const: fsl,mpc5200b-i2c
2962306a36Sopenharmony_ci          - const: fsl,mpc5200-i2c
3062306a36Sopenharmony_ci          - const: fsl-i2c
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  reg:
3362306a36Sopenharmony_ci    maxItems: 1
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci  interrupts:
3662306a36Sopenharmony_ci    maxItems: 1
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  fsl,preserve-clocking:
3962306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
4062306a36Sopenharmony_ci    description: |
4162306a36Sopenharmony_ci      if defined, the clock settings from the bootloader are
4262306a36Sopenharmony_ci      preserved (not touched)
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci  fsl,timeout:
4562306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
4662306a36Sopenharmony_ci    deprecated: true
4762306a36Sopenharmony_ci    description: |
4862306a36Sopenharmony_ci      I2C bus timeout in microseconds
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci  fsl,i2c-erratum-a004447:
5162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
5262306a36Sopenharmony_ci    description: |
5362306a36Sopenharmony_ci      Indicates the presence of QorIQ erratum A-004447, which
5462306a36Sopenharmony_ci      says that the standard i2c recovery scheme mechanism does
5562306a36Sopenharmony_ci      not work and an alternate implementation is needed.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_cirequired:
5862306a36Sopenharmony_ci  - compatible
5962306a36Sopenharmony_ci  - reg
6062306a36Sopenharmony_ci  - interrupts
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciunevaluatedProperties: false
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciexamples:
6562306a36Sopenharmony_ci  - |
6662306a36Sopenharmony_ci    /* MPC5121 based board */
6762306a36Sopenharmony_ci    i2c@1740 {
6862306a36Sopenharmony_ci        #address-cells = <1>;
6962306a36Sopenharmony_ci        #size-cells = <0>;
7062306a36Sopenharmony_ci        compatible = "fsl,mpc5121-i2c", "fsl-i2c";
7162306a36Sopenharmony_ci        reg = <0x1740 0x20>;
7262306a36Sopenharmony_ci        interrupts = <11 0x8>;
7362306a36Sopenharmony_ci        interrupt-parent = <&ipic>;
7462306a36Sopenharmony_ci        clock-frequency = <100000>;
7562306a36Sopenharmony_ci    };
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci  - |
7862306a36Sopenharmony_ci    /* MPC5200B based board */
7962306a36Sopenharmony_ci    i2c@3d00 {
8062306a36Sopenharmony_ci        #address-cells = <1>;
8162306a36Sopenharmony_ci        #size-cells = <0>;
8262306a36Sopenharmony_ci        compatible = "fsl,mpc5200b-i2c", "fsl,mpc5200-i2c", "fsl-i2c";
8362306a36Sopenharmony_ci        reg = <0x3d00 0x40>;
8462306a36Sopenharmony_ci        interrupts = <2 15 0>;
8562306a36Sopenharmony_ci        interrupt-parent = <&mpc5200_pic>;
8662306a36Sopenharmony_ci        fsl,preserve-clocking;
8762306a36Sopenharmony_ci    };
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci  - |
9062306a36Sopenharmony_ci    /* MPC8544 base board */
9162306a36Sopenharmony_ci    i2c@3100 {
9262306a36Sopenharmony_ci        #address-cells = <1>;
9362306a36Sopenharmony_ci        #size-cells = <0>;
9462306a36Sopenharmony_ci        compatible = "fsl,mpc8544-i2c", "fsl-i2c";
9562306a36Sopenharmony_ci        reg = <0x3100 0x100>;
9662306a36Sopenharmony_ci        interrupts = <43 2>;
9762306a36Sopenharmony_ci        interrupt-parent = <&mpic>;
9862306a36Sopenharmony_ci        clock-frequency = <400000>;
9962306a36Sopenharmony_ci        i2c-scl-clk-low-timeout-us = <10000>;
10062306a36Sopenharmony_ci    };
10162306a36Sopenharmony_ci...
102