Merge commit '81fd23e2b3ccf71c807e671444e8accaba98ca53' of https://git.pengutronix...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / i2c / i2c-mt65xx.txt
1 * MediaTek's I2C controller
2
3 The MediaTek's I2C controller is used to interface with I2C devices.
4
5 Required properties:
6   - compatible: value should be either of the following.
7       "mediatek,mt2701-i2c", "mediatek,mt6577-i2c": for MediaTek MT2701
8       "mediatek,mt2712-i2c": for MediaTek MT2712
9       "mediatek,mt6577-i2c": for MediaTek MT6577
10       "mediatek,mt6589-i2c": for MediaTek MT6589
11       "mediatek,mt6797-i2c", "mediatek,mt6577-i2c": for MediaTek MT6797
12       "mediatek,mt7622-i2c": for MediaTek MT7622
13       "mediatek,mt7623-i2c", "mediatek,mt6577-i2c": for MediaTek MT7623
14       "mediatek,mt7629-i2c", "mediatek,mt2712-i2c": for MediaTek MT7629
15       "mediatek,mt8173-i2c": for MediaTek MT8173
16       "mediatek,mt8183-i2c": for MediaTek MT8183
17       "mediatek,mt8192-i2c": for MediaTek MT8192
18       "mediatek,mt8195-i2c", "mediatek,mt8192-i2c": for MediaTek MT8195
19       "mediatek,mt8516-i2c", "mediatek,mt2712-i2c": for MediaTek MT8516
20   - reg: physical base address of the controller and dma base, length of memory
21     mapped region.
22   - interrupts: interrupt number to the cpu.
23   - clock-div: the fixed value for frequency divider of clock source in i2c
24     module. Each IC may be different.
25   - clocks: clock name from clock manager
26   - clock-names: Must include "main" and "dma", "arb" is for multi-master that
27     one bus has more than two i2c controllers, if enable have-pmic need include
28     "pmic" extra.
29
30 Optional properties:
31   - clock-frequency: Frequency in Hz of the bus when transfer, the default value
32     is 100000.
33   - mediatek,have-pmic: platform can control i2c form special pmic side.
34     Only mt6589 and mt8135 support this feature.
35   - mediatek,use-push-pull: IO config use push-pull mode.
36   - vbus-supply: phandle to the regulator that provides power to SCL/SDA.
37
38 Example:
39
40         i2c0: i2c@1100d000 {
41                         compatible = "mediatek,mt6577-i2c";
42                         reg = <0x1100d000 0x70>,
43                               <0x11000300 0x80>;
44                         interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;
45                         clock-frequency = <400000>;
46                         mediatek,have-pmic;
47                         clock-div = <16>;
48                         clocks = <&i2c0_ck>, <&ap_dma_ck>;
49                         clock-names = "main", "dma";
50         };
51