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