| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/i2c/i2c-imx.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX |
| |
| maintainers: |
| - Oleksij Rempel <o.rempel@pengutronix.de> |
| |
| allOf: |
| - $ref: /schemas/i2c/i2c-controller.yaml# |
| |
| properties: |
| compatible: |
| oneOf: |
| - const: fsl,imx1-i2c |
| - const: fsl,imx21-i2c |
| - const: fsl,vf610-i2c |
| - items: |
| - enum: |
| - fsl,ls1012a-i2c |
| - fsl,ls1021a-i2c |
| - fsl,ls1028a-i2c |
| - fsl,ls1043a-i2c |
| - fsl,ls1046a-i2c |
| - fsl,ls1088a-i2c |
| - fsl,ls208xa-i2c |
| - fsl,lx2160a-i2c |
| - const: fsl,vf610-i2c |
| - items: |
| - const: fsl,imx35-i2c |
| - const: fsl,imx1-i2c |
| - items: |
| - const: fsl,imx7d-i2c |
| - const: fsl,imx21-i2c |
| - items: |
| - enum: |
| - fsl,imx25-i2c |
| - fsl,imx27-i2c |
| - fsl,imx31-i2c |
| - fsl,imx50-i2c |
| - fsl,imx51-i2c |
| - fsl,imx53-i2c |
| - fsl,imx6q-i2c |
| - fsl,imx6sl-i2c |
| - fsl,imx6sx-i2c |
| - fsl,imx6sll-i2c |
| - fsl,imx6ul-i2c |
| - fsl,imx7s-i2c |
| - fsl,imx8mq-i2c |
| - fsl,imx8mm-i2c |
| - fsl,imx8mn-i2c |
| - fsl,imx8mp-i2c |
| - const: fsl,imx21-i2c |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| clocks: |
| maxItems: 1 |
| |
| clock-names: |
| const: ipg |
| |
| clock-frequency: |
| minimum: 1 |
| default: 100000 |
| maximum: 400000 |
| |
| dmas: |
| items: |
| - description: DMA controller phandle and request line for RX |
| - description: DMA controller phandle and request line for TX |
| |
| dma-names: |
| items: |
| - const: rx |
| - const: tx |
| |
| sda-gpios: |
| maxItems: 1 |
| |
| scl-gpios: |
| maxItems: 1 |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - clocks |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/imx5-clock.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| i2c@83fc4000 { |
| compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; |
| reg = <0x83fc4000 0x4000>; |
| interrupts = <63>; |
| clocks = <&clks IMX5_CLK_I2C2_GATE>; |
| }; |
| |
| - | |
| #include <dt-bindings/clock/vf610-clock.h> |
| |
| i2c@40066000 { |
| compatible = "fsl,vf610-i2c"; |
| reg = <0x40066000 0x1000>; |
| interrupts = <71 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clks VF610_CLK_I2C0>; |
| clock-names = "ipg"; |
| dmas = <&edma0 0 50>, |
| <&edma0 0 51>; |
| dma-names = "rx", "tx"; |
| }; |