xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-mpc.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
22eb4d8dcSEmmanuel Vadot%YAML 1.2
32eb4d8dcSEmmanuel Vadot---
42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/i2c/i2c-mpc.yaml#
52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62eb4d8dcSEmmanuel Vadot
72eb4d8dcSEmmanuel Vadottitle: I2C-Bus adapter for MPC824x/83xx/85xx/86xx/512x/52xx SoCs
82eb4d8dcSEmmanuel Vadot
92eb4d8dcSEmmanuel Vadotmaintainers:
102eb4d8dcSEmmanuel Vadot  - Chris Packham <chris.packham@alliedtelesis.co.nz>
112eb4d8dcSEmmanuel Vadot
122eb4d8dcSEmmanuel VadotallOf:
132eb4d8dcSEmmanuel Vadot  - $ref: /schemas/i2c/i2c-controller.yaml#
142eb4d8dcSEmmanuel Vadot
152eb4d8dcSEmmanuel Vadotproperties:
162eb4d8dcSEmmanuel Vadot  compatible:
172eb4d8dcSEmmanuel Vadot    oneOf:
182eb4d8dcSEmmanuel Vadot      - items:
192eb4d8dcSEmmanuel Vadot          - enum:
202eb4d8dcSEmmanuel Vadot              - mpc5200-i2c
212eb4d8dcSEmmanuel Vadot              - fsl,mpc5200-i2c
222eb4d8dcSEmmanuel Vadot              - fsl,mpc5121-i2c
232eb4d8dcSEmmanuel Vadot              - fsl,mpc8313-i2c
242eb4d8dcSEmmanuel Vadot              - fsl,mpc8543-i2c
252eb4d8dcSEmmanuel Vadot              - fsl,mpc8544-i2c
262eb4d8dcSEmmanuel Vadot          - const: fsl-i2c
272eb4d8dcSEmmanuel Vadot      - items:
282eb4d8dcSEmmanuel Vadot          - const: fsl,mpc5200b-i2c
292eb4d8dcSEmmanuel Vadot          - const: fsl,mpc5200-i2c
302eb4d8dcSEmmanuel Vadot          - const: fsl-i2c
312eb4d8dcSEmmanuel Vadot
322eb4d8dcSEmmanuel Vadot  reg:
332eb4d8dcSEmmanuel Vadot    maxItems: 1
342eb4d8dcSEmmanuel Vadot
352eb4d8dcSEmmanuel Vadot  interrupts:
362eb4d8dcSEmmanuel Vadot    maxItems: 1
372eb4d8dcSEmmanuel Vadot
382eb4d8dcSEmmanuel Vadot  fsl,preserve-clocking:
392eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
402eb4d8dcSEmmanuel Vadot    description: |
412eb4d8dcSEmmanuel Vadot      if defined, the clock settings from the bootloader are
422eb4d8dcSEmmanuel Vadot      preserved (not touched)
432eb4d8dcSEmmanuel Vadot
442eb4d8dcSEmmanuel Vadot  fsl,timeout:
452eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
46fac71e4eSEmmanuel Vadot    deprecated: true
472eb4d8dcSEmmanuel Vadot    description: |
482eb4d8dcSEmmanuel Vadot      I2C bus timeout in microseconds
492eb4d8dcSEmmanuel Vadot
502eb4d8dcSEmmanuel Vadot  fsl,i2c-erratum-a004447:
512eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
522eb4d8dcSEmmanuel Vadot    description: |
532eb4d8dcSEmmanuel Vadot      Indicates the presence of QorIQ erratum A-004447, which
542eb4d8dcSEmmanuel Vadot      says that the standard i2c recovery scheme mechanism does
552eb4d8dcSEmmanuel Vadot      not work and an alternate implementation is needed.
562eb4d8dcSEmmanuel Vadot
572eb4d8dcSEmmanuel Vadotrequired:
582eb4d8dcSEmmanuel Vadot  - compatible
592eb4d8dcSEmmanuel Vadot  - reg
602eb4d8dcSEmmanuel Vadot  - interrupts
612eb4d8dcSEmmanuel Vadot
622eb4d8dcSEmmanuel VadotunevaluatedProperties: false
632eb4d8dcSEmmanuel Vadot
642eb4d8dcSEmmanuel Vadotexamples:
652eb4d8dcSEmmanuel Vadot  - |
662eb4d8dcSEmmanuel Vadot    /* MPC5121 based board */
672eb4d8dcSEmmanuel Vadot    i2c@1740 {
682eb4d8dcSEmmanuel Vadot        #address-cells = <1>;
692eb4d8dcSEmmanuel Vadot        #size-cells = <0>;
702eb4d8dcSEmmanuel Vadot        compatible = "fsl,mpc5121-i2c", "fsl-i2c";
712eb4d8dcSEmmanuel Vadot        reg = <0x1740 0x20>;
722eb4d8dcSEmmanuel Vadot        interrupts = <11 0x8>;
732eb4d8dcSEmmanuel Vadot        interrupt-parent = <&ipic>;
742eb4d8dcSEmmanuel Vadot        clock-frequency = <100000>;
752eb4d8dcSEmmanuel Vadot    };
762eb4d8dcSEmmanuel Vadot
77c9ccf3a3SEmmanuel Vadot  - |
782eb4d8dcSEmmanuel Vadot    /* MPC5200B based board */
792eb4d8dcSEmmanuel Vadot    i2c@3d00 {
802eb4d8dcSEmmanuel Vadot        #address-cells = <1>;
812eb4d8dcSEmmanuel Vadot        #size-cells = <0>;
822eb4d8dcSEmmanuel Vadot        compatible = "fsl,mpc5200b-i2c", "fsl,mpc5200-i2c", "fsl-i2c";
832eb4d8dcSEmmanuel Vadot        reg = <0x3d00 0x40>;
842eb4d8dcSEmmanuel Vadot        interrupts = <2 15 0>;
852eb4d8dcSEmmanuel Vadot        interrupt-parent = <&mpc5200_pic>;
862eb4d8dcSEmmanuel Vadot        fsl,preserve-clocking;
872eb4d8dcSEmmanuel Vadot    };
882eb4d8dcSEmmanuel Vadot
89c9ccf3a3SEmmanuel Vadot  - |
902eb4d8dcSEmmanuel Vadot    /* MPC8544 base board */
912eb4d8dcSEmmanuel Vadot    i2c@3100 {
922eb4d8dcSEmmanuel Vadot        #address-cells = <1>;
932eb4d8dcSEmmanuel Vadot        #size-cells = <0>;
942eb4d8dcSEmmanuel Vadot        compatible = "fsl,mpc8544-i2c", "fsl-i2c";
952eb4d8dcSEmmanuel Vadot        reg = <0x3100 0x100>;
962eb4d8dcSEmmanuel Vadot        interrupts = <43 2>;
972eb4d8dcSEmmanuel Vadot        interrupt-parent = <&mpic>;
982eb4d8dcSEmmanuel Vadot        clock-frequency = <400000>;
99*01950c46SEmmanuel Vadot        i2c-transfer-timeout-us = <10000>;
1002eb4d8dcSEmmanuel Vadot    };
1012eb4d8dcSEmmanuel Vadot...
102