Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/i2c/i2c-mpc.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: I2C-Bus adapter for MPC824x/83xx/85xx/86xx/512x/52xx SoCs
0008 
0009 maintainers:
0010   - Chris Packham <chris.packham@alliedtelesis.co.nz>
0011 
0012 allOf:
0013   - $ref: /schemas/i2c/i2c-controller.yaml#
0014 
0015 properties:
0016   compatible:
0017     oneOf:
0018       - items:
0019           - enum:
0020               - mpc5200-i2c
0021               - fsl,mpc5200-i2c
0022               - fsl,mpc5121-i2c
0023               - fsl,mpc8313-i2c
0024               - fsl,mpc8543-i2c
0025               - fsl,mpc8544-i2c
0026           - const: fsl-i2c
0027       - items:
0028           - const: fsl,mpc5200b-i2c
0029           - const: fsl,mpc5200-i2c
0030           - const: fsl-i2c
0031 
0032   reg:
0033     maxItems: 1
0034 
0035   interrupts:
0036     maxItems: 1
0037 
0038   fsl,preserve-clocking:
0039     $ref: /schemas/types.yaml#/definitions/flag
0040     description: |
0041       if defined, the clock settings from the bootloader are
0042       preserved (not touched)
0043 
0044   fsl,timeout:
0045     $ref: /schemas/types.yaml#/definitions/uint32
0046     description: |
0047       I2C bus timeout in microseconds
0048 
0049   fsl,i2c-erratum-a004447:
0050     $ref: /schemas/types.yaml#/definitions/flag
0051     description: |
0052       Indicates the presence of QorIQ erratum A-004447, which
0053       says that the standard i2c recovery scheme mechanism does
0054       not work and an alternate implementation is needed.
0055 
0056 required:
0057   - compatible
0058   - reg
0059   - interrupts
0060 
0061 unevaluatedProperties: false
0062 
0063 examples:
0064   - |
0065     /* MPC5121 based board */
0066     i2c@1740 {
0067         #address-cells = <1>;
0068         #size-cells = <0>;
0069         compatible = "fsl,mpc5121-i2c", "fsl-i2c";
0070         reg = <0x1740 0x20>;
0071         interrupts = <11 0x8>;
0072         interrupt-parent = <&ipic>;
0073         clock-frequency = <100000>;
0074     };
0075 
0076   - |
0077     /* MPC5200B based board */
0078     i2c@3d00 {
0079         #address-cells = <1>;
0080         #size-cells = <0>;
0081         compatible = "fsl,mpc5200b-i2c", "fsl,mpc5200-i2c", "fsl-i2c";
0082         reg = <0x3d00 0x40>;
0083         interrupts = <2 15 0>;
0084         interrupt-parent = <&mpc5200_pic>;
0085         fsl,preserve-clocking;
0086     };
0087 
0088   - |
0089     /* MPC8544 base board */
0090     i2c@3100 {
0091         #address-cells = <1>;
0092         #size-cells = <0>;
0093         compatible = "fsl,mpc8544-i2c", "fsl-i2c";
0094         reg = <0x3100 0x100>;
0095         interrupts = <43 2>;
0096         interrupt-parent = <&mpic>;
0097         clock-frequency = <400000>;
0098         fsl,timeout = <10000>;
0099     };
0100 ...