Merge remote-tracking branches 'asoc/fix/rt5663', 'asoc/fix/rt5665', 'asoc/fix/samsun...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / i2c / i2c-mtk.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,mt6577-i2c": for i2c compatible with mt6577.
9       "mediatek,mt6589-i2c": for i2c compatible with mt6589.
10       "mediatek,mt7623-i2c", "mediatek,mt6577-i2c": for i2c compatible with mt7623.
11       "mediatek,mt8173-i2c": for i2c compatible with mt8173.
12   - reg: physical base address of the controller and dma base, length of memory
13     mapped region.
14   - interrupts: interrupt number to the cpu.
15   - clock-div: the fixed value for frequency divider of clock source in i2c
16     module. Each IC may be different.
17   - clocks: clock name from clock manager
18   - clock-names: Must include "main" and "dma", if enable have-pmic need include
19     "pmic" extra.
20
21 Optional properties:
22   - clock-frequency: Frequency in Hz of the bus when transfer, the default value
23     is 100000.
24   - mediatek,have-pmic: platform can control i2c form special pmic side.
25     Only mt6589 and mt8135 support this feature.
26   - mediatek,use-push-pull: IO config use push-pull mode.
27
28 Example:
29
30         i2c0: i2c@1100d000 {
31                         compatible = "mediatek,mt6577-i2c";
32                         reg = <0x1100d000 0x70>,
33                               <0x11000300 0x80>;
34                         interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;
35                         clock-frequency = <400000>;
36                         mediatek,have-pmic;
37                         clock-div = <16>;
38                         clocks = <&i2c0_ck>, <&ap_dma_ck>;
39                         clock-names = "main", "dma";
40         };
41