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-imx.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
0008
0009 maintainers:
0010 - Oleksij Rempel <o.rempel@pengutronix.de>
0011
0012 allOf:
0013 - $ref: /schemas/i2c/i2c-controller.yaml#
0014
0015 properties:
0016 compatible:
0017 oneOf:
0018 - const: fsl,imx1-i2c
0019 - const: fsl,imx21-i2c
0020 - const: fsl,vf610-i2c
0021 - items:
0022 - const: fsl,imx35-i2c
0023 - const: fsl,imx1-i2c
0024 - items:
0025 - const: fsl,imx7d-i2c
0026 - const: fsl,imx21-i2c
0027 - items:
0028 - enum:
0029 - fsl,imx25-i2c
0030 - fsl,imx27-i2c
0031 - fsl,imx31-i2c
0032 - fsl,imx50-i2c
0033 - fsl,imx51-i2c
0034 - fsl,imx53-i2c
0035 - fsl,imx6q-i2c
0036 - fsl,imx6sl-i2c
0037 - fsl,imx6sx-i2c
0038 - fsl,imx6sll-i2c
0039 - fsl,imx6ul-i2c
0040 - fsl,imx7s-i2c
0041 - fsl,imx8mq-i2c
0042 - fsl,imx8mm-i2c
0043 - fsl,imx8mn-i2c
0044 - fsl,imx8mp-i2c
0045 - const: fsl,imx21-i2c
0046
0047 reg:
0048 maxItems: 1
0049
0050 interrupts:
0051 maxItems: 1
0052
0053 clocks:
0054 maxItems: 1
0055
0056 clock-names:
0057 const: ipg
0058
0059 clock-frequency:
0060 minimum: 1
0061 default: 100000
0062 maximum: 400000
0063
0064 dmas:
0065 items:
0066 - description: DMA controller phandle and request line for RX
0067 - description: DMA controller phandle and request line for TX
0068
0069 dma-names:
0070 items:
0071 - const: rx
0072 - const: tx
0073
0074 sda-gpios:
0075 maxItems: 1
0076
0077 scl-gpios:
0078 maxItems: 1
0079
0080 required:
0081 - compatible
0082 - reg
0083 - interrupts
0084 - clocks
0085
0086 unevaluatedProperties: false
0087
0088 examples:
0089 - |
0090 #include <dt-bindings/clock/imx5-clock.h>
0091 #include <dt-bindings/interrupt-controller/irq.h>
0092
0093 i2c@83fc4000 {
0094 compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
0095 reg = <0x83fc4000 0x4000>;
0096 interrupts = <63>;
0097 clocks = <&clks IMX5_CLK_I2C2_GATE>;
0098 };
0099
0100 - |
0101 #include <dt-bindings/clock/vf610-clock.h>
0102
0103 i2c@40066000 {
0104 compatible = "fsl,vf610-i2c";
0105 reg = <0x40066000 0x1000>;
0106 interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
0107 clocks = <&clks VF610_CLK_I2C0>;
0108 clock-names = "ipg";
0109 dmas = <&edma0 0 50>,
0110 <&edma0 0 51>;
0111 dma-names = "rx", "tx";
0112 };