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