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 enum: [ 100000, 400000 ] 72 default: 100000 << 73 maximum: 400000 << 74 61 75 dmas: 62 dmas: 76 items: 63 items: 77 - description: DMA controller phandle an 64 - description: DMA controller phandle and request line for RX 78 - description: DMA controller phandle an 65 - description: DMA controller phandle and request line for TX 79 66 80 dma-names: 67 dma-names: 81 items: 68 items: 82 - const: rx 69 - const: rx 83 - const: tx 70 - const: tx 84 71 85 sda-gpios: 72 sda-gpios: 86 maxItems: 1 73 maxItems: 1 87 74 88 scl-gpios: 75 scl-gpios: 89 maxItems: 1 76 maxItems: 1 90 77 91 required: 78 required: 92 - compatible 79 - compatible 93 - reg 80 - reg 94 - interrupts 81 - interrupts 95 - clocks 82 - clocks 96 83 97 unevaluatedProperties: false 84 unevaluatedProperties: false 98 85 99 examples: 86 examples: 100 - | 87 - | 101 #include <dt-bindings/clock/imx5-clock.h> 88 #include <dt-bindings/clock/imx5-clock.h> 102 #include <dt-bindings/interrupt-controller !! 89 #include <dt-bindings/clock/vf610-clock.h> >> 90 #include <dt-bindings/gpio/gpio.h> >> 91 #include <dt-bindings/interrupt-controller/arm-gic.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 << 111 - | << 112 #include <dt-bindings/clock/vf610-clock.h> << 113 99 114 i2c@40066000 { 100 i2c@40066000 { 115 compatible = "fsl,vf610-i2c"; 101 compatible = "fsl,vf610-i2c"; 116 reg = <0x40066000 0x1000>; 102 reg = <0x40066000 0x1000>; 117 interrupts = <71 IRQ_TYPE_LEVEL_HIGH>; 103 interrupts = <71 IRQ_TYPE_LEVEL_HIGH>; 118 clocks = <&clks VF610_CLK_I2C0>; 104 clocks = <&clks VF610_CLK_I2C0>; 119 clock-names = "ipg"; 105 clock-names = "ipg"; 120 dmas = <&edma0 0 50>, 106 dmas = <&edma0 0 50>, 121 <&edma0 0 51>; 107 <&edma0 0 51>; 122 dma-names = "rx", "tx"; 108 dma-names = "rx", "tx"; 123 }; 109 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.