i2c-imx.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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-imx.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
  7. maintainers:
  8. - Oleksij Rempel <o.rempel@pengutronix.de>
  9. allOf:
  10. - $ref: /schemas/i2c/i2c-controller.yaml#
  11. properties:
  12. compatible:
  13. oneOf:
  14. - const: fsl,imx1-i2c
  15. - const: fsl,imx21-i2c
  16. - const: fsl,vf610-i2c
  17. - items:
  18. - enum:
  19. - fsl,ls1012a-i2c
  20. - fsl,ls1021a-i2c
  21. - fsl,ls1028a-i2c
  22. - fsl,ls1043a-i2c
  23. - fsl,ls1046a-i2c
  24. - fsl,ls1088a-i2c
  25. - fsl,ls208xa-i2c
  26. - fsl,lx2160a-i2c
  27. - const: fsl,vf610-i2c
  28. - items:
  29. - const: fsl,imx35-i2c
  30. - const: fsl,imx1-i2c
  31. - items:
  32. - const: fsl,imx7d-i2c
  33. - const: fsl,imx21-i2c
  34. - items:
  35. - enum:
  36. - fsl,imx25-i2c
  37. - fsl,imx27-i2c
  38. - fsl,imx31-i2c
  39. - fsl,imx50-i2c
  40. - fsl,imx51-i2c
  41. - fsl,imx53-i2c
  42. - fsl,imx6q-i2c
  43. - fsl,imx6sl-i2c
  44. - fsl,imx6sx-i2c
  45. - fsl,imx6sll-i2c
  46. - fsl,imx6ul-i2c
  47. - fsl,imx7s-i2c
  48. - fsl,imx8mq-i2c
  49. - fsl,imx8mm-i2c
  50. - fsl,imx8mn-i2c
  51. - fsl,imx8mp-i2c
  52. - const: fsl,imx21-i2c
  53. reg:
  54. maxItems: 1
  55. interrupts:
  56. maxItems: 1
  57. clocks:
  58. maxItems: 1
  59. clock-names:
  60. const: ipg
  61. clock-frequency:
  62. minimum: 1
  63. default: 100000
  64. maximum: 400000
  65. dmas:
  66. items:
  67. - description: DMA controller phandle and request line for RX
  68. - description: DMA controller phandle and request line for TX
  69. dma-names:
  70. items:
  71. - const: rx
  72. - const: tx
  73. sda-gpios:
  74. maxItems: 1
  75. scl-gpios:
  76. maxItems: 1
  77. required:
  78. - compatible
  79. - reg
  80. - interrupts
  81. - clocks
  82. unevaluatedProperties: false
  83. examples:
  84. - |
  85. #include <dt-bindings/clock/imx5-clock.h>
  86. #include <dt-bindings/interrupt-controller/irq.h>
  87. i2c@83fc4000 {
  88. compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
  89. reg = <0x83fc4000 0x4000>;
  90. interrupts = <63>;
  91. clocks = <&clks IMX5_CLK_I2C2_GATE>;
  92. };
  93. - |
  94. #include <dt-bindings/clock/vf610-clock.h>
  95. i2c@40066000 {
  96. compatible = "fsl,vf610-i2c";
  97. reg = <0x40066000 0x1000>;
  98. interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
  99. clocks = <&clks VF610_CLK_I2C0>;
  100. clock-names = "ipg";
  101. dmas = <&edma0 0 50>,
  102. <&edma0 0 51>;
  103. dma-names = "rx", "tx";
  104. };