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 (a) "mediatek,mt6577-i2c", for i2c compatible with mt6577 i2c. 8 (b) "mediatek,mt6589-i2c", for i2c compatible with mt6589 i2c. 9 (c) "mediatek,mt8127-i2c", for i2c compatible with mt8127 i2c. 10 (d) "mediatek,mt8135-i2c", for i2c compatible with mt8135 i2c. 11 (e) "mediatek,mt8173-i2c", for i2c compatible with mt8173 i2c. 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 21Optional 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 28Example: 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 42