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