xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-mt65xx.txt (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1* MediaTek's I2C controller
2
3The MediaTek's I2C controller is used to interface with I2C devices.
4
5Required 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,mt8516-i2c", "mediatek,mt2712-i2c": for MediaTek MT8516
19  - reg: physical base address of the controller and dma base, length of memory
20    mapped region.
21  - interrupts: interrupt number to the cpu.
22  - clock-div: the fixed value for frequency divider of clock source in i2c
23    module. Each IC may be different.
24  - clocks: clock name from clock manager
25  - clock-names: Must include "main" and "dma", "arb" is for multi-master that
26    one bus has more than two i2c controllers, if enable have-pmic need include
27    "pmic" extra.
28
29Optional properties:
30  - clock-frequency: Frequency in Hz of the bus when transfer, the default value
31    is 100000.
32  - mediatek,have-pmic: platform can control i2c form special pmic side.
33    Only mt6589 and mt8135 support this feature.
34  - mediatek,use-push-pull: IO config use push-pull mode.
35
36Example:
37
38	i2c0: i2c@1100d000 {
39			compatible = "mediatek,mt6577-i2c";
40			reg = <0x1100d000 0x70>,
41			      <0x11000300 0x80>;
42			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;
43			clock-frequency = <400000>;
44			mediatek,have-pmic;
45			clock-div = <16>;
46			clocks = <&i2c0_ck>, <&ap_dma_ck>;
47			clock-names = "main", "dma";
48	};
49
50