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