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