i2c-mpc.yaml 2.4 KB

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